Ce projet de recherche doctorale est publié a été réalisé par Jacques Malenfant

Description d'un projet de recherche doctoral

Auto-régulation dans l'utilisation des ressources d'un centre de calcul

Mots clés :

Résumé du projet de recherche (Langue 1)

Depuis l’initiative d’IBM sur la calcul auto-régulé (« autonomic computing ») lancée en 2003, le principe de l’administration automatique des ressources de calcul devient peu à peu une réalité. La multiplication des applications Internet à fortes variations de charge (application Web 3-tiers, pour le commerce électronique par exemple) et des centres de calcul ouverts capables d’exécuter sur demande des applications à forte consommation de ressources a amené une demande industrielle pressante dans ce domaine. En effet, dans ce marché, la juste allocation de ressources aux applications en tout temps, selon la charge constatée, est un facteur crucial de compétitivité. Dans ce contexte l'avènement du Cloud Computing, tel qu’il est mis en avant par Google ou Amazon, vise à permettre aux utilisateurs d’accéder à des applications et à de la puissance informatique à la demande au travers de centres de calcul (« Data Center ») virtualisés, en leur donnant l'illusion de capacités de ressources infinies. La mise en œuvre de telles infrastructures soulève de multiples problèmes relevant du calcul auto-régulé. La mise en place d’une architecture auto-régulée demande en effet de croiser les domaines de l’architecture système et de la décision. Si des résultats et des réalisations concrètes se font jour dans ce domaine, facilitées en particulier grâce à la généralisation des techniques de virtualisation de ressources, il reste plusieurs verrous pour leur exploitation à grande échelle :
  • la conception et la mise en oeuvre d’une interface de contrôle sur les ressources permettant d’agir sur l’allocation à différents niveaux de granularité à la fois sur les applications et sur les ressources du centre de calcul ;
  • la mise en place d’une architecture de supervision capable de remonter des informations justes, à jour et cohérentes sur l’état courant des ressources requises par les applications et celles offertes et disponibles sur le centre de calcul ;
  • la conception et la mise en œuvre d’une architecture de décision décentralisée hiérarchique capable de mettre en adéquation la demande et l’offre de ressources de manière à utiliser au mieux le centre de calcul sous contraintes de contrats de qualité de service (« Service Level Agreements », ou SLA) négociés entre l’opérateur du centre de calcul et ses utilisateurs.

Résumé du projet de recherche (Langue 2)

De cette problématique générale, la thèse va s’intéresser tout particulièrement au cas d’un centre de calcul hébergeant à la fois des applications Web interactive (typiquement selon les architectures n-tiers, mais d’autres architectures seront étudiées comme les architectures fondées sur un espace de données partagé ou « space-based architectures ») s’exécutant sur de longues périodes avec une forte variation de la charge dans le temps, et des applications en lot qui s’exécutent jusqu’à terminaison. Dans ce contexte, l’objectif de la couche décisionnelle est d’allouer suffisamment de ressources aux applications en cours d’exécution de manière à atteindre le niveau de service garanti dans le contrat, ou de minimiser les pénalités encourues par l’opérateur lorsque que ces niveaux ne sont pas atteints, tout en préservant le plus possible de ressources pour admettre de nouvelles applications en parallèle avec celles qui s’exécutent déjà.

Sur l’aspect architecture de calcul contrôlable et supervisée, la thèse devra identifier les éléments mis en jeu dans l’adaptation des ressources, les différents paramètres de ce contrôle et de cette supervision, et les implications opérationnelles de la mise en œuvre de la remontée des données. Les interfaces de contrôle devront être suffisamment souples et génériques pour accommoder les deux types d’applications (interactives et en lot) de même que différents types d’architectures logicielles pouvant être déployées soit sur une unique machine virtuelle, soit sur plusieurs machines virtuelles (pour les différents tiers, par exemple). Le type de contrôle appliqué devra être compatible avec les techniques de décision adoptées par la couche décisionnelle, et seront dans un premier temps de type mise à l’échelle (« scaling »), c’est-à-dire augmentation ou réduction d’un facteur linéaire de la quantité de ressources allouées à l’application, le facteur pouvant être un vecteur si les ressources sont déclinées en plusieurs dimensions (processeur, mémoire, réseau, énergie, etc.). Une fois correctement dimensionnées, les machines virtuelles doivent faire l’objet d’un placement sur des machines physiques du centre de calcul ; les API de contrôles devront aussi prendre en compte ces opérations de placement et de déplacement.

En supervision, il s’agira de tirer profit des travaux sur la supervision des architectures orientées services et des grandes grilles de calcul au cas des centres de calcul, dont la prise en compte des aspects de délais de transmission, de fraîcheur et de cohérence des données. L’architecture de supervision devra tenir compte du déploiement préalable au niveau système de sondes de base qui pourront faire l’objet d’agrégation par des sondes logiques correspondant aux indicateurs servant de base à la décision.

La couche décisionnelle contrôle d’abord l’allocation des ressources sur les machines virtuelles en fonction de la charge des applications, selon des politiques de mise à l’échelle linéaire. Ensuite, elle prend des décisions de placement en fonction de la disponibilité des ressources sur les machines physiques du centre de calcul. De manière générale, ces décisions seront guidées par les contrats de type SLA négociés entre le centre de calcul et ses clients. Un objectif de la thèse sera de permettre au centre de calcul de prendre des décisions suffisamment complexes pour correspondre à la réalité du terrain, comme par exemple d’accepter d’encourir des pénalités sur certaines applications, pour cause de surréservation de ressources, si statistiquement cela permet au centre de calcul d’obtenir une meilleure utilisation de ses ressources. Compte tenu de la nature répartie des ressources de calcul à contrôler, l’architecture décisionnelle sera décentralisée, pour être en mesure de prendre des décisions sur des machines virtuelles fortement couplées (en clusters par exemple), et hiérarchique pour gérer le placement sur l’ensemble des machines du centre de calcul. Cette architecture devra aussi permettre l’utilisation de différentes techniques de décision et le contrôle de différents types d’applications. Cette double généricité pose de nombreux problèmes de définition d’architectures et d’API en particulier, dont la résolution est l’un des objectifs importants de la thèse. En particulier, la thèse cherchera à comparer les avantages et inconvénients opérationnels d’approches fondées sur l’apprentissage par rapport à des approches fondées sur l’estimation préalables des performances du système. La réutilisabilité de cette architecture décisionnelle dans différents contextes sera également un critère important.

Dans le cas d’un centre de calcul, l’architecture décisionnelle pourra faire l’hypothèse d’un réseau local à très haut débit sur lequel il est possible d’obtenir des garanties sur les délais et le volume de transmission de données, qui vont ainsi permettre une décision dans de bonnes conditions de fraîcheur et cohérence des données. Une ouverture pouvant être traitée dans le cadre de la thèse est celle de la gestion de multiples centres de calcul reliés par des réseaux à longue distance sans garanties de délais et de volume, ou avec des garanties sur des valeurs très différentes du contexte réseau local. Dans ce contexte, les techniques de décision viseront la relocalisation d’applications vers d’autres centres de calcul en fonction de la disponibilité des ressources. Les délais de transmission engendreront un décalage entre l’état présumé et l’état réel des autres centres de calcul, amenant à utiliser des techniques de décision prédictives. La mise au point de telles techniques de décision collective en temps réel dans un contexte d’utilisation réaliste sera un des défis techniques de la thèse.

Informations complémentaires (Langue 2)

Le sujet est proposé par Orange Labs.

Isis Truck, maître de conférences à l'Université Paris 8 sera co-encadrante de la thèse.

Nicolas Rivierre, chercheur chez Orange Labs à Issy-les-Moulineaux, est l'encadrant industriel.

La thèse est effectuée sous convention CIFRE.

Le candidat inscrit pour ce sujet est Xavier Dutreilh.