Auto-adaptation du niveau de service dans les systèmes distribués
Résumé
Modern distributed systems are diverse and dynamic, and it becomes more and more difficult to apply traditional approaches based on an extensive initial knowledge of the system. This article presents an approach to build self-adaptable systems capable of degrading or improving the service level depending on user workload. Initial knowledge is limited to a component-based representation of the system, from which we build and maintain online a performance profile. This profile allows us to (1) identify the most promising adaptations based on workload type and (2) characterize the intrinsic efficiency of each adaptation. We have implemented and evaluated a prototype for our approach in the context of multi-tiered application servers.
Les systèmes distribués modernes sont variés et dynamiques, et il devient ainsi de plus en plus difficile d'appliquer les approches traditionnelles basées sur une connaissance initiale complète du système. Cet article propose une approche visant à construire des systèmes auto-adaptables, et en particulier capables de dégrader ou d'augmenter le niveau de service en fonction de la charge. La seule connaissance requise est un modèle à composants du système, à partir duquel nous construisons et maintenons en ligne un profil de performance. Ce profil permet (1) de localiser les adaptations les plus efficaces en fonction du type de charge, et (2) de caractériser l'efficacité propre des adaptations. Nous avons implanté et évalué avec succès un prototype de cette approche dans le contexte des serveurs d'application multi-étagés.