High-level abstractions for parallel programming simplify the development of efficient par-allel applications. In particular, composable abstractions allow programmers to construct a complex parallel application out of multiple components, where each component itself may be designed to exploit parallelism. This dissertation presents the design of three com-posable abstractions for synchronization in dynamic-threading platforms, based on ideas of task-graph execution, helper locks, and transactional memory. These designs demonstrate provably efficient runtime scheduling for programs with synchronization. For applications that use task-graph synchronization, I demonstrate provably efficient execution of task graphs with arbitrary dependencies...
Task-parallel languages are increasingly popular. Many of them provide expressive mechanisms for int...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
To parallelize an application program for a distributed memory architecture, we can use a precedence...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Task graphs are used for scheduling tasks on parallel processors when the tasks have dependencies. I...
Modern parallel programming models perform their best under the particular patterns they are tuned t...
Efficiently using multicore architectures demands an increasing degree of fluency in parallel progra...
The importance of parallel programming is increasing year after year since the power wall popularize...
Gao, Guang R.With the advent of the many-core era of computing, finding parallelism has become a ke...
Shared state access conflicts are one of the greatest sources of er-ror for fine grained parallelism...
Abstract. In this paper, we address the problem of scheduling parallel tasks with general synchroniz...
The topic of this thesis is the effective execution of parallel applications on emerging multicore a...
Parallel task-based programming models, like OpenMP, allow application developers to easily create a...
Parallel task-based programming models like OpenMP support the declaration of task data dependences....
Scheduling task-based parallel applications on many-core processors is becoming more challenging and...
Task-parallel languages are increasingly popular. Many of them provide expressive mechanisms for int...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
To parallelize an application program for a distributed memory architecture, we can use a precedence...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Task graphs are used for scheduling tasks on parallel processors when the tasks have dependencies. I...
Modern parallel programming models perform their best under the particular patterns they are tuned t...
Efficiently using multicore architectures demands an increasing degree of fluency in parallel progra...
The importance of parallel programming is increasing year after year since the power wall popularize...
Gao, Guang R.With the advent of the many-core era of computing, finding parallelism has become a ke...
Shared state access conflicts are one of the greatest sources of er-ror for fine grained parallelism...
Abstract. In this paper, we address the problem of scheduling parallel tasks with general synchroniz...
The topic of this thesis is the effective execution of parallel applications on emerging multicore a...
Parallel task-based programming models, like OpenMP, allow application developers to easily create a...
Parallel task-based programming models like OpenMP support the declaration of task data dependences....
Scheduling task-based parallel applications on many-core processors is becoming more challenging and...
Task-parallel languages are increasingly popular. Many of them provide expressive mechanisms for int...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
To parallelize an application program for a distributed memory architecture, we can use a precedence...