Skip to Main content Skip to Navigation

Distributed runtime system with global address space and software cache coherence for a data-flow task model

Abstract : Distributed systems are widely used in HPC (High Performance Computing). Owing to rising energy concerns, some chip manufacturers moved from multi-core CPUs to MPSoC (Multi-Processor System on Chip), which includes a distributed system on one chip.However distributed systems – with distributed memories – are hard to program compared to more friendly shared memory systems. A family of solutions called DSM (Distributed Shared Memory) systems has been developed to simplify the programming of distributed systems. DSM systems include NUMA architectures, PGAS languages, and distributed task runtimes. The common strategy of these systems is to create a global address space of some kind, and automate network transfers on accesses to global objects. DSM systems usually differ in their interfaces, capabilities, semantics on global objects, implementation levels (hardware / software), ...This thesis presents a new software DSM system called Givy. The motivation of Givy is to execute programs modeled as dynamic task graphs with data-flow dependencies on MPSoC architectures (MPPA). Contrary to many software DSM, the global address space of Givy is indexed by real pointers: raw C pointers are made global to the distributed system. Givy global objects are memory blocks returned by malloc(). Data is replicated across nodes, and all these copies are managed by a software cache coherence protocol called Owner Writable Memory. This protocol can relocate coherence metadata, and thus should help execute irregular applications efficiently. The programming model cuts the program into tasks which are annotated with memory accesses, and created dynamically. Memory annotations are used to drive coherence requests, and provide useful information for scheduling and load-balancing.The first contribution of this thesis is the overall design of the Givy runtime. A second contribution is the formalization of the Owner Writable Memory coherence protocol. A third contribution is its translation in a model checker language (Cubicle), and correctness validation attempts. The last contribution is the detailed allocator subsystem implementation: the choice of real pointers for global references requires a tight integration between memory allocator and coherence protocol.
Complete list of metadatas

Cited literature [102 references]  Display  Hide  Download
Contributor : Abes Star :  Contact
Submitted on : Tuesday, October 9, 2018 - 11:27:38 AM
Last modification on : Wednesday, October 7, 2020 - 3:02:46 AM
Long-term archiving on: : Thursday, January 10, 2019 - 2:19:47 PM


Version validated by the jury (STAR)


  • HAL Id : tel-01891061, version 1




François Gindraud. Distributed runtime system with global address space and software cache coherence for a data-flow task model. Data Structures and Algorithms [cs.DS]. Université Grenoble Alpes, 2018. English. ⟨NNT : 2018GREAM001⟩. ⟨tel-01891061⟩



Record views


Files downloads