Login
Towards energy efficiency by leveraging heterogeneity of clusters and applications
Résumé Le développement d’applications se diversifie de jour en jour, dans ses objectifs comme ses contraintes. Pour cette raison, les fournisseurs de service Cloud proposent une grande variété d’offres permettant de répondre aux besoins de leurs utilisateurs. De plus, il devient fréquent de développer des applications pour des architectures distribuées. Cela signifie que les applications sont généralement constituées de blocs qui effectuent des tâches et communiquent les uns avec les autres pour atteindre un objectif commun. Aussi, pour répondre aux besoins de l’application, chacun de ses blocs peut être instancié plusieurs fois (par exemple, les GPU et FPGA) puisque leurs besoins respectifs peuvent différer d’une instance à l’autre.

Dans nos travaux, nous ajoutons l’efficacité énergétique comme une contrainte supplémentaire parmi les objectifs multiples déjà assurés par une application, au même titre que la performance ou la sécurité. De récentes études ont estimé la consommation d’énergie du secteur du Cloud qui, malgré l’inquiétude qu’elle soulève, continue d’augmenter, en particulier dans les centres de données. Nous nous attaquons à ce sujet sous les angles de vue différents de deux acteurs : 1) les fournisseurs de service Cloud, et 2) les développeurs d’applications.

Du point de vue des fournisseurs de service Cloud, nous commençons par proposer une nouvelle stratégie d’ordonnancement dédiée au cas d’un utilisateur unique, qui exploite l’hétérogénéité des centres de calcul et des applications, afin d’obtenir un meilleur compromis entre performance et efficacité énergétique. Puis, nous étendons cette approche aux cas d’utilisateurs multiples, pour lesquels nous nous appuyons sur l’approximation différentielle et la technique de sprint pour éviter l’éviction de tâches et les pertes inutiles d’énergie qui font augmenter la consommation globale.

Dans la seconde partie de cette thèse, nous quittons le point de vue des fournisseurs de service Cloud pour celui des développeurs d’applications. Nous montrons que les caractéristiques particulières de certaines applications peuvent être exploitées afin d’opter pour des approches énergétiquement plus efficaces, tout en maintenant voire en améliorant d’autres objectifs. Pour cela, nous utilisons une technique de paramétrage automatique que nous avons appliqué à des applications d’apprentissage profond.

Nous commençons par caractériser ces applications pour vérifier l’impact que le paramétrage choisi peut avoir sur les phases de paramétrage, d’apprentissage, et d’inférence. Ensuite, nous proposons une approche de paramétrage automatisé qui tire profit de la parallélisation et des caractéristiques récurrentes de ce type d’applications pour prendre en compte simultanément les performances, la précision, et l’efficacité énergétique. Une fois cette étape de paramétrage effectuée, le modèle obtenu est déployé pour faire de l’inférence. Ainsi, la prochaine étape consiste à étendre notre approche pour prendre en compte l’inférence durant le paramétrage. Grâce à cette étape complémentaire, nous proposons à l’utilisateur des recommandations pour le déploiement de leurs modèles de manière que les objectifs liés à l’inférence soient également atteints.

Enfin, indépendamment du point de vue choisi, la sécurité reste une des préoccupations majeures dans ce domaine. Les fournisseurs de service Cloud doivent pleinement assurer la confidentialité des données de leurs utilisateurs, en particulier dans les cas des utilisateurs partageant les mêmes infrastructures. D’autre part, les applications en lien avec l’apprentissage profond sont souvent entrainées avec des jeux de données sensibles qui doivent également être protégé. Les environnements d’exécution de confiance (TEEs) sont devenus des composants fréquemment présents dans l’architecture des serveurs, fournissant ainsi une garantie de sécurité supplémentaire. Cependant, ces mécanismes ont encore de nombreuses limitations en termes de facilité de mise en œuvre et de coûts supplémentaires en matière de performances. Pour cette raison, nous terminons cette thèse en proposant une approche permettant d’automatiser les garanties de sécurité dans le contexte d’applications et de centres de calcul hétérogènes.

En résumé, cette thèse a pour objectif d’apporter davantage d’efficacité énergétique aux centres de calcul, tout en préservant les contraintes habituelles que sont les performances, la sécurité ou la précision. Nous proposons de nouveaux mécanismes pouvant être appliqués lors de l’étape de la gestion des tâches, ainsi que des optimisations spécifiques au cas des application d’apprentissage profond. Enfin, nous concluons ce travail en proposant l’ajout d’une couche de sécurité supplémentaire sur ces différentes idées, en se basant sur les environnements d’exécution de confiance.


Abstract

The development of applications is becoming every day more diverse in terms of requirements and objectives. Considering this, major cloud providers offer a large variety of hardware types to better fit their customers’ needs. Moreover, a common approach is to design applications in a distributed setup. This means that applications typically consist of building blocks performing individual tasks and communicating with each other to achieve a given objective. Similarly, in order to fulfill the overall requirements of the application, each of its building blocks could feature different instances (e.g., GPUs and FPGAs) as their individual requirements might differ from each other.

In this work, we add energy efficiency on top of the multiple objectives that an application might have such as performance or security. Recent studies estimate the already alarming and still increasing energy consumption in the cloud computing sector, especially coming from data centers. We aim at tackling this problem from two different perspectives: 1) cloud providers, and 2) application developers.

Looking from the cloud providers point of view, we start by proposing a novel scheduling strategy focused on single-tenant scenarios which leverages the heterogeneity of both clusters and applications to better address the trade-off between performance and energy efficiency. Then, we extend this approach to the multi-tenant scenario where we rely on differential approximation and sprinting to avoid job eviction and resource waste leading to an overall energy gain.

In the second part of this thesis, we switch the view from cloud providers to the developers of applications. Here we show that peculiar characteristics of applications can also be leveraged to achieve more energy efficient approaches while maintaining or even further improving their remaining objectives. For that end, we use the automatization of parameter tuning for deep learning applications as use case.

We start by characterizing such applications to motivate how relevant the tuning approach taken can be on the end results for tuning, training, and inference. After that, we propose a novel auto tuning approach which takes advantage of the high parallelism and recurring characteristics of such application to simultaneously consider performance, accuracy, and energy efficiency. Once the tuning process is complete, the final model is typically deployed to be used for inference. Therefore, our next step is to extend our approach to perform inference-aware tuning. With this complementary step, we additionally output to the users recommendations on how to deploy their models such that inference-related objectives are also achieved.

Finally, independent of the perspective taken, security is one of the major concerns in this area. Cloud providers need to ensure data privacy to their customers, in particular for multi-tenant scenarios where resources are shared among several users. On the other hand, applications related to deep learning are often trained on user-sensitive data which also has to be protected. Recently, trusted executed environments (TEEs) became largely available in server machines as a mechanism to guarantee security. However, such approaches still have their limitations when it comes to usability and the overhead which could be added to applications. Considering this, we close this thesis by proposing an approach which can automate the process of ensuring security in the context of heterogeneous applications and clusters.

In summary, this thesis aims at achieving more energy efficient computing while respecting other application requirements such as performance, security, or accuracy. We propose new mechanisms that can be generally applied during the management of jobs as well as optimizations which are specific to a deep learning use case application. Finally, we conclude this work by exploring a TEE based strategy for adding a security layer on top of the proposed approaches.
   
Mots-clés Efficacité énergétique; environnements hétérogènes; systèmes distribués; apprentissage profond.; energy efficiency; heterogeneous environments; distributed systems; deep learning
   
Citation Rocha, I. (2022). Towards energy efficiency by leveraging heterogeneity of clusters and applications, Doctorat, Université de Neuchâtel, Neuchâtel.
   
Type Thèse (Anglais)
Année 2022
Departement academique Institut d'informatique
Université Université de Neuchâtel (Neuchâtel)
Degré Doctorat