ACMES team

Samovar lab

PhD defense: Alexis Colin – November, 28th – From trace collection to the prediction of the behaviour of parallel applications

Bonjour,J’ai le plaisir de vous inviter à ma soutenance de thèse intitulée “De la collecte de trace à la prédiction du comportement d’applications parallèles” [pdf]. Le résumé est disponible ci-dessous.

La soutenance aura lieu en français le lundi 28 novembre à 14h, dans l’amphithéâtre 3 des locaux de Télécom SudParis au 19 place Marguerite Perey, 91120 Palaiseau. Un accès en visioconférence sera disponible au lien suivant : https://webconf.imt.fr/frontend/fra-v2m-fsg-cuu.

Le jury sera composé de :
– Mme Amel Bouzeghoub, Professeure – Télécom SudParis (Examinatrice)
– M. Patrick Carribault, Chercheur – CEA/DAM (Examinateur)
– M. Denis Conan, Maître de conférences HDR – Télécom SudParis (Directeur de thèse)
– Mme Camille Coti, Professeure – Université du Québec à Montréal (Rapporteuse)
– M. Arnaud Legrand, Directeur de recherche – INRIA Grenoble (Examinateur)
– M. Samuel Thibault, Professeur – Université de Bordeaux (Rapporteur)
– M. François Trahay, Maître de conférences HDR – Télécom SudParis (Encadrant)

La soutenance sera suivie d’un pot.

Résumé :

Afin d’exploiter les ressources des serveurs et des supercalculateurs, les développeurs ont recours à des modèles de programmations spécifiques qui sont mis en œuvre par des runtimes dont le rôle est de permettre à chaque programme d’exploiter pleinement les capacités de la machine qui l’exécute. Pour cela, les runtimes doivent prendre des décisions qui ont un impact direct sur les performances. Pour prendre de bonnes décisions, les runtimes essaient d’anticiper le comportement futur des programmes, mais les moyens à leur disposition sont limités.

Nous présentons Pythia, un oracle générique permettant aux runtimes de prédire le comportement futur d’un programme. Nous décrivons comment enregistrer une trace d’exécution d’un programme pour en capturer la structure sous la forme d’une grammaire. Nous développons un algorithme performant capable de construire une telle grammaire à la volée pendant l’exécution d’un programme sans dégrader ses performances. Nous montrons ensuite comment utiliser une grammaire représentant la structure d’une exécution d’un programme pour prédire son comportement futur lors de ses exécutions ultérieures. Pythia permet en particulier d’explorer un arbre probabilisé des prochaines actions potentielles d’un programme.

L’évaluation de notre travail montre que les prédictions de Pythia peuvent être utilisées pour implémenter des optimisations au sein d’un runtime. Nous faisons aussi la démonstration de l’utilisabilité de Pythia en l’utilisant pour mettre en œuvre une stratégie de parallélisme adaptatif au sein d’un runtime OpenMP existant.

——————————————————-

[English]

Dear colleagues,

I have the pleasure to invite you to the defense of my PhD entitled “From trace collection to the prediction of the behaviour of parallel applications”. The abstract is below. The defense will take place in French on Monday, November 28 at 2:00 pm, in amphitheater 3 of the Télécom SudParis building at 19 place Marguerite Perey, 91120 Palaiseau. A videoconference access will be available at the following url: https://webconf.imt.fr/frontend/fra-v2m-fsg-cuu.

The jury will be composed of:
– Mrs. Amel Bouzeghoub, Professor – Télécom SudParis (Examiner)
– Mr. Patrick Carribault, Researcher – CEA/DAM (Examiner)
– Mr. Denis Conan, Associate Professor HDR – Télécom SudParis (Director)
– Mrs. Camille Coti, Professor – Université du Québec à Montréal (Reviewer)
– Mr. Arnaud Legrand, Research director – INRIA Grenoble (Examiner)
– Mr. Samuel Thibault, Professor – Université de Bordeaux (Reviewer)
– Mr. François Trahay, Associate Professor HDR – Télécom SudParis (Co-director)

The defense will be followed by a buffet.

Abstract:

In order to exploit the resources of servers and supercomputers, developers use specific programming models that are implemented by runtimes. Runtimes allow each program to fully exploit the capacities of the machine that executes it. To do this, runtimes take decisions that have a direct impact on the performance of the programs. In order to take good decisions, runtimes try to anticipate the future behavior of the programs, but the means at their disposal are limited.

We present Pythia, a generic oracle allowing runtimes to predict the future behavior of a program. We describe how to record an execution trace and to capture its structure in the form of a grammar. We develop an algorithm capable of building such a grammar on the fly during the execution of a program without degrading its performance. We then show how to use a grammar representing the structure of a program execution to predict its future behavior during its subsequent executions. In particular, Pythia allows to explore a probabilized tree of potential next actions of a program.

The evaluation of our work shows that the predictions of Pythia can be used to implement optimizations within a runtime. We have also demonstrated the usability of Pythia by using it to implement an adaptive parallelism strategy within an existing OpenMP runtime.

PhD Defense of Yuwei WANG – Evolution of Microservice-based Applications: Modelling and Safe Dynamic Updating

October 27 2022

Abstract: Microservice architectures contribute to building complex distributed systems as sets of independent microservices. The decoupling and modularity of distributed microservices facilitates their independent replacement and upgradeability. Since the emergence of agile DevOps and CI/CD, there is a trend towards more frequent and rapid evolutionary changes of the running microservice-based applications in response to various evolution requirements. Applying changes to microservice architectures is performed by an evolution process of moving from the current application version to a new version. The maintenance and evolution costs of these distributed systems increase rapidly with the number of microservices. The objective of this thesis is to address the following issues: How to help engineers to build a unified and efficient version management for microservices and how to trace changes in microservice-based applications? When can microservice-based applications, especially those with long-running activities, be dynamically updated without stopping the execution of the whole system? How should the safe updating be performed to ensure service continuity and maintain system consistency? In response to these questions, this thesis proposes two main contributions. The first contribution is runtime models and an evolution graph for modelling and tracing version management of microservices. These models are built at design time and used at runtime. It helps engineers abstract architectural evolution in order to manage reconfiguration deployments, and it provides the knowledge base to be manipulated by an autonomic manager middleware in various evolution activities. The second contribution is a snapshot-based approach for dynamic software updating (DSU) of microservices. The consistent distributed snapshots of microservice-based applications are constructed to be used for specifying continuity of service, evaluating the safe update conditions and realising the update strategies. The message complexity of the DSU algorithm is not the message complexity of the distributed application, but the complexity of the consistent distributed snapshot algorithm.

Muktikanta Sa joined the PDS group as postdoc

Muktikanta Sa joined the PDS group as postdoc, welcome!

Mathieu Bacou joined the PDS group as associate professor

Mathieu Bacou joined the PDS group as associate professor, welcome!

Aurèle Maheo joined the PDS group as postdoc

Aurèle Maheo joined the PDS group as postdoc, welcome!

Yohan Pipereau, Damien Thenot, and Boubacar Kane joined the PDS group as PhD students

Yohan Pipereau, Damien Thenot, and Boubacar Kane joined the PDS group as PhD students. Welcome!