We analyze the fundamental performance impact of enforc-ing a fixed order of synchronization operations to achieve weak deterministic execution. Our analysis is in three parts, performed on a real system using the SPLASH-2 and PAR-SEC benchmarks. First, we quantify the impact of various sources of nondeterminism on execution of data-race-free programs. We find that thread synchronization is the preva-lent source of nondeterminism, sometimes affecting program output. Second, we divorce the implementation overhead of a system imposing a specific synchronization order from the impact of enforcing this order. We show that this fundamen-tal cost of determinism is small (slowdown of 4 % on average and 32 % in the worst case) and we identify appli...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/16...
Nondeterminism is a useful and prevalent concept in the de-sign and implementation of software syste...
Developers of scalable libraries and applications for distributed-memory parallel systems face many ...
International audienceParallelism is often required for performance. In these situations an excess o...
Multithreaded programs execute nondeterministically on conventional architectures and operating syst...
Threads communicate implicitly through shared mem-ory. Because of the random interleaving during the...
There has been much recent interest in supporting deterministic parallelism in imperative programs. ...
Deterministic multithreading (DMT) eliminates many pernicious software problems caused by nondetermi...
Concurrent programs are hard to design, develop, and debug. It is widely accepted that we lack good ...
A model for correct program behavior commonly and often implicitly assumed by programmers is that of...
Ideal hardware performance counters provide exact deterministic results. Real-world performance moni...
The advent of multicores mandates parallel programming. While parallelism presents a panoply of prob...
Providing deterministic execution significantly simplifies the de-bugging, testing, replication, and...
Chip-multiprocessors are becoming the dominant vehicle for general-purpose processing, and parallel ...
Abstract. Process coordination problems have been extensively addressed in the context of sequential...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/16...
Nondeterminism is a useful and prevalent concept in the de-sign and implementation of software syste...
Developers of scalable libraries and applications for distributed-memory parallel systems face many ...
International audienceParallelism is often required for performance. In these situations an excess o...
Multithreaded programs execute nondeterministically on conventional architectures and operating syst...
Threads communicate implicitly through shared mem-ory. Because of the random interleaving during the...
There has been much recent interest in supporting deterministic parallelism in imperative programs. ...
Deterministic multithreading (DMT) eliminates many pernicious software problems caused by nondetermi...
Concurrent programs are hard to design, develop, and debug. It is widely accepted that we lack good ...
A model for correct program behavior commonly and often implicitly assumed by programmers is that of...
Ideal hardware performance counters provide exact deterministic results. Real-world performance moni...
The advent of multicores mandates parallel programming. While parallelism presents a panoply of prob...
Providing deterministic execution significantly simplifies the de-bugging, testing, replication, and...
Chip-multiprocessors are becoming the dominant vehicle for general-purpose processing, and parallel ...
Abstract. Process coordination problems have been extensively addressed in the context of sequential...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/16...
Nondeterminism is a useful and prevalent concept in the de-sign and implementation of software syste...
Developers of scalable libraries and applications for distributed-memory parallel systems face many ...