• Aucun résultat trouvé

Généralité et réutilisabilité de l’approche

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

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.