• Publications
  • Influence
X10: an object-oriented approach to non-uniform cluster computing
A modern object-oriented programming language, X10, is designed for high performance, high productivity programming of NUCC systems and an overview of the X10 programming model and language, experience with the reference implementation, and results from some initial productivity comparisons between the X 10 and Java™ languages are presented. Expand
The Jalapeño virtual machine
Jalapeno is a virtual machine for JavaTM servers written in the Java language to be as self-sufficient as possible and to obtain high quality code for methods that are observed to be frequently executed or computationally intensive. Expand
Partitioning and Scheduling Parallel Programs for Multiprocessing
This book is one of the first to address the problem of forming useful parallelism from potential parallelism and to provide a general solution and is shown to be NP complete in the strong sense. Expand
The Jikes Research Virtual Machine project: Building an open-source research community
This paper describes the evolution of the JikesTM Research Virtual Machine project from an IBM internal research project, called Jalapeno, into an open-source project. After summarizing the originalExpand
ABCD: eliminating array bounds checks on demand
ABCD is a light-weight algorithm for elimination of Array Bounds Checks on Demand that can be applied to a set of frequently executed (hot) bounds checks, which makes it suitable for the dynamic-compilation setting, in which compile-time cost is constrained but hot statements are known. Expand
Baring It All to Software: Raw Machines
The most radical of the architectures that appear in this issue are Raw processors-highly parallel architectures with hundreds of very simple processors coupled to a small portion of the on-chip memory, allowing synthesis of complex operations directly in configured hardware. Expand
Partitioning and scheduling parallel programs for execution on multiprocessors
This dissertation presents efficient approximation algorithms for partitioning and scheduling problems, based on a macro-dataflow and compile-time scheduling model, which are proved to be NP-complete in the strong sense. Expand
Habanero-Java: the new adventures of old X10
In this paper, we present the Habanero-Java (HJ) language developed at Rice University as an extension to the original Java-based definition of the X10 language. HJ includes a powerful set ofExpand
Efficient and precise datarace detection for multithreaded object-oriented programs
This work presents a novel approach to dynamic datarace detection for multithreaded object-oriented programs that results in very few false positives and runtime overhead in the 13% to 42% range, making it both efficient and precise. Expand
Linear scan register allocation
A new algorithm for fast global register allocation called linear scan, which allocates registers to variables in a single linear-time scan of the variables' live ranges, is described. Expand