Algorithmes distribués d'optimisation pour l'équilibrage de charges dans les réseaux dynamiques

par Fedha el amina Hammad (Khettal)

Projet de thèse en Informatique

Sous la direction de Christophe Guyeux, Mourad Hakem et de Mohammed Haddad.

Thèses en préparation à Bourgogne Franche-Comté , dans le cadre de SPIM - Sciences Physiques pour l'Ingénieur et Microtechniques , en partenariat avec FEMTO-ST Franche Comté Electronique Mécanique Thermique et Optique - Sciences et Technologies (laboratoire) et de DISC - Département Informatique et Systèmes Complexes (equipe de recherche) depuis le 01-11-2016 .


  • Résumé

    Pour répondre aux exigences des marchés, l'autonomie des systèmes devient une tendance croissante. L'énergie consommée et la puissance de calcul sont les contraintes de base pour la conception et la gestion de ces systèmes ou réseaux . Face à la complexité des applications et des architectures, il devient de plus en plus difficile de distribuer les tâches d'une application parallèle de manière efficace. Plus qu'un simple problème d'équilibrage de charge, l'adaptabilité conduit à considérer les techniques d'ordonnancement pour tenir compte des contraintes courantes et spécifiques des différentes ressources du réseau . Par ailleurs, l'augmentation des capacités de calcul et stockage au sein des noeuds formant le système a accru la nécessité de la prise en compte des communications concurrentes et de la congestion. Dans ce contexte, l'équilibrage de charge a pour objectif/fonction de répartir au mieux la quantité de travail du système en tirant le meilleur profit des différentes ressources/machines disponibles . Cette problématique est devenue très utile avec l'émergence du calcul distribué et couvre un spectre très varié de domaines d'application : grilles de calcul, systèmes temps réel, serveurs internet, réseaux de capteurs, etc. La plupart des algorithmes d'équilibrage de charge existants reposent sur une architecture centralisée: les informations relatives à la plate-forme (topologie, performance des liens et unités de calcul) sont rassemblées en un noeud «~maître~», puis celui-ci décide de la façon d'organiser calculs et communications, et diffuse ses décisions. Aujourd'hui, d'autres plates-formes émergent, à plus grande échelle, constituées de machines diverses reliées l'une à l'autre par un réseau non dédié (tel Internet) mais permettant des communications de plus en plus rapides . Cependant, ces nouvelles plates-formes sont fondamentalement dynamiques et instables : les performances des unités de calcul et de communication varient avec le temps, et certaines ressources peuvent subir des défaillances pendant leur utilisation. Afin d'éviter toute dégradation de performances ou de fiabilité lors d'affluences importantes de charge, il faut se tourner vers des algorithmes décentralisés, robustes aux fluctuations de charge et tolérants aux pannes, pour s'adapter à des ressources dynamiques, voire volatiles . Pour ce faire, il faudrait considérer à la fois les aspects théoriques et pratiques pour mettre en oeuvre efficacement et conjointement des méthodes avancées de l'optimisation combinatoire et d'algorithmique distribuée afin d'améliorer la qualité des solutions obtenues.

  • Titre traduit

    Distributed algorithms of optimization for load balancing in dynamic networks


  • Résumé

    To meet market demands, system autonomy is becoming a growing trend. The energy consumed and the computing power are the basic constraints for the design and management of these systems or networks. Faced with the complexity of applications and architectures, it becomes increasingly difficult to distribute the tasks of a parallel application in an efficient manner. More than just a load balancing problem, adaptability leads to considering scheduling techniques to take into account the current and specific constraints of different network resources. In addition, the increase in computing and storage capabilities within the nodes forming the system has increased the need for consideration of concurrent communications and congestion. In this context, load balancing has the objective / function of distributing at best the amount of work of the system by taking the best advantage of the different resources / machines available. This issue has become very useful with the emergence of distributed computing and covers a very wide spectrum of application domains: computing grids, real-time systems, internet servers, sensor networks, etc. Most existing load balancing algorithms based on a centralized architecture: information about to the platform (topology, link performance and computation) are gathered in a node "~ master ~", then this one decides how to organize calculations and communications, and disseminates its decisions. Today, other platforms emerge on a larger scale, consisting of various machines connected to each other by a non-dedicated network (such as Internet) but allowing faster and faster communications. However, these new platforms are fundamentally dynamic and unstable: the performance of computing and communication units varies over time, and some resources may fail during their use. To avoid any degradation of performance or reliability during busy times load, we must turn to decentralized algorithms, robust to load fluctuations and fault-tolerant, to adapt to dynamic or even volatile resources. To do this, we should consider both the theoretical and practical aspects to efficiently implement jointly advanced methods of combinatorial optimization and distributed algorithmics to improve the quality of solutions obtained.