Supporting resource-awareness in managed runtime environments
«Conscient des ressources» supporté par des environnements d’exécution adaptés
Résumé
Software systems are more pervasive than ever nowadays. Occasionally, applications run
on top of resource-constrained devices where efficient resource management is required;
hence, they must be capable of coping with such limitations. However, applications
require support from the runtime environment to properly deal with resource limitations. This thesis addresses the problem of supporting resource-aware programming in
execution environments. In particular, it aims at offering efficient support for collecting data about the consumption of computational resources (e.g., CPU, memory), as
well as efficient mechanisms to reserve resources for specific applications. In existing
solutions we find two important drawbacks. First, they impose performance overhead
on the execution of applications. Second, creating resource management tools for these
abstractions is still a daunting task. The outcomes of this thesis are three contributions:
• An optimistic resource monitoring framework that reduces the cost of collecting
resource consumption data.
• A methodology to select components’ bindings at deployment time in order to
perform resource reservation.
• A language to build customized memory profilers that can be used both during
applications’ development, and also in a production environment.
Aujourd’hui, les systèmes logiciels sont omniprésents. Parfois, les applications doivent
fonctionner sur des dispositifs à ressources limitées. Toutefois, les applications néces-
sitent un support d’exécution de faire face à de telles limitations. Cette thèse aborde
le problème de la programmation pour créer des systèmes «conscient des ressources»
supporté par des environnements d’exécution adaptés (MRTEs). En particulier, cette
thèse vise à offrir un soutien efficace pour recueillir des données sur la consommation
de ressources de calcul (par exemple, CPU, mémoire), ainsi que des mécanismes effi-
caces pour réserver des ressources pour des applications spécifiques. Dans les solutions
existantes, nous trouvons deux inconvénients importants. Les solutions imposent un im-
pact important sur les performances à l’exécution des applications. La création d’outils
permettant de gérer finement les ressources pour ces abstractions est encore une tâche
complexe. Les résultats de cette thèse forment trois contributions:
• Un cadre de surveillance des ressources optimiste qui réduit le coût de la collecte
des données de consommation de ressources.
• Une méthodologie pour sélectionner les le support d’exécution des composants au
moment du déploiement afin d’effectuer la réservation de ressources.
• Un langage pour construire des profileurs de mémoire personnalisées qui peuvent
être utilisés à la fois au cours du développement des applications, ainsi que dans
un environnement de production.
Loading...