thesis

Systèmes Autonomes pour la gestion de la Qualité de Service

Defense date:

Jan. 1, 2005

Edit

Institution:

Lyon, INSA

Disciplines:

Authors:

Abstract EN:

In any system, applications are competing for the use of a limited amount of resources. Resource allocation aims to maximize the overall Quality of Service (QoS) of a set of managed applications that form a system. Usually, a QoS manager maximizes an assessment of the delivered QoS called utility in order to optimize the QoS. Although this optimization problem is NP-difficult, it must be dynamically solved. In this thesis, we propose two approaches for the autonomous management of applications' QoS. In this context, autonomous means without external intervention. The first approach requires a detailed description of the environment (the execution context) and the applications (including their precise resources requirements). From these descriptions and based on heuristics, the QoS manager dynamically schedules the use of the different resources and controls the execution of the applications. This approach addresses issues such as guarantee of end to end deadline, on-line admission, multi-resource management and synchronization of distributed applications. The second approach relies on a reinforcement learning technique to continuously search for the best ``operating point'' for each of the applications. As a result, the system continuously adapts itself to fit the execution context. In addition, this approach only requires a high level description of the system, hence the designer of the applications has few information to provide and his burden is reduced.

Abstract FR:

Dans tout système, les applications sont en compétition pour l'utilisation d'une quantité limitée de ressources. L'allocation des ressources vise alors à maximiser la Qualité de Service (QoS) globale du système formé par l'ensemble des applications à gérer. En général, c'est une mesure de la qualité du service rendu, l'utilité, qui doit être maximisée pour optimiser la QoS. Ce problème est NP-difficile et doit pourtant être résolu dynamiquement. Cette thèse propose deux approches pour gérer la QoS d'un ensemble d'applications de manière autonome, c'est-à-dire sans intervention extérieure. La première approche s'appuie sur des heuristiques et une description très détaillée de l'environnement (le contexte d'exécution) et des applications (comprenant leurs besoins en ressources). A partir de ces informations, un planning précis de l'utilisation des différentes ressources est construit dynamiquement pour contrôler l'exécution des applications. L'approche propose une combinaison originale de propriétés avec, entre autres, la garantie du respect des échéances de bout en bout, l'admission en ligne, la gestion de plusieurs ressources et la synchronisation d'applications distribuées. La seconde approche s'appuie sur une technique d'apprentissage pour la recherche continue du meilleur ``point de fonctionnement`` des applications du système. De cette manière, le système s'adapte en permanence à son contexte d'exécution. D'autre part, seule une description de très haut niveau du système est requise par cette approche, ce qui limite la quantité d'information à fournir, donc allège la charge du concepteur des applications.