FR3091376A1 - Method for optimizing a scheduling plan and the sizing of a computer infrastructure - Google Patents

Method for optimizing a scheduling plan and the sizing of a computer infrastructure Download PDF

Info

Publication number
FR3091376A1
FR3091376A1 FR1874426A FR1874426A FR3091376A1 FR 3091376 A1 FR3091376 A1 FR 3091376A1 FR 1874426 A FR1874426 A FR 1874426A FR 1874426 A FR1874426 A FR 1874426A FR 3091376 A1 FR3091376 A1 FR 3091376A1
Authority
FR
France
Prior art keywords
execution
resources
plan
values
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1874426A
Other languages
French (fr)
Other versions
FR3091376B1 (en
Inventor
Bruno DEMEILLIEZ
Wajih CHAABANE
Damien AIELLO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull SAS
Original Assignee
Bull SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull SAS filed Critical Bull SAS
Priority to FR1874426A priority Critical patent/FR3091376B1/en
Priority to EP19203879.2A priority patent/EP3640800A1/en
Publication of FR3091376A1 publication Critical patent/FR3091376A1/en
Application granted granted Critical
Publication of FR3091376B1 publication Critical patent/FR3091376B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Abstract

L’invention porte sur un procédé d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique pour l’exécution d’une pluralité de traitements par lots, ladite infrastructure informatique présentant des valeurs de quantités de ressources initiales permettant l’exécution de la pluralité de traitements par lots, ledit procédé comportant une étape de détermination (300) de durées d’exécution rallongées de la pluralité de traitements par lots, une étape de génération (400) d’au moins un plan de dimensionnement optimisé, ladite étape de génération comportant la sélection (430), parmi les valeurs de quantité de ressources disponibles, de valeurs de quantité de ressources attribuées à l’au moins un plan de dimensionnement optimisé ; et une étape de calcul (500), d'un plan d’ordonnancement respectant des règles d'exécution mémorisées. L’invention porte également sur un dispositif (1) d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique (2) pour l’exécution d’une pluralité de traitements par lots. Figure à publier avec l’abrégé : FIGURE 1The invention relates to a method for optimizing a scheduling plan and the dimensioning of an IT infrastructure for the execution of a plurality of batch processes, said IT infrastructure having values of initial resource quantities allowing executing the plurality of batch treatments, said method comprising a step of determining (300) extended execution times of the plurality of batch treatments, a step of generating (400) at least one sizing plan optimized, said generation step comprising the selection (430), from the quantity of available resource values, of quantity of resource values allocated to the at least one optimized sizing plan; and a calculation step (500), of a scheduling plan respecting the stored execution rules. The invention also relates to a device (1) for optimizing a scheduling plan and the dimensioning of an IT infrastructure (2) for the execution of a plurality of batch processes. Figure to be published with the abstract: FIGURE 1

Description

DescriptionDescription

Titre de l'invention : Procédé d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informaTiqueTitle of the invention: Method for optimizing a scheduling plan and the sizing of a computer infrastructure

[0001] L’invention concerne le domaine des traitements par lots, et plus particulièrement celui du dimensionnement d’une infrastructure informatique et de l’amélioration de l’utilisation des ressources d’une infrastructure informatique impliquée dans l’exécution de traitements par lots. L’invention porte notamment sur un procédé d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique pour l’exécution d’une pluralité de traitements par lots. Un tel procédé permet de calculer un ordonnancement et un dimensionnement permettant que l’exécution des traitements par lots se fasse avec une efficacité améliorée et dans le respect des règles d’exécutions mémorisées.The invention relates to the field of batch processing, and more particularly that of the dimensioning of an IT infrastructure and the improvement of the use of the resources of an IT infrastructure involved in the execution of batch processing. . The invention relates in particular to a method for optimizing a scheduling plan and the dimensioning of an IT infrastructure for the execution of a plurality of batch processes. Such a method makes it possible to calculate a scheduling and a dimensioning allowing the execution of batch processing to be done with improved efficiency and in compliance with the stored execution rules.

Technique antérieurePrior art

[0002] En général, les traitements par lots sont les processus exécutés par un système informatique de façon autonome (e.g. sans interaction de l'utilisateur). Ils sont utilisés pour l’automatisation de tâches non interactives qui doivent être exécutées de manière fiable avant certaines échéances. Un traitement par lots peut par exemple être utilisé pour mettre à jour les informations à la fin de la journée, transformer des données, générer des rapports, imprimer des documents ou réaliser d’autres tâches non interactives. Un traitement par lot peut aussi être utilisé pour effectuer diverses opérations avec fichiers, notamment des images numériques, telles que le redimensionnement ou la conversion. Ces traitements par lot sont généralement mis en attente ou accumulés pendant les heures de pics lorsque les ressources informatiques ne sont pas disponibles ou limitées par les activités en temps réel. Ils sont alors exécutés en dehors des heures de pointe lorsque les ressources informatiques sont disponibles. Il est ainsi très fréquent que, pour des raisons techniques, ces traitements soient planifiés la nuit, les fins de semaine ou durant des périodes de faible activité métier.In general, batch processing is the process executed by a computer system autonomously (e.g. without user interaction). They are used for the automation of non-interactive tasks which must be performed reliably before certain deadlines. For example, batch processing can be used to update information at the end of the day, transform data, generate reports, print documents, or perform other non-interactive tasks. Batch processing can also be used to perform various file operations, including digital images, such as resizing or converting. These batch processes are generally put on hold or accumulated during peak hours when IT resources are not available or limited by real-time activities. They are then executed outside of peak hours when IT resources are available. It is therefore very common that, for technical reasons, these treatments are scheduled at night, on weekends or during periods of low business activity.

[0003] L’évolution constante des systèmes d’information, et la multiplication des traitements par lot, tend à surcharger les périodes durant lesquelles les traitements peuvent s’exécuter. Or, il s’agit souvent de traitements longs et critiques qu’il convient particulièrement de surveiller afin de garantir le bon fonctionnement des applicatifs métiers pendant les horaires « humains » d’utilisation. Ainsi, il est connu des planificateurs de traitement par lots (« batch scheduler » en anglais). Il existe notamment un mécanisme décrit dans le document EP3113022 consistant à utiliser les niveaux de consommation de ressources dans les règles d’ordonnancement des traitements par lot.The constant evolution of information systems, and the multiplication of batch processing, tends to overload the periods during which processing can be carried out. However, these are often long and critical processes that should be particularly monitored in order to guarantee the proper functioning of business applications during the "human" hours of use. Thus, it is known to batch schedulers ("batch scheduler" in English). There is in particular a mechanism described in document EP3113022 consisting in using the levels of consumption of resources in the rules for scheduling batch processing.

Plus particulièrement, ce mécanisme se base sur les contraintes d’exécution, les ressources qu’ils consomment et les ressources disponibles sur l’infrastructure.More specifically, this mechanism is based on execution constraints, the resources they consume and the resources available on the infrastructure.

[0004] En outre, la fluctuation importante dans le temps des volumes de données entraîne des consommations de ressources et des temps de traitements très volatiles. Par exemple, un même ordonnancement sur une même infrastructure peut entraîner un jour une surcharge des ressources et une interruption de traitement alors qu’un autre jour, à quelques jours d’intervalles, aucun dysfonctionnement ne sera décelé. Toutes ces évolutions ont un impact non seulement sur le temps d’exécution des traitements, mais également sur la quantité des ressources utilisées. De fait, les administrateurs des systèmes d’information (SI) ont tendance à augmenter les ressources de leur infrastructure de façon à ce que les traitements par lots soient terminés dans les temps impartis et qu’ils n’entraînent par une saturation des ressources disponibles. En effet, dans certains cas, la production peut être arrêtée si les traitements n’ont pas pu se réaliser en temps vouluIn addition, the large fluctuation over time in the volumes of data results in consumption of resources and very volatile processing times. For example, the same scheduling on the same infrastructure can one day overload resources and interrupt processing while another day, a few days apart, no malfunction will be detected. All of these changes have an impact not only on the processing time, but also on the amount of resources used. In fact, information systems (IS) administrators tend to increase the resources of their infrastructure so that batch processing is completed on time and does not lead to the saturation of available resources. . Indeed, in some cases, production can be stopped if the treatments could not be carried out in due time

[0005] Ces évolutions entraînent généralement un surdimensionnement des infrastructures informatiques impliquées dans l’exécution de traitements par lots selon des plans d’ordonnancement. Or, avec des utilisations de plus en plus courantes de ces traitements par lots et des contraintes au niveau de l’utilisation des ressources, il est nécessaire pour les administrateurs SI de disposer de procédés ou de dispositifs permettant d’améliorer l’efficacité de rutilisation des ressources et réduire leur gaspillage en respectant les temps d’exécution de chaque traitement par lot ainsi que le temps global d’exécution du plan d’ordonnancement.These developments generally lead to an oversizing of the IT infrastructures involved in the execution of batch processing according to scheduling plans. However, with more and more common uses of these batch processes and constraints in terms of the use of resources, it is necessary for IS administrators to have processes or devices making it possible to improve the efficiency of reuse. resources and reduce their waste by respecting the execution times of each batch processing as well as the overall execution time of the scheduling plan.

[0006] Néanmoins, il n’existe pas à ce jour de solution qui permette de calculer un dimensionnement d’une infrastructure informatique et un plan d’ordonnancement associé permettant la bonne exécution des traitements par lots, cela sans gaspillage des ressources avec une efficacité d’utilisation maximale d’une part et dans le respect de temps d’exécution prédéterminés d’autre part. En effet, avec les mécanismes connus, il peut survenir un gaspillage de ressources. De plus, l’exécution des traitements par lots dans des environnements virtualisés se généralise et la définition d’un dimensionnement optimisé avec une efficacité d’utilisation des ressources améliorée permettant une bonne exécution des traitements par lots selon un temps global d’exécution du plan d’ordonnancement permettrait de pouvoir mettre en parallèle un plus grand nombre de traitements par lots sur une même infrastructure informatique.[0006] However, to date there is no solution which makes it possible to calculate a dimensioning of an IT infrastructure and an associated scheduling plan allowing the good execution of batch processing, without wasting resources with efficiency. maximum use on the one hand and in compliance with predetermined execution times on the other hand. Indeed, with known mechanisms, there can be a waste of resources. In addition, the execution of batch processing in virtualized environments is generalized and the definition of an optimized sizing with an improved efficiency of use of resources allowing good execution of batch processing according to an overall time for execution of the plan. scheduling would allow more batch processing to be paralleled on the same IT infrastructure.

[0007] Ainsi, il existe un besoin pour de nouveaux procédés ou dispositif capables de générer un plan de dimensionnement d’infrastructure informatique et un plan d’ordonnancement permettant l’amélioration de l’efficacité d’utilisation des ressources pour l’exécution d’une pluralité de traitements par lots.[0007] Thus, there is a need for new methods or devices capable of generating an IT infrastructure sizing plan and a scheduling plan allowing the improvement of the efficiency of use of resources for the execution of '' a plurality of batch treatments.

[Problème technique][Technical problem]

[0008] L’invention a pour but de remédier aux inconvénients de l’art antérieur. En particulier, l’invention a pour but de proposer un procédé d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique pour l’exécution d’une pluralité de traitement par lots, ledit procédé étant capable de générer un plan de dimensionnement optimisé portant sur une quantité de ressources suffisante pour respecter le plan d’ordonnancement, et dont l’efficacité d’utilisation des ressources est améliorée.The invention aims to remedy the drawbacks of the prior art. In particular, the object of the invention is to propose a method for optimizing a scheduling plan and the dimensioning of an IT infrastructure for the execution of a plurality of batch processing, said method being capable of generating an optimized sizing plan relating to a sufficient quantity of resources to comply with the scheduling plan, and whose efficiency of use of the resources is improved.

[0009] L’invention a en outre pour but de proposer un dispositif d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique pour l’exécution d’une pluralité de traitement par lots de façon à ce qu’elle soit capable avec un minimum de ressource d’exécuter les traitements par lots dans un temps maximum prédéterminé et avec une efficacité maximale des ressources utilisées.The invention further aims to provide a device for optimizing a scheduling plan and the dimensioning of an IT infrastructure for the execution of a plurality of batch processing so that '' it is capable, with a minimum of resources, of performing batch processing in a predetermined maximum time and with maximum efficiency of the resources used.

[Brève description de l’invention][Brief description of the invention]

[0010] A cet effet, l’invention porte sur un procédé d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique pour l’exécution d’une pluralité de traitements par lots, ladite infrastructure informatique présentant des valeurs de quantités de ressources initiales permettant l’exécution de la pluralité de traitements par lots, ledit procédé étant mis en œuvre par un dispositif d’optimisation comprenant un module de raréfaction de ressources, un module d’exécution de traitement par lots, un module de collecte de métriques, un module de dimensionnement, un module de conception de plan d’ordonnancement et un module de mémorisation configuré pour mémoriser des règles de raréfaction et des règles d’exécution, ledit procédé comportant :To this end, the invention relates to a method for optimizing a scheduling plan and the dimensioning of an IT infrastructure for the execution of a plurality of batch processes, said IT infrastructure having initial resource quantity values allowing the execution of the plurality of batch treatments, said method being implemented by an optimization device comprising a resource rarefaction module, a batch processing execution module, a module metric collection module, a sizing module, a scheduling plan design module and a memorization module configured to memorize rarefaction rules and execution rules, said method comprising:

- une étape de détermination de durées d’exécution rallongées des traitements par lots de la pluralité de traitements par lots, en fonction de valeurs de quantités de ressources disponibles, comportant :- a step of determining extended execution times of the batch treatments of the plurality of batch treatments, as a function of values of the quantities of available resources, comprising:

• la génération sur une infrastructure informatique, par le module de raréfaction de ressources, d’une consommation contrôlée d’au moins une ressource selon les règles de raréfaction préalablement mémorisées de façon à laisser à disposition de chaque traitement par lots des quantités de ressources disponibles inférieures aux quantités de ressources initiales, • l’exécution sur l’infrastructure informatique, par le module d’exécution de traitement par lots, de chacun des traitements par lots de la pluralité de traitements par lots, et • une étape de mesure, par le module de collecte de métriques, de durées d’exécution rallongées en fonction de valeurs de quantité de ressources disponibles pour chacun des traitements par lots ;• the generation on an IT infrastructure, by the resource scarcity module, of a controlled consumption of at least one resource according to the scarcity rules previously memorized so as to leave available to each batch processing quantities of resources available lower than the quantities of initial resources, • the execution on the IT infrastructure, by the batch processing execution module, of each of the batch treatments of the plurality of batch treatments, and • a measurement step, by the metric collection module, longer execution times as a function of the quantity of resources available for each of the batch processes;

- une étape de génération, par le module de dimensionnement, d’au moins un plan de dimensionnement optimisé, ladite étape de génération comportant la sélection, parmi les valeurs de quantité de ressources disponibles, de valeurs de quantité de ressources attribuées à l’au moins un plan de dimensionnement optimisé ; eta step of generation, by the sizing module, of at least one optimized sizing plan, said step of generation comprising the selection, from the values of quantity of available resources, of values of quantity of resources allocated to the minus an optimized sizing plan; and

- une étape de calcul, par le module de conception de plan d’ordonnancement, à partir des durées d’exécution rallongées associées aux valeurs de quantité de ressources attribuées, d'un plan d’ordonnancement respectant les règles d'exécution.- a step of calculating, by the scheduling plan design module, from the extended execution durations associated with the quantity values of allocated resources, a scheduling plan respecting the execution rules.

[0011] Le procédé selon l’invention permet de calculer un dimensionnement moins consommateur en ressources tout en supportant la bonne exécution d’un plan d’ordonnancement calculé adapté pour maximiser l’efficacité de l’utilisation des ressources.The method according to the invention makes it possible to calculate a dimensioning that consumes fewer resources while supporting the proper execution of a calculated scheduling plan adapted to maximize the efficiency of the use of resources.

[0012] Il permet par exemple de déterminer le ou les dimensionnements comportant une combinaison de ressources plus efficace et un plan d’ordonnancement calculé adapté à ce dimensionnement. Il permet également de déterminer le ou les dimensionnements minimaux permettant l’exécution du plan d’ordonnancement en respectant une durée prédéterminée maximale d’exécution de chaque traitement par lots ainsi qu’une durée globale maximale d’exécution du plan d’ordonnancement prédéterminée.It allows, for example, to determine the dimensioning (s) comprising a more efficient combination of resources and a calculated scheduling plan adapted to this dimensioning. It also makes it possible to determine the minimum dimension (s) allowing the execution of the scheduling plan while respecting a maximum predetermined duration of execution of each batch processing as well as a maximum overall duration of execution of the predetermined scheduling plan.

[0013] De nombreuses méthodes visent à réduire le temps d’exécution des traitements par lot ou à sécuriser leur exécution en assurant une quantité de ressources bien supérieure au besoin. Ici, le procédé permet de générer un plan de dimensionnement et un plan d’ordonnancement améliorant l’efficacité d’utilisation des ressources impliquées ou attribuées. C’est-à-dire que les valeurs de ressources attribuées sont sélectionnées pour correspondre aux quantités de ressources les plus adaptées.Many methods aim to reduce the execution time of batch processing or to secure its execution by ensuring a quantity of resources much greater than necessary. Here, the method makes it possible to generate a sizing plan and a scheduling plan improving the efficiency of use of the resources involved or allocated. In other words, the assigned resource values are selected to correspond to the most suitable quantities of resources.

[0014] Selon d’autres caractéristiques optionnelles du procédé :According to other optional characteristics of the process:

[0015] - l’étape de génération comprend la suppression des valeurs de quantité de ressources disponibles pour lesquelles la durée d’exécution rallongée d’un des traitements par lots est supérieure à une valeur d’exécution maximale prédéterminée dudit traitement par lots. Cela permet au procédé selon l’invention de générer des plans de dimensionnement présentant une efficacité d’utilisation des ressources améliorée mais sans entraîner des délais d’exécution trop long.- The generation step includes the removal of the quantity values of available resources for which the extended execution time of one of the batch operations is greater than a predetermined maximum execution value of said batch operation. This allows the method according to the invention to generate sizing plans with improved efficiency in the use of resources but without causing excessively long execution times.

[0016] - l’étape de génération comprend :- the generation step includes:

• le calcul, pour chaque valeur de quantité de ressources disponibles, d’une valeur d’efficacité d’utilisation des ressources, ledit calcul étant fonction des valeurs de quantité de ressources initiales, de coefficients de pondération prédéterminés et des durées d’exécution rallongées mesurées des traitements par lots, et• the calculation, for each value of the quantity of available resources, of a value for the efficiency of use of the resources, said calculation being a function of the values of the quantity of initial resources, of predetermined weighting coefficients and of the extended execution times measured batch processing, and

[0017] pour la sélection de valeurs de quantité de ressources attribuées à l’au moins un plan de dimensionnement optimisé, lesdites valeurs de quantité de ressources attribuées sont des valeurs de quantité de ressources disponibles permettant une valeur d’efficacité d’utilisation des ressources maximale. Cela permet de calculer le dimensionnement d’une infrastructure informatique, nécessaire à la bonne exécution d’un plan d’ordonnancement tout en maximisant l’efficacité de l’utilisation des ressources au regard de facteurs propres à ses ressources (disponibilités, quantité brute, demande...) tels que modélisés par le coefficient de pondération. Ainsi, contrairement aux procédés classiques visant à optimiser le plan d’ordonnancement ou à assurer l’absence de dysfonctionnement lors de l’exécution d’un plan d’ordonnancement, une telle étape va permettre de réduire le gaspillage de ressources associées au maintien d’infrastructure informatique surdimensionnées et dédiées à l’exécution des traitements par lots.For the selection of values of quantity of resources allocated to the at least one optimized dimensioning plan, said values of quantity of resources allocated are values of quantity of available resources allowing a value of efficiency of use of resources maximum. This makes it possible to calculate the sizing of an IT infrastructure, necessary for the proper execution of a scheduling plan while maximizing the efficiency of the use of resources with regard to factors specific to its resources (availability, gross quantity, demand ...) as modeled by the weighting coefficient. Thus, unlike conventional methods aimed at optimizing the scheduling plan or ensuring the absence of malfunction during the execution of a scheduling plan, such a step will make it possible to reduce the waste of resources associated with the maintenance of IT infrastructure oversized and dedicated to the execution of batch processing.

[0018] - l’étape de génération comprend :- the generation step includes:

• le calcul, pour chaque valeur de quantité de ressources disponibles, d’une durée d’exécution globale de la pluralité de traitements par lots, ledit calcul étant fonction des valeurs de quantité de ressources disponibles et des durées d’exécution rallongées mesurées des traitements par lots, et• the calculation, for each value of quantity of available resources, of an overall execution time of the plurality of batch treatments, said calculation being a function of the values of quantity of available resources and of the measured extended execution times of the treatments in batches, and

[0019] pour la sélection de valeurs de quantité de ressources attribuées à l’au moins un plan de dimensionnement optimisé, lesdites valeurs de quantité de ressources attribuées sont des valeurs minimales de quantité de ressources permettant une valeur de durée d’exécution globale de la pluralité de traitements par lots inférieure à une valeur de durée d’exécution globale maximale prédéterminée. Ainsi, il est possible de vérifier que le plan de dimensionnement optimisé généré utilisera la plus faible quantité de ressource possible.For the selection of values of quantity of resources allocated to the at least one optimized dimensioning plan, said values of quantity of resources allocated are minimum values of quantity of resources allowing a value of overall execution time of the plurality of batch operations less than a predetermined maximum overall execution time value. Thus, it is possible to verify that the optimized sizing plan generated will use the smallest amount of resource possible.

[0020] - il comporte une étape de génération d’un premier plan de dimensionnement comportant :- it includes a step of generating a first dimensioning plan comprising:

[0021] O une étape d’acquisition de données, par un module d’acquisition, comportant l’acquisition de règles d’exécution mémorisées, et d’une empreinte sur une pluralité de ressources initiales de chaque traitement par lots ;O a step of data acquisition, by an acquisition module, comprising the acquisition of stored execution rules, and of a fingerprint on a plurality of initial resources of each batch processing;

[0022] O une étape de calcul, par le module de dimensionnement, comportant, en fonction de l’empreinte sur une pluralité de ressources de chaque traitement par lots et selon un plan d’ordonnancement respectant les règles d’exécution mémorisées, le calcul de valeurs maximales de consommation de ressources par période par les traitements par lots, etO a calculation step, by the sizing module, comprising, as a function of the footprint on a plurality of resources of each batch processing and according to a scheduling plan respecting the stored execution rules, the calculation maximum resource consumption values per period by batch processing, and

[0023] O une étape de définition d’un premier plan de dimensionnement d’une infrastructure informatique, par le module de dimensionnement, en fonction des valeurs maximales de consommation de ressources par périodes calculées, ledit premier plan de dimensionnement comportant des premières valeurs de quantité de ressources attribuées.O a step of defining a first dimensioning plan of an IT infrastructure, by the dimensioning module, as a function of the maximum resource consumption values per calculated periods, said first dimensioning plan comprising first values of amount of resources allocated.

[0024] - lors de l’étape de génération, le procédé comporte la génération d’une pluralité de plan de dimensionnements optimisés. Cela permet de sélectionner le plan de dimensionnement optimisé dont les ressources disponibles correspondent aux ressources présentant une valeur d’efficacité d’utilisation des ressources améliorée.- during the generation step, the method includes the generation of a plurality of optimized dimensioning plans. This makes it possible to select the optimized sizing plan whose available resources correspond to the resources having an improved value for efficient use of resources.

[0025] - il comprend la mesure, par le module de collecte de métriques, d’une empreinte de chacun des traitements par lots et l’identification, par le module de dimensionnement, des ressources critiques pour chacun des traitements par lots. Ceci permet de réaliser une sélection des ressources à étudier en priorité dans le cadre de l’optimisation du dimensionnement.- It includes the measurement, by the metrics collection module, of a footprint of each of the batch processes and the identification, by the sizing module, of the critical resources for each of the batch processes. This makes it possible to make a selection of the resources to be studied in priority within the framework of the optimization of the dimensioning.

[0026] - il comprend en outre une étape de vérification du respect du plan d’ordonnancement calculé, ladite étape comprenant :- it further includes a step of verifying compliance with the calculated scheduling plan, said step comprising:

• l’exécution, par le module d’exécution de traitement par lots et sur une infrastructure informatique dont les ressources disponibles correspondent au plan de dimensionnement optimisé, de la pluralité de traitements par lots selon le plan d’ordonnancement, • la mesure, par le module de collecte de métriques, de paramètres d’exécution du plan d’ordonnancement calculé, et • la comparaison, par un module de contrôle, des paramètres mesurés d’exécution du plan d’ordonnancement calculé avec des paramètres prédéterminés d’exécution d’un plan d’ordonnancement.• the execution, by the batch processing execution module and on an IT infrastructure whose available resources correspond to the optimized dimensioning plan, of the plurality of batch treatments according to the scheduling plan, • the measurement, by the metrics collection module, execution parameters of the calculated scheduling plan, and • the comparison, by a control module, of the measured execution parameters of the calculated scheduling plan with predetermined execution parameters d 'a scheduling plan.

[0027] Cela permet de vérifier et d’optimiser encore le plan de dimensionnement lorsque celui-ci permet, encore, malgré la réduction de ressources, l’exécution du plan d’ordonnancement dans une durée bien inférieure à la durée globale maximale prédéterminée. Ces étapes permettent de réduire encore le gaspillage de ressources. Ainsi, il est possible de vérifier que le plan de dimensionnement optimisé généré permet effectivement l’exécution du plan d’ordonnancement dans les conditions prescrites.This allows to verify and further optimize the sizing plan when it still allows, despite the reduction in resources, the execution of the scheduling plan in a time much lower than the predetermined maximum overall duration. These steps further reduce the waste of resources. Thus, it is possible to verify that the optimized dimensioning plan generated effectively allows the execution of the scheduling plan under the prescribed conditions.

[0028] - il comprend en outre une étape de modification supplémentaire du plan de dimensionnement optimisé si au moins un des paramètres prédéterminés d’exécution du plan d’ordonnancement calculé suivants n’est pas respecté : règle d’exécution, durée maximale prédéterminée d’exécution d’un traitement par lots et durée globale maximale prédéterminée du plan d’ordonnancement. Ceci permet de réduire ou augmenter la quantité de ressources attribuées.- It further comprises a step of further modification of the optimized dimensioning plan if at least one of the predetermined parameters for executing the following calculated scheduling plan is not respected: execution rule, predetermined maximum duration d 'execution of batch processing and predetermined maximum overall duration of the scheduling plan. This reduces or increases the amount of resources allocated.

[0029] L’invention porte en outre sur dispositif d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique pour l’exécution d’une pluralité de traitements par lots, ladite infrastructure informatique présentant des valeurs de quantités de ressources initiales permettant l’exécution de la pluralité de traitements par lots, ledit dispositif comportant :The invention further relates to a device for optimizing a scheduling plan and the dimensioning of an IT infrastructure for the execution of a plurality of batch treatments, said IT infrastructure having quantity values. initial resources allowing the execution of the plurality of batch treatments, said device comprising:

- un module de mémorisation configuré pour mémoriser des règles de ra- réfaction et des règles d'exécution,- a storage module configured to store feedback rules and execution rules,

- un module de raréfaction de ressources configuré pour générer, sur une infrastructure informatique, une consommation contrôlée d’au moins une ressource selon les règles de raréfaction préalablement mémorisées de façon à laisser à disposition d’un traitement par lots une quantité de ressources disponible inférieure à une quantité de ressources initiale,- a resource scarcity module configured to generate, on an IT infrastructure, a controlled consumption of at least one resource according to the scarcity rules previously memorized so as to leave available for batch processing a lower quantity of available resources to an initial amount of resources,

- un module d’exécution de traitement par lots configuré pour exécuter, sur l’infrastructure informatique, chacun des traitements par lots de la pluralité de traitements par lots,- a batch processing execution module configured to execute, on the IT infrastructure, each of the batch treatments of the plurality of batch treatments,

- un module de collecte de métriques configuré pour mesurer des durées d’exécution rallongées en fonction de valeurs de quantité de ressources disponibles pour chacun des traitements par lots,- a metric collection module configured to measure longer execution times based on the quantity of resources available for each batch process,

- un module de dimensionnement configuré pour sélectionner des valeurs de quantité de ressources attribuées à un plan de dimensionnement optimisé de façon à générer au moins un plan de dimensionnement optimisé, lesdites valeurs de quantité de ressources attribuées étant sélectionnées parmi les valeurs de quantité de ressources disponibles pour lesquelles les durées d’exécution rallongées des traitements par lots sont inférieures à des durées d’exécution maximales prédéterminées, eta dimensioning module configured to select values of quantity of resources allocated to an optimized dimensioning plan so as to generate at least one optimized dimensioning plan, said values of quantity of resources allocated being selected from the values of quantity of resources available for which the extended execution times for batch processing are less than predetermined maximum execution times, and

- un module de conception de plan d’ordonnancement configuré pour calculer, à partir des durées d’exécution rallongées associées aux valeurs de quantité de ressources attribuées, un plan d’ordonnancement respectant les règles d’exécution mémorisées.- a scheduling plan design module configured to calculate, from the extended execution durations associated with the quantity values of allocated resources, a scheduling plan respecting the stored execution rules.

[0030] Ce dispositif permet de calculer un plan d’ordonnancement et le dimensionnement minimum en ressources, d’une l’infrastructure informatique, nécessaire à la bonne exécution d’une pluralité de traitement par lots. Ainsi, contrairement aux dispositifs ou systèmes classiques visant à optimiser le plan d’ordonnancement ou à assurer l’absence de dysfonctionnement lors de l’exécution d’un plan d’ordonnancement, un tel dispositif va permettre de réduire le gaspillage de ressources associées au maintien d’infrastructure informatique surdimensionnées et dédiées à l’exécution des traitements par lots.This device makes it possible to calculate a scheduling plan and the minimum sizing of resources, of an IT infrastructure, necessary for the proper execution of a plurality of batch processing. Thus, unlike conventional devices or systems aimed at optimizing the scheduling plan or ensuring the absence of malfunction during the execution of a scheduling plan, such a device will make it possible to reduce the waste of resources associated with the maintenance of oversized IT infrastructure dedicated to performing batch processing.

[0031] Selon un autre aspect, l’invention porte en outre sur un programme d'ordinateur comprenant des instructions qui, lorsque le programme d’ordinateur est chargé dans la mémoire d’un ordinateur et est exécuté par un processeur dudit ordinateur, cause la mise en œuvre par l’ordinateur du procédé selon l’invention.According to another aspect, the invention further relates to a computer program comprising instructions which, when the computer program is loaded into the memory of a computer and is executed by a processor of said computer, causes the implementation by the computer of the method according to the invention.

[0032] Selon un autre aspect, l’invention porte en outre sur un support d'enregistrement tangible, lisible par un ordinateur, sur lequel est enregistré de manière non-transitoire le programme selon l’invention.According to another aspect, the invention further relates to a tangible recording medium, readable by a computer, on which the program according to the invention is recorded in a non-transient manner.

[0033] D’autres avantages et caractéristiques de l’invention apparaîtront à la lecture de la description suivante donnée à titre d’exemple illustratif et non limitatif, en référence aux Figures annexées :Other advantages and characteristics of the invention will appear on reading the following description given by way of illustrative and nonlimiting example, with reference to the appended Figures:

[0034] [fig.l] représente un schéma d’un procédé d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique selon l’invention. Les étapes encadrées par des pointillés sont facultatives.[Fig.l] shows a diagram of a method for optimizing a scheduling plan and the sizing of an IT infrastructure according to the invention. The steps framed by dotted lines are optional.

[0035] [fig.2] représente schématiquement une étape préalable d’identification de ressources critiques.[Fig.2] schematically represents a prior step of identifying critical resources.

[0036] [fig.3] représente schématiquement une étape préalable de génération d’un plan de dimensionnement.[Fig.3] schematically represents a prior step for generating a sizing plan.

[0037] [fig.4] représente schématiquement une étape de détermination de durées d’exécution rallongées, de la pluralité des traitements par lots, en fonction de valeurs de quantité de ressources disponibles selon un mode de réalisation de l’invention.[Fig.4] schematically represents a step of determining extended execution times, of the plurality of batch treatments, as a function of values of quantity of resources available according to an embodiment of the invention.

[0038] [fig.5A] , représente un schéma d’une étape de génération d’au moins un plan de dimensionnement optimisé selon un mode de réalisation de l’invention[Fig.5A], shows a diagram of a step of generating at least one optimized dimensioning plan according to an embodiment of the invention

[0039] [fig.5B] , représente un schéma d’une étape de génération d’au moins un plan de dimensionnement optimisé selon un autre mode de réalisation de l’invention.[Fig.5B], shows a diagram of a step of generating at least one optimized dimensioning plan according to another embodiment of the invention.

[0040] [fig.6] , représente un schéma d’une étape de calcul du plan d’ordonnancement selon l’invention.[Fig.6], shows a diagram of a step of calculating the scheduling plan according to the invention.

[0041] [fig.7] , représente un schéma d’une étape de vérification du respect du plan d’ordonnancement selon un mode de réalisation de l’invention.[Fig.7], shows a diagram of a step of verifying compliance with the scheduling plan according to an embodiment of the invention.

[0042] [fig.8] , représente un schéma d’une étape de vérification du respect du plan d’ordonnancement selon un mode de réalisation de l’invention.[Fig.8], shows a diagram of a step of verifying compliance with the scheduling plan according to an embodiment of the invention.

[0043] [fig.9] , représente un schéma d’une étape de modification supplémentaire de la quantité de ressources attribuées au plan de dimensionnement optimisé selon l’invention.[Fig.9], shows a diagram of a step of further modification of the amount of resources allocated to the optimized dimensioning plan according to the invention.

[0044] Les figures 10A et 10B représentent schématiquement étapes de réduction (10A) ou d’augmentation (10B) des valeurs de ressources attribuées au plan de dimensionnement optimisé.FIGS. 10A and 10B schematically represent steps for reducing (10A) or increasing (10B) the resource values allocated to the optimized dimensioning plan.

[0045] [fig. 11] , représente un schéma d’un dispositif d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique pour l’exécution d’une pluralité de traitement par lots selon un mode de réalisation de l’invention.[Fig. 11], represents a diagram of a device for optimizing a scheduling plan and the dimensioning of an IT infrastructure for the execution of a plurality of batch processing according to an embodiment of the invention.

[0046] Des aspects de la présente invention sont décrits en référence à des organigrammes et / ou à des schémas fonctionnels de procédés, d'appareils (systèmes) et de produits de programme d'ordinateur selon des modes de réalisation de l'invention.Aspects of the present invention are described with reference to flowcharts and / or block diagrams of methods, apparatuses (systems) and computer program products according to embodiments of the invention.

[0047] Sur les figures, les organigrammes et les schémas fonctionnels illustrent l'architecture, la fonctionnalité et le fonctionnement d'implémentations possibles de systèmes, de procédés et de produits de programme d'ordinateur selon divers modes de réalisation de la présente invention. A cet égard, chaque bloc dans les organigrammes ou blocs-diagrammes peut représenter un système, un dispositif, un module ou un code, qui comprend une ou plusieurs instructions exécutables pour mettre en œuvre la ou les fonctions logiques spécifiées. Dans certaines implémentations, les fonctions associées aux blocs peuvent apparaître dans un ordre différent que celui indiqué sur les figures. Par exemple, deux blocs montrés successivement peuvent, en fait, être exécutés sensiblement simultanément, ou les blocs peuvent parfois être exécutés dans l'ordre inverse, en fonction de la fonctionnalité impliquée. Chaque bloc des schémas de principe et / ou de l'organigramme, et des combinaisons de blocs dans les schémas de principe et / ou l'organigramme, peuvent être mis en œuvre par des systèmes matériels spéciaux qui exécutent les fonctions ou actes spécifiés ou effectuer des combinaisons de matériel spécial et d'instructions informatiques.In the figures, the flowcharts and block diagrams illustrate the architecture, functionality and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams can represent a system, a device, a module or a code, which includes one or more executable instructions to implement the specified logic function (s). In some implementations, the functions associated with the blocks may appear in a different order than that indicated in the figures. For example, two blocks shown successively can, in fact, be executed substantially simultaneously, or the blocks can sometimes be executed in reverse order, depending on the functionality involved. Each block of the block diagrams and / or the flowchart, and combinations of blocks in the block diagrams and / or the flowchart, can be implemented by special hardware systems that perform the specified functions or acts or perform combinations of special hardware and computer instructions.

[Description de l’invention][Description of the invention]

[0048] Dans la suite de la description, l’expression « améliorée l’efficacité d’utilisation des ressources » au sens de l’invention, on entend l’action de maximiser ou perfectionner l’utilisation des ressources d’une infrastructure informatique, dans le cadre de l’exécution d’un traitement par lot, par rapport à un niveau antérieur à la mise en œuvre de l’invention. Cette meilleure efficacité est permise par le choix de quantité de ressources de façon à privilégier les ressources les plus disponibles et dont l’utilisation entraîne un impact le plus faible possible sur l’infrastructure informatique ou son administration.In the following description, the expression "improved resource efficiency" within the meaning of the invention means the action of maximizing or perfecting the use of the resources of an IT infrastructure. , in the context of the execution of a batch processing, compared to a level prior to the implementation of the invention. This improved efficiency is enabled by the choice of quantity of resources so as to favor the most available resources, the use of which has the lowest possible impact on the IT infrastructure or its administration.

[0049] L’expression « traitements par lots » (« batch processing » en terminologie anglosaxonne) correspond à un enchaînement automatique de plusieurs phases par l’intermédiaire d’une suite de commandes (processus) sur un ordinateur sans intervention d’un opérateur. Une fois qu’un processus est terminé l’ordinateur traite un lot suivant et à un instant T, il y a généralement plusieurs traitements par lots qui s’exécutent en parallèle. Le traitement des lots se termine une fois que tous les lots de la pile (queue) ont été exécutés. Les traitements par lots sont surtout utilisés pour des tâches automatisées, par exemple pour l’envoi automatique de courriers postaux ou électroniques. Un traitement par lot est généralement stocké dans un fichier de commandes qui est exécuté par le système informatique. L'exécution du fichier de commandes peut produire un certain nombre d'actions aussi diverses que la mise à jour de bases de données, l'envoi d'e-mails aux utilisateurs ou la production d’un ou de plusieurs fichiers de sortie à utiliser par un autre traitement par lots.The expression "batch processing" ("batch processing" in English terminology) corresponds to an automatic sequence of several phases via a sequence of commands (process) on a computer without operator intervention . Once a process is finished the computer processes a next batch and at a time T, there are generally several batch processes which are executed in parallel. Batch processing ends once all the batches in the stack have been completed. Batch processing is mainly used for automated tasks, for example for the automatic sending of postal or electronic mail. Batch processing is generally stored in a batch file which is executed by the computer system. Executing the batch file can produce a number of actions as diverse as updating databases, sending emails to users, or producing one or more output files to use by another batch process.

[0050] Le « plan d’ordonnancement » au sens de l’invention, aussi appelé « plan d’exécution », correspond à l’ordre d’exécution des différents traitements par lots devant être réalisé au cours d’une période de temps donnée. Cet ordonnancement est généralement calculé en fonction de règles et/ou de prérequis de façon à satisfaire des exigences de disponibilité de ressources.The "scheduling plan" within the meaning of the invention, also called "execution plan", corresponds to the order of execution of the various batch processing operations to be carried out over a period of time given. This scheduling is generally calculated according to rules and / or prerequisites in order to meet the availability requirements of resources.

[0051] L’expression « paramètres d’exécution du plan d’ordonnancement » au sens de l’invention correspond à un ensemble de paramètres associés à l’exécution du plan d’ordonnancement. Cela peut par exemple inclure la durée globale d’exécution du plan d’ordonnancement, le respect des règles d’exécution ou la durée d’exécution des traitements par lots. Les paramètres d’exécution du plan d’ordonnancement peuvent également inclure : l’utilisation de ressources par les traitements par lots dans le temps, ou encore un volume de données générées ou une occupation de l’espace mémoire après la fin des traitements par lots. Ces valeurs peuvent par exemple être mesurées par des sondes et elles peuvent également être prédéterminées, l’invention incluant en particulier la comparaison de valeurs de paramètres mesurés à des valeurs de paramètres prédéterminées.The expression "parameters for executing the scheduling plan" within the meaning of the invention corresponds to a set of parameters associated with the execution of the scheduling plan. This can for example include the overall duration of execution of the scheduling plan, compliance with the execution rules or the duration of execution of batch processing. The execution parameters of the scheduling plan can also include: the use of resources by batch processing over time, or a volume of data generated or an occupation of the memory space after the end of batch processing . These values can for example be measured by probes and they can also be predetermined, the invention including in particular the comparison of values of measured parameters with predetermined parameter values.

[0052] Les expressions « règles d’exécution » ou « règles d’exécution prédéterminées » au sens de l’invention correspondent à des règles d’exécution d’un plan d’ordonnancement dont le respect permet une exécution répondant aux besoins de l’administrateur SI. Ces règles peuvent notamment inclure des ordres d’enchaînement à respecter pour les traitements par lots, des horaires à respecter, ou des seuils de consommation en ressources à respecter.The expressions “execution rules” or “predetermined execution rules” within the meaning of the invention correspond to rules for execution of a scheduling plan, the observance of which allows execution meeting the needs of the IS administrator. These rules may in particular include sequence orders to be respected for batch processing, timetables to be respected, or resource consumption thresholds to be respected.

[0053] L’expression « durée d’exécution » au sens de l’invention correspond au temps d’exécution d’un traitement par lots ou de plusieurs traitements par lots. Autrement dit, c’est la durée nécessaire au système informatique (e.g. processeur) pour exécuter les ordres. L’expression « durée d’exécution maximale prédéterminée » au sens de l’invention correspond à la durée d’exécution qu’un traitement par lots ne doit pas dépasser. Elle peut correspondre par exemple à la durée d’exécution d’un traitement par lots à ne pas dépasser de façon à ne pas entraîner un dysfonctionnement ou une finalisation tardive d’un plan d’ordonnancement.The term "execution time" within the meaning of the invention corresponds to the execution time of a batch processing or of several batch processing. In other words, it is the time required for the computer system (e.g. processor) to execute orders. The expression "predetermined maximum execution time" within the meaning of the invention corresponds to the execution time that a batch processing must not exceed. It can correspond for example to the duration of execution of a batch processing not to be exceeded so as not to cause a malfunction or a late completion of a scheduling plan.

[0054] L’expression « durée d’exécution rallongée » au sens de l’invention correspond à la durée d’exécution d’un traitement par lots ou de plusieurs traitements par lots lorsque les ressources disponibles ont été réduites.The expression "extended execution time" within the meaning of the invention corresponds to the execution time of a batch process or of several batch processes when the available resources have been reduced.

[0055] L’expression « durée globale d’exécution du plan d’ordonnancement » au sens de l’invention correspond au temps d’exécution du plan d’ordonnancement. Autrement dit, c’est la durée nécessaire au système informatique (e.g. processeur) pour exécuter les ordres associés à tous les traitements par lots constituant le plan d’ordonnancement. La durée globale d’exécution maximale prédéterminée du plan d’ordonnancement au sens de l’invention correspond à la durée d’exécution qu’un plan d’ordonnancement ne doit pas dépasser. Elle peut correspondre par exemple à la durée à ne pas dépasser de façon à ne pas entraîner un dysfonctionnement ou une finalisation tardive d’un plan d’ordonnancement.The expression “overall duration of execution of the scheduling plan” within the meaning of the invention corresponds to the time of execution of the scheduling plan. In other words, it is the time required for the computer system (e.g. processor) to execute the orders associated with all the batch processes constituting the scheduling plan. The overall predetermined maximum execution time of the scheduling plan within the meaning of the invention corresponds to the execution time that a scheduling plan must not exceed. It can for example correspond to the duration not to be exceeded so as not to cause a malfunction or a late completion of a scheduling plan.

[0056] L’expression « infrastructure informatique » au sens de l’invention correspond à un ensemble de structures informatiques (i.e. dispositifs informatiques) apte à faire fonctionner une application ou une chaîne applicative. La structure informatique peut être un ou plusieurs serveurs, elle peut par exemple être composée d’un serveur de présentation, d’un serveur métier et d’un serveur de données. L’infrastructure informatique peut également être un serveur « test » avec les mêmes ressources qu’un serveur de production ou bien un clone d’un serveur virtuel de production. De façon préférée, une structure informatique est un serveur.The term "IT infrastructure" within the meaning of the invention corresponds to a set of IT structures (i.e. IT devices) capable of operating an application or an application chain. The IT structure can be one or more servers, it can for example be composed of a presentation server, a business server and a data server. The IT infrastructure can also be a "test" server with the same resources as a production server or a clone of a virtual production server. Preferably, an IT structure is a server.

[0057] L’expression « plan de dimensionnement » au sens de l’invention correspond aux quantités de ressources accordées à, ou détenues par, une infrastructure informatique notamment dans le cadre de l’exécution d’un plan d’ordonnancement.The expression "dimensioning plan" within the meaning of the invention corresponds to the quantities of resources granted to, or held by, an IT infrastructure in particular in the context of the execution of a scheduling plan.

[0058] Par « sonde » ou « sonde informatique », on entend au sens de l’invention un logiciel associé à un équipement qui permet d’effectuer, de gérer et de faire remonter vers un équipement informatique des mesures des valeurs de paramètres de Γutilisation de ressources, de paramètres d’exécution de traitement par lots ou encore de l’état de fonctionnement des ressources.By "probe" or "computer probe" is meant within the meaning of the invention software associated with equipment which makes it possible to carry out, manage and send measurements of parameter values to computer equipment. Γ use of resources, batch processing execution parameters or the operational status of resources.

[0059] Le terme « ressource » au sens de l’invention correspond à des paramètres, des capacités ou des fonctions de dispositifs informatiques permettant le fonctionnement d’un traitement par lot ou d’une application. Un même dispositif informatique est associé généralement à plusieurs ressources. De même, une même ressource peut être partagée entre plusieurs traitements par lot. Une ressource est généralement associée à un identifiant unique permettant de l’identifier au sein d’une infrastructure informatique. Par exemple, le terme « ressource » peut inclure : des disques réseaux caractérisés par exemple par leurs entrées/sorties, la lecture/écriture sur des disques, le taux d’utilisation de la mémoire, un réseau caractérisé par sa bande passante, un processeur caractérisé par exemple par son utilisation (en pourcent) ou le taux d’occupation de ses caches, une mémoire vive caractérisée par la quantité allouée. On entend par « utilisation des ressources », la consommation d’une ressource par un traitement par lot ou par une application métier. L’expression « ressource critique » au sens de l’invention correspond à la ou aux ressources dont l’utilisation dans des conditions nominales (i.e. usuelles) est la plus proche de son utilisation limite (seuil prédéterminé d’utilisation maximum) ou de sa saturation ou encore une ressource identifiée comme telle par un utilisateur. Ainsi, la raréfaction d’une ressource critique fait que les conditions d'exécution d’un traitement par lots ne sont pas respectées (e.g. seuil de consommation des ressources non respectés ou temps de traitements non respectés). Par exemple, dans une infrastructure informatique comportant un CPU et 8Gb de RAM où en conditions usuelles il y a consommation de 80% de CPU et 2 Gb de RAM alors la ressource critique sera la ressource CPU. Le terme « empreinte » au sens de l’invention correspond à des données sur la consommation en ressources d’un traitement par lot ou la disponibilité en ressources d’une machine (pour l’empreinte à vide) pendant sa période d’exécution. Le « pas d’une ressource » peut être d’une part la quantité minimale de ressource pouvant être ajoutée ou soustraite lors d’une étape de modification et d’autre part un multiple de la modification pouvant subir le niveau de ladite ressource. Certaines ressources présentent une granulométrie élevée (e.g. serveurs) alors que d’autre présentent une granulométrie faible (e.g. mémoire vive disponible).The term "resource" within the meaning of the invention corresponds to parameters, capacities or functions of computer devices allowing the operation of a batch process or an application. The same IT device is generally associated with several resources. Similarly, the same resource can be shared between several treatments per batch. A resource is generally associated with a unique identifier allowing it to be identified within an IT infrastructure. For example, the term "resource" can include: network disks characterized for example by their input / output, read / write on disks, memory usage rate, a network characterized by its bandwidth, a processor characterized for example by its use (in percent) or the occupancy rate of its caches, a random access memory characterized by the allocated amount. "Resource use" means the consumption of a resource by batch processing or by a business application. The expression “critical resource” within the meaning of the invention corresponds to the resource or resources whose use under nominal conditions (ie usual) is closest to its limit use (predetermined threshold of maximum use) or to its saturation or a resource identified as such by a user. Thus, the scarcity of a critical resource means that the conditions for performing batch processing are not respected (e.g. consumption threshold for resources not respected or processing times not respected). For example, in an IT infrastructure comprising a CPU and 8 Gb of RAM where under usual conditions there is consumption of 80% of CPU and 2 Gb of RAM then the critical resource will be the CPU resource. The term "fingerprint" within the meaning of the invention corresponds to data on the consumption of resources of a batch processing or the availability of resources of a machine (for the empty print) during its period of execution. The "step of a resource" can be on the one hand the minimum quantity of resource that can be added or subtracted during a modification step and on the other hand a multiple of the modification that can undergo the level of said resource. Some resources have a large particle size (e.g. servers) while others have a small particle size (e.g. available RAM).

[0060] L’expression « quantité de ressources initiale » au sens de l’invention correspond aux valeurs de quantité de ressources d’une infrastructure informatique avant la mise en place d’une consommation contrôlée des ressources.The expression "initial quantity of resources" within the meaning of the invention corresponds to the values of quantity of resources of an IT infrastructure before the implementation of a controlled consumption of resources.

[0061] L’expression « quantité de ressources disponibles » au sens de l’invention correspond aux valeurs de quantité de ressources qui seront accessibles aux traitements par lots après la mise en place d’une consommation contrôlée.The expression “quantity of available resources” within the meaning of the invention corresponds to the values of quantity of resources which will be accessible to batch processing after the introduction of controlled consumption.

[0062] L’expression « consommation contrôlée d’au moins une ressource » au sens de l’invention correspond à une réduction de la quantité de ressource pouvant être utilisée par un traitement par lots s’exécutant sur une infrastructure informatique par exemple via l’exécution de codes sur ladite infrastructure informatique faisant appels aux ressources concernées.The expression “controlled consumption of at least one resource” within the meaning of the invention corresponds to a reduction in the quantity of resource which can be used by a batch processing running on an IT infrastructure for example via the 'execution of codes on said IT infrastructure using the resources concerned.

[0063] L’expression « quantité de ressources attribuées » au sens de l’invention correspond aux valeurs de quantité de ressources calculées, selon le procédé de l’invention, comme étant suffisantes à l’infrastructure informatique pour mettre en œuvre un plan d’ordonnancement exécutant une pluralité de traitements par lots. De préférence elles sont suffisantes pour que le plan s’exécute sur une durée inférieure à une durée globale maximale prédéterminée.The expression “quantity of allocated resources” within the meaning of the invention corresponds to the values of quantity of resources calculated, according to the method of the invention, as being sufficient for the IT infrastructure to implement a plan of scheduling performing a plurality of batch processes. Preferably, they are sufficient for the plan to be executed over a duration less than a predetermined maximum overall duration.

[0064] On entend par « traiter », « calculer », « exécuter », « déterminer », « afficher », « extraire », « comparer » ou plus largement « opération exécutable », au sens de l’invention, une action effectuée par un dispositif ou un processeur sauf si le contexte indique autrement. À cet égard, les opérations se rapportent à des actions et / ou des processus d’un système de traitement de données, par exemple un système informatique ou un dispositif informatique électronique, qui manipule et transforme les données représentées en tant que quantités physiques (électroniques) dans les mémoires du système informatique ou d'autres dispositifs de stockage, de transmission ou d'affichage de l'information. Ces opérations peuvent se baser sur des applications ou des logiciels.The term “process”, “calculate”, “execute”, “determine”, “display”, “extract”, “compare” or more broadly “executable operation”, within the meaning of the invention, means an action performed by a device or processor unless the context indicates otherwise. In this regard, operations relate to actions and / or processes of a data processing system, for example a computer system or an electronic computing device, which manipulates and transforms the data represented as physical quantities (electronic ) in the memories of the computer system or other devices for storing, transmitting or displaying information. These operations can be based on applications or software.

[0065] Les termes ou expressions « application », « logiciel », « code de programme », et « code exécutable » signifient toute expression, code ou notation, d'un ensemble d'instructions destinées à provoquer un traitement de données pour effectuer une fonction particulière directement ou indirectement (e.g. après une opération de conversion vers un autre code). Les exemples de code de programme peuvent inclure, sans s'y limiter, un sous-programme, une fonction, une application exécutable, un code source, un code objet, une bibliothèque et/ou tout autre séquence d'instructions conçues pour l'exécution sur un système informatique.The terms or expressions "application", "software", "program code", and "executable code" mean any expression, code or notation, of a set of instructions intended to cause data processing to perform a particular function directly or indirectly (eg after a conversion operation to another code). Examples of program code may include, but are not limited to, a subroutine, function, executable application, source code, object code, library, and / or any other sequence of instructions designed for execution on a computer system.

[0066] On entend par « processeur », au sens de l’invention, au moins un circuit matériel configuré pour exécuter des opérations selon des instructions contenues dans un code. Le circuit matériel peut être un circuit intégré. Des exemples d'un processeur comprennent, sans s'y limiter, une unité de traitement central, un processeur graphique, un circuit intégré spécifique à l'application (ASIC) et un circuit logique programmable.By "processor" is meant, within the meaning of the invention, at least one hardware circuit configured to execute operations according to instructions contained in a code. The hardware circuit can be an integrated circuit. Examples of a processor include, but are not limited to, a central processing unit, a graphics processor, an application specific integrated circuit (ASIC) and a programmable logic circuit.

[0067] On entend par « couplé », au sens de l’invention, connecté, directement ou indirectement avec un ou plusieurs éléments intermédiaires. Deux éléments peuvent être couplés mécaniquement, électriquement ou liés par un canal de communication.By "coupled", in the sense of the invention, connected, directly or indirectly with one or more intermediate elements. Two elements can be coupled mechanically, electrically or linked by a communication channel.

[0068] L’expression « interface homme-machine » au sens de l’invention correspond à tout élément permettant à un être humain de communiquer avec un ordinateur en particulier et sans que cette liste soit exhaustive, un clavier et des moyens permettant en réponse aux ordres entrés au clavier d’effectuer des affichages et éventuellement de sélectionner à l’aide de la souris ou d’un pavé tactile des éléments affichés sur l’écran. Un autre exemple de réalisation est un écran tactile permettant de sélectionner directement sur l’écran les éléments touchés par le doigt ou un objet et éventuellement avec la possibilité d’afficher un clavier virtuel.The expression “man-machine interface” within the meaning of the invention corresponds to any element allowing a human being to communicate with a particular computer and without this list being exhaustive, a keyboard and means allowing in response commands entered on the keyboard to display and possibly select using the mouse or a touchpad items displayed on the screen. Another exemplary embodiment is a touch screen making it possible to select directly on the screen the elements touched by the finger or an object and possibly with the possibility of displaying a virtual keyboard.

[0069] Dans la suite de la description, les mêmes références sont utilisées pour désigner les mêmes éléments.In the following description, the same references are used to designate the same elements.

[0070] Comme cela a été mentionné, la plupart des systèmes et procédés de l’art antérieur s’intéressent à l’organisation du dimensionnement des infrastructures supportant ces traitements par lots de façon à assurer un niveau de service élevé. Cela entraîne généralement un gaspillage de ressources. Classiquement, l’exécution de la pluralité de traitements par lots est menée selon un plan d’ordonnancement et se déroule sur une durée correspondant à une première durée globale d’exécution du plan d’ordonnancement.As has been mentioned, most of the systems and methods of the prior art are concerned with the organization of the dimensioning of the infrastructures supporting these batch treatments so as to ensure a high level of service. This usually results in a waste of resources. Conventionally, the execution of the plurality of batch treatments is carried out according to a scheduling plan and takes place over a duration corresponding to a first overall duration of execution of the scheduling plan.

[0071] Comme cela sera détaillé par la suite et contrairement à beaucoup d’innovations dans ce domaine, l’objet de l’invention n’est pas de réduire cette première durée globale d’exécution du plan d’ordonnancement mais au contraire de calculer un dimensionnement d’une infrastructure informatique disposant d’un minimum de ressources pour exécuter correctement un plan d’ordonnancement calculé pour ce dimensionnement, la durée globale d’exécution étant alors augmentée. Dans le cadre de la présente invention, les inventeurs ont développé un procédé et un dispositif permettant de mettre la priorité sur une quantité minimale de ressources consommées et une utilisation des ressources avec une efficacité maximale. Ainsi, les traitements par lots peuvent être exécutés dans un temps imparti en mobilisant une quantité de ressources donnée de façon à avoir un impact le plus faible possible sur les autres processus peuvent s’exécuter sur l’infrastructure informatique. Par exemple, l’exécution du traitement par lots se fera en priorité sur des ressources non essentielles à d’autres applications ou largement disponibles au sein de l’infrastructure informatique et avec une quantité de ressource minimale permettant de les laisser disponibles pour d’autres traitements. En outre, les traitements par lots peuvent être exécutés dans un temps imparti en ne mobilisant qu’une quantité minimale de ressources.As will be detailed later and unlike many innovations in this field, the object of the invention is not to reduce this first overall duration of execution of the scheduling plan but on the contrary to calculate a dimensioning of an IT infrastructure having a minimum of resources to correctly execute a scheduling plan calculated for this dimensioning, the overall duration of execution then being increased. In the context of the present invention, the inventors have developed a method and a device making it possible to prioritize a minimum quantity of resources consumed and a use of the resources with maximum efficiency. Thus, batch processing can be executed in a given time by mobilizing a given amount of resources so as to have the lowest possible impact on the other processes that can be executed on the IT infrastructure. For example, the execution of batch processing will be done in priority on resources not essential to other applications or widely available within the IT infrastructure and with a minimum amount of resource allowing them to be available for others treatments. In addition, batch processing can be performed in a given time using only a minimum amount of resources.

[0072] Pour cela, les inventeurs proposent en particulier un procédé et un dispositif capables de calculer un plan d’ordonnancement et le dimensionnement de l’infrastructure informatique nécessaire à l’exécution efficace d’un plan d’ordonnancement. L’objectif est en particulier de déterminer le ou les dimensionnements permettant de maximiser l’efficacité d’utilisation des ressources et également de s’assurer que l’exécution du plan d’ordonnancement respecte une durée maximale prédéterminée d’exécution de chaque traitement ou plus largement une durée globale maximale prédéterminée d’exécution du plan d’ordonnancement, ainsi que de préférence des règles d’exécution dudit plan d’ordonnancement.For this, the inventors propose in particular a method and a device capable of calculating a scheduling plan and the sizing of the IT infrastructure necessary for the efficient execution of a scheduling plan. The objective is in particular to determine the dimensioning or dimensions making it possible to maximize the efficiency of use of the resources and also to ensure that the execution of the scheduling plan respects a predetermined maximum duration of execution of each treatment or more generally a predetermined maximum overall duration of execution of the scheduling plan, as well as preferably of rules for executing said scheduling plan.

[0073] Comme cela est illustré à la figure 1, selon un premier aspect, l’invention porte sur un procédé d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique pour l’exécution d’une pluralité de traitements par lots. En particulier, l’infrastructure informatique présente des valeurs de quantité de ressources initiales permettant l’exécution de la pluralité de traitements par lot. En outre, le procédé est de préférence mis en œuvre par un dispositif d’optimisation comprenant un module de raréfaction de ressources 20, un module d’exécution de traitement par lots 30, un module de collecte de métriques 40, un module de dimensionnement 50, un module de conception 60 de plan d’ordonnancement et un module de mémorisation 95 configuré pour mémoriser des règles de raréfaction et des règles d'exécution.As illustrated in FIG. 1, according to a first aspect, the invention relates to a method for optimizing a scheduling plan and the dimensioning of an IT infrastructure for the execution of a plurality batch processing. In particular, the IT infrastructure has initial resource quantity values allowing the execution of the plurality of batch operations. In addition, the method is preferably implemented by an optimization device comprising a resource scarcity module 20, a batch processing execution module 30, a metric collection module 40, a sizing module 50 , a scheduling module design module 60 and a storage module 95 configured to store rarefaction rules and execution rules.

[0074] Le procédé comporte une étape de détermination 300 de durées d’exécution rallongées de la pluralité de traitements par lots en fonction de valeurs de quantités de ressources disponibles, une étape de génération 400 d’au moins un plan de dimensionnement optimisé, et une étape de calcul 500 d’un plan d’ordonnancement respectant les règles d’exécution mémorisées.The method comprises a step 300 of determining extended execution times for the plurality of batch treatments as a function of values of the quantities of available resources, a step 400 of generating at least one optimized sizing plan, and a step of calculating 500 a scheduling plan respecting the stored execution rules.

[0075] En particulier, comme illustré à la figure 1, le procédé selon l’invention peut débuter par une étape 100 de génération d’un premier plan de dimensionnement, pouvant être mise œuvre par un module d’acquisition 10. Cette étape peut comporter notamment l’acquisition d’un premier plan de dimensionnement comportant des premières valeurs de quantité de ressources attribuées permettant l’exécution d’une pluralité de traitements par lots. Ce premier plan de dimensionnement et ces premières valeurs de quantité de ressources attribuées peuvent correspondre à des valeurs de quantité de ressources maximales qu’il conviendra de réduire dans le cadre du procédé selon l’invention.In particular, as illustrated in FIG. 1, the method according to the invention can begin with a step 100 for generating a first dimensioning plan, which can be implemented by an acquisition module 10. This step can include in particular the acquisition of a first sizing plan comprising first values of the quantity of allocated resources allowing the execution of a plurality of batch treatments. This first dimensioning plan and these first values of quantity of allocated resources can correspond to values of maximum quantity of resources which should be reduced within the framework of the method according to the invention.

[0076] En outre, de façon à permettre le choix des ressources les moins impactantes, cette étape 100 de génération d’un premier plan de dimensionnement peut comporter notamment l’acquisition de données, d’un coefficient de pondération prédéterminé pour chaque ressource d’une pluralité de ressource, de préférence d’une pluralité de ressource critiques, et de paramètres d’exécution prédéterminés d’un plan d’ordonnancement. Le coefficient de pondération prédéterminé pour chaque ressource peut être fonction de facteurs capables de modéliser les caractéristiques des ressources. Par exemple, un facteur d’activité de ressource peut être pris en compte dans le coefficient de pondération prédéterminé et correspondre à la situation actuelle de la ressource et à sa tendance d’évolution. Ce facteur d’activité peut également concerner la gouvernance de la ressource et être représentatif de l’influence de la ressource sur la réalisation des traitements par lots et de la temporalité de cette ressource. Le coefficient de pondération prédéterminé peut également prendre en compte un facteur propre à la gestion de la ressource, la règlementation de sa structuration comprenant par exemple, l’influence de la ressource au sein de la structure informatique, son organisation et son d’hébergement au sein de la structure informatique. Un facteur de sécurité de la ressource prenant en compte la sécurité de chaque ressource et son risque de dysfonctionnement ou d’anomalie ainsi que son niveau de fiabilité peut également être modélisé par le coefficient de pondération prédéterminé. Enfin, le coefficient de pondération prédéterminé peut également être fonction d’un facteur de performance de la ressource prenant en compte son niveau d’utilisation et/ou son stockage, ainsi que de son rendement.In addition, so as to allow the choice of the least impacting resources, this step 100 of generation of a first dimensioning plan may include in particular the acquisition of data, of a predetermined weighting coefficient for each resource d a plurality of resources, preferably a plurality of critical resources, and predetermined execution parameters of a scheduling plan. The predetermined weighting coefficient for each resource can be a function of factors capable of modeling the characteristics of the resources. For example, a resource activity factor can be taken into account in the predetermined weighting coefficient and correspond to the current situation of the resource and its trend of evolution. This activity factor can also relate to the governance of the resource and be representative of the influence of the resource on the completion of batch processing and the temporality of this resource. The predetermined weighting coefficient can also take into account a factor specific to the management of the resource, the regulation of its structuring including for example, the influence of the resource within the IT structure, its organization and its hosting at within the IT structure. A resource security factor taking into account the security of each resource and its risk of malfunction or anomaly as well as its level of reliability can also be modeled by the predetermined weighting coefficient. Finally, the predetermined weighting coefficient can also be a function of a resource performance factor taking into account its level of use and / or its storage, as well as its yield.

[0077] En outre, comme illustré à la figure 2, le procédé selon l’invention peut comporter au préalable une mesure 101, par un module de collecte de métriques 40, d’une empreinte de chacun des traitements par lots et l’identification 102, par le module de dimensionnement 50, des ressources critiques pour chacun des traitements par lots. En effet, le procédé selon l’invention vise à optimiser le dimensionnement d’une infrastructure informatique et plus particulièrement à réduire au minimum la quantité de ressources utilisée dans le cadre d’un plan d’ordonnancement et à améliorer l’efficacité d’utilisation des ressources d’un plan de dimensionnement. Il peut être avantageux de s’intéresser, dans le cadre de cette optimisation de dimensionnement, à seulement une partie des ressources dites ressources critiques. Ainsi, les valeurs de quantités de ressources étudiées dans le cadre du procédé selon l’invention peuvent représenter seulement une partie des ressources d’une infrastructure informatique et sont de préférence les ressources critiques. Ainsi, de préférence, le premier plan d’ordonnancement peut consister en une liste des valeurs de quantité de ressources, par exemple critiques, à ne pas dépasser.In addition, as illustrated in FIG. 2, the method according to the invention may previously include a measurement 101, by a metric collection module 40, of an imprint of each of the batch treatments and the identification 102, by the sizing module 50, critical resources for each of the batch processes. Indeed, the method according to the invention aims to optimize the sizing of an IT infrastructure and more particularly to minimize the amount of resources used in the context of a scheduling plan and to improve the efficiency of use resources of a sizing plan. It may be advantageous to focus, within the framework of this optimization of dimensioning, on only part of the resources known as critical resources. Thus, the values of quantities of resources studied within the framework of the method according to the invention can represent only a part of the resources of an IT infrastructure and are preferably the critical resources. Thus, preferably, the first scheduling plan can consist of a list of values of quantity of resources, for example critical, not to be exceeded.

[0078] Le procédé selon l’invention comporte une étape de génération d’un premier plan de dimensionnement. En effet, alors que le procédé peut de préférence être appliqué à partir d’un plan de dimensionnement déjà connu ou bien estimé, il est possible que le plan de dimensionnement permettant l’exécution du plan d’ordonnancement ne soit pas connu. L’étape de génération d’un premier plan de dimensionnement selon un mode de réalisation de l’invention est illustrée à la figure 3. Elle peut notamment comporter une étape 110 d’acquisition de données, pouvant être mise en œuvre par le module d’acquisition 10, comportant l’acquisition de règles d’exécution mémorisées, et l’acquisition d’une empreinte de consommation de ressources sur une pluralité de ressources initiales de chaque traitement par lots.The method according to the invention includes a step of generating a first dimensioning plan. Indeed, while the method can preferably be applied from a sizing plan already known or well estimated, it is possible that the sizing plan allowing the execution of the scheduling plan is not known. The step of generating a first dimensioning plan according to an embodiment of the invention is illustrated in FIG. 3. It may in particular include a step 110 of data acquisition, which can be implemented by the module d acquisition 10, comprising the acquisition of stored execution rules, and the acquisition of a resource consumption imprint on a plurality of initial resources of each batch processing.

[0079] L’étape de génération d’un premier plan de dimensionnement comporte également une étape 120 de calcul comportant, en fonction de l’empreinte sur une pluralité de ressources initiales de chaque traitement par lots et selon un plan d’ordonnancement respectant les règles d’exécution mémorisées, le calcul de valeurs maximales de consommation de ressources par période par les traitements par lots. Cette étape de calcul 120 peut par exemple être mise en œuvre par un module de dimensionnement 50.The step of generating a first dimensioning plan also includes a step 120 of calculation comprising, as a function of the footprint on a plurality of initial resources of each batch processing and according to a scheduling plan respecting the stored execution rules, calculation of maximum resource consumption values per period by batch processing. This calculation step 120 can for example be implemented by a sizing module 50.

[0080] L’étape de génération d’un premier plan de dimensionnement peut comporter aussi une étape de définition 130 d’un premier plan de dimensionnement d’une infrastructure informatique 2 en fonction des valeurs maximales de consommation de ressources par périodes calculées, ledit premier plan de dimensionnement comportant des premières valeurs de quantité de ressources attribuées. Cette étape de définition 130 d’un premier plan de dimensionnement peut aussi être mise en œuvre par un module de dimensionnement 50.The step of generating a first sizing plan may also include a step 130 of defining a first sizing plan of an IT infrastructure 2 as a function of the maximum values of resource consumption by calculated periods, said first dimensioning plan comprising first values of quantity of allocated resources. This step of defining 130 of a first dimensioning plan can also be implemented by a dimensioning module 50.

[0081] Le procédé selon l’invention peut comporter également une étape de calcul 200 d’une première valeur d’efficacité d’utilisation des ressources, par le module de dimensionnement 50, à partir des premières valeurs de quantité de ressources attribuées, des coefficients de pondération prédéterminés et de la première durée globale d’exécution du plan d’ordonnancement. Cette étape de calcul peut être réalisée pour chaque ressource. En outre, cette étape permet d’obtenir une valeur d’efficacité d’utilisation des ressources en fonction de la quantité de ressource attribuée et des coefficients de pondération prédéterminés en prenant en compte la durée globale d’exécution du plan d’ordonnancement. Ainsi, la première valeur d’efficacité d’utilisation des ressources permet de déterminer un premier dimensionnement pour l’exécution des traitements par lots selon une durée correspondant à une première durée globale d’exécution du plan d’ordonnancement. En outre, certaines ressources sont plus disponibles que d’autres au niveau des infrastructures informatiques de par leur utilité, accessibilité, etc. et sont donc soumises à différentes contraintes. Il est donc nécessaire pour la bonne exécution des traitements par lots et pour leur optimisation d’exécution, que l’utilisation des ressources se fasse avec une efficacité maximale. La première valeur d’efficacité permet d’obtenir une valeur d’efficacité pour l’ensemble des ressources utilisées pour l’exécution des traitements par lots selon un plan d’ordonnancement. Cela constitue une valeur de départ qu’il convient d’améliorer grâce au procédé selon l’invention.The method according to the invention may also include a step 200 of calculating a first value for resource use efficiency, by the dimensioning module 50, from the first values of quantity of resources allocated, predetermined weighting coefficients and the first overall duration of execution of the scheduling plan. This calculation step can be performed for each resource. In addition, this step makes it possible to obtain a value for the efficiency of use of the resources as a function of the quantity of resource allocated and of the predetermined weighting coefficients taking into account the overall duration of execution of the scheduling plan. Thus, the first value of efficiency of use of resources makes it possible to determine a first dimensioning for the execution of the batch treatments according to a duration corresponding to a first global duration of execution of the scheduling plan. In addition, certain resources are more available than others in terms of IT infrastructures due to their usefulness, accessibility, etc. and are therefore subject to different constraints. It is therefore necessary for the proper execution of batch processing and for their optimization of execution, that the use of resources is done with maximum efficiency. The first efficiency value makes it possible to obtain an efficiency value for all the resources used for the execution of batch processing according to a scheduling plan. This constitutes a starting value which should be improved using the method according to the invention.

[0082] Le procédé d’optimisation selon l’invention comporte également une étape de détermination 300 de durées d’exécution rallongées des traitements par lots de la pluralité de traitements par lots en fonction de valeurs de quantités de ressources disponibles.The optimization method according to the invention also includes a step 300 of determining extended execution times of the batch treatments of the plurality of batch treatments as a function of values of the quantities of available resources.

[0083] Un mode de réalisation de cette étape de détermination 300 est illustré à la figure 4. Cette étape 300 peut être initiée par la sélection d’un traitement par lots puis, comme illustré, cette étape comporte la sélection 305 d’au moins une ressource, de préférence critique, par laquelle sera initié le processus de calcul des durées d’exécution rallongées. Ensuite, il y a génération 310 sur une infrastructure informatique 2 d’une consommation contrôlée d’au moins une ressource selon les règles de raréfaction préalablement mémorisées de façon à laisser à disposition de chaque traitement par lots sélectionné une quantité de ressources disponible inférieure à une quantité de ressources initiale. Comme cela sera détaillé par la suite, cette consommation contrôlée, ou raréfaction, peut être mise en œuvre par le module de raréfaction de ressources 20. Cette consommation contrôlée tient généralement compte de la granulométrie des ressources et prend donc en considération le pas de chacune des ressources.An embodiment of this determination step 300 is illustrated in FIG. 4. This step 300 can be initiated by the selection of a batch processing then, as illustrated, this step comprises the selection 305 of at least a resource, preferably critical, through which the process of calculating extended execution times will be initiated. Then, there is generation 310 on an IT infrastructure 2 of a controlled consumption of at least one resource according to the rarefaction rules previously memorized so as to leave available to each selected batch processing an amount of available resources less than one initial amount of resources. As will be detailed below, this controlled consumption, or rarefaction, can be implemented by the resource rarefaction module 20. This controlled consumption generally takes into account the grain size of the resources and therefore takes into account the pitch of each of the resources.

[0084] De préférence, suite à la mise en place de la raréfaction ou avant la mise en place de la raréfaction (i.e. l’essentiel est que les étapes sont au moins concomitantes), cette étape comporte l’exécution 320 sur l’infrastructure informatique 2 de chacun des traitements par lots de la pluralité de traitements par lots. L’exécution peut être classiquement réalisée par un module d’exécution de traitement par lots 30. Puis, il y a une mesure 330 de durées d’exécution rallongées en fonction de valeurs de quantité de ressources disponibles pour chacun des traitements par lots. La mesure peut notamment être réalisée par un module de collecte de métriques 40 qui sera décrit par la suite. Il peut y avoir autant de mesure de durée d’exécution rallongées qu’il y aura eu de « pas » de raréfaction de ressources. Il peut par exemple y avoir trois mesures comme présenté dans le tableau 1 (la première mesure correspond à l’absence de consommation contrôlée). Etant donné que la quantité de ressource disponible pour le traitement par lots est réduite (i.e. du fait de la raréfaction), la durée d’exécution du traitement par lot est rallongée. En effet, en présence d’une diminution de ressources disponible, les durées des traitements par lots ont tendance à se rallonger. Ces données mesurées peuvent faire l’objet d’un enregistrement dans un ou plusieurs fichiers de sauvegarde tels que des fichiers plats de type tableur, ou base de données permettant d’enregistrer une correspondance entre la durée d’exécution d’un traitement par lots en fonction d’une valeur de ressources disponibles. Le tableau 1 représente un exemple d’enregistrement des durées (en secondes - s) d’exécution des traitements par lots Tl, T2, et T3 en fonction des valeurs de ressources RI (CPU) et R2 (mémoire vive) disponibles à savoir 100 %, 75 %, 50 % et 25 % (pourcentage de la quantité de ressource initiale). En outre, une première valeur d’efficacité d’utilisation des ressources peut être calculée pour chaque ressource indépendamment.Preferably, following the establishment of the rarefaction or before the establishment of the rarefaction (ie the main thing is that the stages are at least concomitant), this stage comprises execution 320 on the infrastructure computer 2 of each of the batch processing of the plurality of batch processing. Execution can be conventionally carried out by a batch processing execution module 30. Then, there is a measure 330 of extended execution durations as a function of values of the quantity of resources available for each of the batch treatments. The measurement can in particular be carried out by a metric collection module 40 which will be described later. There may be as many extended runtime measures as there have been "no" resource scarcities. For example, there may be three measures as presented in Table 1 (the first measure corresponds to the absence of controlled consumption). Since the amount of resource available for batch processing is reduced (i.e. due to scarcity), the duration of execution of batch processing is extended. Indeed, in the presence of a decrease in available resources, the duration of batch processing tends to lengthen. These measured data can be recorded in one or more backup files such as spreadsheet-type flat files or a database allowing a correspondence to be recorded between the duration of execution of a batch process. depending on the value of available resources. Table 1 represents an example of recording the durations (in seconds - s) of execution of the batch treatments Tl, T2, and T3 as a function of the resource values RI (CPU) and R2 (random access memory), namely 100 %, 75%, 50% and 25% (percentage of the quantity of initial resource). In addition, a first resource efficiency value can be calculated for each resource independently.

[Tableaux 1][Tables 1]

Traitement par lots Batch processing RI - Quantité RI - Amount RI - Durée RI - Duration R2- Quantité R2- Amount R2- Durée R2- Duration Tl Tl 100% 100% 9256 s 9256 s 100% 100% 9256 s 9256 s Tl Tl 75 % 75% 9865 s 9865 s 75 % 75% 12320 s 12320s Tl Tl 50% 50% 12327 s 12327 s 50% 50% 18635 s 18635 s Tl Tl 25 % 25% 16256 s 16256 s 25 % 25% 22845 s 22,845s T2 T2 100% 100% 1820 s 1820s 100% 100% 1820 s 1820s T2 T2 75 % 75% 1981 s 1981 s 75 % 75% 1956 s 1956 s T2 T2 50% 50% 2406 s 2406 s 50% 50% 2142 s 2142 s T2 T2 25 % 25% 3561 s 3561s 25 % 25% 2365 s 2365s T3 T3 100% 100% 4120 s 4120s 100% 100% 4120 s 4120s T3 T3 75 % 75% 6245 s 6245 s 75 % 75% 5641 s 5641 s T3 T3 50% 50% 8456 s 8456 s 50% 50% 6742 s 6742 s T3 T3 25 % 25% 10578 s 10578 s 25 % 25% 8102 s 8102s

[0085] Cette étape de détermination peut également comporter l’enregistrement 340 de l’empreinte de la consommation de ressource du traitement par lots lors de son exécution en présence d’une raréfaction d’une ressource par exemple critique. En effet, l’exécution d’un traitement par lots en présence d’une raréfaction de ressources peut avoir un impact sur d’autres ressources étant donné l’interdépendance de certaines ressources. Par exemple, l’exécution d’un traitement par lots en présence d’une réduction de mémoire vive pourra entraîner une hausse non désirée des accès I/O.This determination step may also include recording 340 of the imprint of the resource consumption of the batch processing during its execution in the presence of a rarefaction of a resource, for example a critical one. Indeed, the execution of a batch processing in the presence of a scarcity of resources can have an impact on other resources given the interdependence of certain resources. For example, running a batch job when there is a reduction in RAM may result in an unwanted increase in I / O access.

[0086] Comme présenté sur la figure 4, une fois les valeurs de durée d’exécution rallongées mesurées et enregistrées, l’étape de détermination 300 peut comporter une comparaison 350 des durées d’exécution rallongées avec une durée d’exécution maximale du traitement par lots. Par exemple, dans le cas présenté en tableau 1, il a été prédéterminé que le traitement Tl doit être réalisé en au maximum 15 000 secondes. Ainsi, sur la figure 4, la réduction à 75 % de la ressource RI est acceptable (OK) et donc il peut y avoir une augmentation 355 de la consommation contrôlée de ressource jusqu’à atteindre une réduction à 25 % de la ressource RI qui elle entraîne un dépassement de la durée d’exécution maximum (NOK). La consommation contrôlée sur la ressource RI est alors stoppée et le procédé comporte alors une étape de mémorisation des données générées.As shown in FIG. 4, once the extended execution time values have been measured and recorded, the determination step 300 may include a comparison 350 of the extended execution times with a maximum execution time of the processing. in batches. For example, in the case presented in table 1, it has been predetermined that the treatment T1 must be carried out in at most 15,000 seconds. Thus, in Figure 4, the reduction to 75% of the IR resource is acceptable (OK) and therefore there may be an increase 355 in the controlled consumption of the resource until reaching a reduction to 25% of the IR resource which it results in the maximum execution time (NOK) being exceeded. The consumption controlled on the IR resource is then stopped and the method then includes a step of memorizing the generated data.

[0087] Ensuite, il peut comporter une comparaison 360 des ressources, de préférence critiques, qui ont été testées par rapport aux ressources à tester et un changement 365 de ressource à tester. Toujours selon le tableau 1, lors de la comparaison 350, la ressource R2 entraîne dès 75 % un dépassement de la durée d’exécution maximum (NOK) et étant la dernière ressource, de préférence critique, à tester 360 (OK), le procédé peut comporter un changement 370 de traitement par lot à étudier.Then, it may include a 360 comparison of the resources, preferably critical, which have been tested with respect to the resources to be tested and a change 365 of the resource to be tested. Still according to table 1, during the comparison 350, the resource R2 causes from 75% an overshoot of the maximum execution time (NOK) and being the last resource, preferably critical, to be tested 360 (OK), the process may involve a change in batch processing 370 to be studied.

[0088] Ainsi, au fur et à mesure que les traitements par lots impliqués dans le plan d’ordonnancement sont testés, il est possible de recueillir pour chacun d’eux une durée d’exécution rallongée en fonction des ressources disponibles.Thus, as the batch processing operations involved in the scheduling plan are tested, it is possible to collect an extended execution time for each of them depending on the resources available.

[0089] Le procédé selon l’invention comporte également une étape de génération 400d’au moins un plan de dimensionnement optimisé. Comme cela sera décrit par la suite, cette étape de génération 400 peut être mise en œuvre par un module de dimensionnement 50.The method according to the invention also includes a generation step 400 of at least one optimized dimensioning plan. As will be described later, this generation step 400 can be implemented by a sizing module 50.

[0090] Comme illustré à la figure 5A, l’étape de génération 400 d’au moins un plan de dimensionnement optimisé peut comporter une étape de définition 410 de valeurs de quantité de ressources, inférieures aux premières valeurs de quantité de ressources attribuées. Ainsi, il est possible de générer par exemple aléatoirement, ou de préférence à partir de données sur les durées d’exécution, un ensemble de valeurs de quantité de ressources au sein duquel sera sélectionné les valeurs de quantité de ressource du plan de dimensionnement optimisé.As illustrated in FIG. 5A, the step 400 of generating at least one optimized dimensioning plan may include a step 410 of defining values of quantity of resources, lower than the first values of quantity of resources allocated. Thus, it is possible to generate, for example randomly, or preferably from data on execution times, a set of resource quantity values from which the resource quantity values of the optimized dimensioning plan will be selected.

[0091] La définition 410 de valeurs de quantité de ressources inférieures aux premières valeurs de quantité de ressources attribuées peut être suivie d’une étape de calcul 420, pour chaque valeur de quantité de ressources disponibles, d’une valeur d’efficacité d’utilisation des ressources. En outre, ce calcul est fonction des valeurs de quantité de ressources initiales, des coefficients de pondérations prédéterminés et des durées d’exécution rallongées mesurées des traitements par lots du plan d’ordonnancement. Ainsi, il est possible d’obtenir des valeurs d’efficacité d’utilisation des ressources en relation avec les paramètres d’exécution du plan d’ordonnancement et notamment avec des durées d’exécution rallongées mesurées des traitements par lots.The definition 410 of resource quantity values lower than the first resource quantity value allocated can be followed by a calculation step 420, for each value of quantity of available resources, with an efficiency value of use of resources. In addition, this calculation is a function of the initial resource quantity values, the predetermined weighting coefficients and the extended execution times measured by the batch operations of the scheduling plan. Thus, it is possible to obtain values of efficiency of use of the resources in relation to the parameters of execution of the scheduling plan and in particular with longer execution times measured by batch processing.

[Tableaux2][Tables2]

Valeurs de quantités de ressource Resource quantity values RI - Quantité RI - Amount R2- Quantité R2- Amount R3- Quantité R3- Amount Valeur d’efficacité Efficiency value Durée d’exécution globale Overall execution time VI VI 100% 100% 100% 100% 100% 100% 100 100 16256 s 16256 s V2 V2 75 % 75% 75 % 75% 100% 100% 150 150 20248 s 20248 s V3 V3 75 % 75% 50% 50% 100% 100% 190 190 27748 s 27,748s V4 V4 50% 50% 75 % 75% 90% 90% 180 180 24651 s 24,651 s V5 V5 50% 50% 50% 50% 90% 90% 210 210 32157 s 32,157 s

[0092] Le tableau 2 présente par exemple un exemple fictif de premières valeurs de quantité de ressources attribuées (VI) et de plusieurs valeurs de quantité de ressources définies lors d’une étape 410 (V2, V3, V4, V5). Pour chacune de ces valeurs, le tableau 1 présente les valeurs d’efficacité d’utilisation des ressources par exemple calculées lors de l’étape 420.Table 2 presents for example a fictitious example of first values of quantity of allocated resources (VI) and of several values of quantity of resources defined during a step 410 (V2, V3, V4, V5). For each of these values, Table 1 presents the resource efficiency values, for example calculated during step 420.

[0093] L’étape de sélection de valeurs de quantité de ressources attribuées peut comporter en outre, un calcul 425 de paramètre d’exécution du plan d’ordonnancement en fonction de valeurs d’efficacité d’utilisation des ressources et une comparaison des paramètres d’exécution calculés à des paramètres d’exécution prédéterminés. Ainsi, la génération d’un plan de dimensionnement optimisé peut comporter la sélection de valeurs de quantité de ressources pour lesquelles des valeurs de paramètres d’exécution calculées ou mesurées sont inférieures à des valeurs de paramètres d’exécution prédéterminés. Par exemple dans le tableau 2, la dernière colonne comporte les durées globales d’exécution calculées du plan d’ordonnancement. Il est possible de voir que les valeurs V5 dépasse une limite de 28800 s correspondant à une durée globale maximale prédéterminée d’exécution du plan d’ordonnancement. Ainsi ces valeurs sont écartées dans le cadre du procédé selon l’invention.The step of selecting values for the quantity of allocated resources may further comprise a calculation 425 of an execution parameter of the scheduling plan as a function of resource efficiency values and a comparison of the parameters of execution calculated at predetermined execution parameters. Thus, the generation of an optimized sizing plan can include the selection of resource quantity values for which calculated or measured execution parameter values are less than predetermined execution parameter values. For example in table 2, the last column contains the overall execution times calculated from the scheduling plan. It is possible to see that the V5 values exceed a limit of 28,800 s corresponding to a predetermined maximum overall duration of execution of the scheduling plan. Thus these values are discarded in the context of the method according to the invention.

[0094] L’étape de génération 400 comporte ensuite la sélection 430 de valeurs de quantité de ressources attribuées à l’au moins un plan de dimensionnement optimisé. Ces valeurs de quantité de ressources attribuées sont des valeurs de quantité de ressources disponibles permettant une valeur d’efficacité d’utilisation des ressources maximales. Elles sont sélectionnées parmi les valeurs définies lors de l’étape 410 et correspondent aux valeurs pour lesquelles la valeur d’efficacité d’utilisation des ressources est améliorée par rapport à la première valeur d’efficacité d’utilisation des ressources. Alternativement, l’administrateur SI peut sélectionner les valeurs de quantité de ressources adaptées. L’amélioration de la valeur d’efficacité d’utilisation des ressources correspond à une valeur maximisée par rapport à la première valeur d’efficacité des ressources. En référence au tableau 2, ce sont les valeurs de quantité de ressources V3 qui présentent la valeur d’efficacité maximale. En effet, bien que les valeurs de quantité de ressources V4 soient globalement inférieures, elles ne sont pas celles qui permettront de maximiser l’efficacité d’utilisation des ressources dans le cadre de ce plan d’ordonnancement.The generation step 400 then comprises the selection 430 of resource quantity values assigned to the at least one optimized dimensioning plan. These assigned resource quantity values are available resource quantity values allowing a maximum resource use efficiency value. They are selected from the values defined in step 410 and correspond to the values for which the value of resource use efficiency is improved compared to the first value of resource use efficiency. Alternatively, the SI administrator can select the appropriate quantity of resource values. The improvement in the value of resource use efficiency corresponds to a value that is maximized compared to the first value of resource efficiency. With reference to Table 2, it is the values of quantity of resources V3 which present the value of maximum efficiency. Indeed, although the values of quantity of resources V4 are globally lower, they are not those which will make it possible to maximize the efficiency of use of the resources within the framework of this scheduling plan.

[0095] Selon un autre mode de réalisation de l’étape de génération 400, illustré à la figure 5B, cette étape peut également comporter une étape de calcul 415 pour chaque valeur de quantité de ressources disponibles, d’une durée globale d’exécution de la pluralité de traitements par lots (i.e. durée globale d’exécution du plan d’ordonnancement). Le calcul est fonction des valeurs de quantité de ressource disponibles et des durées d’exécution rallongées mesurées des traitements par lots. Ce calcul peut être réalisé pour chaque valeur de quantité de ressources générées lors de l’étape 410. Ce calcul peut être suivi d’une étape 416 de suppression des valeurs de quantité de ressources disponibles pour lesquelles la durée d’exécution rallongée d’un des traitements par lot est supérieure à une valeur d’exécution maximale prédéterminée dudit traitement par lots. Afin de générer le plan de dimensionnement optimisé, une étape de sélection 430 est mise en œuvre. Cette étape comporte la sélection de valeurs de quantité de ressources attribuées à l’au moins un plan de dimensionnement optimisé, lesdites valeurs de quantité de ressource attribuées sont des valeurs minimales de quantité de ressources permettant une valeur de durée d’exécution globale de la pluralité de traitements par lots (i.e. du plan d’ordonnancement) inférieure à une valeur de durée d’exécution globale maximale prédéterminée.According to another embodiment of the generation step 400, illustrated in FIG. 5B, this step can also include a calculation step 415 for each value of the quantity of available resources, with an overall execution time the plurality of batch treatments (ie overall duration of execution of the scheduling plan). The calculation is based on the values of the quantity of available resources and the extended execution times measured by batch processing. This calculation can be performed for each value of quantity of resources generated during step 410. This calculation can be followed by a step 416 of deleting the values of quantity of available resources for which the lengthened execution time of a batch processing is greater than a predetermined maximum execution value of said batch processing. In order to generate the optimized sizing plan, a selection step 430 is implemented. This step includes the selection of resource quantity values assigned to the at least one optimized dimensioning plan, said allocated resource quantity values are minimum resource quantity values allowing an overall execution time value of the plurality batch processing (ie of the scheduling plan) less than a predetermined maximum overall execution time value.

[0096] En outre, comme cela est présenté à la figure 5B, le procédé selon l’invention peut comporter la génération 440 d’une pluralité de plans de dimensionnement optimisés. La génération 440 d’une pluralité de plans de dimensionnement optimisés permet à un administrateur SI de sélectionner celui dont les ressources disponibles correspondent aux ressources nécessaires et à la valeur d’efficacité d’utilisation des ressources améliorée. Ainsi, dans le cas d’une génération 440 d’une pluralité de plans de dimensionnement optimisés la sélection d’un plan de dimensionnement à appliquer peut-être laissée à un utilisateur. Néanmoins, avantageusement, le procédé selon l’invention peut comporter une étape de sélection automatisée 450 d’un plan de dimensionnement optimisé.In addition, as shown in FIG. 5B, the method according to the invention may include the generation 440 of a plurality of optimized dimensioning plans. The generation 440 of a plurality of optimized sizing plans allows an IS administrator to select the one whose available resources correspond to the necessary resources and to the value of improved resource use efficiency. Thus, in the case of a generation 440 of a plurality of optimized dimensioning plans, the selection of a dimensioning plan to be applied may be left to a user. However, advantageously, the method according to the invention may include an automated selection step 450 of an optimized sizing plan.

[0097] Alternativement ou en complément, l’étape de génération 400 du procédé d’optimisation selon l’invention peut comporter le calcul 415, pour chaque valeur de quantité de ressources disponibles, d’une durée d’exécution globale de la pluralité de traitements par lots. Ici, le calcul se fait de préférence en fonction des valeurs de quantité de ressources disponibles et des durées d’exécution rallongées mesurées des traitements par lots. Dans ce cadre, les valeurs de quantité de ressources attribuées sont des valeurs minimales de quantité de ressources permettant une valeur de durée d’exécution globale de la pluralité de traitements par lots inférieure à une valeur de durée d’exécution globale maximale prédéterminée. Ainsi, le dimensionnement présente, au-delà d’une considération d’efficacité d’utilisation des ressources, les valeurs minimales en ressources permettant de respecter des durées d’exécution prédéterminées.Alternatively or in addition, the generation step 400 of the optimization method according to the invention may include the calculation 415, for each value of the quantity of available resources, of an overall execution time of the plurality of batch processing. Here, the calculation is preferably done as a function of the values of the quantity of available resources and of the extended execution times measured by the batch treatments. In this context, the allocated resource quantity values are minimum resource quantity values allowing an overall execution time value of the plurality of batch operations less than a predetermined maximum global execution time value. Thus, the dimensioning presents, beyond a consideration of resource efficiency, the minimum resource values allowing to respect predetermined execution times.

[0098] Le tableau 3 ci-dessous présente un exemple de sélection des quantités de ressources attribuées tendant à minimiser la quantité de ressource utilisée. Il y a par exemple sélection de 75 % de la quantité de ressource initiale de RI car c’est la quantité la plus faible permettant au traitement par lots T3 de ne pas dépasser la durée maximale prédéterminée d’exécution (7000 s) de ce traitement par lots (Durée max.). Il y a aussi sélection de 75 % de la quantité de ressource initiale de R2 car c’est la quantité la plus faible permettant au traitement par lots Tl de ne pas dépasser la durée maximale prédéterminée d’exécution (15000 s) de ce traitement par lots (Durée max.). [Tableaux3]Table 3 below presents an example of selection of the quantities of resources allocated tending to minimize the quantity of resources used. For example, there is a selection of 75% of the initial quantity of IR resource because it is the smallest quantity allowing the T3 batch processing not to exceed the predetermined maximum duration of execution (7000 s) of this processing. in batches (Max. duration). There is also a selection of 75% of the quantity of initial resource of R2 because it is the smallest quantity allowing the batch processing Tl not to exceed the predetermined maximum duration of execution (15000 s) of this processing by lots (Max. duration). [Tables3]

Traitement par lots Batch processing Durée max. Max duration RI- Quantité RI- Amount RI - Durée RI - Duration R2- Quantité R2- Amount R2 - Durée R2 - Duration Tl Tl 15000 s 15000 s 100% 100% 9256 s 9256 s 100% 100% 9256 s 9256 s 75 % 75% 9865 s 9865 s 75 % 75% 12320 s 12320s 50% 50% 12327 s 12327 s 50% 50% 18635 s 18635 s 25 % 25% 16256 s 16256 s 25 % 25% 22845 s 22,845s T2 T2 2500 s 2500 s 100% 100% 1820 s 1820s 100% 100% 1820 s 1820s 75 % 75% 1981 s 1981 s 75 % 75% 1956 s 1956 s 50% 50% 2406 s 2406 s 50% 50% 2142 s 2142 s 25 % 25% 3561 s 3561s 25 % 25% 2365 s 2365s T3 T3 7000 s 7000 s 100% 100% 4120 s 4120s 100% 100% 4120 s 4120s 75 % 75% 6245 s 6245 s 75 % 75% 5641 s 5641 s 50% 50% 8456 s 8456 s 50% 50% 6742 s 6742 s 25 % 25% 10578 s 10578 s 25 % 25% 8102 s 8102s

[0099] Suite à l’étape de génération 400 d’au moins un plan de dimensionnement optimisé ou suite à l’éventuelle sélection 450 d’un plan de dimensionnement optimisé, le procédé selon l’invention peut comporter en outre une étape de calcul 500 par un module de conception 60 de plan d’ordonnancement, à partir des durées d’exécution rallongées associées aux valeurs de quantité de ressources attribuées, d'un plan d’ordonnancement respectant des règles d'exécution.Following the generation step 400 of at least one optimized sizing plan or following the possible selection 450 of an optimized sizing plan, the method according to the invention may also include a calculation step 500 by a scheduling module design module 60, from the extended execution durations associated with the quantity values of allocated resources, of a scheduling plan respecting execution rules.

[0100] De façon préférée, l’étape 500 de calcul d'un plan d’ordonnancement, s’effectue : - à partir des durées d’exécution rallongées et de règles d’exécution mémorisées sur des référentiels ressources 11 et réglementaire 12, - en déterminant le plan d’ordonnancement optimum visant à réduire le temps global d’exécution tout en maximisant rutilisation des ressources disponibles, etPreferably, step 500 of calculating a scheduling plan is carried out: - from the extended execution times and execution rules stored in resource reference 11 and regulatory reference 12, - by determining the optimum scheduling plan aimed at reducing the overall execution time while maximizing the reuse of available resources, and

- en déterminant, à partir des durées d’exécution rallongées, le niveau de ressource théoriquement utilisées lors de l’exécution de l’ensemble du plan d’ordonnancement.- by determining, from the extended execution times, the level of resource theoretically used during the execution of the entire scheduling plan.

[0101] Un mode de réalisation de cette étape de calcul est notamment illustré à la figure 6. Dans cet exemple de calcul d’un plan d’ordonnancement de traitements par lots, un module de conception 60 de plans lance, par exemple sur un dispositif numérique tel qu’une infrastructure informatique, des calculs matriciels entre des durées d’exécution rallongées de traitement par lot mémorisés sur le référentiel ressources 11 associées aux valeurs de quantité de ressources attribuées et des règles d’exécution mémorisées dans le référentiel règlementaire 12.An embodiment of this calculation step is illustrated in particular in FIG. 6. In this example of calculation of a batch processing scheduling plan, a design module 60 of plans launches, for example on a digital device such as an IT infrastructure, matrix calculations between extended execution times for batch processing stored in the resource repository 11 associated with the quantity values of allocated resources and execution rules stored in the regulatory repository 12.

[0102] Lors d’une étape 501, les traitements par lot à considérer (dans le cas d’un plan d’ordonnancement partiel) sont sélectionnés. Lors d’une étape 502, l’ensemble des définitions de matrices possibles pour l’ensemble des traitements considérés sont construites notamment à partir des durées d’exécution rallongées associées aux valeurs de quantité de ressources attribuées. Celles-ci représentent les traitements par lot étalées sur l’ensemble des plages horaires.In a step 501, the batch treatments to be considered (in the case of a partial scheduling plan) are selected. During a step 502, the set of possible matrix definitions for the set of treatments considered are constructed in particular from the extended execution times associated with the values of quantity of resources allocated. These represent the batch treatments spread over all of the time slots.

[0103] Lors de l’étape 503 les définitions sont comparées avec le référentiel réglementaire et le module de conception de plan élimine, lors de l’étape 504, les définitions non compatibles.In step 503, the definitions are compared with the regulatory reference system and the plan design module eliminates, in step 504, the incompatible definitions.

[0104] Lors de l’étape 505, le module de conception 60 de plan sélectionne un premier traitement. Parmi les définitions de matrices restantes pour ce traitement, une définition est choisie de façon aléatoire lors d’une étape 506. Le module de conception de plan calcule ensuite la consommation dans le temps en ressources lors de l’étape 507.In step 505, the plan design module 60 selects a first treatment. Among the definitions of matrices remaining for this processing, a definition is chosen randomly during a step 506. The plan design module then calculates the consumption in resources in time during the step 507.

[0105] Lors d’une étape 508, la consommation dans le temps en ressources est comparée aux données du référentiel ressources 11 afin de mesurer leur compatibilité avec l’infrastructure informatique et plus particulièrement les ressources disponibles. Si c’est le cas, c’est-à-dire que les ressources sont suffisantes pour ladite définition, la définition choisie est mémorisée lors d’une étape 509. Sinon, une autre définition est présélectionnée de façon aléatoire parmi les définitions restantes et le module de conception de plan réitère les étapes 506, 507et 508.In a step 508, the consumption of resources over time is compared with the data in the resource repository 11 in order to measure their compatibility with the IT infrastructure and more particularly the available resources. If this is the case, that is to say that the resources are sufficient for said definition, the chosen definition is stored in a step 509. Otherwise, another definition is randomly preselected from among the remaining definitions and the plan design module repeats steps 506, 507 and 508.

[0106] Une fois la définition compatible d’un traitement mémorisée, l’étape 510 permet de déterminer si tous les traitements ont été planifiés. Si non, le module de conception de plan effectue les étapes 505, 506, 507,508 et 509 tant que tous les traitements n’ont pas été planifiés.Once the compatible definition of a treatment has been stored, step 510 makes it possible to determine whether all the treatments have been planned. If not, the plan design module performs steps 505, 506, 507, 508 and 509 until all of the treatments have been scheduled.

[0107] A l’issue de l’étape 510, le module de conception de plan, dans une étape 511, génère le plan d’ordonnancement. Il peut l’enregistrer dans un catalogue de plans d’ordonnancement. Ce plan d’ordonnancement est le résultat des calculs matriciels entre les durées d’exécution rallongées associées aux valeurs de quantité de ressources attribuées et de règles d’exécution mémorisées sur des référentiels ressources 11 et réglementaire 12.At the end of step 510, the plan design module, in step 511, generates the scheduling plan. It can save it in a catalog of scheduling plans. This scheduling plan is the result of matrix calculations between the extended execution durations associated with the values of quantity of allocated resources and execution rules stored in resource reference 11 and regulatory reference 12.

[0108] Chaque plan d’ordonnancement, peut comporter classiquement pour chaque traitement par lots le composant des informations sur la durée du traitement par lots, la consommation effectuée par le traitement sur chaque machine, l’ordre d’exécution du traitement, l’heure de démarrage du traitement, et l’heure de fin maximum du traitement.Each scheduling plan can conventionally include, for each batch processing, the component with information on the duration of the batch processing, the consumption carried out by the processing on each machine, the order of execution of the processing, the treatment start time, and maximum treatment end time.

[0109] Lors de la première mise en œuvre d’un plan d’ordonnancement, si la consommation de certaines ressources a dépassé la consommation en ressources attendue ou si certaines règles n’ont pas été respectées, alors le plan d’ordonnancement peut être supprimé et un nouveau plan d’ordonnancement peut être recalculé avec les empreintes mesurées. Cela permet de s’assurer que les règles d’exécution seront respectées et que les consommations de ressources seront au niveau de consommation attendu.During the first implementation of a scheduling plan, if the consumption of certain resources has exceeded the expected consumption of resources or if certain rules have not been observed, then the scheduling plan can be deleted and a new scheduling plan can be recalculated with the measured footprints. This ensures that the execution rules will be respected and that resource consumption will be at the expected consumption level.

[0110] Alternativement, si la consommation de certaines ressources a dépassé la consommation en ressource attendue ou si certaines règles n’ont pas été respectées, mais que les dépassements restent faibles (par exemple inférieure à 10 % de dépassement) alors, le plan peut ne pas être supprimé. Ainsi, il y a un taux d’acceptabilité. Un traitement par lots devant durer 3h et durant 3hl5 n’entraînera pas la suppression du plan d’ordonnancement si les autres paramètres sont valides.[0110] Alternatively, if the consumption of certain resources has exceeded the expected resource consumption or if certain rules have not been observed, but the overruns remain low (for example less than 10% of overshoot) then the plan can not be deleted. So there is an acceptability rate. A batch processing which should last 3 hours and during 3 hours 5 minutes will not lead to the deletion of the scheduling plan if the other parameters are valid.

[0111] Le calcul d’un plan d’ordonnancement optimisé est chronophage de même que l’adaptation des plans d’ordonnancement existants. Ainsi, les plans d’ordonnancement optimisant l’utilisation des ressources conçus lors de l’étape 500 peuvent faire l’objet d’un enregistrement sur une mémoire. Cela permet de générer un catalogue de plans d’ordonnancement comportant une pluralité de plans d’ordonnancement de traitements par lot.The calculation of an optimized scheduling plan is time consuming as is the adaptation of existing scheduling plans. Thus, the scheduling plans optimizing the use of the resources designed during step 500 can be recorded in a memory. This makes it possible to generate a catalog of scheduling plans comprising a plurality of batch processing scheduling plans.

[0112] De préférence, le catalogue de plans d’exécution contient entre 5 et 50 ordonnancements de traitements par lots, de façon plus préférée entre 10 et 40 et de façon encore plus préférée 10 et 20. En outre, ces plans d’ordonnancement sont de préférence enregistrés en association avec les valeurs d’efficacité d’utilisation des ressources et avec avantageusement des durées d’exécution rallongées et de règles d’exécution mémorisées.Preferably, the catalog of execution plans contains between 5 and 50 batch processing schedules, more preferably between 10 and 40 and even more preferably 10 and 20. In addition, these scheduling plans are preferably recorded in association with the values of efficiency of use of the resources and advantageously with longer execution times and stored execution rules.

[0113] Dans ce contexte, chaque plan d’ordonnancement enregistré pourra comporter une information relative à une valeur d’efficacité d’utilisation des ressources et des durées d’exécution rallongées et de règles d’exécution mémorisées.In this context, each recorded scheduling plan may include information relating to an efficiency value of the use of resources and extended execution times and stored execution rules.

[0114] Ainsi, le procédé comporte aussi une étape de sélection, dans ledit catalogue de plans d’ordonnancement, d’un plan d’ordonnancement adapté de traitements par lots. Cette étape peut être réalisée par le module de conception de plan d’ordonnancement.Thus, the method also includes a step of selecting, in said catalog of scheduling plans, an adapted scheduling plan for batch processing. This step can be carried out by the scheduling plan design module.

[0115] Lors de cette étape de sélection, le procédé selon l’invention peut comparer des valeurs mesurées avec des valeurs enregistrées sur le catalogue de plans d’ordonnancement de façon à identifier un plan d’ordonnancement pouvant répondre aux besoins associés audites valeurs mesurées (quantité de ressource, durée d’exécution...)During this selection step, the method according to the invention can compare measured values with values recorded in the catalog of scheduling plans so as to identify a scheduling plan that can meet the needs associated with said measured values. (quantity of resource, duration of execution ...)

[0116] Une fois l’ordonnancement adapté de traitements par lots sélectionné, le procédé selon l’invention peut comporter une étape de transmission du plan d’ordonnancement optimisant l’utilisation des ressources, à l’infrastructure informatique pour son exécution par un logiciel.Once the adapted scheduling of batch processing has been selected, the method according to the invention may include a step of transmitting the scheduling plan optimizing the use of resources, to the IT infrastructure for its execution by software. .

[0117] Les traitements par lots peuvent être mis en œuvre sur une pluralité d’infrastructure informatique.Batch processing can be implemented on a plurality of IT infrastructures.

[0118] Le procédé selon l’invention peut comporter en outre une étape de vérification 600 par exemple lors de la mise en œuvre sur une infrastructure informatique correspondant au plan de dimensionnement optimisé. Comme cela sera décrit par la suite, cette étape de vérification 600 peut être mise en œuvre par un module de contrôle 90. Bien que le plan de dimensionnement ait été généré à partir de données mesurées sur la pluralité de traitements par lots impliqués dans le plan d’ordonnancement, il peut exister des déviations entre les valeurs calculées et les valeurs réelles de durée d’exécution. En effet, il peut exister des effets de bords entre les ressources et ainsi, la diminution d’une ressource pourra avoir un impact sur une autre ressource impactant à son tour la durée d’exécution des traitements par lots.The method according to the invention may also include a verification step 600 for example during the implementation on an IT infrastructure corresponding to the optimized dimensioning plan. As will be described later, this verification step 600 can be implemented by a control module 90. Although the dimensioning plan was generated from data measured on the plurality of batch processes involved in the plan scheduling, there may be deviations between the calculated values and the actual execution time values. Indeed, there may be side effects between resources and thus, the reduction of a resource may have an impact on another resource, in turn impacting the duration of execution of batch processing.

[0119] La figure 7 illustre une telle étape 600 de vérification selon un premier mode de réalisation de l’invention. Cette étape nécessite dans un premier temps de disposer d’une infrastructure informatique correspondant au plan de dimensionnement optimisé. L’utilisateur peut mettre en place un serveur virtuel présentant des caractéristiques en accord avec le plan de dimensionnement optimisé, d’une part ou il peut alternativement disposer d’une infrastructure informatique de type serveur présentant un dimensionnement identique ou similaire au plan de dimensionnement optimisé, d’autre part. Alternativement, aux fins de vérifications, il peut utiliser une infrastructure informatique présentant un dimensionnement supérieur au plan de dimensionnement optimisé et mettre en œuvre une étape 610 de génération d’une consommation contrôlée d’une ou de plusieurs ressources de façon à faire correspondre le dimensionnement au plan de dimensionnement optimisé. Cette génération d’une consommation contrôlée peut être mise en œuvre par un module de raréfaction de ressources 20.FIG. 7 illustrates such a step 600 of verification according to a first embodiment of the invention. This step first requires having an IT infrastructure corresponding to the optimized sizing plan. The user can set up a virtual server having characteristics in accordance with the optimized dimensioning plan, on the one hand or he can alternatively have a server-type IT infrastructure having a dimensioning identical or similar to the optimized dimensioning plan , on the other hand. Alternatively, for verification purposes, it can use an IT infrastructure having a sizing greater than the optimized sizing plan and implement a step 610 of generating a controlled consumption of one or more resources so as to match the sizing to the optimized sizing plan. This generation of controlled consumption can be implemented by a resource scarcity module 20.

[0120] L’étape 600 de vérification comporte l’exécution 620 sur l’infrastructure informatique, par exemple par un module d’exécution de traitement par lots 30, du plan d’ordonnancement de la pluralité de traitements par lots. Avantageusement, l’infrastructure informatique présente des quantités de ressources correspondant au plan de dimensionnement. Lors de cette exécution, le procédé comporte la mesure 630, par exemple par un module de collecte de métriques 40, de paramètres d’exécution du plan d’ordonnancement calculé. Les paramètres d’exécution du plan d’ordonnancement mesurés sont par exemple sélectionnés parmi : les durées d’exécution des traitements par lots et la durée globale d’exécution du plan d’ordonnancement.The verification step 600 comprises the execution 620 on the IT infrastructure, for example by a batch processing execution module 30, of the scheduling plan for the plurality of batch treatments. Advantageously, the IT infrastructure has quantities of resources corresponding to the sizing plan. During this execution, the method includes measurement 630, for example by a metric collection module 40, of parameters for executing the calculated scheduling plan. The parameters of execution of the measured scheduling plan are for example selected from: the durations of execution of batch processing and the overall duration of execution of the scheduling plan.

[0121] Une fois l’exécution du plan d’ordonnancement finalisée, l’étape de vérification 600 comporte la comparaison 640, par exemple par un module de contrôle 90, des paramètres d’exécution mesurés du plan d’ordonnancement calculé avec des paramètres d’exécution prédéterminés d’un plan d’ordonnancement. Les paramètres d’exécution prédéterminés du plan d’ordonnancement peuvent par exemple être sélectionnées parmi : des règles d’exécution, des durées maximales prédéterminées d’exécution des traitements par lot ou une durée globale maximale prédéterminée d’exécution du plan d’ordonnancement.Once the execution of the scheduling plan has been finalized, the verification step 600 includes the comparison 640, for example by a control module 90, of the measured execution parameters of the scheduling plan calculated with parameters of predetermined execution of a scheduling plan. The predetermined execution parameters of the scheduling plan can for example be selected from: execution rules, predetermined maximum durations of execution of the batch operations or a predetermined maximum overall duration of execution of the sequencing plan.

[0122] Comme cela a été décrit, lors de l’étape de vérification 600, le plan d’ordonnancement est exécuté sur une infrastructure informatique dont les ressources disponibles correspondent au plan de dimensionnement optimisé que cela soit dû ou non à la présence d’une consommation contrôlée des ressources, de préférence critiques, sur l’infrastructure informatique. Selon le mode de réalisation décrit à la figure 8, l’étape de vérification 600 du respect du plan d’ordonnancement peut comporter la mise en place 611 d’une consommation contrôlée des ressources de façon à ce que la quantité de ressource disponible pour le plan d’ordonnancement corresponde au plan de dimensionnement optimisé. Alternativement, c’est une infrastructure informatique (e.g. machine virtuelle) dont la quantité de ressources correspond au plan de dimensionnement optimisé qui est utilisée. Suite à l’exécution 620 du plan d’ordonnancement et à la mesure 630 des paramètres d’exécution du plan d’ordonnancement et particulièrement à la mesure 631 de la durée globale d’exécution du plan d’ordonnancement et/ou à la mesure des durées d’exécution de chacun des traitements par lots, il y a une comparaison 641 de la durée globale mesurée d’exécution du plan d’ordonnancement à une durée globale maximale prédéterminée d’exécution du plan d’ordonnancement et/ou à la comparaison des durées d’exécution mesurées de chacun des traitements par lots à des durées maximales prédéterminées d’exécution de ces traitements par lots.As has been described, during the verification step 600, the scheduling plan is executed on an IT infrastructure whose available resources correspond to the optimized dimensioning plan whether or not this is due to the presence of controlled consumption of resources, preferably critical, on the IT infrastructure. According to the embodiment described in FIG. 8, the step of verifying 600 of compliance with the scheduling plan may include the establishment 611 of a controlled consumption of resources so that the quantity of resource available for the scheduling plan corresponds to the optimized sizing plan. Alternatively, it is an IT infrastructure (e.g. virtual machine) whose quantity of resources corresponds to the optimized sizing plan that is used. Following execution 620 of the scheduling plan and measurement 630 of the execution parameters of the scheduling plan and particularly measurement 631 of the overall duration of execution of the scheduling plan and / or measurement of the execution durations of each of the batch operations, there is a comparison 641 of the overall measured duration of execution of the scheduling plan with a predetermined maximum overall duration of execution of the scheduling plan and / or the comparison of the measured execution times of each of the batch treatments with predetermined maximum durations of execution of these batch treatments.

[0123] En cas de dépassement (NOK), l’étape de vérification peut être suivie d’une étape 900 d’augmentation de la quantité de ressources attribuées qui sera détaillée par la suite. En absence de dépassement (OK), l’étape de vérification peut être suivie d’une étape 642 de calcul de la différence (i.e. de la marge) entre la durée globale d’exécution du plan d’ordonnancement et la durée globale maximale prédéterminée d’exécution du plan d’ordonnancement, puis d’une étape de comparaison de cette différence à un seuil de performance prédéterminé de façon à déterminer si le plan de dimensionnement peut être validé 650 ou si une étape de réduction 800 de la quantité de ressources attribuée doit être exécutée dans le cas où le seuil prédéterminé de performance est dépassé (NOK). La validation 650 peut par exemple comporter la génération d’un rapport comportant les valeurs de quantité de ressource du plan de dimensionnement optimisé et validé.In the event of an overrun (NOK), the verification step can be followed by a step 900 of increasing the amount of allocated resources which will be detailed later. In the absence of overshooting (OK), the verification step can be followed by a step 642 of calculating the difference (ie of the margin) between the overall duration of execution of the scheduling plan and the predetermined maximum overall duration execution of the scheduling plan, then of a step of comparing this difference with a predetermined performance threshold so as to determine if the sizing plan can be validated 650 or if a step 800 of reducing the amount of resources allocated must be executed in the event that the predetermined performance threshold is exceeded (NOK). The validation 650 can for example include the generation of a report comprising the values of the quantity of resources of the optimized and validated sizing plan.

[0124] Par exemple, l’étape de comparaison de cette différence peut consister à déterminer si la différence n’est pas significative (NOK), c’est-à-dire qu’elle est par exemple inférieure à 10 % de la valeur de la durée globale maximale prédéterminée d’exécution du plan d’ordonnancement. Alors il peut y avoir une validation 650 du plan de dimensionnement optimisé. Lorsque la différence est significative (OK), c’est-à-dire qu’elle est supérieure à un seuil prédéterminé comme par exemple supérieure à, par exemple, 10 % de la valeur de la durée globale maximale prédéterminée d’exécution du plan d’ordonnancement, de façon préférée supérieure à 20 % et de façon plus préférée supérieure à 30 % alors l’étape de vérification peut être suivie par une étape 700 de modification du plan de dimensionnement optimisé de façon à réduire la quantité de ressources attribuée.For example, the step of comparing this difference may consist in determining whether the difference is not significant (NOK), that is to say that it is for example less than 10% of the value of the predetermined maximum overall duration of execution of the scheduling plan. Then there can be a validation 650 of the optimized dimensioning plan. When the difference is significant (OK), that is to say that it is greater than a predetermined threshold, for example greater than, for example, 10% of the value of the predetermined maximum overall duration of execution of the plan scheduling, preferably more than 20% and more preferably more than 30% then the verification step can be followed by a step 700 of modifying the optimized dimensioning plan so as to reduce the amount of resources allocated.

[0125] Par exemple, en référence au tableau 3, l’exécution du plan d’ordonnancement comportant les traitements par lots Tl, T2 et T3 devait se dérouler sur une durée maximale de 25 000 s. Lors de l’exécution de vérification, la durée globale d’exécution mesurée été de 18 000 s. Ainsi, la différence entre la durée maximale prédéterminée et la durée mesurée est de 7 000 s alors que le seuil prédéterminé de performance est de 5 000 s. Ainsi, l’étape de vérification indique qu’il est possible de réduire encore la quantité de ressources attribuée au plan de dimensionnement optimisé.For example, with reference to Table 3, the execution of the scheduling plan comprising the batch processing T1, T2 and T3 was to take place over a maximum duration of 25,000 s. During the check run, the overall run time measured was 18,000 s. Thus, the difference between the predetermined maximum duration and the measured duration is 7000 s while the predetermined performance threshold is 5000 s. Thus, the verification step indicates that it is possible to further reduce the amount of resources allocated to the optimized sizing plan.

[0126] Avantageusement, le procédé selon l’invention peut aussi comporter une étape de modification 700 supplémentaire de la quantité de ressources attribuée. Une telle étape est illustrée à la figure 9. Cette modification 700 supplémentaire peut avantageusement intervenir dans deux situations :Advantageously, the method according to the invention may also include an additional modification step 700 of the quantity of resources allocated. Such a step is illustrated in FIG. 9. This additional modification 700 can advantageously occur in two situations:

- lorsque les quantités de ressources attribuées étaient insuffisantes (e.g. la durée globale maximale d’exécution du plan d’ordonnancement a été dépassée) et donc qu’il est nécessaire d’augmenter la quantité de ressources attribuée, et- when the quantities of resources allocated were insufficient (e.g. the maximum overall duration of execution of the scheduling plan has been exceeded) and therefore it is necessary to increase the quantity of resources allocated, and

- lorsque les quantités de ressources attribuées étaient trop élevées et que cela entraîne un risque de gaspillage des ressources (e.g. entre la durée globale d’exécution du plan d’ordonnancement et la durée globale maximale prédéterminée d’exécution du plan d’ordonnancement a dépassé un seuil prédéterminé de performance) et donc qu’il est nécessaire réduire la quantité de ressources attribuée.- when the quantities of resources allocated were too high and that this entails a risk of wasting resources (eg between the overall duration of execution of the scheduling plan and the predetermined maximum overall duration of execution of the scheduling plan has exceeded a predetermined performance threshold) and therefore that it is necessary to reduce the amount of resources allocated.

[0127] Cette étape comporte notamment la génération 710 de valeurs de quantité de ressources attribuées qui peuvent être inférieures ou supérieure aux valeurs de quantité de ressources précédemment attribuées. Cette génération 710 tient compte de préférence des « pas » de chacune des ressources concernées. Cette génération 710 est alors suivie d’une étape de calcul 720 de nouvelles durées d’exécution globale et valeurs d’efficacité d’utilisation des ressources du plan d’ordonnancement. Cette étape de calcul 720 est fonction des durées d’exécution rallongées des traitements par lots, des coefficients de pondération et en particulier de la marge calculée lors de l’étape 642 (i.e. la différence entre la durée globale d’exécution du plan d’ordonnancement et la durée globale maximale prédéterminée d’exécution du plan d’ordonnancement). En effet, il peut exister des effets de bords lors de la réduction de la quantité de ressources pouvant être utilisée par les traitements par lots et il convient de le prendre en compte lors de la modification supplémentaire. A cause de cet effet de bord, les durées d’exécution mesurées (i.e. réelles) des traitements par lots et du plan d’ordonnancement peuvent différer des durées d’exécution calculées et donc le calcul de valeurs d’efficacité d’utilisation des ressources doit de préférence prendre en compte cette différence (i.e. marge) de façon à fournir des résultats plus précis.This step includes in particular the generation 710 of quantity values of allocated resources which may be lower or higher than the values of quantity of resources previously allocated. This generation 710 preferably takes into account the "steps" of each of the resources concerned. This generation 710 is then followed by a step of calculating 720 of new overall execution times and efficiency values of use of the resources of the scheduling plan. This calculation step 720 is a function of the extended execution times of the batch processing operations, the weighting coefficients and in particular the margin calculated during step 642 (ie the difference between the overall execution time of the plan scheduling and the predetermined maximum overall duration of execution of the scheduling plan). Indeed, there may be side effects when reducing the amount of resources that can be used by batch processing and it should be taken into account when making the additional modification. Because of this side effect, the measured execution times (ie real) of batch processing and the scheduling plan may differ from the calculated execution times and therefore the calculation of resource efficiency values should preferably take into account this difference (ie margin) in order to provide more precise results.

[0128] Il y a alors sélection 730 des valeurs de quantité de ressources attribuées puis génération 740 d’un plan de dimensionnement optimisé. Ces valeurs de quantités de ressources attribuées sont celles pour lesquelles la valeur de durée d’exécution globale du plan d’ordonnancement est inférieure à la durée globale maximale prédéterminée du plan d’ordonnancement. Enfin, cette étape 700 peut se terminer par la génération 740 d’un plan de dimensionnement optimisé.There is then a selection 730 of the quantity values of allocated resources then generation 740 of an optimized sizing plan. These values of the quantities of resources allocated are those for which the value of the overall execution time of the scheduling plan is less than the predetermined maximum overall duration of the scheduling plan. Finally, this step 700 can end with the generation 740 of an optimized sizing plan.

[0129] Les figures 10 illustrent deux autres modes de réalisation dans lesquelles les quantités minimales de ressources nécessaires sont vérifiées dans le cadre de l’exécution d’un plan d’ordonnancement et permet une réduction de la quantité de ressources attribuée (Figure 10A) ou une augmentation (Figure 10B).FIGS. 10 illustrate two other embodiments in which the minimum quantities of resources required are verified as part of the execution of a scheduling plan and allows a reduction in the quantity of resources allocated (FIG. 10A) or an increase (Figure 10B).

[0130] La figure 10A illustre un mode de réalisation de l’invention pour la réduction 800 supplémentaire de la quantité de ressources attribuée. Dans ce mode de réalisation, suite à l’identification d’une marge significative à l’étape 642, la réduction 800 supplémentaire est initiée par une consommation contrôlée 810 de ressources de façon à ce que les ressources disponibles pour l’exécution du plan d’ordonnancement correspondant aux ressources attribuées selon le plan de dimensionnement optimisé. Par exemple, lorsque le plan d’ordonnancement a été testé sur une infrastructure informatique dimensionnée suivant le premier plan de dimensionnement optimisé, un module de raréfaction 20 pourra mettre en œuvre une consommation contrôlée 810 des ressources de façon à réduire la quantité de ressources disponibles pour le plan d’ordonnancement.FIG. 10A illustrates an embodiment of the invention for the further reduction 800 of the amount of resources allocated. In this embodiment, following the identification of a significant margin in step 642, the additional reduction 800 is initiated by a controlled consumption 810 of resources so that the resources available for the execution of the plan d 'scheduling corresponding to the resources allocated according to the optimized sizing plan. For example, when the scheduling plan has been tested on an IT infrastructure dimensioned according to the first optimized dimensioning plan, a rarefaction module 20 may implement a controlled consumption 810 of resources so as to reduce the amount of resources available for the scheduling plan.

[0131] Le procédé comporte ensuite une exécution 820 du plan d’ordonnancement puis une mesure 830 de la durée globale d’exécution du plan d’ordonnancement et éventuellement son enregistrement. Lorsque il est déterminé 840 que la durée globale maximale prédéterminée d’exécution du plan d’ordonnancement n’a pas été dépassée (NOK) alors le procédé comporte une augmentation 850 du niveau de raréfaction des ressources. Si la durée d’exécution maximum du plan d’ordonnancement a été dépassée (OK) alors le procédé comporte un enregistrement 860 de la quantité minimale de ressource nécessaire. Cette quantité minimale correspond généralement à la quantité en ressource la plus faible n’ayant pas conduit à un dépassement de la durée d’exécution maximum du plan d’ordonnancement.The method then comprises an execution 820 of the scheduling plan and then a measurement 830 of the overall duration of execution of the scheduling plan and possibly its recording. When it is determined 840 that the predetermined maximum overall duration of execution of the scheduling plan has not been exceeded (NOK) then the method comprises an increase 850 of the level of resource scarcity. If the maximum execution time of the scheduling plan has been exceeded (OK) then the method includes an 860 record of the minimum quantity of resource required. This minimum quantity generally corresponds to the smallest quantity of resources that did not lead to the maximum execution time of the scheduling plan being exceeded.

[0132] Dans le cadre du procédé, comme cela a déjà été discuté, il y a avantageusement une sélection des ressources critiques et la première consommation contrôlée se fait généralement sur une seule ressource. Ainsi, après que la quantité minimale de la première ressource a été calculée, le procédé comporte une vérification 870 de l’existence d’éventuelles autres ressources à étudier et le cas échant (NOK) la sélection 875 puis la raréfaction d’une ressource supplémentaire. Avantageusement, il peut y avoir raréfaction de deux ressources en parallèle et le procédé est conduit de façon à trouver la quantité minimale de la seconde ressource.In the context of the method, as has already been discussed, there is advantageously a selection of critical resources and the first controlled consumption is generally done on a single resource. Thus, after the minimum quantity of the first resource has been calculated, the method comprises a verification 870 of the existence of any other resources to be studied and, if applicable (NOK), the selection 875 then the scarcity of an additional resource. . Advantageously, there may be an increasing scarcity of two resources in parallel and the process is carried out so as to find the minimum quantity of the second resource.

[0133] Lorsque l’étape de comparaison 870 d’une liste de ressources déjà testées à une liste de ressources à tester indique que toutes les ressources ont été étudiées (OK), alors le procédé comporte une étape de détermination 880 de la quantité minimale de ressources pour le plan d’ordonnancement puis la génération 890 d’un plan de dimensionnement optimisé.When the comparison step 870 of a list of resources already tested with a list of resources to be tested indicates that all the resources have been studied (OK), then the method includes a step of determining 880 of the minimum quantity resources for the scheduling plan and then the 890 generation of an optimized sizing plan.

[0134] Ce mode de réalisation alternatif a été décrit avec l’exécution du plan d’ordonnancement dans sa globalité mais il peut également être mis en œuvre avec l’exécution de chacun des traitements par lots de façon indépendante.This alternative embodiment has been described with the execution of the scheduling plan as a whole, but it can also be implemented with the execution of each of the batch processes independently.

[0135] La figure 10B illustre un mode de réalisation de l’invention pour l’augmentation 900 supplémentaire de la quantité de ressources attribuée. Dans ce mode de réalisation, suite à l’identification d’un dépassement à l’étape 641, l’augmentation 900 supplé31 mentaire est initiée par une consommation contrôlée 910 de ressources de façon à ce que les ressources à disposition pour l’exécution du plan d’ordonnancement soient supérieures aux ressources attribuées selon le plan de dimensionnement optimisé.FIG. 10B illustrates an embodiment of the invention for the additional 900 increase in the amount of resources allocated. In this embodiment, following the identification of an overflow in step 641, the additional increase 900 is initiated by a controlled consumption 910 of resources so that the resources available for the execution of the scheduling plan are greater than the resources allocated according to the optimized sizing plan.

[0136] Le procédé comporte ensuite une mesure 920 de la durée globale d’exécution du plan d’ordonnancement et éventuellement son enregistrement. Lorsqu’il est déterminé 930 que la durée globale maximale prédéterminée d’exécution du plan d’ordonnancement a été dépassée (OK) alors le procédé comporte une réduction 940 du niveau de raréfaction des ressources. Si la durée d’exécution maximum du plan d’ordonnancement n’a pas été dépassé (NOK) alors le procédé comporte un enregistrement 950 de la quantité minimale de ressource nécessaire. Cette quantité minimale correspond généralement à la quantité en ressource la plus faible n’ayant pas conduit à un dépassement de la durée d’exécution maximum du plan d’ordonnancement.The method then comprises a measure 920 of the overall duration of execution of the scheduling plan and possibly its recording. When it is determined 930 that the predetermined maximum overall duration of execution of the scheduling plan has been exceeded (OK) then the method comprises a reduction 940 of the level of scarcity of resources. If the maximum execution time of the scheduling plan has not been exceeded (NOK) then the process includes a 950 record of the minimum quantity of resource required. This minimum quantity generally corresponds to the smallest quantity of resources that did not lead to the maximum execution time of the scheduling plan being exceeded.

[0137] Le procédé comporte une étape de détermination 960 de la quantité minimale de ressources pour le plan d’ordonnancement puis la génération 990 d’un plan de dimensionnement optimisé. Ce mode de réalisation alternatif a été décrit avec l’exécution du plan d’ordonnancement dans sa globalité mais il peut également être mis en œuvre avec l’exécution de chacun des traitements par lots de façon indépendanteThe method comprises a step 960 of determining the minimum quantity of resources for the scheduling plan and then the generation 990 of an optimized dimensioning plan. This alternative embodiment has been described with the execution of the scheduling plan in its entirety but it can also be implemented with the execution of each of the batch processes independently.

[0138] Selon un autre aspect, l’invention porte sur un dispositifd’optimisation 1 d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique 2 pour l’exécution d’une pluralité de traitements par lots. Ce dispositif est en particulier susceptible de mettre en œuvre un procédé d’optimisation d’un plan d’ordonnancement et du dimensionnement selon l’invention décrit précédemment.According to another aspect, the invention relates to an optimization device 1 for a scheduling and sizing plan for an IT infrastructure 2 for the execution of a plurality of batch processes. This device is in particular capable of implementing a method for optimizing a scheduling and dimensioning plan according to the invention described above.

[0139] Un mode de réalisation d’un tel dispositif est illustré à la figure 11. Comme illustré, ce dispositif peut comporter un module de raréfaction de ressources 20, un module d’exécution de traitement par lots 30, un module de collecte de métriques 40, un module de dimensionnement 50, un module de conception 60 et un module de mémorisation 95 configuré pour mémorisé des règles de raréfaction et des règles d’exécution. Il peut en outre comporter un module d’acquisition 10, un module de communication 80, et un module de contrôle 90.An embodiment of such a device is illustrated in FIG. 11. As illustrated, this device can include a resource scarcity module 20, a batch processing execution module 30, a data collection module. metrics 40, a sizing module 50, a design module 60 and a storage module 95 configured to store rarefaction rules and execution rules. It can also include an acquisition module 10, a communication module 80, and a control module 90.

[0140] Le module d’acquisition 10 selon l’invention est en particulier configuré pour acquérir un premier plan de dimensionnement. Le premier plan de dimensionnement comporte des premières valeurs de quantité de ressources attribuées permettant l’exécution d’une pluralité de traitements par lots selon un plan d’ordonnancement. En outre, il peut être configuré pour acquérir une première durée globale d’exécution du plan d’ordonnancement, des paramètres d’exécution prédéterminés d’un plan d’ordonnancement, un coefficient de pondération prédéterminé pour chaque ressource d’une pluralité de ressource, de préférence d’une pluralité de ressources critiques.The acquisition module 10 according to the invention is in particular configured to acquire a first dimensioning plan. The first dimensioning plan comprises first values of quantity of allocated resources allowing the execution of a plurality of batch treatments according to a scheduling plan. In addition, it can be configured to acquire a first overall duration of execution of the scheduling plan, predetermined execution parameters of a scheduling plan, a predetermined weighting coefficient for each resource of a plurality of resources. , preferably from a plurality of critical resources.

[0141] Le module de raréfaction de ressources 20 selon l’invention est en particulier configuré pour générer une consommation contrôlée d’au moins une ressource sur une infrastructure informatique 2. Cette consommation est de préférence fonction de règles de raréfaction préalablement mémorisées de façon à laisser à disposition d’un traitement par lots une quantité de ressources disponible inférieure à une quantité de ressources initiale.The resource scarcity module 20 according to the invention is in particular configured to generate a controlled consumption of at least one resource on an IT infrastructure 2. This consumption is preferably a function of scarcity rules previously stored so as to leave a quantity of available resources available for batch processing less than an initial quantity of resources.

[0142] Avantageusement, le module 20 de raréfaction de ressource présente pour fonction de réduire progressivement la disponibilité d’une ressource critique. Ainsi, il est possible d’augmenter progressivement la raréfaction de la ressource critique jusqu’à provoquer un dépassement d’une durée maximale prédéterminé d’exécution pour le traitement par lot étudié. Le module 20 de raréfaction peut donc être considéré comme créant un environnement dégradé pour le ou les traitements par lots étudiés car les règles de raréfaction peuvent contrôler à quelle quantité de ressources de l’infrastructure informatique 2 les traitements par lots étudiés accèdent.Advantageously, the resource depletion module 20 has the function of gradually reducing the availability of a critical resource. Thus, it is possible to gradually increase the rarefaction of the critical resource until causing a exceeding of a predetermined maximum duration of execution for the batch processing studied. The rarefaction module 20 can therefore be considered as creating a degraded environment for the batch processing (s) studied because the rarefaction rules can control how much of the resources of the IT infrastructure 2 the batch processing studied access.

[0143] De façon préférée, le module 20 de raréfaction de ressources est configuré pour générer une consommation contrôlée d’au moins une ressource critique selon les règles de raréfaction préalablement mémorisées sur un référentiel 21 de raréfaction. Il peut y avoir une consommation d’une ressource critique ou bien une consommation simultanée de plusieurs ressources critiques. Par exemple, la raréfaction d’une ressource peut reposer sur tout ou partie des données suivantes :Preferably, the resource scarcity module 20 is configured to generate a controlled consumption of at least one critical resource according to the scarcity rules previously stored in a scarcity repository 21. There may be a consumption of a critical resource or a simultaneous consumption of several critical resources. For example, the scarcity of a resource can be based on all or part of the following data:

• un identifiant du composant ou de la ressource à perturber : par exemple une adresse réseau ;• an identifier of the component or resource to be disturbed: for example a network address;

• une valeur de date de début de la raréfaction, il peut par exemple s’agir d’une date absolue évaluée relativement à une horloge interne du dispositif produisant la raréfaction ;• a value of the start date of the rarefaction, it can for example be an absolute date evaluated relative to an internal clock of the device producing the rarefaction;

• une valeur de durée de la raréfaction (e.g. nombre de secondes) ou une valeur de date de fin de la raréfaction ;• a rarefaction duration value (eg number of seconds) or a rarefaction end date value;

• un niveau de consommation de ressource de départ, correspondant par exemple à la plus faible quantité de ressource à consommer ;• a starting resource consumption level, corresponding for example to the lowest quantity of resource to consume;

• un niveau final de consommation de ressource, correspondant par exemple à la plus forte quantité de ressource à consommer ;• a final level of resource consumption, corresponding for example to the highest amount of resource to consume;

• un pas d’augmentation de la consommation, correspondant par exemple à la différence entre une première quantité de ressource à consommer et une quantité suivante, et • une durée prédéterminée entre chaque pas d’augmentation ; et • un ordre des différentes raréfactions à réaliser.• a step of increasing consumption, corresponding for example to the difference between a first quantity of resource to be consumed and a following quantity, and • a predetermined duration between each step of increasing; and • an order of the various rarefactions to be achieved.

[0144] Ces valeurs pourront par exemple être acquises par le module 20 de raréfaction de ressource via un appel à un ou plusieurs fichiers de configuration de raréfaction de ressources du référentiel 21 de raréfaction ou bien à des instructions transmises à partir d’une interface (e.g. graphique). Ainsi, le module 20 de raréfaction peut être configuré pour recevoir et prendre en compte des règles de raréfaction. Ces règles de raréfaction sont par exemple renseignées via une interface graphique et mémorisées sur une mémoire par exemple une mémoire vive. Certaines données de règles de raréfaction des ressources critiques sont avantageusement renseignées lors de la mise en œuvre du procédé d’optimisation du dimensionnement selon l’invention. C’est par exemple le cas de la date de début de la raréfaction et l’identifiant de la ressource critique à raréfier.These values could for example be acquired by the resource scarcity module 20 via a call to one or more resource scarcity configuration files from the scarcity reference frame 21 or else to instructions transmitted from an interface ( eg graphic). Thus, the rarefaction module 20 can be configured to receive and take into account rarefaction rules. These rarefaction rules are for example informed via a graphical interface and stored in a memory, for example a random access memory. Certain data on rules for the scarcity of critical resources are advantageously provided during the implementation of the method for optimizing the dimensioning according to the invention. This is for example the case of the start date of the rarefaction and the identifier of the critical resource to be rarefied.

[0145] Lorsque ces données sont enregistrées, elles le sont par exemple dans un fichier de configuration de raréfaction de ressources étant, par exemple, un fichier XML, un fichier CSV, un fichier INI, ou un fichier JSON. Un fichier de configurations comporte un ou plusieurs enregistrements de configuration. Dans une variante, le fichier de configuration de raréfaction est enregistré dans une base de données.When this data is saved, it is saved, for example, in a resource scarcity configuration file, for example, an XML file, a CSV file, an INI file, or a JSON file. A configuration file contains one or more configuration records. In a variant, the rarefaction configuration file is saved in a database.

[0146] Le référentiel 21 de raréfaction couplé au module 20 de raréfaction permet la génération de codes dont l’exécution entraîne la mise en œuvre de la raréfaction (i.e. la consommation de ressources). Ces codes sont soit des codes objets, par exemple pour la raréfaction de la mémoire, soit des scripts dits « shell » ou scripts shell. Les codes peuvent également être des codes compilables, la compilation étant réalisée au moment de la mise en place de la raréfaction. Comme cela sera détaillé ci-après, le dispositif est configuré pour réaliser la raréfaction de ressource(s) en parallèle de l’exécution d’un traitement par lots à étudier (ou de plusieurs).The rarefaction reference frame 21 coupled to the rarefaction module 20 allows the generation of codes whose execution involves the implementation of rarefaction (i.e. the consumption of resources). These codes are either object codes, for example for memory depletion, or so-called “shell” scripts or shell scripts. The codes can also be compilable codes, the compilation being carried out at the time of the implementation of the rarefaction. As will be detailed below, the device is configured to carry out the depletion of resource (s) in parallel with the execution of a batch process to be studied (or of several).

[0147] Le référentiel 21 de raréfaction est configuré pour mémoriser des règles de raréfaction des ressources critiques pouvant être utilisées pour une raréfaction progressive des ressources critiques. Ainsi, ce référentiel 21 de raréfaction est configuré pour mémoriser des instructions permettant la consommation et donc la raréfaction des ressources disponibles pour le ou les traitements par lots. Une telle consommation des ressources peut être réalisée selon la méthode de génération de bruit décrite dans le document EP2975526.The rarefaction reference frame 21 is configured to store rules for the rarefaction of critical resources which can be used for a progressive rarefaction of critical resources. Thus, this rarefaction reference frame 21 is configured to store instructions allowing the consumption and therefore the rarefaction of the resources available for the batch processing (s). Such consumption of resources can be carried out according to the noise generation method described in document EP2975526.

[0148] Les ressources critiques consommées via la mise en œuvre des règles de consommation peuvent inclure (mais ne sont pas limitées à) un type de réseau, des conditions associées au réseau, une bande passante de transmission et / ou de réception disponible, une puissance / énergie disponible, une puissance de processeur disponible (par exemple vitesse d'horloge, nombre de cœurs, cache, etc.) et une quantité disponible de la mémoire. Comme mentionné, la raréfaction est générée via une consommation des ressources dont la partie consommée (i.e. utilisée ou occupée) n’est alors plus disponible pour le traitement par lot dont la durée d’exécution est mesurée. Le référentiel 21 de raréfaction permet aussi de définir des règles de consommation pour une modification progressive de la raréfaction des ressources de différentes machines virtuelles.The critical resources consumed via the implementation of the consumption rules may include (but are not limited to) a type of network, conditions associated with the network, available transmission and / or reception bandwidth, a available power / energy, available processor power (eg clock speed, number of cores, cache, etc.) and an available amount of memory. As mentioned, the rarefaction is generated via a consumption of resources, the consumed part of which (i.e. used or occupied) is then no longer available for batch processing, the execution time of which is measured. The scarcity reference system 21 also makes it possible to define consumption rules for a progressive modification of the scarcity of resources of different virtual machines.

[0149] Le module d’exécution de traitement par lots 30 selon l’invention est en particulier configuré pour exécuter chacun des traitements par lots de la pluralité de traitements par lots sur l’infrastructure informatique 2. Il peut s’agir de tout agencement matériel et logiciel apte à permettre l’exécution de traitement par lots sur l’infrastructure informatique 2. Le module d’exécution de traitement par lots 30 est en particulier configuré pour exécuter les traitements par lots les uns après les autres par exemple lors du calcul des durées d’exécution rallongées ou selon un plan d’ordonnancement (e.g. avec des traitements par lots simultanés) par exemple lors de l’étape de vérification.The batch processing execution module 30 according to the invention is in particular configured to execute each of the batch processing of the plurality of batch processing on the IT infrastructure 2. It may be any arrangement hardware and software capable of allowing the execution of batch processing on the IT infrastructure 2. The batch processing execution module 30 is in particular configured to execute the batch treatments one after the other, for example during the calculation longer execution times or according to a scheduling plan (eg with simultaneous batch processing) for example during the verification stage.

[0150] Le module de collecte de métriques 40 selon l’invention est en particulier configuré pour mesurer des durées d’exécution rallongées en fonction de valeurs de quantité de ressources disponibles pour chacun des traitements par lots de façon à déterminer des durées d’exécution rallongées pour la pluralité de traitements par lots, en fonction de valeurs de quantités de ressources disponibles. De façon préférée, le module 40 de collecte de métriques est en outre configuré pour mesurer des empreintes de la consommation des ressources par les traitements par lots.The metric collection module 40 according to the invention is in particular configured to measure extended execution durations as a function of values of the quantity of resources available for each of the batch operations so as to determine execution durations extended for the plurality of batch treatments, depending on the values of the quantities of resources available. Preferably, the metric collection module 40 is further configured to measure footprints of resource consumption by batch processing.

[0151] Pour cela, le module 40 de collecte de métriques peut faire appel à une sonde 41 ou à une pluralité de sondes 41. La ou les sondes 41 permettent de collecter des données sur les durées d’exécution des traitements par lots et/ou la consommation des ressources de l’infrastructure informatique 2. Le module 40 de collecte peut faire appel à un fichier de surveillance comportant des règles de collecte de métriques. Ces règles de collecte de métriques peuvent spécifier des données qui doivent être enregistrées lors de l’exécution de la brique applicative.For this, the metric collection module 40 can use a probe 41 or a plurality of probes 41. The probe or probes 41 make it possible to collect data on the durations of execution of the batch treatments and / or the consumption of IT infrastructure resources 2. The collection module 40 can use a monitoring file comprising metric collection rules. These metric collection rules can specify data that should be saved when the application brick is run.

[0152] Ces mesures peuvent par exemple être réalisées à partir d’une sonde de type « Nigel’s Monitor » (Nmon) ou « Performance Monitor » (Perfmon). Les sondes Nmon permettent par exemple d’afficher les données de CPU, mémoire, s wap, réseau, des informations sur les utilisateurs, les groupes, les supports de stockages, sur Γ utilisation du kernel, ou les processus les plus consommateurs. Les sondes de type Perfmon permettent de mesurer les performances d’une infrastructure informatique. Les informations collectées peuvent par exemple correspondre à des pourcentages d’utilisation de ressources, des temps de réponse, des temps de traitement mais également le statut des ports, le nombre de files de message JDBC ou JMS, le taux d’occupation du système de fichiers, le taux de fonctionnement du ramasse miettes ou récupérateur de mémoires (pour « garbage collecter » en anglais) pour les applications J2EE (pour « Java Enterprise Edition » en anglais).These measurements can for example be carried out using a probe of the "Nigel’s Monitor" (Nmon) or "Performance Monitor" (Perfmon) type. The Nmon probes allow for example to display data of CPU, memory, s wap, network, information on users, groups, storage media, on Γ use of the kernel, or the most consuming processes. Perfmon-type probes measure the performance of an IT infrastructure. The information collected can for example correspond to resource usage percentages, response times, processing times but also the status of the ports, the number of JDBC or JMS message queues, the occupancy rate of the files, the rate of operation of the garbage collector or memory recuperator (for “garbage collect” in English) for J2EE applications (for “Java Enterprise Edition” in English).

[0153] Ces sondes peuvent être associées à chaque paramètre (e.g. durée d’exécution, ressource ou fonctionnalités) pour remonter les informations de mesure ou métriques, représentant par exemple l’exécution du traitement par lot et le fonctionnement de l’infrastructure informatique. Pour chaque paramètre, la ou les sondes définissent un identifiant de paramètre et une valeur de paramètre. Les valeurs des paramètres peuvent être suivies en continu ou à des intervalles configurables de façon à obtenir des informations pour chaque paramètre en fonction du temps. Ces informations peuvent être stockées dans une mémoire. Dans certains modes de réalisation, le dispositif comporte une interface homme-machine permettant de définir les sondes sur chaque machine qui remontent les métriques provenant de l’utilisation des ressources de la machine.These probes can be associated with each parameter (e.g. execution time, resource or functionalities) to report measurement or metric information, representing for example the execution of batch processing and the functioning of the IT infrastructure. For each parameter, the probe (s) define a parameter identifier and a parameter value. Parameter values can be tracked continuously or at configurable intervals to obtain information for each parameter over time. This information can be stored in a memory. In certain embodiments, the device includes a man-machine interface making it possible to define the probes on each machine which report the metrics originating from the use of the resources of the machine.

[0154] Le module de dimensionnement 50 selon l’invention est en particulier configuré pour sélectionner de valeurs de quantité de ressources attribuées pour l’au moins un plan de dimensionnement optimisé, pour lesquelles la valeur d’efficacité d’utilisation des ressources est améliorée par rapport à la première valeur d’efficacité d’utilisation des ressources, et, pour lesquelles les durées d’exécution rallongées des traitements par lots sont inférieures à des durées d’exécution maximales prédéterminées de façon à générer au moins un plan de dimensionnement optimisé. Il peut s’agir de tout agencement matériel et logiciel apte à permettre la sélection de valeurs de quantité de ressources attribuées pour le plan de dimensionnement optimisé. Ces valeurs peuvent être intégrées dans un fichier pouvant ensuite être envoyé à un client 3. En outre, ce module de dimensionnement 50 est également configuré pour le calcul d’une première valeur d’efficacité d’utilisation des ressources à partir des premières valeurs de quantité de ressources attribuées, des coefficients de pondération prédéterminés et de la première durée globale d’exécution du plan d’ordonnancement. Le module de dimensionnement 50, est également configuré pour définir des valeurs de quantité de ressources inférieures aux premières valeurs de quantité de ressources attribuées. Par ailleurs, ce module de dimensionnement 50 est configuré pour calculer, pour chaque valeur de quantité de ressources, une valeur d’efficacité d’utilisation des ressources, ledit calcul étant fonction des valeurs de quantité de ressources, des coefficients de pondération prédéterminés et des durées d’exécution rallongées mesurées des traitements par lots. Enfin, ce module de dimensionnement 50 est également configuré pour sélectionner des valeurs de quantité de ressources attribuées à l’au moins un plan de dimensionnement optimisé, lesdites valeurs de quantité de ressources attribuées étant sélectionnées parmi les valeurs de quantité de ressources dont la valeur d’efficacité d’utilisation des ressources est améliorée par rapport à la première valeur d’efficacité d’utilisation des ressources. En outre, le module de dimensionnement 50 selon l’invention peut être configuré pour générer un plan de dimensionnement. Le plan de dimensionnement défini par le module de dimensionnement est alors de préférence fonction de l’empreinte de chaque traitement par lots, des règles d’exécution prédéterminées et des valeurs de quantité de ressources attribuées. Il peut s’agir alors de tout agencement matériel et logiciel apte à permettre aussi la génération d’un tel plan de dimensionnement.The dimensioning module 50 according to the invention is in particular configured to select values of the quantity of resources allocated for the at least one optimized dimensioning plan, for which the value of efficiency of use of the resources is improved with respect to the first value for resource efficiency, and, for which the extended execution times of the batch operations are less than predetermined maximum execution times so as to generate at least one optimized sizing plan . It can be any hardware and software arrangement capable of allowing the selection of values for the quantity of resources allocated for the optimized dimensioning plan. These values can be integrated into a file which can then be sent to a client 3. In addition, this sizing module 50 is also configured for the calculation of a first value for resource efficiency from the first values of quantity of resources allocated, predetermined weighting coefficients and the first overall duration of execution of the scheduling plan. The dimensioning module 50, is also configured to define values of quantity of resources lower than the first values of quantity of resources allocated. Furthermore, this sizing module 50 is configured to calculate, for each value of quantity of resources, a value of efficiency of use of resources, said calculation being a function of values of quantity of resources, predetermined weighting coefficients and longer execution times measured by batch processing. Finally, this sizing module 50 is also configured to select values of quantity of resources allocated to the at least one optimized sizing plan, said values of quantity of resources allocated being selected from values of quantity of resources whose value d Resource efficiency is improved compared to the first value of resource efficiency. In addition, the sizing module 50 according to the invention can be configured to generate a sizing plan. The sizing plan defined by the sizing module is then preferably a function of the footprint of each batch process, the predetermined execution rules and the values of the quantity of resources allocated. It can then be any hardware and software arrangement capable of also allowing the generation of such a sizing plan.

[0155] Le module de conception 60 selon l’invention est en particulier configuré pour calculer, à partir des durées d’exécution rallongées associées aux valeurs de quantité de ressources attribuées, un plan d’ordonnancement respectant des règles d’exécution mémorisées dans un référentiel règlementaire 12. Avantageusement le module de conception est configuré pour effectuer plusieurs calculs. En effet, le module de conception est également configuré pour calculer la consommation dans le temps en ressource. En outre, le module de conception est également apte à éliminer des définitions non compatibles avec le référentiel règlementaire. Enfin, ce module est apte à sélectionner un traitement. Il peut s’agir de tout agencement matériel et logiciel apte à permettre le calcul d’un tel plan d’ordonnancement.The design module 60 according to the invention is in particular configured to calculate, from the extended execution durations associated with the quantity values of allocated resources, a scheduling plan respecting execution rules stored in a regulatory reference frame 12. Advantageously, the design module is configured to perform several calculations. Indeed, the design module is also configured to calculate consumption over time in resources. In addition, the design module is also able to eliminate definitions that are not compatible with the regulatory framework. Finally, this module is able to select a treatment. It can be any hardware and software arrangement capable of allowing the calculation of such a scheduling plan.

[0156] Par ailleurs, le référentiel règlementaire est apte à mémoriser des règles d’exécution des traitements par lots.In addition, the regulatory framework is able to memorize rules for the execution of batch processing.

[0157] Le module de communication 80 selon l’invention est en particulier configuré pour échanger des données avec des dispositifs tiers. Le dispositif 1 communique avec d’autres dispositifs informatiques grâce à ce module de communication 80. Le module de communication permet en outre, de transmettre les données sur au moins un réseau de communication et peut comprendre une communication filaire ou sans fil. De préférence, la communication est opérée par l’intermédiaire d’un protocole sans fils tel que wifi, 3G, 4G, et/ou Bluetooth. Ces échanges de données peuvent prendre la forme d’envoi et de réception de fichiers. Par exemple, le module de communication peut être configuré pour transmettre un rapport comportant pour une période une liste des valeurs de quantité de ressource du plan de dimensionnement optimisé et validé.The communication module 80 according to the invention is in particular configured to exchange data with third-party devices. The device 1 communicates with other computer devices using this communication module 80. The communication module also makes it possible to transmit the data over at least one communication network and can include wired or wireless communication. Preferably, the communication is carried out via a wireless protocol such as wifi, 3G, 4G, and / or Bluetooth. These data exchanges can take the form of sending and receiving files. For example, the communication module can be configured to transmit a report comprising for a period a list of resource quantity values of the optimized and validated dimensioning plan.

[0158] Le module de communication 80 est en outre configuré pour permettre la communication avec un terminal distant, dont un client 3. Le client est généralement, tout matériel et/ou logiciel. Le module de communication 80 peut également être configuré pour communiquer avec une interface homme-machine.The communication module 80 is further configured to allow communication with a remote terminal, including a client 3. The client is generally, any hardware and / or software. The communication module 80 can also be configured to communicate with a man-machine interface.

[0159] Le module de contrôle 90 selon l’invention est en particulier configuré pour comparer des règles d’exécution préalablement mémorisées avec des nouvelles règles d’exécution du plan de dimensionnement optimisé. Ce module de contrôle 90 permet ainsi de s’assurer du respecter des durées maximales prédéterminées d’exécution des traitements par lot ou une durée globale maximale prédéterminée d’exécution du plan d’ordonnancement. Ce module permet également le respect du bon déroulement de l’exécution des traitements par lots sur une infrastructure dont les ressources correspondent au plan de dimensionnement optimisé pour la réalisation du plan d’ordonnancement (e.g. respect des règles d’exécution). En outre, afin de mettre en œuvre la comparaison des durées d’exécution, le module de contrôle peut comporter tout matériel physique ou logiciel apte à permettre la réalisation ou le calcul d’un rapport de supériorité, infériorité ou égalité ou encore toutes différences entre les paramètres d’exécutions, entre une durée globale maximale prédéterminée d’exécution du plan d’ordonnancement et une durée globale mesurée d’exécution du plan d’ordonnancement. A cette fin, le module de contrôle peut également être configuré pour calculer une différence ou un rapport avec un seuil prédéterminé de performance. En outre, selon certains modes de réalisation, un utilisateur peut interagir avec le module de contrôle afin de paramétrer et d’indiquer au module de contrôle des règles d’exécutions et des durées d’exécution maximum ou un seuil prédéterminé de performance. Cette vérification est également possible sans générer une consommation contrôlée et en prenant directement une infrastructure à la taille désirée (cela est facile lors de Γutilisation d’une VML par exemple)The control module 90 according to the invention is in particular configured to compare execution rules previously stored with new execution rules for the optimized dimensioning plan. This control module 90 thus makes it possible to ensure that the predetermined maximum durations of execution of the batch treatments or a predetermined maximum global duration of execution of the scheduling plan are respected. This module also allows the respect of the good progress of the execution of the batch treatments on an infrastructure whose resources correspond to the dimensioning plan optimized for the realization of the scheduling plan (e.g. compliance with the execution rules). In addition, in order to implement the comparison of execution times, the control module may include any physical hardware or software capable of allowing the achievement or the calculation of a superiority, inferiority or equality ratio or any differences between the execution parameters, between a predetermined maximum overall duration of execution of the scheduling plan and a measured overall duration of execution of the scheduling plan. To this end, the control module can also be configured to calculate a difference or a ratio with a predetermined performance threshold. In addition, according to certain embodiments, a user can interact with the control module in order to configure and indicate to the control module execution rules and maximum execution times or a predetermined performance threshold. This verification is also possible without generating a controlled consumption and by directly taking an infrastructure of the desired size (this is easy when using a VML for example)

[0160] En outre, le dispositif selon l’invention peut comporter un module 95 de mémorisation apte à, de préférence configuré pour, mémoriser une pluralité de référentiels ou de données mesurées. Par exemple, le module 95 de mémorisation est de préférence configuré pour mémoriser les coefficients de pondération de chacune des ressources considérées. Pour cela, le module 95 de mémorisation peut comprendre n'importe quel support lisible par ordinateur connu dans l'art comprenant, par exemple, une mémoire volatile, telle qu'une mémoire vive statique (SRAM) et une mémoire vive dynamique (DRAM), et / ou une mémoire non volatile, telle que mémoire morte, mémoires flash, disques durs, disques optiques et bandes magnétiques. Le module 95 de mémorisation peut comprendre une pluralité d'instructions ou de modules ou d'applications pour effectuer diverses fonctionnalités. Ainsi, le module 95 de mémorisation peut mettre en œuvre des routines, des programmes, ou des structures de données de type matricielle. De façon préférée, le module 95 de mémorisation peut comprendre un support lisible par un système informatique sous la forme d'une mémoire volatile, telle qu'une mémoire vive (RAM) et / ou une mémoire cache. Le module 95 de mémorisation, comme les autres modules, peut par exemple être connecté avec les autres composants du dispositif 1 via un bus et une ou plusieurs interfaces de support de données.In addition, the device according to the invention may include a storage module 95 capable of, preferably configured for, storing a plurality of repositories or measured data. For example, the storage module 95 is preferably configured to store the weighting coefficients of each of the resources considered. For this, the storage module 95 can comprise any computer-readable medium known in the art comprising, for example, a volatile memory, such as a static random access memory (SRAM) and a dynamic random access memory (DRAM) , and / or a non-volatile memory, such as read-only memory, flash memories, hard disks, optical disks and magnetic tapes. The storage module 95 can include a plurality of instructions or modules or applications for performing various functions. Thus, the storage module 95 can implement routines, programs, or matrix type data structures. Preferably, the storage module 95 can comprise a medium readable by a computer system in the form of a volatile memory, such as a random access memory (RAM) and / or a cache memory. The storage module 95, like the other modules, can for example be connected with the other components of the device 1 via a bus and one or more data medium interfaces.

[0161] Le module 95 de mémorisation peut être notamment configuré pour mémoriser une des données d’identification de ressources critiques utilisées par les traitements par lots. Dans ce contexte, le module 95 de mémorisation peut par exemple être configuré pour mémoriser des données d’identification des différentes machines virtuelles ou partitions supportant le ou les traitements par lots étudiés. La ressource critique peut par exemple être une mémoire vive mais de nombreuses autres ressources peuvent être considérées telles que la lecture/écriture d’un disque, la lecture/écriture d’un réseau, ou le taux d’utilisation d’une mémoire. En outre, le référentiel de ressources peut être configuré pour mémoriser la quantité disponible de ressources critiques (e.g. CPU nombre et puissance, quantité de mémoire). Plus particulièrement, une ressource critique peut être une ressource dont la consommation moyenne est supérieure à 60 % ou bien une ressource dont la consommation présente un ou plusieurs pics de consommation supérieurs à 70 % ou encore une ressource dont une perte de 20 % ou plus de disponibilité entraîne une défaillance sur l’exécution du plan d’ordonnancement étudié. Le dispositif 1 selon l’invention peut aussi être en mesure d’identifier quelles sont les ressources d’importances pour l’exécution du plan d’ordonnancement.The storage module 95 can in particular be configured to store one of the identification data of critical resources used by batch processing. In this context, the storage module 95 can for example be configured to store identification data of the various virtual machines or partitions supporting the batch process (es) studied. The critical resource can for example be a random access memory but many other resources can be considered such as the reading / writing of a disk, the reading / writing of a network, or the rate of memory usage. In addition, the resource repository can be configured to store the available quantity of critical resources (e.g. CPU number and power, amount of memory). More particularly, a critical resource can be a resource whose average consumption is greater than 60% or else a resource whose consumption has one or more consumption peaks greater than 70% or even a resource whose loss of 20% or more availability leads to a failure in the execution of the scheduling plan studied. The device 1 according to the invention may also be able to identify what are the significant resources for the execution of the scheduling plan.

[0162] Le module 95 de mémorisation peut être également configuré pour mémoriser un référentiel de règles d’exécution. Le référentiel de règles d’exécution est configuré pour mémoriser des données correspondant aux règles applicables lors de l’exécution de l’ordonnancement des traitements par lots. Ainsi, un utilisateur a la possibilité d’enregistrer sur une mémoire des règles d’exécution que le plan ordonnancement doit respecter. Les règles peuvent par exemple porter sur des ordres d’enchaînement à respecter (e.g. le traitement A doit s’exécuter avant le traitement B), des horaires à respecter (e.g. le traitement C doit démarrer avant 23h ou le traitement D doit être terminé avant 2h), des seuils de consommation en ressources à respecter (e.g. la consommation de la ressource 1.1.1 ne peut dépasser 80 %), des etc. De telles règles peuvent être mémorisées dans au moins un tableau matriciel mémorisé correspondant à chaque traitement Ti. Par exemple, afin d’éviter l’exécution simultanée, ou chevauchement, de deux traitements par lots, une ligne peut être ajoutée à chaque matrice de traitement, ladite ligne ne contenant plus la consommation d’une ressource pour les plages horaires mais une valeur identique (par exemple 99) dans la première colonne pour les deux ou plusieurs traitements concernés. Cela permet d’indiquer au module de contrôle 90 que par exemple, le chevauchement des traitements Tl et T2 est interdit.The storage module 95 can also be configured to store a repository of execution rules. The execution rules repository is configured to store data corresponding to the rules applicable when executing the scheduling of batch processing. Thus, a user has the possibility of recording on a memory execution rules which the scheduling plan must respect. The rules can for example relate to sequence orders to be respected (eg treatment A must be executed before treatment B), timetables to be respected (eg treatment C must start before 23h or treatment D must be completed before 2h), resource consumption thresholds to be respected (eg resource consumption 1.1.1 cannot exceed 80%), etc. Such rules can be stored in at least one stored matrix table corresponding to each processing Ti. For example, in order to avoid the simultaneous execution, or overlapping, of two batch processes, a line can be added to each processing matrix, said line no longer containing the consumption of a resource for the time slots but a value identical (for example 99) in the first column for the two or more treatments concerned. This makes it possible to indicate to the control module 90 that, for example, the overlapping of the treatments T1 and T2 is prohibited.

[0163] Les différents modules ou référentiels sont distincts sur la figure 11 mais l’invention peut prévoir divers types d’agencement comme par exemple un seul module cumulant l’ensemble des fonctions décrites ici. De même, ces moyens peuvent être divisés en plusieurs cartes électroniques ou bien rassemblés sur une seule carte électronique.The different modules or repositories are distinct in FIG. 11, but the invention can provide various types of arrangement such as, for example, a single module combining all of the functions described here. Likewise, these means can be divided into several electronic cards or else combined on a single electronic card.

[0164] Le dispositif 1 selon l’invention peut être intégré dans un système informatique et ainsi être apte à communiquer avec un ou plusieurs dispositifs externes tels qu'un clavier, un dispositif de pointage, un affichage, ou tout dispositif permettant à un utilisateur d'interagir avec le dispositif 1. Il faut comprendre que bien que non représenté, d'autres composants matériels et / ou logiciels pourraient être utilisé en conjonction avec un dispositif 1. Ainsi, dans un mode de réalisation de la présente invention, le dispositif 1 peut être couplé à une interface homme machine (IHM). L’IHM, comme déjà abordé, peut être utilisée pour permettre la transmission de paramètres aux dis positifs ou à l’inverse mettre à disposition de l’utilisateur les valeurs des données mesurées ou calculées par le dispositif. De façon générale, ΓΙΗΜ est couplée de manière communicative avec un processeur et elle comprend une interface de sortie utilisateur et une interface d'entrée utilisateur. L'interface de sortie utilisateur peut comprendre une interface d'affichage et de sortie audio et divers indicateurs tels que des indicateurs visuels, des indicateurs audibles et des indicateurs haptiques. L’interface d'entrée utilisateur peut comprendre un clavier, une souris ou un autre module de navigation curseur tel qu'un écran tactile, un pavé tactile, une interface d'entrée de stylet et un microphone pour l'entrée de signaux audibles tels qu'un discours d'utilisateur, des données et des commandes qui peuvent être reconnues par le processeur.The device 1 according to the invention can be integrated into a computer system and thus be able to communicate with one or more external devices such as a keyboard, a pointing device, a display, or any device allowing a user to interact with the device 1. It should be understood that, although not shown, other hardware and / or software components could be used in conjunction with a device 1. Thus, in one embodiment of the present invention, the device 1 can be coupled to a man machine interface (HMI). The HMI, as already discussed, can be used to allow the transmission of parameters to devices or, conversely, to make available to the user the values of the data measured or calculated by the device. Generally, ΓΙΗΜ is communicatively coupled with a processor and it includes a user output interface and a user input interface. The user output interface may include an audio display and output interface and various indicators such as visual indicators, audible indicators and haptic indicators. The user input interface may include a keyboard, mouse or other cursor navigation module such as a touch screen, a touchpad, a stylus input interface and a microphone for inputting audible signals such as user speech, data, and commands that can be recognized by the processor.

[0165] Dans un mode de réalisation de la présente invention, le dispositif 1 peut être couplé à une interface de communication, par exemple une interface réseau de type Ethernet, FiberChannel, InfiniBand ou n'importe quels dispositifs permettant au dispositif 1 de communiquer avec un ou plusieurs autres dispositifs informatiques.In one embodiment of the present invention, the device 1 can be coupled to a communication interface, for example a network interface of the Ethernet, FiberChannel, InfiniBand type or any device allowing the device 1 to communicate with one or more other computing devices.

[0166] En outre, comme cela sera apprécié par l'homme de l'art, des aspects de la présente invention peuvent être réalisés en tant que système, procédé ou produit de programme d'ordinateur. En conséquence, des aspects de la présente invention peuvent prendre la forme d'un mode de réalisation entièrement matériel, d'un mode de réalisation entièrement logiciel (comprenant un micrologiciel, un logiciel résident, un microcode, etc.) ou d’un mode de réalisation particulier tel que comme un circuit, module ou système. En outre, des aspects de la présente invention peuvent prendre la forme d'un produit de programme d'ordinateur incorporé dans un ou plusieurs supports lisibles par ordinateur ayant un code de programme lisible par ordinateur incorporé sur celui-ci.In addition, as will be appreciated by those skilled in the art, aspects of the present invention can be realized as a system, method or product of a computer program. Accordingly, aspects of the present invention may take the form of a fully hardware embodiment, a fully software embodiment (including firmware, resident software, microcode, etc.) or a mode of particular implementation such as as a circuit, module or system. In addition, aspects of the present invention may take the form of a computer program product embedded in one or more computer readable media having a computer readable program code embedded therein.

[0167] Toute combinaison d'un ou plusieurs supports lisibles par ordinateur peut être utilisée. Dans le contexte de ce document, un support lisible par ordinateur peut être n'importe quel support tangible qui peut contenir, ou stocker un programme à utiliser par ou en relation avec un système d'exécution d'instructions, appareil ou dispositif. Un support lisible par ordinateur peut être, par exemple, mais sans s'y limiter, un système, appareil ou dispositif électronique, magnétique, optique, électromagnétique, infrarouge ou semi-conducteur, ou toute combinaison appropriée de ce qui précède. Des exemples plus spécifiques (une liste non exhaustive) du support de stockage lisible par ordinateur comprendraient : un disque dur, une mémoire vive (RAM).Any combination of one or more computer-readable media can be used. In the context of this document, a computer-readable medium can be any tangible medium which can contain, or store a program to be used by or in connection with an instruction execution system, apparatus or device. A computer readable medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, apparatus or device, or any suitable combination of the above. More specific examples (a non-exhaustive list) of computer-readable storage media would include: a hard drive, random access memory (RAM).

[0168] Un code de programme informatique pour effectuer des opérations pour des aspects de la présente invention peut être écrit dans n'importe quelle combinaison d'un ou plusieurs langages de programmation, y compris un langage de programmation orienté objet tel que Java, C ++ ou similaire, le langage de programmation C ou des langages de programmation similaires, un langage de script tel que Perl, ou des langages similaires, et/ou des langages fonctionnels tels que Meta Langage. Le code de programme peut s'exécuter entièrement sur l'ordinateur d’un utilisateur, en partie sur l'ordinateur d’un utilisateur et en partie sur un ordinateur distant ou entièrement sur l'ordinateur ou le serveur distant. Dans ce dernier scénario, l'ordinateur distant peut être connecté à l'ordinateur d’un utilisateur par tout type de réseau, y compris un réseau local (LAN) ou un réseau étendu (WAN).Computer program code for performing operations for aspects of the present invention can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C ++ or similar, the C programming language or similar programming languages, a scripting language such as Perl, or similar languages, and / or functional languages such as Meta Language. Program code can run entirely on a user's computer, partially on a user's computer and partially on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to a user's computer over any type of network, including a local area network (LAN) or a wide area network (WAN).

[0169] Ces instructions de programme d'ordinateur peuvent être stockées sur un support lisible par ordinateur pouvant diriger un dispositif informatique (e.g. ordinateur, serveur...), de sorte que les instructions stockées dans le support lisible par ordinateur produisent un dispositif informatique configuré pour mettre en œuvre l’invention.These computer program instructions can be stored on a computer-readable medium capable of directing a computer device (eg computer, server, etc.), so that the instructions stored in the computer-readable medium produce a computer device. configured to implement the invention.

[0170] Ainsi, la présente invention permet de générer automatiquement un plan de dimensionnement optimisé permettant l’exécution d’un plan d’ordonnancement avec amélioration de l’efficacité d’utilisation de ressources et tout en de préférence respectant une durée maximale d’exécution. Ainsi, des ressources pouvant être essentielles à d’autres applications ne sont monopolisées qu’en faible quantité si d’autres ressources plus disponibles peuvent venir compenser cette réduction. Cela, ainsi que tous ces avantages précédemment décrit contribuent donc à faciliter la gestion d’une infrastructure informatique impliquée dans l’exécution de traitement par lots pour un administrateur SI et à réduire le gaspillage de ressources informatiques.Thus, the present invention makes it possible to automatically generate an optimized sizing plan allowing the execution of a scheduling plan with improvement in the efficiency of use of resources and while preferably respecting a maximum duration of execution. Thus, resources that may be essential for other applications are only monopolized in small quantities if other more available resources can compensate for this reduction. This, as well as all of these advantages described above therefore contribute to facilitating the management of an IT infrastructure involved in the execution of batch processing for an IS administrator and to reducing the waste of IT resources.

Claims (1)

[Revendication 1][Claim 1] RevendicationsClaims Procédé d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique pour l’exécution d’une pluralité de traitements par lots, ladite infrastructure informatique présentant des valeurs de quantités de ressources initiales permettant l’exécution de la pluralité de traitements par lots, ledit procédé étant mis en œuvre par un dispositif d’optimisation comprenant un module de raréfaction de ressources (20), un module d’exécution de traitement par lots (30), un module de collecte de métriques (40), un module de dimensionnement (50), un module de conception (60) de plan d’ordonnancement et un module de mémorisation (95) configuré pour mémoriser des règles de raréfaction et des règles d'exécution, ledit procédé comportant :Method for optimizing a scheduling and sizing plan for an IT infrastructure for the execution of a plurality of batch processes, said IT infrastructure having initial resource quantity values allowing the execution of the plurality batch processing, said method being implemented by an optimization device comprising a resource scarcity module (20), a batch processing execution module (30), a metric collection module (40) , a sizing module (50), a design module (60) of a scheduling plan and a memorization module (95) configured to memorize rarefaction rules and execution rules, said method comprising: - une étape de détermination (300) de durées d’exécution rallongées des traitements par lots de la pluralité de traitements par lots, en fonction de valeurs de quantités de ressources disponibles, comportant :- a step of determining (300) extended execution times of the batch treatments of the plurality of batch treatments, as a function of values of the quantities of available resources, comprising: —la génération (310) sur une infrastructure informatique (2), par le module de raréfaction de ressources (20), d’une consommation contrôlée d’au moins une ressource selon les règles de raréfaction préalablement mémorisées de façon à laisser à disposition de chaque traitement par lots des quantités de ressources disponibles inférieures aux quantités de ressources initiales, —l’exécution (320) sur l’infrastructure informatique (2), par le module d’exécution de traitement par lots (30), de chacun des traitements par lots de la pluralité de traitements par lots, et — une étape de mesure (330), par le module de collecte de métriques (40), de durées d’exécution rallongées en fonction de valeurs de quantité de ressources disponibles pour chacun des traitements par lots ;The generation (310) on an IT infrastructure (2), by the resource scarcity module (20), of a controlled consumption of at least one resource according to the scarcity rules previously stored so as to leave available to each batch processing of the quantities of available resources smaller than the quantities of initial resources, the execution (320) on the IT infrastructure (2), by the batch processing execution module (30), of each of the treatments in batches of the plurality of batch treatments, and - a measurement step (330), by the metric collection module (40), of extended execution times as a function of values of the quantity of resources available for each of the treatments in batches; - une étape de génération (400), par le module de dimensionnement (50), d’au moins un plan de dimensionnement optimisé, ladite étape de génération comportant la sélection (430), parmi les valeurs de quantité de ressources disponibles, de valeurs de quantité de ressources attribuées à l’au moins un plan de dimensionnement optimisé ; et - une étape de calcul (500), par le module de conception (60) de plan d’ordonnancement, à partir des durées d’exécution rallongées associées aux valeurs de quantité de ressources attribuées, d'un plana generation step (400), by the sizing module (50), of at least one optimized sizing plan, said generation step comprising the selection (430), from the values of quantity of available resources, of values quantity of resources allocated to the at least one optimized sizing plan; and - a step of calculation (500), by the design module (60) of a scheduling plan, from the extended execution times associated with the values of quantity of allocated resources, of a plan d’ordonnancement respectant les règles d'exécution. scheduling respecting the rules of execution. [Revendication 2] [Claim 2] Procédé d’optimisation selon la revendication 1, caractérisé en ce que l’étape de génération (400) comprend la suppression (416) des valeurs de quantité de ressources disponibles pour lesquelles la durée d’exécution rallongée d’un des traitements par lots est supérieure à une valeur d’exécution maximale prédéterminée dudit traitement par lots. Optimization method according to claim 1, characterized in that the generation step (400) comprises the deletion (416) of the quantity values of available resources for which the extended execution time of one of the batch processes is greater than a predetermined maximum execution value of said batch processing. [Revendication 3] [Claim 3] Procédé d’optimisation selon la revendication 1 ou 2, caractérisé en ce que l’étape de génération (400) comprend le calcul (420), pour chaque valeur de quantité de ressources disponibles, d’une valeur d’efficacité d’utilisation des ressources, ledit calcul étant fonction des valeurs de quantité de ressources initiales, de coefficients de pondération prédéterminés et des durées d’exécution rallongées mesurées des traitements par lots, et en ce que pour la sélection (430) de valeurs de quantité de ressources attribuées à l’au moins un plan de dimensionnement optimisé, lesdites valeurs de quantité de ressources attribuées sont des valeurs de quantité de ressources disponibles permettant une valeur d’efficacité d’utilisation des ressources maximale. Optimization method according to claim 1 or 2, characterized in that the generation step (400) comprises the calculation (420), for each value of quantity of available resources, of a value of efficiency of use of the resources, said calculation being a function of the values of quantity of initial resources, of predetermined weighting coefficients and of the extended execution times measured by batch processing, and in that for the selection (430) of values of quantity of resources allocated to the at least one optimized dimensioning plan, said values of quantity of resources allocated are values of quantity of available resources allowing a value of maximum resource use efficiency. [Revendication 4] [Claim 4] Procédé d’optimisation selon l’une des revendications précédentes, caractérisé en ce que l’étape de génération (400) comprend le calcul (415), pour chaque valeur de quantité de ressources disponibles, d’une durée d’exécution globale de la pluralité de traitements par lots, ledit calcul étant fonction des valeurs de quantité de ressources disponibles et des durées d’exécution rallongées mesurées des traitements par lots, et en ce que pour la sélection (430) de valeurs de quantité de ressources attribuées à l’au moins un plan de dimensionnement optimisé, lesdites valeurs de quantité de ressources attribuées sont des valeurs minimales de quantité de ressources permettant une valeur de durée d’exécution globale de la pluralité de traitements par lots inférieure à une valeur de durée d’exécution globale maximale prédéterminée. Optimization method according to one of the preceding claims, characterized in that the generation step (400) comprises the calculation (415), for each value of quantity of available resources, of an overall execution time of the plurality of batch treatments, said calculation being a function of the values of quantity of available resources and of the extended execution times measured for batch treatments, and in that for the selection (430) of values of quantity of resources allocated to the at least one optimized sizing plan, said values of quantity of resources allocated are minimum values of quantity of resources allowing an overall execution time value of the plurality of batch operations to be less than a maximum global execution time value predetermined. [Revendication 5] [Claim 5] Procédé d’optimisation selon l’une des revendications précédentes, caractérisé en ce qu’il comporte : - une étape de génération (100) d’un premier plan de dimensionnement comportant une étape (110) d’acquisition de données, par un module d’acquisition (10), comportant l’acquisition de règles d’exécution mémorisées, et d’une empreinte sur une pluralité de ressources initiales de chaque traitement par lots ; une étape (120) de calcul, par le module de dimensionnement (50), comportant, en fonction de l’empreinte sur une pluralité de ressources Optimization method according to one of the preceding claims, characterized in that it comprises: a step of generation (100) of a first dimensioning plan comprising a step (110) of data acquisition, by an acquisition module (10), comprising the acquisition of stored execution rules, and d '' a footprint on a plurality of initial resources of each batch processing; a calculation step (120), by the sizing module (50), comprising, as a function of the footprint on a plurality of resources
de chaque traitement par lots et selon un plan d’ordonnancement respectant les règles d’exécution mémorisées, le calcul de valeurs maximales de consommation de ressources par période par les traitements par lots, et - une étape de définition (130) d’un premier plan de dimensionnement d’une infrastructure informatique (2), par le module de dimensionnement (50), en fonction des valeurs maximales de consommation de ressources par périodes calculées, ledit premier plan de dimensionnement comportant des premières valeurs de quantité de ressources attribuées. of each batch processing and according to a scheduling plan respecting the stored execution rules, the calculation of maximum resource consumption values per period by the batch processing, and a step of defining (130) a first dimensioning plan of an IT infrastructure (2), by the dimensioning module (50), as a function of the maximum values of resource consumption by calculated periods, said first plan sizing comprising first values of quantity of resources allocated. [Revendication 6] [Claim 6] Procédé d’optimisation selon l’une quelconque des revendications précédentes, caractérisé en ce que lors de l’étape de génération (400), le procédé comporte la génération (440) d’une pluralité de plan de dimensionnements optimisés. Optimization method according to any one of the preceding claims, characterized in that during the generation step (400), the method comprises the generation (440) of a plurality of optimized dimensioning plans. [Revendication 7] [Claim 7] Procédé d’optimisation selon l’une quelconque des revendications précédentes, caractérisé en ce qu’il comprend la mesure (101), par le module (40) de collecte de métriques, d’une empreinte de chacun des traitements par lots et l’identification (102), par le module (50) de dimensionnement, des ressources critiques pour chacun des traitements par lots. Optimization method according to any one of the preceding claims, characterized in that it comprises the measurement (101), by the metric collection module (40), of an imprint of each of the batch treatments and the identification (102), by the sizing module (50), of the critical resources for each of the batch processes. [Revendication 8] [Claim 8] Procédé d’optimisation selon l’une quelconque des revendications précédentes, caractérisé en ce qu’il comprend en outre une étape de vérification (600) du respect du plan d’ordonnancement calculé, ladite étape comprenant : - l’exécution (620), par le module d’exécution de traitement par lots (30) et sur une infrastructure informatique dont les ressources disponibles correspondent au plan de dimensionnement optimisé, de la pluralité de traitements par lots selon le plan d’ordonnancement, - la mesure (630), par le module de collecte de métriques (40), de paramètres d’exécution du plan d’ordonnancement calculé, et - la comparaison (640), par un module de contrôle (90), des paramètres mesurés d’exécution du plan d’ordonnancement calculé avec des paramètres prédéterminés d’exécution d’un plan d’ordonnancement. Optimization method according to any one of the preceding claims, characterized in that it further comprises a verification step (600) of compliance with the calculated scheduling plan, said step comprising: - the execution (620), by the batch processing execution module (30) and on an IT infrastructure whose available resources correspond to the optimized dimensioning plan, of the plurality of batch treatments according to the scheduling plan , - the measurement (630), by the metric collection module (40), of parameters for executing the calculated scheduling plan, and - Comparison (640), by a control module (90), of the measured parameters of execution of the scheduling plan calculated with predetermined parameters of execution of a scheduling plan. [Revendication 9] [Claim 9] Procédé d’optimisation selon l’une quelconque des revendications 1 à 8, caractérisé en ce qu’il comprend en outre une étape de modification (700) supplémentaire du plan de dimensionnement optimisé si au moins un des paramètres prédéterminés d’exécution du plan d’ordonnancement calculé suivants n’est pas respecté : règle d’exécution, durée maximale Optimization method according to any one of claims 1 to 8, characterized in that it further comprises a further modification step (700) of the optimized dimensioning plan if at least one of the predetermined parameters for executing the plan d following scheduling is not respected: execution rule, maximum duration
prédéterminée d’exécution d’un traitement par lots et durée globale maximale prédéterminée du plan d’ordonnancement.predefined execution of batch processing and predetermined maximum overall duration of the scheduling plan. [Revendication 10] Dispositif d’optimisation (1) d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informatique (2) pour l’exécution d’une pluralité de traitements par lots, ladite infrastructure informatique présentant des valeurs de quantités de ressources initiales permettant l’exécution de la pluralité de traitements par lots, ledit dispositif comportant :[Claim 10] Optimization device (1) of a scheduling and sizing plan for an IT infrastructure (2) for the execution of a plurality of batch processes, said IT infrastructure having quantity values initial resources allowing the execution of the plurality of batch treatments, said device comprising: - un module de mémorisation (95) configuré pour mémoriser des règles de raréfaction et des règles d'exécution,a storage module (95) configured to store rarefaction rules and execution rules, - un module (20) de raréfaction de ressources configuré pour générer, sur une infrastructure informatique, une consommation contrôlée d’au moins une ressource selon les règles de raréfaction préalablement mémorisées de façon à laisser à disposition d’un traitement par lots une quantité de ressources disponible inférieure à une quantité de ressources initiale,- a resource scarcity module (20) configured to generate, on an IT infrastructure, a controlled consumption of at least one resource according to the scarcity rules previously memorized so as to leave a quantity of batch available for processing available resources less than an initial amount of resources, - un module (30) d’exécution de traitement par lots configuré pour exécuter, sur l’infrastructure informatique, chacun des traitements par lots de la pluralité de traitements par lots,- a batch processing execution module (30) configured to execute, on the IT infrastructure, each of the batch treatments of the plurality of batch treatments, - un module (40) de collecte de métriques configuré pour mesurer des durées d’exécution rallongées en fonction de valeurs de quantité de ressources disponibles pour chacun des traitements par lots, - un module (50) de dimensionnement configuré pour sélectionner des valeurs de quantité de ressources attribuées à un plan de dimensionnement optimisé de façon à générer au moins un plan de dimensionnement optimisé, lesdites valeurs de quantité de ressources attribuées étant sélectionnées parmi les valeurs de quantité de ressources disponibles pour lesquelles les durées d’exécution rallongées des traitements par lots sont inférieures à des durées d’exécution maximales prédéterminées, et- a metric collection module (40) configured to measure extended execution times as a function of quantity values of resources available for each of the batch processes, - a sizing module (50) configured to select quantity values of resources allocated to an optimized sizing plan so as to generate at least one optimized sizing plan, said values of quantity of resources allocated being selected from the values of quantity of resources available for which the extended execution times of the batch operations are less than predetermined maximum execution times, and - un module (60) de conception de plan d’ordonnancement configuré pour calculer, à partir des durées d’exécution rallongées associées aux valeurs de quantité de ressources attribuées, un plan d’ordonnancement respectant les règles d’exécution mémorisées.- a scheduling module design module (60) configured to calculate, from the extended execution durations associated with the quantity values of allocated resources, a scheduling plan respecting the stored execution rules.
FR1874426A 2018-10-17 2018-12-31 Process for optimizing a scheduling plan and the sizing of an IT infrastructure Active FR3091376B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1874426A FR3091376B1 (en) 2018-12-31 2018-12-31 Process for optimizing a scheduling plan and the sizing of an IT infrastructure
EP19203879.2A EP3640800A1 (en) 2018-10-17 2019-10-17 Method for improving the efficiency of use of the resources of an infrastructure designed to execute a scheduling plan

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1874426A FR3091376B1 (en) 2018-12-31 2018-12-31 Process for optimizing a scheduling plan and the sizing of an IT infrastructure

Publications (2)

Publication Number Publication Date
FR3091376A1 true FR3091376A1 (en) 2020-07-03
FR3091376B1 FR3091376B1 (en) 2020-12-11

Family

ID=66867348

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1874426A Active FR3091376B1 (en) 2018-10-17 2018-12-31 Process for optimizing a scheduling plan and the sizing of an IT infrastructure

Country Status (1)

Country Link
FR (1) FR3091376B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012125144A1 (en) * 2011-03-11 2012-09-20 Joyent, Inc. Systems and methods for sizing resources in a cloud-based environment
EP2975526A1 (en) 2014-07-17 2016-01-20 Bull Sas Method for producing controlled disturbances of the activity of an automated processing device during an application testing scenario
EP3113022A1 (en) 2015-07-02 2017-01-04 Bull S.A.S. Batch-processing scheduling mechanism
FR3061784A1 (en) * 2017-01-12 2018-07-13 Bull Sas METHOD FOR EVALUATING THE PERFORMANCE OF AN APPLICATION CHAIN IN A COMPUTER INFRASTRUCTURE

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012125144A1 (en) * 2011-03-11 2012-09-20 Joyent, Inc. Systems and methods for sizing resources in a cloud-based environment
EP2975526A1 (en) 2014-07-17 2016-01-20 Bull Sas Method for producing controlled disturbances of the activity of an automated processing device during an application testing scenario
EP3113022A1 (en) 2015-07-02 2017-01-04 Bull S.A.S. Batch-processing scheduling mechanism
FR3061784A1 (en) * 2017-01-12 2018-07-13 Bull Sas METHOD FOR EVALUATING THE PERFORMANCE OF AN APPLICATION CHAIN IN A COMPUTER INFRASTRUCTURE

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EMAD HEYDARI BENI ET AL: "Adaptive and reflective middleware for the cloudification of simulation & optimization workflows", PROCEEDINGS OF THE 16TH WORKSHOP ON ADAPTIVE AND REFLECTIVE MIDDLEWARE , ARM '17, 1 January 2017 (2017-01-01), New York, New York, USA, pages 1 - 6, XP055612720, ISBN: 978-1-4503-5168-3, DOI: 10.1145/3152881.3152883 *
KE LIU ET AL: "A Compromised-Time-Cost Scheduling Algorithm in SwinDeW-C for Instance-Intensive Cost-Constrained Workflows on a Cloud Computing Platform", INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS, vol. 24, no. 4, 24 May 2010 (2010-05-24), US, pages 445 - 456, XP055612716, ISSN: 1094-3420, DOI: 10.1177/1094342010369114 *

Also Published As

Publication number Publication date
FR3091376B1 (en) 2020-12-11

Similar Documents

Publication Publication Date Title
JP6952719B2 (en) Correlation between thread strength and heap usage to identify stack traces that are accumulating heaps
US9389916B1 (en) Job scheduling management
EP3113025B1 (en) Automatic diagnostic mechanism using information from an application monitoring system
US20190004891A1 (en) Automated hardware failure prediction framework
FR3000578A1 (en) SHARED CALCULATION SYSTEM AND METHOD USING AUTOMATED SUPPLY OF HETEROGENEOUS COMPUTER RESOURCES
EP3113022B1 (en) Batch-processing scheduling mechanism
US10206618B2 (en) Optimized visibility for sleep sessions over time
EP3506094A1 (en) System and method to optimize the scheduling of batch processes
US20230206072A1 (en) System and method for generating scores for predicting probabilities of task completion
EP3620928A1 (en) Device and method for analysing the behaviour of an application component subject to increasing scarcity of resources
FR3091376A1 (en) Method for optimizing a scheduling plan and the sizing of a computer infrastructure
EP3767474B1 (en) Method for analysing resource consumption of a computer infrastructure, alert and sizing
EP3640800A1 (en) Method for improving the efficiency of use of the resources of an infrastructure designed to execute a scheduling plan
US8543550B2 (en) Prioritized digital media archiving
FR3087556A1 (en) METHOD FOR IMPROVING THE EFFICIENCY OF USE OF THE RESOURCES OF AN INFRASTRUCTURE FOR IMPLEMENTING A SCHEDULING PLAN
FR3087282A1 (en) METHOD FOR OPTIMIZING THE MINIMUM SIZING OF AN INFRASTRUCTURE FOR IMPLEMENTING A SCHEDULING PLAN
EP3617888B1 (en) Device and method for optimising the use over time of the resources of a computer infrastructure
US11119734B2 (en) Software detection and modification
EP3767475A1 (en) Device and method for analysing the performance of a web application
EP3483733B1 (en) Method and apparatus for searching for a resource optimisation margin of a business chain
US20150269510A1 (en) Workload determination for information technology service events
FR3071335A1 (en) METHOD AND SYSTEM FOR OPTIMIZING THE ORDERING OF BATCH PROCESSES
US11609837B2 (en) Calibration technique using computer analysis for ascertaining performance of containers
FR3069933B1 (en) METHOD FOR VALIDATION OF MUTUALIZATION OF APPLICATION BRICKS ON A COMPUTER INFRASTRUCTURE
US20240193649A1 (en) Task automation and scheduling

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20200703

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6