Semantically ordered parallel execution of multiprocessor programs
Títol de la revista
ISSN de la revista
Títol del volum
Autors
Col·laborador
Editor
Tribunal avaluador
Realitzat a/amb
Càtedra / Departament / Institut
Tipus de document
Data publicació
Editor
Part de
Condicions d'accés
Llicència
Datasets relacionats
Projecte CCD
Abstract
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.




