FR3071335A1 - Procede et systeme pour l'optimisation de l'ordonnancement de traitements par lots - Google Patents

Procede et systeme pour l'optimisation de l'ordonnancement de traitements par lots Download PDF

Info

Publication number
FR3071335A1
FR3071335A1 FR1758704A FR1758704A FR3071335A1 FR 3071335 A1 FR3071335 A1 FR 3071335A1 FR 1758704 A FR1758704 A FR 1758704A FR 1758704 A FR1758704 A FR 1758704A FR 3071335 A1 FR3071335 A1 FR 3071335A1
Authority
FR
France
Prior art keywords
batch processing
time
scheduling
execution
batch
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
FR1758704A
Other languages
English (en)
Other versions
FR3071335B1 (fr
Inventor
Bruno DEMEILLIEZ
Christophe Germain
Jose Ignacio Alvarez Marcos
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 SA
Original Assignee
Bull SA
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 SA filed Critical Bull SA
Priority to FR1758704A priority Critical patent/FR3071335B1/fr
Publication of FR3071335A1 publication Critical patent/FR3071335A1/fr
Application granted granted Critical
Publication of FR3071335B1 publication Critical patent/FR3071335B1/fr
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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

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)

Abstract

L'invention porte sur un procédé de gestion dynamique de l'ordonnancement de traitements par lots pour une infrastructure informatique (4) comportant une pluralité de machines, permettant d'adapter dans le temps l'ordonnancement de traitements par lot, caractérisé en ce qu'il comporte : - une étape (200) de définition et de mémorisation d'une pluralité de périodes de temps dans une unité temporelle (10), - une étape (500) de construction, pour chacune desdites périodes de temps mémorisée, d'un ordonnancement de traitements par lots, de façon à générer, via un module de conception de plan d'exécution (50), un catalogue de plan d'exécution comportant une pluralité d'ordonnancement de traitements par lots, et - une étape (700) de sélection, dans ledit catalogue de plan d'exécution, d'un ordonnancement adapté de traitements par lots.

Description

PROCEDE ET SYSTEME POUR L’OPTIMISATION DE L’ORDONNANCEMENT DE TRAITEMENTS PAR LOTS [0001] La présente invention concerne le domaine des traitements par lots et plus particulièrement de l’optimisation de leur ordonnancement. L’invention porte notamment sur un procédé de gestion dynamique de l’ordonnancement de traitements par lots sur une infrastructure informatique comportant une pluralité de machines et un système apte à mettre en oeuvre ce procédé.
fArt antérieur!
[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). Étant donné que les traitements par lots nécessitent souvent des calculs intensifs, ils sont généralement mis en attentes 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. II est ainsi très fréquent que, pour des raisons pratiques ou économiques, ces traitements soient planifiés la nuit, les fins de semaine ou durant des périodes de faible activité métier.
[0003] En général, les traitements par lots sont réalisés régulièrement (par exemple tous les jours ou toutes les semaines) et l'ordre de priorité d'exécution des traitements par lots (i.e. l’ordonnancement) est généralement géré par un programmateur de traitement par lots. Cet ordonnancement des traitements par lots permet d’éviter les problèmes d’accès concurrents à des données, de respecter des règles de précédences (la sortie d’un « batch «-terme anglais est utilisée en entrée d’un autre) ou pour lisser la charge applicative de façon à ce que les traitements soient terminés dans la fenêtre de temps allouée. Cependant, 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. II est donc nécessaire de mettre en place une planification visant à optimiser l’exécution de ces traitements par lots de façon ce qu’ils soient terminés dans les temps impartie et qu’ils n’entrainent par une saturation des ressources disponibles. En effet, il s’agit souvent de traitements longs et critiques qu’il convient particulièrement de surveiller afin de garantir le bon fonctionnement de l’application pendant les horaires « humains « d’utilisation de [0554-BULL13] l’application. En effet, dans certains cas, la production doit être arrêtée si les traitements n’ont pas pu se réaliser en temps voulu.
[0004] Il est connu des planificateurs de traitement par lots (« batch scheduler >> en anglais). Il existe notamment une solution consistant à optimiser le positionnement dans le temps des traitements par lots en fonction de leur fréquence. Il existe aussi 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. 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. Néanmoins, ces mécanismes d’ordonnancement ne sont pas en mesure de s’adapter à des variations de conditions, notamment à des variations de volumes de données à traiter.
[0005] En effet, il existe une saisonnalité non prise en compte par les mécanismes d’ordonnancement classiques des traitements par lot. La présente invention a pour objet de tenir compte de la saisonnalité que connaissent les traitements par lots. En effet, selon la période de l’année les volumes de données qu’ils ont à traiter peuvent varier fortement. De plus, on peut également assister à des tendances (« trend >> en anglais) dans l’évolution de ces quantités de données à traiter. Toutes ces évolutions ont un impact non seulement sur le temps d’exécution des traitements, mais également sur le niveau de ressources utilisé.
[0006] Ainsi, il existe un besoin pour de nouveaux procédés ou systèmes pour la planification d’ordonnancement de traitement par lots capables d’optimiser de façon dynamique l’ordonnancement des traitements par lots.
[Problème techniquel [0007] L’invention a donc 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’ordonnancement des traitements par lots capable de s’adapter à la charge (e.g. au volume de données à traiter, saisonnalité) de façon à proposer un ordonnancement toujours optimisé malgré la variation des quantités de données à traiter ou de ressources disponibles, que ces variations soient ou non prévues initialement lors de la mise en oeuvre du procédé.
[0008] L’invention a en outre pour but de proposer un système capable de mettre en oeuvre un procédé d’ordonnancement des traitements capable de s’adapter notamment à la saisonnalité des volumes de données à traiter.
[0554-BULL13] [Brève description de l’inventionl [0009] A cet effet, l’invention porte sur un procédé de gestion dynamique de l’ordonnancement de traitements par lots pour une infrastructure informatique comportant une pluralité de machines, permettant d’adapter dans le temps l’ordonnancement de traitements par lot, ledit procédé comportant :
- une étape de définition et de mémorisation d’une pluralité de périodes de temps dans une unité temporelle,
- une étape de construction, pour chacune desdites périodes de temps mémorisée, d’un ordonnancement de traitements par lots, de façon à générer, via un module de conception de plans d’exécution, un catalogue de plans d’exécution comportant une pluralité d’ordonnancement de traitements par lots, et
- une étape de sélection, dans ledit catalogue de plans d’exécution, d’un ordonnancement adapté de traitements par lots.
[0010] Le procédé permet d’adapter dans le temps l’ordonnancement de traitements par lot. Ainsi l’invention présente l’avantage de pouvoir s’adapter à la saisonnalité qui peut être observée sur les traitements par lots. En effet, la génération de plusieurs ordonnancements permet de créer un catalogue au sein duquel pourra être sélectionné le plan d’exécution, ou ordonnancement, le plus adapté à la situation.
[0011] En outre, la génération de plusieurs ordonnancements permet de ne pas avoir à calculer à nouveau tous les jours de nouveaux ordonnancements optimisés ce qui serait très consommateur de ressources et de temps. Dans le cadre du procédé selon l’invention, il est seulement nécessaire de sélectionner le plan le plus adapté au sein d’un catalogue de plans. Ainsi, la présente invention se présente comme un procédé permettant de moduler dans le temps l’optimisation des plannings de traitements par lots de façon à pouvoir réagir à des changements de situation (e.g. augmentation du volume de données à traiter, réduction de ressources, réduction du temps alloué...).
[0012] Selon d’autres caractéristiques optionnelles du procédé :
- l’étape de définition d’une pluralité de périodes de temps est réalisée à partir : de valeurs de volumes de données devant être traités par les traitements par lots en fonction du temps, de valeurs de consommation en ressource mesurée en fonction du temps et/ou d’informations provenant des activités métiers.
- le procédé comprend en outre une étape de détection de début d’une nouvelle période de temps telle que mémorisée dans l’unité temporelle et en cas de détection d’une [0554-BULL13] nouvelle période de temps, ledit procédé comprend une étape de sélection, dans ledit catalogue de plans d’exécution, d’un nouvel ordonnancement adapté de traitements par lots correspondant à la nouvelle période de temps. Cela permet au procédé de faire évoluer l’ordonnancement en fonction d’un calendrier préétabli.
- il comprend une étape de détection d’une déviation pour au moins un traitement par lots. Cette étape peut permettre d’identifier une phase de vie d’au moins un traitement par lots telle qu’une montée en charge, un fonctionnement nominal ou encore une phase de décroissance. Ainsi, suite à une telle détection de déviation, il est possible de modifier l’ordonnancement de façon à utiliser au mieux l’ensemble des ressources disponibles et de réduire les temps de traitements.
- l’étape de détection d’une déviation pour au moins un traitement par lots, comporte une mesure du volume de données traitées par au moins un traitement par lots à un instant t, et une comparaison du volume de données traitées à un temps t par rapport à au moins une valeur de volume de données traitées préalablement enregistrée. Ici, la déviation ou phase de vie est détectée sur la base d’une modification du volume de données traitées ou à traiter. En effet, lorsque ces informations sont disponibles par exemple via une mesure sur l’infrastructure informatique ou via une information générée par l’utilisateur (e.g. prévision d’augmentation d’activité liée à des ouvertures de nouvelles agences), elles permettent de définir avec précision l’ampleur de la déviation et permet de plus facilement définir les mesures correctives.
- l’étape de détection d’une déviation pour au moins un traitement par lots, comporte une mesure de la valeur de consommation en ressources d’au moins un traitement par lots à un temps t, et une comparaison de la valeur de consommation en ressources d’au moins un traitement par lots à un temps t par rapport à au moins une valeur de consommation en ressources préalablement enregistrée. La déviation ou phase de vie est détectée sur la base d’une augmentation ou d’une diminution de la consommation en ressource et peut retranscrire directement l’impact de la déviation sur l’infrastructure informatique. La mesure peut concerner la consommation en ressource globale sur les machines composant l’infrastructure informatique. Alternativement, le procédé comporte une étape d’évaluation de la sévérité d’une déviation lors de laquelle les ressources dont la consommation est en augmentation sont comparées aux ressources critiques de façon à identifier un niveau de sévérité élevé lorsque les ressources dont la consommation est en augmentation sont également des ressources critiques. Ainsi, cela permet de juger alors au mieux de la sévérité de la déviation. La liste des ressources critiques peut par exemple être enregistrée dans un référentiel de ressources critiques.
[0554-BULL13]
- en cas de détection d’une déviation pour au moins un traitement par lots, ledit procédé comporte en outre une étape de sélection d’un nouvel ordonnancement de traitements par lots dans le catalogue de plans d’exécution ou une étape d’adaptation de ordonnancement de traitements par lots exécuté de façon à intégrer la déviation pour l’au moins un traitement par lots. Cette étape permet au procédé une amélioration de la gestion dynamique et une adaptation encore plus fine aux tendances (« trends » en anglais) subies par l’infrastructure informatique.
- il comporte en outre une étape d’acquisition, pour chacune desdites périodes de temps mémorisées, d’une empreinte de chaque traitement par lots pour chaque machine impactée par le traitement par lot, par une unité ressources ; une étape de mémorisation de règles d’exécution et de niveaux de consommations attendus pour chacune desdites périodes de temps mémorisées, par une unité réglementaire ; de plus l’étape de construction d’un ordonnancement de traitements par lots, pour chacune desdites périodes de temps mémorisées, est réalisée à partir des empreintes de chaque traitement et dans le respect des règles d’exécution enregistrées ainsi que des niveaux de consommation attendus enregistrés.
- il comporte en outre une étape de transmission de l’ordonnancement de traitements par lots sélectionné, à au moins une machine de l’infrastructure informatique pour son exécution par un logiciel.
[0013] L’invention porte en outre sur un système pour la gestion dynamique de l’ordonnancement des traitements par lots comprenant au moins une machine informatique et un logiciel pour mettre en oeuvre un procédé de gestion dynamique d’ordonnancement de traitements par lots pour une infrastructure informatique comportant une pluralité de machines, ledit système permettant d’adapter dans le temps l’ordonnancement de traitements par lot, ledit système comportant :
- une unité temporelle apte à stocker des informations temporelles et à définir une pluralité de périodes de temps, avantageusement l’unité temporelle est apte à définir les périodes de temps sur la base de volumes de données devant être traités par les traitements par lot,
- un module de conception de plans d’exécution, apte à construire un ordonnancement de traitements par lots, pour chacune desdites périodes de temps mémorisée dans l’unité temporelle,
- un catalogue de plans d’exécution optimisés, apte à stocker une pluralité d’ordonnancements de traitements par lots, et [0554-BULL13]
- un module de sélection de plan d’exécution, apte à sélectionner un ordonnancement de traitements par lots adapté.
[0014] 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 qui représentent :
• Figure 1, un calendrier de la consommation en ressource de deux traitement par lots sur les mois de janvier (J), février (F), mars (M) et avril (A) ;
• Figure 2, une représentation schématique d’un procédé d’optimisation de l’ordonnancement de traitements par lots selon l’invention. Les étapes encadrées par des pointillés sont facultatives ;
• Figure 3, un calendrier de la consommation en ressource de deux traitement par lots sur les mois de janvier (J) et février (F) faisant apparaître le découpage du premier traitement par lots en deux catégories (a1 et a2), le découpage du second traitement par lots en trois catégories (b1, b2 et b3) et une pluralité de périodes de temps (o1, o2, o3 et o4) pouvant chacune faire l’objet d’un ordonnancement de traitement par lots optimisé ;
• Figure 4, une représentation schématique d’un mode de réalisation de l’étape d’acquisition, pour chacune desdites périodes de temps définies, d’une empreinte de chaque traitement par lots pour chaque machine impactée par le traitement par lots ;
• Figure 5, une représentation schématique de la construction des plans d’exécution selon l’invention ;
• Figure 6, une représentation schématique du procédé de gestion dynamique selon l’invention ;
• Figure 7, une vue schématique du système de gestion dynamique d’ordonnancement de traitement par lots selon un mode de réalisation de l’invention.
[Description de l’invention] [0015] Dans la suite de la description, un «traitement par lots » (batch processing en anglais) est un enchaînement automatique d’une suite de commandes (processus) sur un [0554-BULL13] ordinateur sans intervention d’un opérateur. Une fois que ce processus est terminé (généralement quel que soit le résultat) l’ordinateur traite le lot suivant. 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, notamment pour la gestion des comptes sur le parc informatique d’une entreprise. Les travaux lancés en lots n’utilisent généralement que les cycles processeur non utilisés par les travaux interactifs tels que les traitements des applications métiers. Un traitement par lots 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.
[0016] L’« ordonnancement» ou « plan d’exécution » au sens de l’invention 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.
[0017] Le terme «empreinte» au sens de l’invention correspond à un ensemble d’information sur la consommation en ressources d’un traitement par lots ou la disponibilité en ressources d’une machine (pour l’empreinte à vide).
[0018] On entend par « ressource », des paramètres, des capacités ou des fonctions de dispositifs informatiques permettant le fonctionnement d’un traitement par lots 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 lots. Une ressource est généralement associée à un identifiant unique permettant de l’identifier au sein d’une structure informatique. Par exemple, le terme « ressource » peut inclure : des disques réseaux caractérisé 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, ou de façon plus globale le temps de latence d’un processus ou les pertes de paquets.
[0019] Par «ressource critique», on entend au sens de l’invention une ressource pour laquelle le taux d’utilisation, durant les traitements par lots, dépasse, ou présente une forte probabilité (e.g. >80%) de dépasser un seuil prédéterminé d’utilisation maximum. Une ressource critique est une ressource présentant un risque important de survenu de dysfonctionnement, notamment en cas d’augmentation du volume de données à traiter.
[0554-BULL13] [0020] Par « ressources dont la consommation est en augmentation », il faut comprendre au sens de l’invention les ressources pour lesquelles la valeur de consommation d’au moins un traitement par lots à un temps t est supérieure à une valeur de consommation préalablement enregistrée. De façon préférée, cela correspond aux ressources pour lesquelles la valeur de consommation de l’ensemble des traitements par lots à un temps t est supérieure à une valeur de consommation préalablement enregistrée pour l’ensemble des traitements par lots.
[0021] Par « infrastructure informatique », on entend au sens de l’invention un ensemble de structures informatiques (i.e. dispositifs informatiques) ou de machines apte à faire fonctionner une ou plusieurs applications métiers ou chaînes applicatives. La structure informatique peut être un serveur ou comporter une pluralité de machines. Elle est utilisée pour mettre en oeuvre (exécuter) l’ordonnancement des traitements par lots.
[0022] 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 faire remonter vers un équipement informatique des mesures destinées à informer entre autres de l’état de fonctionnement des ressources ou de la consommation de ressources.
[0023] Par « seuil prédéterminé d’utilisation maximum », on entend au sens de l’invention une valeur maximale de paramètre associé à chaque ressource permettant un bon fonctionnement de ladite ressource. Par exemple, cela correspond aux limites maximales acceptables de consommations de ressources pour une structure informatique hébergeant un ou plusieurs traitements par lots. Ces limites peuvent être réelles ou hypothétiques et correspondent généralement un niveau d’utilisation au-delà duquel des dysfonctionnements peuvent survenir et ayant pour conséquence un arrêt de la ressource, de la structure informatique ou bien à tout le moins des baisses de qualités de service.
[0024] Le terme « dysfonctionnement >> au sens de l’invention correspond à la survenue d’un incident matériel ou d’une congestion sur la structure informatique hébergeant un traitement par lots.
[0025] 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 [0554-BULL13] touchés par le doigt ou un objet et éventuellement avec la possibilité d’afficher un clavier virtuel.
[0026] Dans la suite de la description, les mêmes références sont utilisées pour désigner les mêmes éléments.
[0027] La Figure 1 illustre la consommation de ressources, ici le taux d’occupation du CPU, en fonction du temps (jours calendaire), par des processus de traitements par lots hébergés par une infrastructure informatique. Les consommations de deux traitements par lots sont représentées. Il est possible d’observer la saisonnalité sur ces deux traitements par lots. Le premier traitement par lots représenté en ligne continue pourrait correspondre à un traitement par lots de données relatives aux fiches de paie. Ainsi, la consommation en ressource est plus forte durant les périodes de fin et de début de mois avec une certaine stabilité en cours de mois. Le second traitement par lots représenté en ligne pointillée pourrait correspondre à un traitement par lots de données relatives à la gestion de temps pour laquelle les instructions préconisent un traitement en fin de semaine avec une consolidation de chaque trimestre en milieu de mois suivant. Ainsi, la consommation en ressource est plus forte en fin de semaine avec une forte consommation en milieu de mois de janvier (J) et d’avril (A).
[0028] Cette figure illustre la saisonnalité à laquelle sont confrontés les outils de gestion de l’ordonnancement des traitements par lots. D’autres cas de figure existent où il peut être par exemple observé une certaine baisse d’activité le mercredi, ou une hausse d’activité suite aux fin de trimestres et semestres. Un seul plan d’exécution étalé sur l’année prenant en compte cette saisonnalité serait très statique et ne pourrait prendre en compte des changements dans le volume de données à traiter. Pourtant de tels changements peuvent être fréquents et il est nécessaire de pouvoir proposer une gestion dynamique de l’ordonnancement.
[0029] Ainsi, les inventeurs ont développé un nouveau procédé de gestion dynamique de l’ordonnancement de traitements par lots sur une infrastructure informatique comportant une pluralité de machines. Ce procédé permet avantageusement d’adapter dans le temps l’ordonnancement de traitements par lot. La figure 2 illustre schématiquement un procédé de gestion dynamique de l’ordonnancement selon l’invention.
[0030] Comme cela est présenté dans la figure 2, le procédé de gestion selon l’invention comprend une première étape 200 de définition d’une pluralité de périodes de temps. Cette étape peut être réalisée par une unité temporelle 10 qui sera présentée par la suite.
[0554-BULL13] [0031] En effet, de façon à permettre une gestion dynamique de l’ordonnancement, il est avantageux de subdiviser le temps en une pluralité de périodes où chaque période présente un ordonnancement optimisé donné. Ainsi, de préférence, les périodes de temps sont inscrites dans un fichier d’une unité temporelle 10 dans un référentiel calendaire. Par exemple, les périodes de temps sont inscrites dans le fichier en fonction du temps dans un référentiel de journée calendaire, de semaine calendaire, de mois calendaire ou d’année calendaire. De façon plus préférée, considérant la saisonnalité et donc les répétitions, les périodes de temps sont inscrites dans le fichier de configuration en fonction du temps dans un référentiel de journée calendaire, de semaine calendaire, ou de mois calendaire. De façon plus préférée, les périodes de temps sont inscrites dans le fichier dans un référentiel de journée calendaire.
[0032] Le procédé selon l’invention ne vise pas à établir un ordonnancement par journée calendaire soit 365 ordonnancements. En effet, le calcul d’un plan d’exécution optimisé est chronophage de même que l’adaptation des plans d’exécution existants. Ainsi, dans le cadre de l’invention, l’étape 200 de définition d’une pluralité de périodes de temps vise à identifier les périodes similaires pour réduire à un nombre de plan raisonnable. 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. Ces périodes de temps peuvent alors être définies par l’utilisateur ou calculer à partir de données. De façon préférée, une période de temps correspond à une durée pendant laquelle l’activité est relativement stable. Les périodes de temps peuvent être caractérisées par des différences dans les caractéristiques des traitements par lots telles que : le volume de données à traiter, les ressources consommées lors des traitements par lots. Les périodes de temps peuvent également être définies lors de la mise en oeuvre du procédé par un utilisateur au regard d’informations métiers.
[0033] La figure 3 présente un exemple de définition d’une pluralité de périodes de temps selon l’invention sur un cas simplifié où seulement deux traitements par lots sont considérés. La figure 3 représente un calendrier de la consommation en ressource de deux traitements par lots faisant apparaître le découpage du premier traitement par lots en deux catégories (a1 et a2), le découpage du second traitement par lots en trois catégories (b1, b2 et b3) et une pluralité de périodes de temps (o1, o2, o3 et o4) pouvant chacune faire l’objet d’un ordonnancement de traitement par lots optimisé. Ainsi, dans le cadre de cet exemple, l’unité temporelle a mémorisé quatre périodes de temps (o1, o2, o3 et o4) pour lesquelles le procédé selon l’invention va proposer un ordonnancement optimisé.
[0554-BULL13] [0034] Lors de cette étape, la définition d’une pluralité de période de temps peut être réalisée à partir :
- de valeurs de volumes de données devant être traités par les traitements par lots en fonction du temps, ces valeurs pouvant être mesurées par des sondes ou estimés par des utilisateurs puis mémorisée dans le système,
- de valeurs de consommation en ressource mesurée en fonction du temps, obtenues par exemple par des sondes ou
- d’informations provenant des activités métiers. Ainsi, les périodes peuvent être définies sans faire appel à des calculs et seulement sur la base de l’expérience des utilisateurs. Dans ce cas, l’étape de définition d’une pluralité de périodes de temps est réalisée à partir de valeurs estimées sur la base des activités métiers soutenues par ladite infrastructure informatique.
[0035] Lorsque les périodes de temps sont définies par rapport aux ressources consommées, il est préférable de prendre en compte les ressources significatives, c’est-à-dire les ressources dont la consommation lors de l’exécution des traitements par lots est proche de leur seuil de criticité. II est possible par exemple de porter une attention particulière aux lecture-écriture sur les disques.
[0036] Avantageusement, l’étape de définition d’une pluralité de périodes de temps est réalisée à partir des volumes de données devant être traités par les traitements par lots.
[0037] L’étape de définition d’une pluralité de période de temps peut également être réalisée à partir de valeurs mesurées de consommation de ressources lors de l’exécution des traitements par lots. Ces valeurs peuvent être obtenues par une pluralité de sondes 90 aptes à suivre le comportement de l’infrastructure informatique. La pluralité de sondes 90 permettent plus particulièrement d’identifier des périodicités dans la consommation des ressources.
[0038] Le procédé selon l’invention peut comporter également une étape 300 d’acquisition d’une empreinte de chaque traitement par lots pour chaque machine impactée par le traitement par lots et pour chacune desdites périodes de temps définies. Cette étape peut être réalisée par une unité ressources 20 qui sera présentée par la suite.
[0039] Lors de cette étape, l’empreinte à vide est mesurée pour chacune des périodes identifiées pour chaque machine impactée par le traitement par lots. Cette mesure est réalisée lorsqu’aucune action-utilisateur n’a lieu de façon à identifier au mieux la consommation en [0554-BULL13] ressources induite par chacun des traitements par lots et/ou la totalité des ressources disponibles. Ainsi, l’empreinte est avantageusement mesurée pour chaque traitement par lots, un à un.
[0040] Un mode de réalisation de cette étape est notamment illustré à la Figure 4. Dans ce mode de réalisation, l’étape 300 d’acquisition d’une empreinte de chaque traitement par lots pour chaque machine impactée par le traitement par lots et pour chacune des périodes identifiées, comporte les sous-étapes suivantes :
- une étape 310 de mesure de l’empreinte à vide de toutes les machines impactées par les traitements par lot,
- une étape 320 de mesure de l’empreinte de chaque traitement par lots sur l’ensemble des machines que le traitement par lots impacte en soustrayant des consommations mesurées celles de la première étape de mesure sur la même période, et
- une étape 330 d’enregistrement dans une unité ressource 20 de l’empreinte de chaque traitement par lots pour chaque machine impactée par le traitement par lots et pour chacune des périodes identifiées.
[0041] L’empreinte de chaque traitement sur chaque machine est ainsi mesurée de façon identique à la mesure de l’empreinte à vide, et en exécutant les traitements un à un, de façon séquentielle. De telles consommations en ressources peuvent être mémorisées dans au moins un tableau matriciel mémorisé correspondant à chaque traitement Ti appliqué sur une ou plusieurs ressources d’une machine MJ, dont le nombre de ressource défini une dimension du tableau matriciel, le nombre de plages horaires affectées définissant une autre dimension du tableau matriciel, et les pourcentages d’utilisation de la ressource constituant le coefficient d’une ligne ou colonne supplémentaire.
[0042] Pour chaque machine, il est possible de disposer d’informations telles que la consommation de ressource maximale et les éventuelles périodes blanches (plages horaires sans traitement). Ces informations peuvent, de préférence, se retranscrire sous la forme d’une matrice Mj machine mémorisée dans une mémoire, chaque ligne de la matrice machine Mj représentant une ressource de la machine (CPU, RAM, ....etc.), chaque colonne de la matrice une plage horaire et chaque valeur présente dans une case de la ligne d’une ressource représentant la consommation de cette ressource pour la période horaire définie pour la colonne.
[0043] Le procédé selon l’invention peut faire appel à une sonde 90 ou à une pluralité de sondes 90 notamment pour mesurer l’empreinte à vide de chaque machine. La ou les sondes [0554-BULL13] permettent de collecter des données sur la consommation des ressources de l’infrastructure informatique et plus particulièrement de chaque machine la composant. Plusieurs ressources peuvent être mesurées en parallèle.
[0044] Ces mesures de la consommation des ressources peut être réalisées à partir d’une sonde, par exemple 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, swap, réseau, des informations sur les utilisateurs, les groupes, les supports de stockages, sur l’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).
[0045] Ces sondes peuvent être associées à chaque ressource pour remonter les informations de mesure ou métriques, représentant l’état de fonctionnement des ressources et la consommation associée. Pour chaque ressource, la ou les sondes définissent un identifiant de la ressource et une consommation en ressources. La consommation de chaque ressource peut être suivi en continu ou à des intervalles configurables de façon à obtenir des informations pour chaque ressource en fonction du temps. Ces informations peuvent être stockées dans une mémoire. Dans certains modes de réalisation, le système comporte une interface homme-machine permettant de définir les sondes de consommation sur chaque machines qui remontent les métriques provenant de l’utilisation des ressources de la machine.
[0046] Le procédé peut également comporter une étape 400 de mémorisation de règles d’exécution et de niveaux de consommations attendus pour chacune desdites périodes de temps définies. Cette étape consiste notamment à enregistrer des règles d’exécution applicables lors de l’exécution de l’ordonnancement des traitements par lots. Ainsi, un utilisateur aura la possibilité lors de cette étape d’enregistrer sur une mémoire des règles d’exécution que l’ordonnancement créé devra respecter. Elle peut être réalisée par une unité réglementaire 30 qui sera présentée par la suite.
[0554-BULL13] [0047] 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.
[0048] 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 construction de plan que par exemple, le chevauchement des traitements T1 et T2 est interdit.
[0049] Selon cet exemple, le module de construction de plan d’exécution, déduira que les deux traitements ne peuvent s’exécuter simultanément car ils possèdent une troisième ligne identique au sein de leurs matrices traitement respectives. Il en serait de même si plusieurs matrice Ti,... Ti+n étaient construites avec la même ligne supplémentaire. Ainsi il est possible, par le choix des valeurs introduites dans les lignes des matrices, de décaler l’exécution d’un traitement après un autre, le faire démarrer à une plage horaire précise, le faire se terminer avant une autre plage horaire. L’ensemble des matrices Ti ainsi constituées forment l’unité réglementaire 30.
[0050] Ainsi le procédé peut reposer sur autant de matrices que de traitements Ti et de machines Mj appartenant à l’infrastructure informatique sur lesquelles s’exécuteront les traitements selon les règles ainsi définies. Par l’utilisation des matrices de traitements Ti et des matrices machines Mj sur lesquelles s’exécuteront les traitements le programme va pouvoir construire un plan d’exécution.
[0051] Cette étape comporte également avantageusement une mémorisation des niveaux de consommations attendus. Une telle mémorisation peut également être réalisée par l’intermédiaire de tableaux matriciels comportant pour chaque machine Mj un seuil prédéterminé d’utilisation maximum définissant la consommation maximale attendue lors de l’exécution des traitements par lots pour chacune des ressources de chaque machines composant l’infrastructure informatique.
[0554-BULL13] [0052] Le procédé comporte également une étape 500 de construction, pour chacune desdites périodes de temps définies, d’un ordonnancement de traitements par lots. Cette étape est réalisée par un module de conception de plan d’exécution 50. Cela permet de générer un catalogue 60 de plans d’exécution comportant une pluralité d’ordonnancement de traitements par lots.
[0053] De façon préférée, l’étape 500 de construction d’un ordonnancement de traitements par lots pour chacune desdites périodes de temps définies, s’effectue :
- à partir de données enregistrées sur les unités temporelle 10, ressource 20 et réglementaire 30,
- en déterminant le plan d’exécution optimum visant, en fonction de la période de temps, à réduire le temps global d’exécution tout en maximisant l’utilisation des ressources disponibles, et en déterminant le niveau de ressource théoriquement utilisées lors de l’exécution de l’ensemble du plan d’exécution.
[0054] Un mode de réalisation de cette étape est notamment illustré à la Figure 5. Dans cet exemple de construction d’ordonnancements de traitements par lots (plans d’exécution), un module de construction de plans lance, sur une machine, des calculs matriciels entre les matrices traitements mémorisées en mémoire et les matrices machines mémorisées en mémoire.
[0055] Lors d’une étape 510, une période de temps est sélectionnée. Lors d’une étape 520, l’ensemble des définitions de matrices possibles pour l’ensemble des traitements, pour cette période, sont construites. Celles-ci représentent les consommations de ressources étalées sur l’ensemble des plages horaires.
[0056] Lors de l’étape 530 les définitions sont comparées avec la matrice machine afin de mesurer leur compatibilité avec la machine. Le module de construction de plan élimine ensuite, lors de l’étape 535, les définitions non compatibles.
[0057] Lors de l’étape 540, le module de construction 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 542. Le module de construction de plan recalcule ensuite la matrice machine lors de l’étape 545.
[0058] Lors d’une étape 550, le calcul de la matrice machine est évalué. Si le calcul est réussi, c’est-à-dire que les ressources machines sont suffisantes pour ladite définition, la [0554-BULL13] définition choisie est mémorisée lors d’une étape 555. Sinon, une autre définition est présélectionnée de façon aléatoire parmi les définitions restantes et le module de construction de plan réitère les étapes 542, 545 et 550.
[0059] Une fois la définition compatible d’un traitement mémorisée, l’étape 560 permet de déterminer si tous les traitements ont été planifiés. Si non, le module de construction de plan effectue les étapes 540, 542, 545, 550 et 555 tant que tous les traitements n’ont pas été planifiés.
[0060] A l’issue de l’étape 560, le module de construction de plan, dans une étape 570, génère le plan d’exécution, ou ordonnancement, et l’enregistre dans le catalogue de plans d’exécution. Ce plan d’exécution est le résultat des calculs matriciels entre les définitions mémorisées des traitements et la matrice machine, pour une période de temps.
[0061] Une fois le plan d’exécution mémorisé, l’étape 580 permet de déterminer si toutes les périodes de temps ont fait l’objet d’un ordonnancement. Si non, le module de construction de plan effectue les étapes 510, 520, 530, 535, 540, 542, 545, 550, 555, 560 et 570 tant que toutes les périodes n’ont pas été planifiées.
[0062] Chaque plan d’exécution, ou 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.
[0063] Dans certains modes de réalisation, lesdites informations peuvent se retranscrire sous la forme d’une matrice traitement Ti mémorisée dans une mémoire, chaque ligne de la matrice traitement représente la consommation d’une ressource, et chaque valeur de la ligne représente la consommation de cette ressource pour une période horaire.
[0064] Lors de la première mise en oeuvre d’un plan d’exécution, 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’exécution peut être supprimé du catalogue 60 et un nouveau plan d’exécution peut être recalculé avec les empreintes mesurées. Cela permet de s’assurer que, lors de l’étape d’exécution, les règles d’exécution seront respectées et que les consommations de ressources seront au niveau de consommation attendu.
[0065] 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 [0554-BULL13] 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 3h15 n’entrainera pas la suppression du plan d’exécution si les autres paramètres sont valides.
[0066] Les étapes de création d’un plan d’exécution sont répétées pour chacune des périodes de temps définies préalablement. Cela permet de générer un catalogue de plan d’exécution comportant une pluralité d’ordonnancement de traitements par lots.
[0067] Dans ce contexte, chaque plan d’exécution, ou d’ordonnancement, va comporter une information relative à la période de temps auquel il se rapporte. Cette information peut par exemple être :
- une information temporelle sur une base calendaire. Par exemple, dans ce cas, le plan d’exécution pourra être associé à une information stipulant que son exécution est planifiée tous les jeudis et les vendredis ou encore les cinq derniers jours ouvrés du mois.
- une information relative à des valeurs de volumes de données devant être traités par les traitements par lots. Dans ce cas, le plan d’exécution pourra être associé à la nécessité de traiter un certain volume de données. Par exemple, lorsque le nombre de feuilles de temps à traiter dépasse une valeur seuil, c’est le plan d’exécution o4 qui doit être mis en oeuvre.
une information relative à des valeurs de consommation en ressource. Dans ce cas, le plan d’exécution pourra être associé une consommation en ressource dépassant un seuil prédéterminé. Par exemple, lorsque lors de l’exécution d’un ordonnancement, la consommation en ressource à dépasser un seuil prédéterminé, le jour suivant c’est un plan d’exécution associé à une valeur de consommation en ressource inférieure qui pourra être mis en oeuvre de façon à éviter un nouveau dépassement.
[0068] Le procédé comporte également une étape 600 de sélection, dans ledit catalogue de plans d’exécution, d’un ordonnancement adapté de traitements par lots. Cette étape peut être réalisée par un module de sélection 70.
[0069] Avantageusement, lors de l’étape de sélection, l’ordonnancement adapté de traitements par lots correspond à l’ordonnancement de traitements par lots associé à la période de temps actuelle. De façon préférée, lors de l’étape de sélection, l’ordonnancement [0554-BULL13] adapté de traitements par lots est sélectionné en fonction de la quantité de données à traiter. Alternativement, l’ordonnancement adapté de traitements par lots peut être sélectionné en fonction de la consommation en ressource observée lors de traitements par lots antérieurs. [0070] Une fois l’ordonnancement adapté de traitements par lots sélectionné, le procédé selon l’invention peut comporter une étape 700 de transmission de l’ordonnancement adapté de traitements par lots sélectionné, à au moins une machine de l’infrastructure informatique pour son exécution par un logiciel.
[0071] En outre, le procédé de gestion dynamique selon l’invention peut comprendre une étape 800 de suivi et de mesure des paramètres d’exécution de l’ordonnancement des traitements par lots. Cette étape permet de vérifier que, lors de l’exécution, les règles d’exécution ont été respectées, que les consommations de ressources ont bien été au niveau de consommation attendu et/ou que les volumes de données traitées correspondent aux volumes attendus.
[0072] Avantageusement, l’étape 800 de suivi et de mesure s’effectue en comparant un niveau de ressources utilisées mesuré à un niveau de ressources utilisées calculé précédemment pour tenir compte de l’incidence de l’exécution des traitements par lots en parallèle. En effet, il est possible que, de façon ponctuelle, il y ait des activités parasites sur l’infrastructure informatique entraînant une disponibilité plus faible des ressources avec par exemple une consommation de la bande passante ou des ressources mémoire sur des serveurs.
[0073] Le procédé peut ainsi comprendre une étape de mémorisation des consommations en ressources lors de l’exécution de l’ordonnancement des traitements par lots.
[0074] Le procédé selon l’invention peut comprendre avantageusement une étape 900 de détection d’une déviation d’au moins un traitement par lot. Cette déviation peut être associée à un changement de phase de vie avec par exemple ladite phase de vie sélectionnée parmi : montée en charge, fonctionnement nominal, ou une phase de décroissance.
[0075] Une telle étape permet de détecter des modifications dans les besoins de l’infrastructure informatique en termes de traitements par lots. Ainsi, au regard de cette détection précoce, le procédé selon l’invention est en mesure de réagir à un volume de données à traiter plus important que prévu et donc à mettre en place un ordonnancement des traitements par lots apte à gérer ce nouveau volume de données. Ainsi, le procédé selon [0554-BULL13] l’invention est en mesure de d’utiliser un plan d’exécution en fonction des tendances observées sur l’infrastructure informatique.
[0076] La détection d’une déviation, ou identification d’une phase de vie, d’au moins un traitement par lots peut être identifiée en fonction de données mesurées sur l’infrastructure informatique telle que la consommation des ressources lors du traitement par lots, le volume de données à traiter (par exemple via une surveillance des dépôts de fichier à traiter ou du volume de communication réseau mesurée en amont). La détection d’une déviation d’au moins un traitement par lots peut également être identifiée suite à la réception d’instructions provenant d’utilisateurs du système. C’est par exemple le cas lorsque l’utilisateur du système est en mesure de prévoir une forte hausse des volumes de données à traiter. Il indique alors au système cette augmentation et le procédé est alors en mesure d’identifier une montée en charge.
[0077] De façon préférée, l’étape 900 d’identification d’au moins une phase de vie d’un traitement par lot, comporte les étapes suivantes :
- une mesure des volumes de données à traiter à un temps t, et
- une comparaison des volumes de données traiter à un temps t par rapport aux volumes de données traitées ou à traiter préalablement enregistrés.
[0078] Ainsi, si un écart significatif est observé, alors il peut être conclu à une déviation ou à une nouvelle phase de vie d’un traitement par lots. Dans ce contexte, le procédé peut comprendre un enregistrement des volumes de données traitées par les traitements par lots à un instant t.
[0079] L’étape 900 de détection d’une déviation d’un traitement par lots peut également se faire par la détection d’une déviation dans les performances du procédé de gestion dynamique. Une telle détection d’une déviation dans les performances du procédé de gestion dynamique peut comprendre les étapes suivantes :
- une mesure de la consommation en ressource par les traitements par lots à un instant t, et
- une comparaison de la valeur de consommation en ressource à un temps t par rapport à la valeur de consommation en ressource enregistré.
[0080] Dans ce contexte, le procédé peut comprendre un enregistrement de la valeur de consommation en ressource par les traitements par lot.
[0554-BULL13] [0081] La valeur de consommation en ressources concerne au moins une ressource. Avantageusement, elle peut concerner plusieurs ressources.
[0082] De façon préférée, la valeur mesurée de consommation en ressource concerne une ou plusieurs ressources critiques. Une ressource critique est notamment une ressource jouant un rôle important dans la mise en oeuvre des traitements par lots. Par exemple, une ressource critique peut être une ressource dont le taux d’utilisation atteint des pourcentages supérieurs à 80 % lors de la mise en oeuvre des traitements par lots ou bien être une ressource pour laquelle l’infrastructure informatique ne dispose pas de redondance.
[0083] Les ressources critiques peuvent varier en fonction des infrastructures informatiques et du temps. Ainsi, de façon préférée, dans le cadre de l’invention, un référentiel de ressources critiques est généré. Ce référentiel de ressources critiques permet notamment de catégoriser les ressources et de les associer à un niveau de criticité. Ainsi, le procédé peut comporter une étape d’évaluation de la sévérité d’une déviation lors de laquelle les ressources dont la consommation est en augmentation sont comparées aux ressources critiques, par exemple listées dans le référentiel ressources critiques, de façon à identifier un niveau de sévérité élevé lorsque les ressources dont la consommation est en augmentation sont également des ressources critiques ou un niveau de sévérité faible lorsque les ressources dont la consommation est en augmentation ne sont pas des ressources critiques.
[0084] La figure 6 présente un mode de réalisation selon l’invention. Selon ce mode de réalisation, le procédé comporte classiquement les étapes de définition 200 d’une pluralité de périodes de temps, construction 500 des plans d’exécution, sélection 600 du plan d’exécution, de transmission 700 du plan d’exécution puis son exécution 750 sur la structure informatique.
[0085] Cette exécution 750 peut être répétée tous les jours tant que la période de temps reste la même que la période de temps ayant conduit à la sélection du plan d’exécution. En outre, ce mode de réalisation comporte une étape 800 de suivi et de mesure des paramètres d’exécution de l’ordonnancement des traitements par lots. Suite à cette étape, il est possible de déterminer, lors d’une étape 850 de comparaison, si le plan est conforme aux attentes ou si le plan d’exécution ne doit plus être exécuté notamment car lors de l’exécution, les règles d’exécution n’ont pas été respectées, que les consommations de ressources n’ont pas été au niveau de consommation attendu et/ou que les volumes de données traitées ne correspondent plus aux volumes attendus.
[0086] Si le plan n’est pas conforme aux attentes alors il y a mise en oeuvre de l’étape 900 de détection d’une déviation d’au moins une phase de vie d’un traitement par lot. Lors de [0554-BULL13] cette étape, il y a une détection d’une modification dans les besoins, en termes de traitements par lots, de l’infrastructure informatique alors le procédé va rechercher 910 dans le catalogue de plans d’exécution si des plans d’exécution correspondent aux besoins identifiés. Si oui, alors il y a sélection 600 du plan d’exécution puis transmission 700. Si non, soit les valeurs mesurées lors de l’étape 800 de suivi et de mesure sont préparées 550 de façon à permettre la modification du plan d’exécution pour la période de temps données ; soit le procédé met en oeuvre une étape de définition 250 d’un nouvelle période de temps.
[0087] La figure 7 illustre schématiquement une représentation fonctionnelle non limitative d’un mode de réalisation d’un système 1 de gestion dynamique de l’ordonnancement des traitements par lots pour une infrastructure informatique 4.
[0088] Ce système peut notamment comprendre au moins une machine informatique et un logiciel pour mettre en oeuvre le procédé de gestion dynamique selon l’invention.
[0089] Sur la figure 7 est affiché un terminal utilisateur 2 via lequel, un utilisateur peut interagir, par l’intermédiaire d’un réseau de communication 3, avec le système 1 de gestion dynamique de l’ordonnancement des traitements par lots selon l’invention.
[0090] Le terminal utilisateur 2 est un ordinateur, une tablette numérique, un téléphone portable, ou plus généralement tout dispositif permettant à un utilisateur d’émettre des requêtes, via un réseau de communication 3 (par exemple LAN, WLAN, ou PAN, journal d’une base de données, courriel), vers le système 1 de gestion dynamique. A cet égard, le terminal utilisateur 2 peut être pourvu d’une application cliente permettant d’envoyer des requêtes ou des instructions au système 1 de gestion dynamique et d’en interpréter les réponses. Cette application cliente est, par exemple, un navigateur Web FireFox ®, Fennec ®, Opéra ®, Opéra Mobile ®, Internet Explorer®, Google Chrome® par exemple), ou un navigateur ftp (tel que FileZilla®).
[0091] L’infrastructure 4 peut comporter une pluralité de machines. Chaque machine peut comprendre un microprocesseur, des moyens de stockage (tel qu’un disque dur qu’il soit local ou distant), et une interface de communication (par exemple une interface réseau de type Ethernet, FiberChannel, InfiniBand...). Le microprocesseur, les moyens de stockage et l’interface de communication sont avantageusement interconnectés par un bus. Lorsque l’on prête une action à un dispositif celle-ci est en fait effectuée par un microprocesseur du dispositif commandé par des codes instructions enregistrés dans une mémoire du dispositif.
[0554-BULL13]
Si l’on prête une action à une application, celle-ci est en fait effectuée par un microprocesseur du dispositif dans une mémoire duquel les codes instructions correspondant à l’application sont enregistrés. Lorsqu’un dispositif émet ou reçoit un message, ce message est émis ou reçu par une interface de communication du dispositif.
[0092] Comme déjà mentionné le système selon l’invention permet de gérer de façon dynamique de l’ordonnancement des traitements par lots pour une infrastructure informatique déterminée.
[0093] Pour cela, le système 1 comporte une unité temporelle 10 apte à stocker des informations temporelles et à définir une pluralité de périodes de temps. L’Unité temporelle 10 peut comporter un agencement 11 matériel et logiciel permettant de définir une pluralité de périodes de temps ainsi qu’une mémoire 12.
[0094] Le système 1 selon l’invention comporte également une unité ressource 20 apte à stocker des informations sur la consommation en ressource de chaque traitement par lots pour chaque machine impactée par le traitement par lot. Selon une autre particularité de l’invention, l’unité ressource 20 comporte un agencement 21 matériel et logiciel permettant la mesure, par des sondes, de l’empreinte à vide de toutes les machines impactées par le ou les traitements par lots et un agencement matériel et logiciel permettant la mesure, par des sondes, de l’empreinte de chaque traitement par lots sur chaque machine en terme de consommations de ressources mesurées. La mesure de la consommation en ressource de chaque traitement par lots peut par exemple être réalisée en soustrayant aux consommations mesurées les empreintes à vide sur une même période. L’unité ressource 20 peut également être apte à calculer de l’empreinte totale sur l’ensemble des machines que de chaque traitement par lots, puis mémoriser cette empreinte totale dans une mémoire 22.
[0095] Le système 1 selon l’invention comporte également une unité réglementaire 30 apte à stocker des informations relatives à des règles d’exécution et de niveaux de consommations attendus.
[0096] Le système 1 selon l’invention comporte également un module 50 de conception de plans d’exécution, apte à construire, à partir des informations de l’unité ressource 20 et de l’unité réglementaire 30, un plan d’exécution optimisé pour chacune des périodes de temps définies dans l’unité temporelle 10.
[0554-BULL13] [0097] Le système 1 selon l’invention comporte également un catalogue 60 de plans d’exécution, apte à stocker une pluralité de plans d’exécution, lesdits plans d’exécution 41 comportant des informations d’ordonnancement optimisé pour une période de temps donnée.
[0098] Le système 1 selon l’invention comporte également un module 70 de sélection du plan d’exécution optimisé à exécuter. Le module 70 comporte également avantageusement une horloge apte à détecter le début d’une nouvelle période de temps.
[0099] Le système 1 selon l’invention peut comporter en outre un module d’interface 40 homme-machine (IHM), apte à intervenir par exemple dans :
La définition de périodes de temps et leur enregistrement dans l’unité temporelle 10 ;
La définition pourcentages d’utilisation de chaque ressource d’une machine pour chaque traitement par lots et leur enregistrement en mémoire dans l’unité ressources 20 ;
La définition de règles d’exécution applicables pour chaque traitement par lots Ti et leur enregistrement dans l’unité règlementaire 30. Les règles pouvant par exemple correspondre à des restrictions horaires sur des traitements, des limites maximales acceptables de consommations de ressources, des règles d’ordonnancement inter traitements ;
La définition et l’enregistrement des métriques suivis par des sondes de consommation 90 sur chaque machines ainsi que les seuils d’acceptabilité associé à chaque sonde.
[00100] Le système 1 selon l’invention peut comporter en outre module de communication (75) apte notamment à transmettre l’ordonnancement à l’infrastructure 4 et à réceptionner des données.
[00101] Le système 1 selon l’invention peut comporter en outre module de vérification 80 apte, une fois un plan d’exécution exécuté, à vérifier que l’ensemble des règles est respecté pour toutes les machines impliquées dans le traitement par lots et que les consommations de ressources sont bien au niveau attendu pour chaque ressource. Ce module peut également être apte à détecter une déviation d’au moins un traitement par lots.
[00102] Ces différents unités ou modules sont distincts sur la figure 7 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.
[0554-BULL13] [00103] Ainsi, en se référant de nouveau à la figure 6, le système 1, indépendant ou installé au sein d’une infrastructure informatique 4 est configuré pour gérer de façon dynamique de l’ordonnancement des traitements par lots pour une infrastructure informatique déterminée. Un système et le procédé selon l’invention qu’il est apte à mettre en œuvre permettent de 5 mettre en œuvre des ordonnancements plus performants et plus adaptés que ceux pouvant être réalisés jusqu’à présent.
[00104] En effet, le procédé de gestion dynamique selon l’invention est simple à mettre en œuvre. Il permet de prendre en considération la saisonnalité des activités métier tout en réduisant le risque de dysfonctionnement pouvant résulter de sa mise en œuvre sur des 10 structures informatiques en production.
[00105] Tous ces avantages contribuent donc à améliorer la performance de la gestion des traitements par lots et à réduire les risques les coûts de gestion des infrastructures informatiques d’une entreprise.

Claims (11)

1. Procédé de gestion dynamique de l’ordonnancement de traitements par lots pour une infrastructure informatique (4) comportant une pluralité de machines, permettant d’adapter dans le temps l’ordonnancement de traitements par lot, caractérisé en ce qu’il comporte :
- une étape (200) de définition et de mémorisation d’une pluralité de périodes de temps dans une unité temporelle (10),
- une étape (500) de construction, pour chacune desdites périodes de temps mémorisée, d’un ordonnancement de traitements par lots, de façon à générer, via un module de conception de plans d’exécution (50), un catalogue de plans d’exécution (60) comportant une pluralité d’ordonnancement de traitements par lots, et
- une étape (600) de sélection, dans ledit catalogue de plans d’exécution, d’un ordonnancement adapté de traitements par lots.
2. Procédé de gestion dynamique selon la revendication 1, caractérisé en ce que l’étape (200) de définition d’une pluralité de périodes de temps est réalisée à partir : de valeurs de volumes de données devant être traités par les traitements par lots en fonction du temps, de valeurs de consommation en ressource mesurée en fonction du temps et/ou d’informations provenant des activités métiers.
3. Procédé de gestion selon l’une des revendications 1 ou 2, caractérisé en ce qu’il comprend en outre une étape (610) de détection de début d’une nouvelle période de temps telle que mémorisée dans l’unité temporelle (10) et en cas de détection d’une nouvelle période de temps, ledit procédé comprend une étape (620) de sélection, dans ledit catalogue de plans d’exécution (60), d’un nouvel ordonnancement adapté de traitements par lots correspondant à la nouvelle période de temps.
4. Procédé de gestion selon l’une quelconque des revendications 1 à 3, caractérisé en ce qu’il comprend une étape (900) de détection d’une déviation pour au moins un traitement par lots.
5. Procédé de gestion selon la revendication 4, caractérisé en ce que l’étape (900) de détection d’une déviation pour au moins un traitement par lots, comporte :
- une mesure du volume de données traitées par au moins un traitement par lots à un instant t, et [0554-BULL13]
- une comparaison du volume de données traitées à un temps t par rapport à au moins une valeur de volume de données traitées préalablement enregistrée.
6. Procédé de gestion selon l’une des revendications 4 ou 5, caractérisé en ce que l’étape (900) de détection d’une déviation pour au moins un traitement par lots, comporte :
- une mesure de la valeur de consommation en ressources d’au moins un traitement par lots à un temps t, et
- une comparaison de la valeur de consommation en ressources d’au moins un traitement par lots à un temps t par rapport à au moins une valeur de consommation en ressource préalablement enregistrée.
7. Procédé de gestion selon l’une quelconque des revendications 4 à 6, caractérisé en ce que, en cas de détection d’une déviation pour au moins un traitement par lots, ledit procédé comporte en outre une étape de sélection d’un nouvel ordonnancement de traitements par lots dans le catalogue de plans d’exécution ou une étape d’adaptation de ordonnancement de traitements par lots exécuté de façon à intégrer la déviation pour l’au moins un traitement par lots.
8. Procédé de gestion dynamique selon l’une quelconque des revendications 1 à 7, caractérisé en ce qu’il comporte en outre :
- une étape (300) d’acquisition, pour chacune desdites périodes de temps mémorisées, d’une empreinte de chaque traitement par lots pour chaque machine impactée par le traitement par lot, par une unité ressources (20),
- une étape (400) de mémorisation de règles d’exécution et de niveaux de consommations attendus pour chacune desdites périodes de temps mémorisées, par une unité réglementaire (30), et en ce que l’étape (500) de construction d’un ordonnancement de traitements par lots, pour chacune desdites périodes de temps mémorisées, est réalisée à partir des empreintes de chaque traitement et dans le respect des règles d’exécution enregistrées ainsi que des niveaux de consommation attendus enregistrés.
9. Procédé de gestion dynamique selon l’une quelconque des revendications 1 à 8, caractérisé en ce qu’il comporte en outre une étape (800) de transmission de l’ordonnancement de traitements par lots sélectionné, à au moins une machine de l’infrastructure informatique (4) pour son exécution par un logiciel.
[0554-BULL13]
10. Système pour la gestion dynamique de l’ordonnancement des traitements par lots comprenant au moins une machine informatique et un logiciel pour mettre en oeuvre un procédé de gestion dynamique d’ordonnancement de traitements par lots pour une infrastructure informatique (4) comportant une pluralité de machines, ledit système permettant d’adapter dans le temps l’ordonnancement de traitements par lot, ledit système comportant :
- une unité temporelle (10) apte à stocker des informations temporelles et à définir une pluralité de périodes de temps,
- un module (50) de conception de plans d’exécution, apte à construire un ordonnancement de traitements par lots, pour chacune desdites périodes de temps mémorisée dans l’unité temporelle (10),
- un catalogue (60) de plans d’exécution optimisés, apte à stocker une pluralité d’ordonnancements de traitements par lots, et
- un module (70) de sélection de plan d’exécution, apte à sélectionner un ordonnancement de traitements par lots adapté.
11. Système pour la gestion de l’ordonnancement selon la revendication 10 caractérisé en ce que l’unité temporelle (10) est apte à définir les périodes de temps sur la base de volumes de données devant être traités par les traitements par lot.
FR1758704A 2017-09-20 2017-09-20 Procede et systeme pour l'optimisation de l'ordonnancement de traitements par lots Active FR3071335B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1758704A FR3071335B1 (fr) 2017-09-20 2017-09-20 Procede et systeme pour l'optimisation de l'ordonnancement de traitements par lots

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1758704A FR3071335B1 (fr) 2017-09-20 2017-09-20 Procede et systeme pour l'optimisation de l'ordonnancement de traitements par lots
FR1758704 2017-09-20

Publications (2)

Publication Number Publication Date
FR3071335A1 true FR3071335A1 (fr) 2019-03-22
FR3071335B1 FR3071335B1 (fr) 2022-11-25

Family

ID=61132501

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1758704A Active FR3071335B1 (fr) 2017-09-20 2017-09-20 Procede et systeme pour l'optimisation de l'ordonnancement de traitements par lots

Country Status (1)

Country Link
FR (1) FR3071335B1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764981A (en) * 1993-12-22 1998-06-09 The Sabre Group, Inc. System for batch scheduling of travel-related transactions and batch tasks distribution by partitioning batch tasks among processing resources
US20030149717A1 (en) * 2002-02-05 2003-08-07 William Heinzman Batch processing job streams using and/or precedence logic
US20050234935A1 (en) * 2004-04-14 2005-10-20 International Business Machines Corporation Dynamically managing computer resources based on valuations of work items being processed
US20140337849A1 (en) * 2013-05-13 2014-11-13 Korea Advanced Institute Of Science And Technology Apparatus and job scheduling method thereof
EP3113022A1 (fr) * 2015-07-02 2017-01-04 Bull S.A.S. Mécanisme d ordonnancement de traitement par lot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764981A (en) * 1993-12-22 1998-06-09 The Sabre Group, Inc. System for batch scheduling of travel-related transactions and batch tasks distribution by partitioning batch tasks among processing resources
US20030149717A1 (en) * 2002-02-05 2003-08-07 William Heinzman Batch processing job streams using and/or precedence logic
US20050234935A1 (en) * 2004-04-14 2005-10-20 International Business Machines Corporation Dynamically managing computer resources based on valuations of work items being processed
US20140337849A1 (en) * 2013-05-13 2014-11-13 Korea Advanced Institute Of Science And Technology Apparatus and job scheduling method thereof
EP3113022A1 (fr) * 2015-07-02 2017-01-04 Bull S.A.S. Mécanisme d ordonnancement de traitement par lot

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KUZMANOVSKA ALEKSANDRA ET AL: "KOALA-F: A Resource Manager for Scheduling Frameworks in Clusters", 2016 16TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING (CCGRID), IEEE, 16 May 2016 (2016-05-16), pages 80 - 89, XP032927022, DOI: 10.1109/CCGRID.2016.60 *

Also Published As

Publication number Publication date
FR3071335B1 (fr) 2022-11-25

Similar Documents

Publication Publication Date Title
EP3113025B1 (fr) Mecanisme de diagnostic automatique a partir d'informations issues d'un systeme de surveillance applicative
US8832267B2 (en) System and method for adaptive baseline calculation
EP3113022B1 (fr) Mécanisme d'ordonnancement de traitements par lot
FR3000578A1 (fr) Systeme et procede de calcul partage utilisant une fourniture automatisee de ressources informatiques heterogenes
WO2003019432A2 (fr) Outil de modelisation et de gestion de projets
FR3098938A1 (fr) Procédé et dispositif de détermination d’une valeur d’indice de performance de prédiction d’anomalies dans une infrastructure informatique à partir de valeurs d’indicateurs de performance
US10832262B2 (en) Modeling consumer activity
EP3506094A1 (fr) Procédé et système pour l'optimisation de l'ordonnancement de traitements par lot
FR3061570A1 (fr) Mecanisme de surveillance et d'alertes des applications du systeme informatique
FR3003368A1 (fr) Procedes et systemes pour diffuser des informations lors d'une prise de decision concertee
FR3072236A1 (fr) Dispositif et procede d'acquisition de valeurs de compteurs associes a une tache de calcul
US20150347949A1 (en) Measuring proficiency and efficiency of a security operations center
EP3732635B1 (fr) Systeme et procede de gestion de l'entretien au cours d'un rassemblement de masse
EP3620928A1 (fr) Dispositif et procede d analyse du comportement d'une brique applicative soumise a une rarefaction des ressources
FR3071335A1 (fr) Procede et systeme pour l'optimisation de l'ordonnancement de traitements par lots
EP3617888B1 (fr) Dispositif et procede pour l'optimisation de l'utilisation dans le temps des ressources d'une infrastructure informatique
FR3091376A1 (fr) Procédé d’optimisation d’un plan d’ordonnancement et du dimensionnement d’une infrastructure informaTique
FR3069933B1 (fr) Procede de validation de mutualisation de briques applicatives sur une infrastructure informatique
EP3767474B1 (fr) Procédé d'analyse de consommation de ressource d'une infrastructure informatique, alerte et dimensionnement
EP3640800A1 (fr) Procédé d'amélioration de l'efficacité d'utilisation des ressources d'une infrastructure destinée a exécuter un plan d'ordonnancement
EP3343375B1 (fr) Procédé et système de surveillance de traitements par lots d'applications exécutées dans une infrastructure informatique
FR3087282A1 (fr) Procede d'optimisation du dimensionnement minimum d'une infrastructure destinee a executer un plan d'ordonnancement
FR3087556A1 (fr) Procede d'amelioration de l'efficacite d'utlisation des ressources d'une infrastructure destinee a executer un plan d'ordonnancement
EP3483733B1 (fr) Procede et dispositif de recherche de marge d'optimisation de ressources d'une chaine applicative
FR3002666A1 (fr) Procede de planification centralisee de taches a executer par des calculateurs verifiant certains criteres qualitatifs au sein d'un ensemble distribue de calculateurs

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20190322

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

PLFP Fee payment

Year of fee payment: 7