Brevet FR3061785A1 — publié le 20180713

Procédé d'analyse des règles d'évolutions entre les niveaux d'utilisation des ressources d'un système informatique DOMAINE La présente invention concerne le domaine de la surveillance d'une infrastructure informatique, cette expression désignant l'ensemble des éléments matériels et logiciels composant le système informatique d'une entreprise ou d'une organisation. L'invention concerne plus particulièrement le domaine de l'analyse des ressources (notamment processeur, système d'exploitation, mémoire) d'une infrastructure informatique sur laquelle est hébergée une chaîne de liaison applicative, c'est-à-dire, pour un processus, une chaîne fonctionnelle reliant plusieurs applications qui fonctionnent ensemble pour réaliser le processus. De nombreuses infrastructures informatiques sont mal dimensionnées - et le plus souvent sous-dimensionnées. Un mauvais dimensionnement se traduit par des performances insuffisantes, voir des arrêts de la production. Bien dimensionner une infrastructure informatique est un enjeu majeur pour les entreprises dont la production dépend des performances de leurs systèmes informatiques. Le terme « dimensionnement » désigne les capacités (calculatoires, mémorielles) des serveurs, couplées à la disponibilité des ressources (matérielles et logicielles). Une montée en charge d'un système informatique peut s'accompagner d'une saturation progressive des ressources du système au sein d'une même chaîne fonctionnelle (ou chaîne de liaison applicative). La saturation d'une ressource bloque la montée en charge du système et empêche par conséquent d'observer la saturation éventuelle des autres ressources de la chaîne. L'utilisation d'une ressource peut induire l'utilisation d'une autre ressource. A titre d'exemple, dans le cas d'une application ordonnant qu'un calcul soit effectué sur une machine A et que son résultat soit enregistré sur une machine B, le niveau d'utilisation des processeurs de la machine A dépend de l'avancement des enregistrements sur la machine B. 3061785 2 Chaque ressource est caractérisée par un niveau d'utilisation maximal pour un fonctionnement optimal (par exemple quatre-vingt pourcent pour un processeur). La présente invention vise à proposer une méthode pour définir 5 une corrélation du niveau d'utilisation d'une ressource A par rapport au niveau d'utilisation d'une ressource B afin de déterminer, lorsque la ressource B est saturée sans que la ressource A le soit, le dimensionnement de la ressource B nécessaire pour atteindre le niveau maximal de la ressource A. 10 L'objectif est de dimensionner de manière cohérente et optimale les ressources d'un système informatique et éviter les saturations des ressources et leurs conséquences. La recherche de corrélations dans les évolutions des niveaux d'utilisation des ressources d'une chaîne applicative vise à prédire : 15 - l'évolution des consommations et les saturations des ressources lors de l'augmentation de la charge, le dimensionnement des ressources d'une chaîne applicative comprenant plusieurs serveurs. Il existe des solutions pour surveiller des serveurs à l'unité, mais 20 elles ne permettent pas de déterminer les niveaux d'utilisation future des ressources, ni d'établir une corrélation entre les différents niveaux d'utilisation des ressources de différents serveurs au sein d'une même chaîne applicative. Un objectif de la présente invention est de permettre une analyse 25 automatique des consommations des ressources d'un système informatique et d'en déduire des corrélations entre les niveaux d'utilisation des ressources. A cet effet, il est proposé un procédé d'évaluation de la performance d'une chaîne applicative au sein d'une infrastructure 30 informatique, comprenant un nombre N de ressources notées Ri (avec i un entier compris entre 1 et N), comprenant les étapes de: - collecte, sur un même intervalle de temps et avec une même période d'échantillonnage period'h d'un nombre prédéfini M de séries de mesures Xk (avec k un entier compris entre 1 et 35 M) relatives aux niveaux d'utilisation de ressources distinctes, 3061785 3 - pour toutes les combinaisons possibles de deux séries de mesures (Xki,Xk2),aveckl # k2, parmi les séries collectées : o création de plusieurs couples de sous-ensembles (X'kl,X'k2) en sélectionnant un nombre prédéfini n, de 5 valeurs à partir des séries de mesures Xkl et Xk2 respectivement, o application d'un algorithme de recherche de relation(s) de corrélation affine sur chaque couple de sous-ensembles (X'kl,X'k2), la corrélation affine étant 10 modélisé par l'équation X'k2 = aX' + b, où a et b sont des nombres réels, o calcul, pour chaque couple (X'kl,X'k2), des pourcentages P(t) de différence entre les valeurs de X'k2 (t)et de aX' 1,1(0+ b suivant la formule P(t)= 15 1001xik2(t)-(axiki(o+b)1 , à chaque indice t (compris entre 1 xik2(t) et nu), o calcul, pour chaque couple (X'kl,X'k2) et à condition que toutes les valeurs de P(t) soient inférieures ou égales à une valeur prédéfinie T, des valeurs de saturation Xi= a k2min-b X' Xik2max-b où Insmax = a kisnun X'k2min et X'k2max sont respectivement les valeurs minimale et maximale de la série de mesures X'k2. Selon diverses caractéristiques prises seules ou en combinaison : 25 - la valeur de n, est comprise entre 3 et 60. - chaque série de mesure est réalisée sur un intervalle de temps supérieur ou égal à 2 heures. - chaque série de mesures est réalisée avec une période d'échantillonnage period'h d'une minute. 30 - la valeur T est de 95%. - le nombre de couples de sous-ensembles est compris entre 1 et 100. L'étape de sélection des sous-ensembles Xi ki et X'k2 comporte les opérations de : 20 3061785 4 - prise en compte des paramètres suivants : les valeurs minimale Amin et maximale pm' d'une période de recherche notée p, p étant une variable de la méthode, le pas d'incrémentation pp' de la période p, une période 5 d'échantillonnage periodeech, - création des n, valeurs du sous ensemble X' kt en sélectionnant n, valeurs dans la série Xkl, - création des n, valeurs du sous ensemble X'k2 en sélectionnant n, valeurs dans la série Xk2. 10 L'algorithme de recherche d'une relation affine entre deux séries de mesures X'k2 et X'kl comprend les opérations de : - calcul de a comme étant le rapport entre X'k2moy et X'klmoy, soit a = 2.0y xrk, où X'k2moy est la moyenne des différences xikimoy entre les valeurs successives de la liste X'k2 soit X'k2moy = vn, rv ,'nU 15 X'k2(t - 1)) et X'klmoy est la moyenne des L,t2 lalt - différences entre les valeurs successives de la liste X'kl soit 1 n k1moy= nv-1 Et2(X1 1c1(t) Xr 1c1(t - 1)) , = «Etnxik2(0-xiki(0) - calcul de b suivant la formule b où X'k2(t) et n, X'kl(t) sont les valeurs dans les séries X'k2 et X'kl à l'indice 20 t. Selon diverses caractéristiques prises seules ou en combinaison : - le paramètre Amin est fixé à une valeur comprise entre 1 et 10. - le paramètre pmax est fixé à une valeur comprise entre 1 et 100. 25 - Le paramètre ppos est fixé à une valeur comprise entre 1 et 10. L'invention sera mieux comprise et d'autres détails, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante faite à titre d'exemple non limitatif en référence aux dessins, dans lesquels : 30 - La FIG.1 est une représentation schématique de cinq ressources et des combinaisons possibles entre les séries de mesures effectuées sur ces ressources. 3061785 5 - La FIG.2 est un diagramme fonctionnel illustrant différentes étapes du procédé de recherche des règles d'évolutions entre les différentes ressources d'un système informatique. - Le LISTING.1 est un pseudo code décrivant un exemple de 5 réalisation du procédé dans le cas de la recherche d'une règle d'évolution entre deux séries de mesures. Une architecture (ou un système, ou encore une infrastructure) informatique comprend classiquement diverses ressources, matérielles et/ou logicielles, qui, pour accomplir des processus, sont reliées entre 10 elles pour former une ou plusieurs chaîne(s) fonctionnelle(s) (ou chaîne(s) de liaison applicative, ou encore chaîne(s) applicative(s)). Pour optimiser le fonctionnement d'une telle chaîne applicative, il est décrété nécessaire d'évaluer sa performance et notamment l'utilisation des ressources qui la constituent. On note N (N un entier) le 15 nombre de ressources, notées Ri (i un entier tel que 1 i N), de la chaîne applicative. Pour évaluer la performance de la chaîne applicative, le principe est de rechercher des règles d'évolution entre plusieurs séries de mesures effectuées sur les ressources, typiquement le niveau 20 d'utilisation, la charge, la mémoire disponible, la mémoire ou l'espace disque occupé(e). Par « règle d'évolution », on entend une relation de corrélation de type affine entre deux séries de mesures se rapportant à des niveaux d'utilisation de ressources Ri. La FIG.1 fournit un exemple de cinq ressources Ri (1 i N,N = 5), notées R1 à R5. 25 Une étape du procédé consiste à effectuer et collecter une pluralité de séries de mesures notée Xk, chaque mesure fournissant un niveau (ou taux) d'utilisation d'une ressource Ri. Ces séries sont notées X1 à X5 dans l'exemple de la FIG.1. Le niveau d'utilisation d'une ressource est une grandeur physique dont la nature peut varier selon le type de 30 ressource examiné. Il peut s'agir d'une puissance consommée dans le cas d'un processeur (par ex. un processeur central), un pourcentage du taux de transfert maximum dans le cas d'un disque dur, ou encore un pourcentage de la capacité totale (ou taux d'occupation) dans le cas d'une mémoire vive. 35 La FIG.2 illustre les principales étapes du procédé. 3061785 6 Une étape préliminaire consiste à collecter un nombre M (M un entier non nécessairement égal à N) prédéfini de séries de mesures Xk k M) réalisées toutes sur un même intervalle de temps et avec une même période d'échantillonnage notée periodech. 5 Les mesures sont avantageusement réalisées de manière automatique par un programme exécuté sur un ou plusieurs serveur(s) intégré à l'infrastructure informatique. Les mesures sont de préférence réalisées (et collectées) sur un intervalle de temps d'au moins 2 heures, avec une période 10 d'échantillonnage d'une minute. A titre d'exemple, les mesures sont réalisées sur une période de quatre heures (typiquement comprise entre 08h00 et 12h00, avec une période d'échantillonnage d'une minute (i.e. deux mesures successives sont espacées d'une minute). Les mesures permettent par ex. de déterminer le niveau d'activité 15 d'un processeur central (Central Processing Unit ou CPU) et des disques de deux serveurs. Dans cet exemple, la méthode proposée par la présente invention permet de déterminer des corrélations de type affine entre les activités des processeurs et des disques des deux serveurs, suivant toutes les combinaisons possibles : 20 - corrélation entre le niveau d'activité du CPU du premier serveur et celui de son propre disque, - corrélation entre le niveau d'activité du CPU du premier serveur et celui du disque du second serveur, - corrélation entre le niveau d'activité du CPU du second 25 serveur et celui de son propre disque, - corrélation entre le niveau d'activité du CPU du second serveur et celui du disque du premier serveur, - corrélation entre le niveau d'activité du CPU du premier serveur et celui du CPU du second serveur, 30 - corrélation entre le niveau d'activité du disque du premier serveur et celui du disque du second serveur. Une série de mesures peut-être le résultat d'une mesure ou l'agrégation des résultats de plusieurs mesures réalisées simultanément. Par exemple, une série de mesures peut contenir la 35 somme des débits de tous les disques présents sur une machine. La méthode de recherche de corrélation proposée par la présente invention vise, pour un ensemble de séries de mesures collectées, à 3061785 7 établir des relations de corrélation entre différents couples de séries de mesures notées (Xkl,Xk2) (où k1 et k2 sont des entiers compris entre 1 et M et où k1 k2) issues des mesures collectées. Chaque couple de séries de mesures correspond à une combinaison particulière de deux 5 séries de mesures. Dans l'exemple de la FIG.1, si une série de mesures Xk est collectée pour chaque ressource Ri, i.e. chaque série de mesure Xk correspond au niveau d'utilisation d'une ressource Ri, alors il y aura dix paires possibles de séries de mesures notées de 1 à 10. Rappelons qu'un objectif de la présente invention est la détermination de relations 10 de corrélations pour toutes les combinaisons possibles de deux séries de mesures. Une première étape consiste à sélectionner deux séries de mesures Xkl et Xk2 à partir de l'ensemble des séries de mesures collectées. 15 Une deuxième étape consiste à rechercher une relation de corrélation affine sur au minimum n, valeurs (n,' un entier ajustable) entres les deux séries de mesures Xkl et Xk2. Cette relation de corrélation affine est illustrée par l'équation (1) : 20 Xk2 = aXki + b (1) où a et b sont des nombres réels. Des pourcentages P(t) de différence entre les valeurs Xk2(t) et aXki(t)+b sont calculés, Xk2(t) se référant à la valeur de la mesure d'indice t dans la série Xk2 et Xkl(t) se référant à la valeur de la mesure 25 d'indice t dans la série Xkl. Ce calcul est illustré par l'équation (2), ces pourcentages étant définis comme suit : P(t) = 1001X k2(t)-(aX ki(t)+ b)1 Xk2(t) (2) Où t est un indice entier tel que 1 t REVENDICATIONS1. Procédé d'évaluation de la performance d'une chaîne applicative au sein d'une infrastructure informatique, comprenant un nombre N de ressources Ri (avec i un entier compris entre 1 et N), comprenant les étapes de: - collecte, sur un même intervalle de temps et avec une même période d'échantillonnage period'h d'un nombre prédéfini M de séries de mesures Xk, où k est un entier compris entre 1 et M, relatives aux niveaux d'utilisation de ressources distinctes, - pour toutes les combinaisons possibles de deux séries de mesures (Xki,Xk2),avec kl # k2, parmi les séries collectées : o création de plusieurs couples de sous-ensembles grki,,Ck2) en sélectionnant un nombre prédéfini 74 de valeurs à partir des séries de mesures Xkl et Xk2 respectivement, o application d'un algorithme de recherche de relation(s) de corrélation affine sur chaque couple de sous- ensembles (X'kl,X'k2), cette corrélation affine étant modélisée par l'équation X'k2 = aX'kl + b, où a et b sont des nombre réels, o calcul, pour chaque couple (X'kl,X'k2), des pourcentages P(t) de différence entre les valeurs de 1c2 (t) et de aX' 1,1(0 + b suivant la formule P(t) = 1001xik2(t)-(axiki(o+b)1 x'k2(t) , à chaque indice t (compris entre 1 et nu), o calcul, pour chaque couple (X'kl,X'k2) et à condition que toutes les valeurs de P(t) soient inférieures ou égales à une valeur prédéfinie T, des valeurs de saturation Xi kisnun k2min et X'k2max X k2max- b Insmax = a sont respectivement les valeurs où Xik2min-b a et minimale et maximale de la série de mesures X'k2. 2. Procédé selon la revendication 1, caractérisé en ce que la valeur de 74 est comprise entre 3 et 60. 3061785 13 3. Procédé selon la revendication 1 ou 2, caractérisée en ce que chaque série de mesure est réalisée sur un intervalle de temps supérieur ou égal à 2 heures. 4. Procédé selon l'une quelconque des revendications 5 précédentes, caractérisée en ce que chaque série de mesures est réalisée avec une période d'échantillonnage periodech d'une minute. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisée en ce que la valeur T est de 95%. 6. Procédé selon l'une quelconque des revendications 10 précédentes, caractérisé en ce que le nombre de couples de sous- ensembles est compris entre 1 et 100. 7. Procédé selon l'une quelconque des revendications précédentes, caractérisée en ce que la sélection des sous-ensembles kl et X'k2 comporte les opérations de : 15 - prise en compte des paramètres suivants : les valeurs minimale pmm et maximale pm' d'une période de recherche notée p, p étant une variable de la méthode, le pas d'incrémentation Aras de la période p, une période d'échantillonnage periodeech, 20 - création des ni, valeurs du sous ensemble X' k1 en sélectionnant ni, valeurs dans la série X - création des ni, valeurs du sous ensemble X'k2 en sélectionnant n, valeurs dans la série Xk2. 8. Procédé, selon la revendication 7, caractérisée en ce que le 25 paramètre Amin est fixé à une valeur comprise entre 1 et 10. 9. Procédé, selon la revendication 7 ou la revendication 8, caractérisée en ce que le paramètre pm' est fixé à une valeur comprise entre 1 et 100. 10. Procédé, selon l'une quelconque des revendications 7 à 9, 30 caractérisée en ce que le paramètre ppas est fixé à une valeur comprise entre 1 et 10. 11. Procédé selon l'une quelconque des revendications précédentes, caractérisée en ce que l'algorithme de recherche d'une relation affine entre deux séries de mesures X'k2 et X' k1 comprend les 35 opérations de : 3061785 14 calcul de a comme étant le rapport entre X'k2moy et X'klmoy, soit a = -K,k2moy où X k2moy est la moyenne des différences Xlkimoy entre les valeurs successives de la liste r k2 soit X'k2moy = nv-iEn k2(t -1)) et X'klmoy est la moyenne des tr=v2Wk2(t) 5 différences entre les valeurs successives de la liste r ki soit 1 n Ic1moy = ki(t) - ki(t. - 1)),nv ' calcul de b suivant la formule b = a(Eje k2 (t)-x'ki(0)ou X'k2(t) et nv Xi/n(0 sont les valeurs dans les séries X'k2 et Xi in à l'indice t. 10