3.3 Travaux apparentés d’auto-optimisation des systèmes distribués
3.3.5 Généralité et réutilisabilité de l’approche
La généralité et la réutilisabilité des différents travaux d’optimisation des systèmes
distribués est très variable. Certaines approches sont très spécifiques à un système
par-ticulier donné, comme par exemple l’optimisation de certains paramètres d’un serveur
Web Apache HTTP ou encore la modélisation et la conception très spécifique d’un
sys-tème de détection de panne pair-à-pair optimal [43, 74, 99]. D’autres proposent des
approches pour l’optimisation dans le contexte de certaines catégories particulières de
systèmes telles que les services Internet, les systèmes J2EE ou encore les serveurs de
bases de données dupliqués en grappe, etc [98,97,128,10,100,101,83,92,112,115,110,
111,11]. Enfin, certains proposent des approches plutôt générales et qui reposent sur
des mécanismes de contrôle transparents [14,12,114,89,86,26].
Notons enfin que certaines approches aboutissent à des prototypes non réutilisables,
car entièrement spécifiques aux cas d’études considérés, mais apportent une
méthodo-logie générale ou réutilisable. C’est très exactement le cas des approches par
modéli-sation, ou encore celui des approches définissant un cadre de conception, comme par
exempleSEDA[3,62,124,123].
3.4 Synthèse
L’optimisation des performances des systèmes distribués est un vaste domaine d’étude
toujours très actif et qui laisse de nombreux problèmes ouverts. Nous avons présenté
un ensemble de travaux représentatifs des différentes approches que nous avons
identi-fiées concernant l’optimisation des systèmes distribués. Notre étude révèle que la
ges-tion des variages-tions de charge a été largement étudiée dans des contextes très variés,
et donnant lieu à des approches diverses dont principalement la gestion de
conten-tion et l’adaptaconten-tion à la charge par approvisionnement dynamique. Il existe finalement
assez peu d’approches qui s’attachent à établir puis garantir les performances des
sys-tèmes optimisés. En réalité, cela doit être relié à la complexité des modélisations sur
lesquelles reposent ces approches garantissant les performances des systèmes
admi-nistrés. La gestion des systèmes en “boîtes noires” comme les systèmes patrimoniaux
est une caractéristique assez rare parmi les différents travaux que nous avons
considé-rés. En effet, l’optimisation d’un système repose fréquemment sur l’adaptation ou la
connaissance de mécanismes internes aux systèmes administrés, ce qu’il est impossible
de réaliser sur des systèmes vus comme des boîtes noires. Enfin, quelques approches
reconnaissent les complications liées aux instabilités des systèmes administrés causées
par leur adaptation dynamique. À l’exception des techniques issues de la théorie de
la commande et du domaine de l’automatique qui intègrent directement ces
considé-rations dans la conception de la boucle de rétroaction par modélisation, très peu
d’ap-proches apportent de solution concrète à ce problème.
Nous proposons une approche pour l’auto-optimisation fondée sur
per-met de traiter aussi bien lesvariations graduellesque lespics de charge, et s’intéresse
éga-lement à la gestion de l’énergie en considérant lessous-charges. Notre approche intègre
à la fois un gestionnaire d’auto-optimisation très général fondé sur une heuristique
générale et réutilisable, ainsi qu’un gestionnaire d’auto-optimisation fondé sur la
mo-délisation mathématique du système administréspécifiquemais permettant de fournir
desgaranties de performance. Notre approche permet de plus l’administration et
l’auto-optimisation desystèmes patrimoniauxvus comme des boîtes noires par une technique
d’encapsulation qui fournit une vue uniforme des différents systèmes patrimoniaux
administrés. Nous proposons enfin une technique fondée sur l’architecture du système
administré et permettant laprévention des oscillationspouvant résulter de
l’approvision-nement dynamique, afin de maintenir la stabilité et les performances du système
auto-optimisé. Notre approche est décrite plus en détail au chapitre7.
Nous avons présenté, dans ce chapitre, les travaux d’optimisation des systèmes
dis-tribués. L’auto-optimisation des systèmes distribués implique diverses adaptations
dy-namiques des systèmes administrés qui prennent la forme d’actions sur ces systèmes
distribués administrés. Dans le chapitre suivant, nous étudions les travaux relatifs aux
actions sur les systèmes distribués.
Actions sur le système administré
Politique d'administration
(ex. auto-optimisation)
Observation Action
yè
stme administré é
Nous étudions, dans ce chapitre, l’état de l’art relatif aux actions sur les systèmes
administrés dans le cadre de l’administration fondée sur l’architecture. Dans un
pre-mier temps, nous identifions et présentons les défis scientifiques relatifs aux actions sur
les systèmes administrés. Nous étudions ensuite, défi par défi, les travaux apparentés
d’actions sur les systèmes administrés. Enfin, nous présentons une synthèse critique
sur les travaux apparentés.
4.1 Défis scientifiques d’actions sur les systèmes administrés
Cette section présente les défis scientifiques que constituent les actions sur les
tèmes distribués administrés. Nous nous intéressons aux moyens d’agir sur les
sys-tèmes administrés afin de les adapter dynamiquement au cours de leur
fonctionne-ment.
Description d’architectures paramétrables. Le paramétrage des architectures est une
faculté essentielle pour représenter des architectures dynamiques, adaptables et
réutili-sables. Cela est particulièrement important lorsqu’il s’agit de décrire l’architecture d’un
système dont certaines caractéristiques ne sont pas connues avant le déploiement et
l’instanciation du système. Par exemple, la répartition exacte des composants formant
un système distribué sur un ensemble de machines n’est bien souvent pas connu avant
l’instanciation effective du système. Il est donc important de pouvoir abstraire et
para-métrer la description du système.
Contrôle du déploiement. L’algorithme de déploiement employé pour exécuter une
action distribuée ou instancier une description d’architecture est-il paramétrable,
ajus-table ou spécialisable ? La flexibilité de l’algorithme de déploiement est essentielle, car
elle permet d’intégrer des contraintes de distribution, de coordination et de
synchro-nisation au processus de déploiement. Ces contraintes sont parfois nécessaires pour
maintenir la cohérence du système.
Dynamisme de l’architecture. Les systèmes autonomes réagissent et évoluent par le
jeu d’adaptations dynamiques dirigées sur leur architecture. Les systèmes autonomes
reposent ainsi sur des architectures dynamiques. Il est donc souhaitable de disposer de
descriptions d’architecture capables d’intégrer l’expression d’adaptations dynamiques.
Ces descriptions doivent par ailleurs être suffisamment expressives pour autoriser des
adaptations dynamiques arbitraires.
Généralité de l’approche. La généralité d’une approche pour la mise en œuvre
d’ac-tions sur les systèmes administrés est un critère important. Elle détermine le degré de
réutilisabilité de l’approche dans des contextes différents.
Dans le document
Vers l'Auto-Optimisation dans les Systèmes Autonomes.
(Page 46-49)