FR 2862403 A1 20050520 FR 0313505 A 20031118 PROCEDE DE GESTION OPTIMISEE DE RESSOURCES INFORMATIQUES DISTRIBUEES La présente invention se rapporte au domaine du calcul 5 distribué. La présente invention se rapporte plus particulièrement à un procédé de calcul en grille (Grid Computing en anglais) utilisant la notion de globalisation des ressources informatiques distribuées. La grille de calcul permet d'optimiser des infrastructures et de gérer globalement l'accès et le partage de ressources, de données et d'applications à grande échelle. Le principe est le partage des moyens de calculs, de stockage et d'applications à travers un réseau de communication. Les différentes ressources informatiques distribuées sur la grille représentent certes une capacité de calcul, mais peuvent aussi être vues en des termes économiques. Dans de tels environnements en grille, les producteurs sont ceux qui possèdent la ressource et les consommateurs sont ceux qui utilisent la ressource. L'art antérieur connaît déjà par le brevet US 6 418 462 (Yong Yong Xu), un procédé de calcul distribué pour utiliser des ressources CPU en attente. Lorsqu'un client se connecte à un service réseau, un canal de communication séparé est ouvert, et les tâches sont distribuées sur différents clients, et les résultats sont récupérés ultérieurement. Des problèmes de calculs parallèles peuvent alors être résolus en divisant les tâches en petites entités de calcul. À moindre coût, le serveur réseaux se comporte alors comme un supercalculateur. L'art antérieur connaît aussi dans la thèse de Rajkumar Buyya de l'Université de Melbourne (Australie) une 2862403 2 gestion économique des ressources distribuées. Cette thèse étudie des approches pour introduire des paramètres économiques de coûts et de temps dans les algorithmes d'ordonnancement. Les ressources sont gérées à l'aide du concept d'offre et de demande et les capacités de calcul sont optimisées à partir des demandes du client, selon des paramètres à définir (contrainte de coût ou de temps de calcul). Il est aussi connu dans une publication Internet de la société IBM, un procédé de commercialisation de ressources informatiques à travers une grille. Les décisions concernant les ressources informatiques sont faites sur des critères économiques et le prix est annoncé comme un facteur clé dans le choix des ressources. Cependant, ces documents ne décrivent pas d'implémentation opérationnelle du procédé de Grid Computing au niveau d'une entreprise ou entre entreprises, où plusieurs acteurs, ayant des responsabilités et des rôles différents, entrent en jeu et influent sur un projet et les exécutions de tâches. D'autre part, ces documents ne considèrent pas la définition de l'engagement de fourniture des services et leur qualification qui doit accompagner l'échange commercial entre fournisseur et consommateur. La présente invention entend remédier aux inconvénients de l'art antérieur en proposant une gestion de services basée sur du calcul en grille orienté vers une structure d'entreprise, où les consommateurs de service peuvent formuler leur demande de service non pas seulement sur des aspects techniques, mais aussi sur des paramètres correspondant à leurs métiers et aux contraintes de leur projet. Par ailleurs, au niveau du fournisseur de service, des paramètres de qualité de services sont pris en compte par la présente invention tels la robustesse, la performance, la sécurité. À cet effet, la présente invention concerne, dans son acception la plus générale, un procédé de gestion de ressources informatiques mettant en uvre une grille de calcul, lesdites ressources informatiques comprenant au moins des processeurs, des mémoires et des bus, caractérisé en ce qu'il comprend: É Une étape de modélisation constituée de: - Une sous-étape de définition de paramètres associés aux dites ressources informatiques; Une sous-étape de définition de contraintes d'utilisation desdites ressources informatiques amenant à la création de services d'accès aux ressources de la grille; - Une sous-étape de mise à disposition et de qualification des services sur la grille de calcul. É Une étape d'optimisation constituée de: - Une sous-étape de soumission de tâches sur ladite grille de calcul à travers le service le plus approprié aux exigences de la tâche; - Une sous-étape d'exécution de tâches sur ladite grille de calcul, utilisant lesdites ressources informatiques. É Une étape d'analyse de l'activité de la grille permettant de faire évoluer la grille en ajustant la modélisation et consécutivement en optimisant son usage. 2862403 4 Selon une première variante, lesdits paramètres associés aux dites ressources informatiques sont des paramètres économiques associés aux dites ressources. Selon une seconde variante, lesdits paramètres associés aux dites ressources informatiques sont des paramètres de performance associés aux dites ressources. De préférence, lesdits paramètres économiques associés 10 aux dites ressources informatiques sont des informations de coût d'utilisation desdites ressources. Avantageusement, lesdits paramètres de performance associés aux dites ressources informatiques sont des informations de qualité de service desdites ressources, des informations de sécurité desdites ressources, des informations de fiabilité desdites ressources, des informations de capacité de calcul associées aux dites ressources ou des informations de temps associées aux dites ressources, ou encore une combinaison de ces différentes informations. Selon un mode de réalisation, lesdits paramètres associés aux dites ressources informatiques sont des paramètres de localisation desdites ressources. Avantageusement, lesdites contraintes d'utilisation sont définies à partir desdits paramètres associés aux dites ressources informatiques. De préférence, ladite analyse et ladite optimisation de la grille de calcul sont définies à partir desdits paramètres associés aux dites ressources informatiques. Selon un premier mode de réalisation, ladite exécution de tâches sur ladite grille de calcul utilise lesdites ressources informatiques selon un traitement parallèle. 2862403 5 Selon un autre mode de réalisation, ladite exécution de tâches sur ladite grille de calcul utilise lesdites ressources informatiques selon un traitement séquentiel. De préférence, chaque étape du procédé se fait de façon automatisée. Selon un mode de mise en oeuvre, l'automatisation de chaque étape du procédé se fait grâce à des interfaces de programmation de type API. Avantageusement, chaque exécution de tâches sur ladite grille de calcul actualise un journal d'historique des tâches. Selon un mode de mise en oeuvre particulier, lesdits historiques des tâches permettent de commercialiser les 15 services et d'optimiser la grille de calcul. L'invention se rapporte également à un système pour la mise en oeuvre du procédé, comprenant au moins une pluralité de calculateurs informatiques. Plusieurs acteurs sont donc pris en compte dans le procédé de gestion de ressources de la présente invention: - Le consommateur de services représente les membres du projet qui requièrent d'exécuter diverses applications informatiques: ce sont par exemple des scientifiques qui utilisent les ressources pour exécuter les applications de leur domaine d'activité, applications qui ont été préalablement déployées sur les ressources ou qui le sont à l'exécution. Cet acteur soumet une tâche en précisant un certain nombre de contraintes d'exécution (application concernée, paramètres d'entrée, mode de visualisation, date, durée, niveau de sécurité, qualité de service attendu...) et des contraintes économiques (notamment en terme de budget et de délai). Il est, en terme d'organisation, employé d'une 2862403 6 entité de l'entreprise et, en terme d'opérations, membre de projets pour lesquelles il réalise un certain nombre de tâches qui s'appuient sur des services (service de type calcul, simulation, manipulation de données, ... ). D'autres acteurs comme l'administrateur de site et le chef de projet qui vont gérer respectivement les sites et les projets interviennent également; ce scénario implique donc à la fois une gestion des utilisateurs mais également des politiques de mise à disposition des services sur les sites et d'utilisation des services sur les projets. - Le fournisseur de service représente les sociétés et laboratoires de recherche qui, par l'intermédiaire de leurs administrateurs machines fournissent des ressources et des applications à la grille. Cet acteur déclare ses ressources sur la grille en précisant un certain nombre d'informations techniques (capacité, charge, ...) et d'engagements contractuels sur le coût, la qualité de service et la sécurité. Le fournisseur de service est, en terme d'organisation, employé d'une entité de l'entreprise et, en terme d'opération, garant du service qu'il propose sur la grille: sur ce dernier aspect, il est essentiel d'avoir un processus de qualification des services proposés sur la grille par les fournisseurs de service; ce processus est réalisé à travers un nouvel acteur, l'administrateur des applications. Les échanges entre tous les acteurs doivent être modélisés et adaptés en fonction des modèles d'échanges commerciaux qui seront définis sur la grille. On comprendra mieux l'invention à l'aide de la description, faite ciaprès à titre purement explicatif, d'un mode de réalisation de l'invention, en référence aux figures annexées: 2862403 7 É La figure 1 illustre une organisation des ressources d'entreprise selon l'art antérieur; É La figure 2 illustre une organisation des ressources d'entreprise selon l'invention; ^ La figure 3 est un graphique illustrant les besoins en ressources informatiques dans le temps; É La figure 4 illustre un schéma de l'organisation des différents utilisateurs de la grille selon l'invention; É La figure 5 illustre un schéma d'une architecture possible de gestion des ressources informatiques selon l'invention; É La figure 6 illustre un exemple de lien entre sites distants par un GridAgent. Notons que dans la description ci-dessus et dans toute la suite, le terme ressource informatique doit être compris comme un n ud (capacité informatique d'exécution ou de stockage) ou bien une application (logiciel déployé sur la grille). La figure 1 est un schéma d'une entreprise possédant deux sites de recherche et développement, un à Seattle et l'autre à Hambourg. Chaque site possède plusieurs équipes de projet, et certains projets contiennent des chercheurs basés sur les deux sites. Les deux sites sur des fuseaux horaires très différents et les ressources informatiques nécessaires pour les deux sites ont des maxima et des minima différents dans le temps comme sur la figure 3. Ceci pose donc des problèmes de capacité au niveau de chaque site, ce qui signifie que des chercheurs attendent des résultats alors que des ressources machines sont sous-utilisées à l'autre site. Sans utiliser de procédé de calcul en grille, les sites ne sont pas capables de partager l'exécution des 2862403 8 ressources et peuvent seulement partager les résultats par transfert de données. La présente invention permet à l'entreprise de partager l'exécution des ressources comme sur la figure 2. Il n'y a plus besoin de passer du temps à savoir comment utiliser les applications du site distant. Les services fournis sont alors donnés à un certain niveau de qualité, et à un certain prix. Par ailleurs, les différentes localisations des sites sont prises en paramètres dans ce partage de l'exécution. Une optimisation sera alors effectuée en fonction de ces niveaux de qualité, ce coût et les localisations. L'optimisation de la grille se fait à plusieurs niveaux: en sélectionnant le meilleur service correspondant à la requête de l'utilisateur et ce en tenant compte des historiques de service, de l'état courant des ressources et de la capacité des services en analysant l'activité de la grille à travers l'utilisation des services, l'utilisation des ressources et les transferts de données et en répartissant au mieux les composants de la grille. Selon l'invention, illustrée figure 4, plusieurs types d'utilisateurs ont accès à la grille, selon leurs besoins. Les fournisseurs de service mettent à disposition leurs ressources et leurs applications sur la grille. Ils définissent les paramètres de leurs ressources. Ces engagements sont des niveaux de disponibilité, de sécurité, de confiance. Ils définissent aussi le prix de l'accès aux ressources et le type d'accès. Globalement, ces paramètres forment des niveaux de service, ou la qualité du service (SLA pour Service Level Agreement). De préférence, les fournisseurs de service indiquent le nombre de noeuds disponibles pour une plate-forme, le 2862403 9 nombre de CPU par n ud, l'espace mémoire par n ud mis à disposition, ainsi que l'espace disque par n ud mis à disposition. Le fournisseur de service peut aussi obtenir un historique complet de l'usage d'une plate-forme de travail. Le moyen de gestion de grille est aussi interfacé avec un administrateur du service. Celui-ci doit gérer les différentes ressources disponibles mises à disposition par le fournisseur de service. Il possède un historique des utilisateurs de la grille, qu'ils soient utilisateurs de ressources, fournisseur, ou gestionnaire de projet. Il doit s'assurer que les niveaux de service sont respectés. Le moyen de gestion de grille est aussi interfacé avec le gestionnaire de projet. Celui-ci sélectionne quel utilisateur de service peut rejoindre un projet, négocie et sélectionne l'utilisation d'un service à partir des propositions des fournisseurs de service. Le gestionnaire de projet doit fournir le meilleur service possible aux utilisateurs de son projet selon ses contraintes de budget, de temps, de sécurité de son projet. Le moyen de gestion de grille est aussi interfacé avec l'utilisateur des services. Il possède un accès transparent et simple aux ressources informatiques. Il peut aussi utiliser le portail Web pour lancer et gérer ses travaux. Les figures 5 et 6 décrivent l'architecture technique de la présente invention. Le GridManager est un composant qui permet un accès simple à la grille de calcul pour les différents acteurs. Le GridAgent est un composant permettant à un ensemble de ressources informatiques de participer à la grille en tant que plate-forme. Une plate-forme est composée d'un n ud maître accueillant le GridAgent et d'un ensemble 2862403 10 de n uds secondaires contrôles par le n ud maître. Tous ces n uds partagent le même système d'exploitation et sont accessibles par l'intranet de l'entreprise. L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de l'invention sans pour autant sortir du cadre du brevet. 11 REVENDICATIONS 1. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul, lesdites ressources 5 informatiques comprenant au moins des processeurs, des mémoires et des bus, caractérisé en ce qu'il comprend: É Une étape de modélisation constituée de: - Une sous-étape de définition de paramètres associés 10 aux dites ressources informatiques; Une sous-étape de définition de contraintes d'utilisation desdites ressources informatiques amenant à la création de services d'accès aux ressources de la grille; - Une sous-étape de mise à disposition et de qualification des services sur la grille de calcul. É Une étape d'optimisation constituée de: - Une sous-étape de soumission de tâches sur ladite 20 grille de calcul à travers le service le plus approprié aux exigences de la tâche; - Une sous-étape d'exécution de tâches sur ladite grille de calcul, utilisant lesdites ressources informatiques. É Une étape d'analyse de l'activité de la grille permettant de faire évoluer la grille en ajustant la modélisation et consécutivement en optimisant son usage. 2. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon la revendication 1, caractérisé en ce que lesdits paramètres associés aux dites ressources informatiques sont des paramètres économiques associés aux dites ressources. 2862403 12 3. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon la revendication 1, caractérisé en ce que lesdits paramètres associés aux dites ressources informatiques sont des paramètres de performance associés aux dites ressources. 4. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon la revendication 2, caractérisé en ce que lesdits paramètres économiques associés aux dites ressources informatiques sont des informations de coût d'utilisation desdites ressources. 5. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon la revendication 3, caractérisé en ce que lesdits paramètres de performance associés aux dites ressources informatiques sont des informations de qualité de service desdites ressources, des informations de sécurité desdites ressources, des informations de fiabilité desdites ressources, des informations de capacité de calcul associées aux dites ressources ou des informations de temps associées aux dites ressources, ou encore une combinaison de ces différentes informations. 6. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon la revendication 1, caractérisé en ce que lesdits paramètres associés aux dites ressources informatiques sont des paramètres de localisation desdites ressources. 7. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon l'une quelconque des revendications précédentes, caractérisé en ce que 2862403 13 lesdites contraintes d'utilisation sont définies à partir desdits paramètres associés aux dites ressources informatiques. 8. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon l'une quelconque des revendications précédentes, caractérisé en ce que ladite analyse et ladite optimisation de la grille de calcul sont définies à partir desdits paramètres associés aux dites ressources informatiques. 9. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon l'une quelconque des revendications précédentes, caractérisé en ce que ladite exécution de tâches sur ladite grille de calcul utilise lesdites ressources informatiques selon un traitement parallèle. 10. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon l'une quelconque des revendications précédentes, caractérisé en ce que ladite exécution de tâches sur ladite grille de calcul utilise lesdites ressources informatiques selon un traitement séquentiel. 11. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque étape du procédé se fait de façon automatisée. 12. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon l'une quelconque des revendications précédentes, caractérisé en ce que l'automatisation de chaque étape du procédé se fait par des interfaces de programmation de type API. 13. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque exécution de tâches sur ladite grille de calcul actualise un journal d'historique des tâches. 14. Procédé de gestion de ressources informatiques mettant en uvre une grille de calcul selon la revendication 13 caractérisé en ce que lesdits historiques des tâches permettent de commercialiser les services et d'optimiser la grille de calcul. 15. Système pour la mise en uvre du procédé selon l'une au moins des revendications précédentes, comprenant au moins une pluralité de calculateurs informatiques.