We describe and evaluate a novel approach for the automatic parallelization of programs that use pointer-based dynamic data structures, written in Java. The approach exploits parallelism among methods by creating an asynchronous thread of execution for each method invocation in a program. At compile time, methods are analyzed to determine the data they access, parameterized by their context. A description of these data accesses is transmitted to a run-time system during program execution. The runtime system utilizes this description to determine when a thread may execute, and to enforce dependences among threads. This run-time system is the main focus of this paper. More specifically, the paper details the representation of data accesses in...
Pointer analysis has been an active research field in recent years. Combining pointer analysis and d...
Multithreaded programming is becoming increasingly important because of recent increase in the use o...
Java makes easier the coding phase of concurrent applications and provides friendly mechanisms for t...
The quest to automatically parallelize general-purpose programs is a longstanding problem in the mic...
The popularity of the Internet and the availabili ty of powerful computers and high - speed networks...
We propose two new approaches that automatically parallelize Java programs at runtime. These approac...
The popularity of the Internet and the availability of powerful computers and high-speed networks as...
The popularity of the Internet and the availability of powerful computers and high-speed networks as...
from object-oriented programming techniques because of their flexible and modular program developmen...
More than 75% of recent Java projects include some form of concurrent programming. Due to complex in...
Method speculation of object-oriented programs attempts to exploit method-level parallelism (MLP) by...
Abstract—Many existing sequential components, libraries, and applications will need to be re-enginee...
Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for ...
The performance of parallel code significantly depends on the parallel task granularity (PTG). If th...
Languages allowing explicitly parallel, multithreaded programming (e.g. Java and C#) need to specify...
Pointer analysis has been an active research field in recent years. Combining pointer analysis and d...
Multithreaded programming is becoming increasingly important because of recent increase in the use o...
Java makes easier the coding phase of concurrent applications and provides friendly mechanisms for t...
The quest to automatically parallelize general-purpose programs is a longstanding problem in the mic...
The popularity of the Internet and the availabili ty of powerful computers and high - speed networks...
We propose two new approaches that automatically parallelize Java programs at runtime. These approac...
The popularity of the Internet and the availability of powerful computers and high-speed networks as...
The popularity of the Internet and the availability of powerful computers and high-speed networks as...
from object-oriented programming techniques because of their flexible and modular program developmen...
More than 75% of recent Java projects include some form of concurrent programming. Due to complex in...
Method speculation of object-oriented programs attempts to exploit method-level parallelism (MLP) by...
Abstract—Many existing sequential components, libraries, and applications will need to be re-enginee...
Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for ...
The performance of parallel code significantly depends on the parallel task granularity (PTG). If th...
Languages allowing explicitly parallel, multithreaded programming (e.g. Java and C#) need to specify...
Pointer analysis has been an active research field in recent years. Combining pointer analysis and d...
Multithreaded programming is becoming increasingly important because of recent increase in the use o...
Java makes easier the coding phase of concurrent applications and provides friendly mechanisms for t...