We have been pursuing a research program aimed at enhancing productivity and performance in parallel computing at the Parallel Programming Laboratory of University of Illinois for the past decade. We summarize the basic approach, and why it has improved (and will further improve) both productivity and performance. The centerpiece of our approach is a technique called processor virtualization: the program computation is di-vided into a large number of chunks (called virtual pro-cessors), which are mapped to processors by an adap-tive, intelligent runtime system. The runtime system also controls communication between virtual proces-sors. This approach makes possible a number of runtime optimizations. We argue that the following strategies are...
peer-reviewedIn recent years there has been a shift in microprocessor manufacture from building sing...
The future of high performance computing lies in massively parallel computers. In order to create so...
Parallel machines with an extremely large number of processors (at least tens of thousands processor...
Performance portability, in the sense that a single source can run with good performance across a wi...
The current trends in high performance computing show that large machines with tens of thousands of ...
The performance of a computer system is important. One way of improving performance is to use multip...
Due to power constraints, future growth in computing capability must explicitly leverage parallelism...
In order to virtualize the CPU, the operating system needs to some-how share the physical CPU among ...
As heterogeneous parallel systems become dominant, application developers are being forced to turn t...
The emergence of commercial multiprocessors has prompted computer scientists to take a closer look a...
Performance analysis of parallel programs continues to be challenging for programmers. Programmers h...
Future parallel processors will be heterogeneous, be increasingly less reliable, and operate in dyna...
The goal of this dissertation is to give programmers the ability to achieve high performance by focu...
The purpose of this study is to examine the advantages of using parallel computing. The phrase "para...
This paper presents an investigation into the development of performance metrics for sequential and ...
peer-reviewedIn recent years there has been a shift in microprocessor manufacture from building sing...
The future of high performance computing lies in massively parallel computers. In order to create so...
Parallel machines with an extremely large number of processors (at least tens of thousands processor...
Performance portability, in the sense that a single source can run with good performance across a wi...
The current trends in high performance computing show that large machines with tens of thousands of ...
The performance of a computer system is important. One way of improving performance is to use multip...
Due to power constraints, future growth in computing capability must explicitly leverage parallelism...
In order to virtualize the CPU, the operating system needs to some-how share the physical CPU among ...
As heterogeneous parallel systems become dominant, application developers are being forced to turn t...
The emergence of commercial multiprocessors has prompted computer scientists to take a closer look a...
Performance analysis of parallel programs continues to be challenging for programmers. Programmers h...
Future parallel processors will be heterogeneous, be increasingly less reliable, and operate in dyna...
The goal of this dissertation is to give programmers the ability to achieve high performance by focu...
The purpose of this study is to examine the advantages of using parallel computing. The phrase "para...
This paper presents an investigation into the development of performance metrics for sequential and ...
peer-reviewedIn recent years there has been a shift in microprocessor manufacture from building sing...
The future of high performance computing lies in massively parallel computers. In order to create so...
Parallel machines with an extremely large number of processors (at least tens of thousands processor...