Optimisation des coûts et des performances dans le cloud: combinaison d'approches d'IA basées ou non sur des modèles

par Thomas Tournaire

Projet de thèse en Mathématiques et Informatique

Sous la direction de Hind Castel-Taleb.

Thèses en préparation à Paris Saclay , dans le cadre de École doctorale Sciences et technologies de l'information et de la communication (Orsay, Essonne ; 2015-....) , en partenariat avec Télécom SudParis (France) (laboratoire) , METHODES (equipe de recherche) et de Institut national des télécommunications (Evry) (établissement de préparation de la thèse) depuis le 06-02-2019 .


  • Résumé

    La numérisation croissante augmente rapidement la complexité et l'hétérogénéité des systèmes informatiques tels que les systèmes de clouds . Dans ces systèmes, une multitude d'applications partagent la même infrastructure, notamment divers composants matériels et logiciels. En outre, différents acteurs, tels que les fournisseurs de services cloud et les utilisateurs de cloud, peuvent être réticents à partager des informations entre eux. De plus, en raison du paradigme de partage des ressources, les caractéristiques du cloud peuvent changer de manière dynamique du point de vue de son client. Le contrôle et la gestion des ressources dans un système de cloud est un problème crucial. En effet, cela permet d'adapter les ressources aux demandes et surtout de réduire la consommation d'énergie, puis de contrôler les coûts et de conserver les performances. Néanmoins, la complexité accrue crée un défi majeur pour la gestion et le contrôle du système. Les approches traditionnelles de la gestion des ressources basées sur la spécification du modèle du système, l'apprentissage du comportement hors ligne et la prévision du trafic seront de plus en plus défiées en raison de l'émergence de ces systèmes complexes et évolutifs. Pour faire face à ce défi, un nouveau paradigme d'apprentissage continu et en interaction offre un potentiel fort pour des mécanismes de contrôle hautement adaptatifs. En commençant par peu ou pas de connaissances sur les caractéristiques du système, les agents de contrôle commencent à prendre des mesures et apprennent à la volée leur efficacité à travers les retours d'environnement observés. Cette approche, appelée Renforcement Learning (RL), permet de masquer la complexité inhérente à l'environnement et de s'adapter de manière dynamique aux conditions changeantes. Dans ce travail, nous cherchons à créer et à expérimenter des algorithmes d'apprentissage par renforcement qui s'adaptent automatiquement à des spécificités inconnues du système, telles que les schémas de trafic applicatif, le taux de consommation des ressources, la capacité du système ou la dynamique des entrées-sorties. L'apprentissage par renforcement sera étudié dans deux cadres d'approches : les approches sans modèle et celles basées sur un modèle. Dans l'approche par modèle, les caractéristiques du modèle (et en particulier les statistiques) sont connues et l'on vise à apprendre la politique de contrôle alors que dans l'approche sans modèle, on ne connait pas les caractéristiques du système qui seront découvertes pendant l'apprentissage. L'approche sans modèle garantit l'adaptabilité, tandis que l'approche basée sur un modèle garantit la pleine utilisation des expériences. L'utilisation du RL dans la gestion du système de cloud a commencé il y a quelques années [4], plus récemment dans [5] et dans [11]. Cependant, les algorithmes R.L. souffrent d'un défaut majeur puisque nous faisons face à un compromis entre le nombre d'états utilisés pour modéliser le système et le temps de convergence. Un grand nombre d'états permet une description précise d'un système mais compromet la vitesse de convergence. Il existe un large consensus (voir [5] et [3] et références dans ce document) parmi les praticiens sur ce fait. C'est un inconvénient majeur de ce type d'approches et l'essentiel de ce travail consistera à dépasser cet inconvénient en combinant différentes approches de l'IA pour exprimer la description du système sous une forme compacte. Par conséquent, pour surmonter la convergence lente, plusieurs axes seront étudiés pour réduire la dimension et le cardinal de l'espace d'état. Grâce à l'utilisation de l'apprentissage en profondeur [6] qui combine les réseaux neuronaux et l'apprentissage par renforcement. Une telle approche a récemment été lancée par Google [1] et conjointement par le MIT et Microsoft [3]. Il est important pour un fournisseur d'infrastructure cloud de mener des recherches sur ce sujet à la mode. Le deuxième axe combinera d'autres techniques d'apprentissage automatique, telles que le regroupement (ou l'agrégation), afin de réduire l'espace d'état. Ensuite, nous déduirons les propriétés structurelles (une propriété satisfaite par le coût à long terme ou par la politique telle que la monotonie) des problèmes de gestion des ressources des approches basées sur des modèles. Nous exploiterons ces propriétés pour effectuer des mises à jour supplémentaires lors de l'estimation de la valeur du coût et pour accélérer le calcul ou identifier une forme structurelle de stratégies adaptées, limitant l'impact négatif des actions d'exploration aléatoires. Enfin, l'approche basée sur un modèle permettra de mener des études théoriques afin d'identifier les points clés qui résument le système et pour mieux comprendre les caractéristiques à prendre en compte lors de la réduction ou du calcul. Enfin, nous voulons créer des algorithmes d'apprentissage par renforcement qui apprennent bien les problèmes pratiques. Ces algorithmes apprendront rapidement, d'une manière incrémentielle et en ligne les paramètres pour de nombreux problèmes pratiques en utilisant le moins d'informations possible.

  • Titre traduit

    Cost and Performance optimization in cloud:combining model-based and model-free AI approaches


  • Résumé

    Growing digitalization is rapidly expanding the complexity and heterogeneity in computing systems such as Cloud computing. In these systems, a multitude of applications share the same infrastructure which includes diverse hardware and system software. In addition, different parties such as Cloud providers and Cloud users may be reluctant to share information with one another. Moreover, due to the resource sharing paradigm, the cloud characteristics can change dynamically from its tenant perspective. The control and the management of the resources in a cloud system is a crucial aspect. Indeed, it allows to adapt the resources to the demands and especially to reduce the energy consumption, then it allows to control the cost and to keep the performance. Nevertheless, the swollen complexity creates a major challenge for system management and control. Traditional approaches to resource management based on system model specification, off-line behaviour learning and traffic prediction will be increasingly defied due to the emergence of these complex and dynamically evolving systems. To deal with this challenge, a new paradigm of continuous learning in interaction brings a strong promise for highly adaptive control mechanisms. Starting with little or no knowledge about system characteristics, the control agents start taking actions and learn on-the-fly about their efficiency through the observed feedback from the environment. This approach, referred to as Reinforcement Learning (RL), allows to hide the inherent complexity of the environment and to adapt dynamically to its changing conditions. In this work, we seek to create and experiment with Reinforcement Learning algorithms which automatically adapt to unknown system specifics such as application traffic patterns, resource consumption rate, system capacity, or system's input-output dynamics, and derive effective resource management and control policies. Reinforcement Learning can be applied in two frameworks : model-free and model-based approaches. In model-based, the characteristics of the model (and especially the statistics) are known and one aims at learning the control policy while in model-free there is no knowledge of the system characteristics of which will be discovered during the learning. The model-free approach ensures the adaptability, while the model-based approach ensures fully utilization of experiences. Since it is well suited to the control of complex system, RL has been used for a variety of fields ranging from robotics to industrial manufacturing and computer game playing for example. The use of RL in management of cloud system started a few years ago [4], more recently in [5] and in [11]. However R.L. algorithms suffer from a major default since we face up a tradeoff between the number of states used to model the system and the convergence time. A large number of states allows a precise description of a system but compromises the speed of convergence. There is a broad consensus (see [5] and [3] and references therein) among practitioners on this fact. This is a major drawback of these kind of approaches and the main part of this work will look at overtake this drawback, by combining different AI approaches to express the description of the system under a compact form. Hence to overcome the slow convergence, several axis will be studied to reduce the dimension and cardinal of the state space. Through the use of Deep Learning [6] that combines neural networks and reinforcement learning. Such a approach was recently initiated by Google [1] and jointly by MIT and Microsoft [3] and is important for a cloud infrastructure provider to lead researches on this trendy topic. The second axis will combine other machine learning techniques, such as clustering, in order to reduce the state space. Then we will derive structural properties (a property satisfied by the long term cost or by the policy such as monotonicity) of resource management problems from model-based approaches. We will exploit these properties to make extra updates during value estimation and speed up the computation or identify structural form of suitable policies that limits the negative impact of random exploration actions. Finally, the model-based approach will allow to carry out theoretical studies in order to identify the key points that summarize the system and to better understand the characteristics to handle during reduction or computation. At last, we want to create Reinforcement Learning algorithms that learn well for practical problems. These algorithms will learn rapidly in the incremental, online settings for many practical problems using as little information as possible.