A virtual memory foundation for scalable deterministic parallelism
Author(s) -
Yu Zhang,
Bryan Ford
Publication year - 2011
Publication title -
citeseer x (the pennsylvania state university)
Language(s) - English
Resource type - Conference proceedings
DOI - 10.1145/2103799.2103808
Subject(s) - computer science , scalability , porting , thread (computing) , parallel computing , distributed computing , scheduling (production processes) , synchronization (alternating current) , multithreading , shared memory , programming language , operating system , computer network , software , channel (broadcasting) , operations management , economics
Recent deterministic execution environments promise efficient program replay and bug reproduction, but their scalability is currently limited by strictly hierarchical synchronization models or serialized thread scheduling mechanisms. To address these issues, we introduce a single-producer multiple-consumer (SPMC) virtual memory foundation for deterministic parallelism, which supports non-hierarchical synchronization without serialized thread scheduling. An extension to the Determinator microkernel, supporting SPMC memory regions, offers threads and processes scalable "peer-to-peer" communication while preserving the kernel's existing guarantee of system-enforced determinism. DetMP, a deterministic userlevel message passing API modeled on MPI, illustrates one way to build convenient application-level parallel programming abstractions atop the SPMC foundation. Preliminary results suggest that DetMP atop SPMC may be realistic and useful, achieving near-ideal speedup for parallel matrix multiplication, and good scaling for IS, in all cases ensuring strict determinism.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom