Semantically ordered parallel execution of multiprocessor programs
Document typeConference report
PublisherBarcelona Supercomputing Center
Rights accessOpen Access
Nondeterministic execution of conventional, multithreaded programs complicates multiprocessor programming and system use in general. To eliminate nondeterminism from multiprocessor programs, we propose an ordered approach. It performs totally ordered execution of parallel algorithms expressed as programs with ordered semantics. We present a runtime system to implement this approach. The runtime provides APIs to express such programs and incorporates mechanisms to parallelize their execution. The runtime reaps the available parallelism by using dataflow and disciplined speculative execution. Further, it uses the program’s task sequence to provide an appearance of total order. We evaluate the ordered approach for expressiveness and performance, by implementing a range of parallel algorithms using it. Experiments on stock machines show that the developed programs, although semantically ordered, can match multithreaded programs in expressing parallelism. They can also match multithreaded programs in performance, in all but cases of very small task sizes and highly nondeterministic algorithms. This work is in collaboration with Gagan Gupta for his Ph.D. thesis.
CitationSohi, Guri. Semantically ordered parallel execution of multiprocessor programs. A: 2nd Severo Ochoa Research Seminar Lectures at BSC, Barcelona, 2015-2016. "Book of abstracts". Barcelona: Barcelona Supercomputing Center, 2016, p. 32-33.