This paper proposes a new parallel execution model where programmers augment a sequential program with pieces of code called serializers that dynamically map computational operations into serialization sets of dependent operations. The runtime system executes operations in the same serialization set in program order, and may parallelize the execution of operations in different sets. For many types of applications, writing and debugging such programs is significantly easier than using existing parallel programming techniques, and results in deterministic parallel execution. We describe the API and design of Prometheus, a C++ library that implements the serialization set abstraction through compile-time template instantiation an...
The methods of Scott-Strachey semantics are applied to the problem of writing programs for parallel ...
Computational devices are rapidly evolving into massively parallel systems. Multicore processors ar...
Contemporary state-of-the-art runtime systems underlying widely utilized general purpose parallel pr...
This dissertation has two parts, one addressing issues in the area of computer-aided software develo...
Parallel programming is hard and programmers still struggle to write code for shared memory multicor...
Efficiently using multicore architectures demands an increasing degree of fluency in parallel progra...
Serialisation is a key technique for making the most efficient use of multi-processor architecture. ...
Current parallel programming languages support only a narrow range of programming styles; force prog...
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in seque...
Parallel programming on loosely coupled distributed systems involves many system dependent tasks suc...
In this paper we propose to introduce execution autonomy in the SIMD paradigm to overcome its rigidi...
Single core designs and architectures have reached their limits due to heat and power walls. In orde...
Programming correct parallel software in a cost-effective way is a challenging task requiring a high...
Due to power constraints, future growth in computing capability must explicitly leverage parallelism...
The emergence of commercial multiprocessors has prompted computer scientists to take a closer look a...
The methods of Scott-Strachey semantics are applied to the problem of writing programs for parallel ...
Computational devices are rapidly evolving into massively parallel systems. Multicore processors ar...
Contemporary state-of-the-art runtime systems underlying widely utilized general purpose parallel pr...
This dissertation has two parts, one addressing issues in the area of computer-aided software develo...
Parallel programming is hard and programmers still struggle to write code for shared memory multicor...
Efficiently using multicore architectures demands an increasing degree of fluency in parallel progra...
Serialisation is a key technique for making the most efficient use of multi-processor architecture. ...
Current parallel programming languages support only a narrow range of programming styles; force prog...
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in seque...
Parallel programming on loosely coupled distributed systems involves many system dependent tasks suc...
In this paper we propose to introduce execution autonomy in the SIMD paradigm to overcome its rigidi...
Single core designs and architectures have reached their limits due to heat and power walls. In orde...
Programming correct parallel software in a cost-effective way is a challenging task requiring a high...
Due to power constraints, future growth in computing capability must explicitly leverage parallelism...
The emergence of commercial multiprocessors has prompted computer scientists to take a closer look a...
The methods of Scott-Strachey semantics are applied to the problem of writing programs for parallel ...
Computational devices are rapidly evolving into massively parallel systems. Multicore processors ar...
Contemporary state-of-the-art runtime systems underlying widely utilized general purpose parallel pr...