This dissertation introduces the atomic region as a novel compiler abstraction which eases the development of speculative compiler optimizations. As this dissertation will show, speculation enables a compiler writer to exploit dynamically occurring opportunities which would otherwise be difficult or even impossible to expose. Despite their potential, speculative optimizations typically involve complex implementation and significant compiler re-engineering. In comparison, the atomic region abstraction is both simple to incorporate into a compiler infrastructure and also exposes speculative opportunity to existing and unmodified optimizations. The utility of the atomic region abstraction largely derives from its use of hardware atomicity...
We present an approach for implementing language-level primitives for whole-process migration and sp...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Managed language platforms such as the Java Virtual Machine or the Common Language Runtime rely on a...
The major specific contributions are: (1) We introduce a new compiler analysis to identify the memor...
Abstract. The traditional target machine of a parallelizing compiler can execute code sections eithe...
Although compiler optimization techniques are standard and successful in non-real-time systems, if n...
While dynamic languages are now mainstream choices for application development, most popular dynamic...
To achieve good performance on modern hardware, software must be designed with a high degree of para...
The available instruction level parallelism (ILP) is extremely limited within basic blocks of non-nu...
This report addresses speculative parallelism (the assignment of spare processing resources to tasks...
Effectively utilizing available parallelism is becoming harder and harder as systems evolve to many-...
Speculative execution, such as control speculation or data speculation, is an effective way to impro...
Control and data flow speculation can improve processor performance through increased ILP. First it ...
Research on transactional memory began as a tool to improve the experience of programmers working on...
Thesis (Ph. D.)--University of Rochester. Dept. of Computer Science, 2011. "Chapters 4 and 5 of...
We present an approach for implementing language-level primitives for whole-process migration and sp...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Managed language platforms such as the Java Virtual Machine or the Common Language Runtime rely on a...
The major specific contributions are: (1) We introduce a new compiler analysis to identify the memor...
Abstract. The traditional target machine of a parallelizing compiler can execute code sections eithe...
Although compiler optimization techniques are standard and successful in non-real-time systems, if n...
While dynamic languages are now mainstream choices for application development, most popular dynamic...
To achieve good performance on modern hardware, software must be designed with a high degree of para...
The available instruction level parallelism (ILP) is extremely limited within basic blocks of non-nu...
This report addresses speculative parallelism (the assignment of spare processing resources to tasks...
Effectively utilizing available parallelism is becoming harder and harder as systems evolve to many-...
Speculative execution, such as control speculation or data speculation, is an effective way to impro...
Control and data flow speculation can improve processor performance through increased ILP. First it ...
Research on transactional memory began as a tool to improve the experience of programmers working on...
Thesis (Ph. D.)--University of Rochester. Dept. of Computer Science, 2011. "Chapters 4 and 5 of...
We present an approach for implementing language-level primitives for whole-process migration and sp...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Managed language platforms such as the Java Virtual Machine or the Common Language Runtime rely on a...