PDS – Parallel and Distributed Systems track

Master of computer science

Research project

During the master, a student will learn research by doing research. During the two years of the master, a student will thus spend between one or two days each week in a research group in order to do research projects with professors and PhD students of IP Paris.

Research project schedule

When Where What
18/09/2020 at 10h00 Telecom Paris, room 0D17 Presentation of project proposals
28/09/2020 TBD Project starts
11/02/2021 TBD Mid-project review (for M1 students), or final evaluation (for M2 students)
19/02/2021 Deadline for submitting the research report
17/06/2021 TBD Project evaluation (for M1 students)

Project Evaluation

Research projects will be evaluated on a research report, and a presentation.

Research report

The report is a expected to be a 5 to 8 pages research paper formatted using the IEEE conference style. The report should present the context of the work, its contribution, a positioning with respect to related works.

Research reports will be examined by researchers, and students will receive detailed reviews of their work in order to improve their paper for a future publication in a conference or journal.

Both M1 and M2 students are expected to send their research report by email before friday, 19/02/2021. M1 students are expected to update their report and resubmit it in june.

Project defense

The project defense is a 15 minutes presentation of the research work followed by 5-10 minutes of questions. The presentation has to explain the work context and problematics, and describe the contribution of the conducted research project.

When Where What
Thursday, 11/02 at 12:00 https://webconf.imt.fr/frontend/fra-s2s-mzw Marie Reinbigler (M2 HPDA) & Ali Mammadov (M1 HPDA) -- Apprentissage de l'impact de la radiothérapie sur les cancers ORL grâce à un environnement HPC distribué.
Friday, 12/02 at 9:15 https://webconf.imt.fr/frontend/fra-s2s-mzw Antoine Colin (M2 HPDA) -- Serverless Machine Learning
Friday, 12/02 at 9:45 https://webconf.imt.fr/frontend/fra-s2s-mzw Mickaël Boichot (M2 HPDA) -- Evaluation of OpenMP support for gpu accelerator
Friday, 12/02 at 10:15 https://webconf.imt.fr/frontend/fra-s2s-mzw Matheus Castro (M2 PDS) -- Performance analysis of openmp task-based applications
Friday, 12/02 at 11:00 https://webconf.imt.fr/frontend/fra-s2s-mzw Luciano Freitas De Souza (M2 PDS) -- Accountability and Reconfiguration: Self-Healing Lattice Agreement
Friday, 12/02 at 11:30 https://webconf.imt.fr/frontend/fra-s2s-mzw Maxime Gaby Bustros (M2 PDS) -- Design and implementation of a secure hypervisor with Rust
Friday, 12/02 at 12:00 https://webconf.imt.fr/frontend/fra-s2s-mzw Alexis Le Glaunec (M2 PDS) -- Fixing Egalitarian Paxos
Friday, 12/02 at 13:30 https://webconf.imt.fr/frontend/fra-s2s-mzw Vincent Leporcher (M2 PDS) -- Design and implementation of a parallelized flight controller in Rust
Friday, 12/02 at 14:00 https://webconf.imt.fr/frontend/fra-s2s-mzw Huiyuan Li (M1 PDS) -- Design and implementation of a language to improve security with Intel SGX
Friday, 12/02 at 14:30 https://webconf.imt.fr/frontend/fra-s2s-mzw Kwabena Amponsem Boateng (M1 PDS/PhD track) -- Unleashing the power of non-volatile memory in Java

M1 Project final defense

M1 students are expected to send their research report by email before friday, 18/06/2021. A project defense is scheduled on thrusday, 17th june.

When Where What
Monday, 14/06 at 11:00 https://webconf.imt.fr/frontend/fra-s2s-mzw & room 4A312 Ali Mammadov (M1 HPDA) -- Apprentissage de l'impact de la radiothérapie sur les cancers ORL grâce à un environnement HPC distribué.
Thursday, 17/06 at 10:30 https://webconf.imt.fr/frontend/fra-s2s-mzw & room 4A312 Huiyuan Li (M1 PDS) -- Design and implementation of a language to improve security with Intel SGX
Thursday, 17/06 at 11:00 https://webconf.imt.fr/frontend/fra-s2s-mzw & room 4A312 Kwabena Amponsem Boateng (M1 PDS/PhD track) -- Unleashing the power of non-volatile memory in Java

Proposed projects

The following project proposals may be shared with several masters track, including DataAI, HPDA, PDS, Cybersecurity.

Id Title Advisor Description
1 Gestion de l'échec de requêtes sur les flux de données : approche dynamique de coopération Amel Bouzeghoub, Chourouk Belheouane TODO
2 Unleashing the power of non-volatile memory in Java Anatole Lefort, Pierre Sutra, Gaël Thomas Non-volatile main memory (NVMM) is a byte-addressable memory that preserves its content after a power outage. NVMM provides durability and offers the promise of a dramatic increase in storage performance. Today, using NVMM in managed languages such as Java remains an open research problem and this project has thus the goal of studying how we can efficiently access NVMM from high-level languages.
3 Design and implementation of a language to improve security with Intel SGX Subashiny Tanigassalame, Gaël Thomas SGX is an instruction set provided by modern Intel processors that protects an application against a malicious operating system or hypervisor by guaranteeing an isolated environment (enclave) inside the CPU for the application. However, implementing an application that uses SGX is challenging because the developer has to track the data flow, manually partition the code and the data and rewrite the whole application in order to deploy the partitions in the enclaves. Even a small careless mistake may make the code vulnerable. This project has the goal of eliminating the manual writing of SGX application by automatically generating the SGX code with LLVM from simple language extensions to the C language.
4 Design and implementation of a rack-scale system Mathieu Bacou, Yohan Pipereau, Gaël Thomas This project has the goal of studying how we can implement a new distributed hypervisor based on KVM/QEMU that hides the boundary of the physical machines in order to avoid the fragmentation of the physical resources (CPU and memory).
5 Hierarchical leader election Petr Kuznetsov, Ada Diaconescu

Leader election is a generic problem with numerous applications in distributed systems. It generally occurs when a set of distributed agents (e.g. processes, applications, services, components, programs, algorithms, sensors, robots) must perform a collective function and need a single agent to act as a synchronizing leader. A prominent approach to elect a leader in a dynamic network is based on link reversal [1]: every connected component eventually stabilizes on a directed acyclic graph with a single sink that is declared as a leader.

In this project, we plan to generalize a comparatively recent asynchronous leader election algorithm [2] to the hierarchical version. The idea is to avoid situations in which every topology change causes a global leader reelection. Instead, only the local leader may be subject to change.

[1] Dimitri P. Bertsekas, Eli Gafni:
Distributed Algorithms for Generating Loop-Free Routes in Networks with Frequently Changing Topology. IIEEE TRANSACTIONS ON COMMUNICATIONS, VOL. COM-29, NO. 1, JANUARY 1981, http://www.mit.edu/~dimitrib/Gafni_Loopfree.pdf

[2] Rebecca Ingram, Tsvetomira Radeva, Patrick Shields, Saira Viqar, Jennifer E. Walter, Jennifer L. Welch: A leader election algorithm for dynamic networks with causal clocks. Distributed Computing 26(2): 75-97 (2013)

6 Accountable storage Petr Kuznetsov Storage systems is a popular class of distributed applications that allow for fault-tolerant asynchronous (also called responsive) applications. The goal of this projects is to define a specification (and devise an implementation) of an accountable storage system, in case of safety violations, provably detect misbehaving parties.
  • Pierre Civit, Seth Gilbert, Vincent Gramoli: Polygraph: Accountable Byzantine Agreement. IACR Cryptol. ePrint Arch. 2019: 587 (2019)
  • Andreas Haeberlen, Petr Kuznetsov: The Fault Detection Problem. OPODIS 2009: 99-114
  • Andreas Haeberlen, Petr Kouznetsov, Peter Druschel: PeerReview: practical accountability for distributed systems. SOSP 2007: 175-188
7 Reconciliation in a supply chain Petr Kuznetsov A natural application of blockchains is to reconcile participants in a supply chain. Suppose that a large aeronautic company that, within a major project, signs a contract with a major manufacturer on furnishing a specific type of machines. The manufacturer contacts a subcontractor for certain devices. The subcontractor, in turns, must contact a detail producer, etc. The resulting supply chain connects a series of business partners who do not necessarily trust each other. The question is how to make sure that no party can avoid fulfilling the peer-to-peer contracts without being exposed.
  • R. O’Byrne. How blockchain can transform the supply chain, 2017. https://www. logisticsbureau.com/how-blockchain-can-transform-the-supply-chain/.
8 Federated trust Petr Kuznetsov Recently, the idea of trust assumptions in a distributed system was explored in completely new way. All this started as cryptocurrency systems proposed to encompass users who do not necessarily hold the same assumptions of who to trust. This project intends to study the power and limitations of federated quorums in building asynchronous and eventually synchronous systems, e.g., asset transfers.
  • https://ripple.com/files/ripple_consensus_whitepaper.pdf
  • http://www.scs.stanford.edu/~dm/home/papers/losa:stellar-instantiation.pdf,
  • https://arxiv.org/abs/1811.03642,
  • https://arxiv.org/abs/1906.09314,
  • https://arxiv.org/abs/1911.05145.
9 Blockchain ecosystem Petr Kuznetsov The goal is to explore cross-blockchain interactions. An immediate challenge here is time, i.e., the synchrony assumption that enable solutions to the problem. All solutions proposed so far assume a synchronous network in which abstractions of the time-lock type can be implemented. Are there less demanding and, potentially, more efficient, solutions that involve asynchronous interactions? Can we determine the weakest synchrony assumptions for (e.g., using the related results on atomic commitment).
  • Maurice Herlihy: Atomic Cross-Chain Swaps. PODC 2018: 245-254
  • Maurice Herlihy, Liuba Shrira, Barbara Liskov: Cross-chain Deals and Adversarial Commerce. Proc. VLDB Endow. 13(2): 100-113 (2019)
  • Rachid Guerraoui: Non-blocking atomic commit in asynchronous distributed systems with failure detectors. Distributed Comput. 15(1): 17-25 (2002)
  • Rachid Guerraoui, Vassos Hadzilacos, Petr Kuznetsov, Sam Toueg: The Weakest Failure Detectors to Solve Quittable Consensus and Nonblocking Atomic Commit. SIAM J. Comput. 41(6): 1343-1379 (2012)
10 Optimizing the execution of DCR Smart Contracts Walid Gaaloul TODO
11 Recommendation des informations orienté processus métiers pour les emails Walid Gaaloul TODO
12 Multi-scale Coordination in Distributed Systems / Coordination Multi-echèlle des Systèmes Repartis Ada Diaconescu, Louisa Jane di Felicen, Patricia Mellodge This project will study several coordination schemes in decentralised systems. The concrete application studied aims to assign a set of tasks to a set of workers, at runtime. Coordination schemes can be hierarchical or peer-to-peer. Several such schemes have already been implemented via previous projects, based on the NetLogo multi-agent system simulator. The proposed project will:
  1. Consolidate all existing coordination schemes into a single simulation, with multiple choices -- the existing code will be provided;
  2. Determine comparison criteria for the various coordination schemes -- a research paper will be provided as a starting point;
  3. Perform a comparative evaluation of the various coordination schemes (based on the critaria in 2.), for different configuration parameters and network topologies;
  4. Provide a report that includes the results and their analysis;
  5. Optional (if time): propose and implement further coordination schemes and include them in the above evaluation.
13 Evaluation of OpenMP accelerator support for GPU Patrick Carribault TODO
14 Fixing Egalitarian Paxos Pierre Sutra Project proposal
15 Serverless Machine Learning Pierre Sutra Project proposal
16 Performance analysis of Machine learning frameworks François Trahay Project proposal
17 Performance analysis of openmp task-based applications François Trahay Project proposal
18 Apprentissage de l'impact de la radiothérapie sur les cancers ORL grâce à un environnement HPC distribué. Élisabeth Brunet Project proposal
19 CommMaMa:Asynchronisation transparente de communications MPI Élisabeth Brunet Project Proposal
20 Design and implementation of a secure hypervisor with Rust Mathieu Bacou, Olivier Levillain, Gaël Thomas, François Trahay Project proposal
21 Asynchronous Proof-of-Stake for Open Cryptocurrencies Petr Kuznetsov Most modern cryptocurrencies use consensus to maintain a totally ordered chain of transactions. It was recently shown, however, that consensus is not always necessary for solving this problem. More efficient, asynchronous solutions can be build using reliable broadcast instead of consensus. This approach has been orginally used in the closed (permissioned) setting. In this project, we intend to extend it to the open (permissionless) environment, replacing traditional quorums, traditionally used in reliable broadcast, with a weighted Proof-of-Stake mechanism.

Rachid Guerraoui, Petr Kuznetsov, Matteo Monti, Matej Pavlovic, Dragos-Adrian Seredinschi: The Consensus Number of a Cryptocurrency. PODC 2019: 307-316

Daniel Collins, Rachid Guerraoui, Jovan Komatovic, Petr Kuznetsov, Matteo Monti, Matej Pavlovic, Yvonne Anne Pignolet, Dragos-Adrian Seredinschi, Andrei Tonkikh, Athanasios Xygkis: Online Payments by Merely Broadcasting Messages. DSN 2020: 26-38

22 Verifiable Delay Functions for Permissionless Consensus Duong Hieu Phan, Petr Kuznetsov Proof-of-Stake has been proposed to replace the costly Proof-of-Work mechanism used in permissionless blockchain protocols. In this approach, the ability of a miner to add blocks to the chain is proportional to the amount stake it holds. However, these solutions are subject to multiple attacks enabling forks, such as the "nothing-at-stake attack", where many miners are incentivized to extend every branch in a potential fork, and the "long range attack", where a long alternative branch is held privately by the adversary in order to overtake the longest chain. The goal of the project is to study recent mechanism to mitigate these attacks using verifiable delay functions that replace PoW with puzzles that can only be solved sequentially.
  • Satoshi Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System. https://bitcoin.org/bitcoin.pdf
  • Vitalik Buterin, Virgil Griffith. Casper the Friendly Finality Gadget. https://arxiv.org/abs/1710.09437
  • Ethan Buchman, Jae Kwon, Zarko Milosevic. The latest gossip on BFT consensus. https://arxiv.org/abs/1807.04938
  • Dan Boneh, Joseph Bonneau, Benedikt Bunz, and Ben Fisch. Verifiable delay functions. https://eprint.iacr.org/2018/601.pdf
  • Jieyi Long, Ribao Wei. Nakamoto Consensus with Verifiable Delay Puzzle. https://arxiv.org/abs/1908.06394
23 Open reconfigurable systems Petr Kuznetsov Distributed systems are inherently vulnerable to failures and security breaches. In a long-running system, it is, therefore, indispensable to maintain a reconfiguration mechanism that would replace faulty components with correct ones. An important challenge is to enable reconfiguration without affecting the availability and consistency of the replicated data: the clients should be able to get correct service even when the set of service replicas is being updated. In this project, we focus on reconfiguration mechanisms for open replicated systems.
  • Leslie Lamport, Dahlia Malkhi Lidong Zhou: Reconfiguring a State
  • Machine. https://lamport.azurewebsites.net/pubs/reconfiguration-tutorial.pdf
  • Petr Kuznetsov, Thibault Rieutord, Sara Tucci Piergiovanni: Reconfigurable Lattice Agreement and Applications. OPODIS 2019: 31:1-31:17
  • Petr Kuznetsov, Andrei Tonkikh: Asynchronous Reconfiguration with Byzantine Failures. CoRR abs/2005.13499 (2020)
24 Rethinking the design of distributed data analytic frameworks at the era of persistent memory Mathieu Bacou, Anatole Lefort, Pierre Sutra, Gaël Thomas Persistent memory offers the promise of accessing persistent storage at the speed of volatile memory. With persistent memory, moving the data from disks and machines does not make sense anymore since the computation can access data in-place without requiring data movements. This setting radically changes the way we should design data analytic frameworks and this project has thus the goal of rethinking the design of data analytic framework in order to avoid any data movement.