Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Ton Ngo is active.

Publication


Featured researches published by Ton Ngo.


conference on object-oriented programming systems, languages, and applications | 1999

Implementing jalapeño in Java

Bowen Alpern; Clement Richard Attanasio; Anthony Cocchi; Derek Lieber; Stephen Edwin Smith; Ton Ngo; John J. Barton; Susan Flynn Hummel; Janice C. Sheperd; Mark F. Mergen

Jalapeño is a virtual machine for Java#8482; servers written in Java. A running Java program involves four layers of functionality: the user code, the virtual-machine, the operating system, and the hardware. By drawing the Java / non-Java boundary below the virtual machine rather than above it, Jalapeño reduces the boundary-crossing overhead and opens up more opportunities for optimization. To get Jalapeño started, a boot image of a working Jalapeño virtual machine is concocted and written to a file. Later, this file can be loaded into memory and executed. Because the boot image consists entirely of Java objects, it can be concocted by a Java program that runs in any JVM. This program uses reflection to convert the boot image into Jalapeños object format. A special MAGIC class allows unsafe casts and direct access to the hardware. Methods of this class are recognized by Jalapeños three compilers, which ignore their bytecodes and emit special-purpose machine code. User code will not be allowed to call MAGIC methods so Javas integrity is preserved. A small non-Java program is used to start up a boot image and as an interface to the operating system. Javas programming features — object orientation, type safety, automatic memory management — greatly facilitated development of Jalapeño. However, we also discovered some of the languages limitations.


Ibm Systems Journal | 2005

The Jikes research virtual machine project: building an open-source research community

Bowen Alpern; S. Augart; Stephen M. Blackburn; Maria A. Butrico; A. Cocchi; Pau-Chen Cheng; Julian Dolby; Stephen J. Fink; David Grove; Michael Hind; Kathryn S. McKinley; Mark F. Mergen; J. E. B. Moss; Ton Ngo; Vivek Sarkar

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 original goals of the project, we discuss the motivation for releasing it as an open-source project and the activities performed to ensure the success of the project. Throughout, we highlight the unique challenges of developing and maintaining an open-source project designed specifically to support a research community.


conference on high performance computing (supercomputing) | 1995

An HPF Compiler for the IBM SP2

Manish Gupta; Samuel P. Midkiff; Edith Schonberg; Ven Seshadri; David Shields; Ko-Yang Wang; Wai-Mee Ching; Ton Ngo

We describe pHPF, an research prototype HPF compiler for the IBM SP series parallel machines. The compiler accepts as input Fortran 90 and Fortran 77 programs, augmented with HPF directives; sequential loops are automatically parallelized. The compiler supports symbolic analysis of expressions. This allows parameters such as the number of processors to be unknown at compile-time without significantly affecting performance. Communication schedules and computation guards are generated in a parameterized form at compile-time. Several novel optimizations and improved versions of well-known optimizations have been implemented in pHPF to exploit parallelism and reduce communication costs. These optimizations include elimination of redundant communication using data-availability analysis; using collective communication; new techniques for mapping scalar variables; coarse-grain wavefronting; and communication reduction in multi-dimensional shift communications. We present experimental results for some well-known benchmark routines. The results show the effectiveness of the compiler in generating efficient code for HPF programs.


international parallel and distributed processing symposium | 2001

A perturbation-free replay platform for cross-optimized multithreaded applications

Jong-Deok Choi; Bowen Alpern; Ton Ngo; Manu Sridharan; John Vlissides

Development of multithreaded applications is particularly tricky because of their non-deterministic execution behaviors. Tools that support the debugging and performance timing of such applications are needed. Key to the construction of such tools is the ability to repeat the nondeterministic execution behavior of a multithreaded application. A clean separation between the application and the system that runs it facilitates supporting that ability. This paper presents a platform for constructing such tools in a context in which any separation between the application and the underlying system (and between both and the platforms own instrumentation code) has been obscured. DejaVu supports deterministic replay of nondeterministic executions of multithreaded Java programs on the Jalapeno virtual machine (running on a uniprocessor). Jalapeno is written in Java and its optimizing compiler regularly integrates application, virtual machine, and DejaVu instrumentation code into unified machine-code sequences. DejaVu ensures deterministic replay through symmetric instrumentation-side-effect identical instrumentation in both record and replay modes-and remote reflection which exposes the state of an application without perturbing it.


conference on high performance computing (supercomputing) | 1997

Portable Performance of Data Parallel Languages

Ton Ngo; Lawrence Snyder; Bradford L. Chamberlain

A portable program yields consistent performance on different platforms. We study the portable performance of three NAS benchmarks compiled with three commercial HPF compilers on the IBM SP2. Each benchmark is evaluated using DO loops and F90 constructs. Base-line comparison is provided by Fortran/MPI and ZPL. The HPF results show some scalable performance but indicate a considerable portability problem. First, relying on the compiler alone for extensive analysis and optimization leads to unpredictable performance. Second, differences in the parallelization strategies often require compiler specific customization. The results suggest that the foremost criteria for portability is a concise performance model.


Concurrency and Computation: Practice and Experience | 1997

SPMD programming in Java

Susan Flynn Hummel; Ton Ngo; Harini Srinivasan

We consider the suitability of the Java concurrent constructs for writing high-performance SPMD code for parallel machines. More specifically, we investigate implementing a financial application in Java on a distributed-memory parallel machine. Despite the fact that Java was not expressly targeted to such applications and architectures per se, we conclude that efficient implementations are feasible. Finally, we propose a library of Java methods to facilitate SPMD programming.


conference on object-oriented programming systems, languages, and applications | 2000

DejaVu: deterministic Java replay debugger for Jalapeño Java virtual machine

Bowen Alpern; Ton Ngo; Jong-Deok Choi; Manu Sridharan

The execution behavior of a Java application can be non-deterministic due to multithreading. This non-determinism makes understanding and debugging multithreaded Java applications a difficult and laborious process. DejaVu (Deterministic Java Replay Utility) helps the user in understanding and debugging non-deterministic Java applications by deterministically replaying the execution behavior of a non-deterministic execution. In this demo, we will present a debugger for the Jalapeño Java Virtual Machine that utilizes the replay capability provided by DejaVu. The debugger helps in isolating non-deterministic failure(s) by faithfully reproducing the same execution behavior that led to the observe failure(s). Jalapeno is a JVM being developed at IBM T. J. Watson Research Center. The debugger provides the following features: (1) DejaVu deterministically replays Java programs; (2) Remote Reflection supports general debugging functionalities such as setting breakpoints, examining the program state, and detecting deadlocks; and (3) a GUI provides an intuitive and easy to use interface.


Ibm Systems Journal | 2000

The Jalapeño virtual machine

Bowen Alpern; C. R. Attanasio; John J. Barton; Michael G. Burke; Perry Cheng; Jong-Deok Choi; Anthony Cocchi; Stephen J. Fink; David Grove; Michael Hind; Susan Flynn Hummel; Derek Lieber; Vassily Litvinov; Mark F. Mergen; Ton Ngo; James R. Russell; Vivek Sarkar; Mauricio J. Serrano; Janice C. Shepherd; S. E. Smith; Vugranam C. Sreedhar; Harini Srinivasan; John Whaley


Ibm Systems Journal | 2000

Implementing jalapeno in java

Bowen Alpern; C. Richard Attanasio; John J. Barton; Michael G. Burke; Perry Cheng; Jin-ho Choi; Anthony Cocchi; Stephen J. Fink; David Grove; Michael Hind; Susan Flynn Hummel; Derek Lieber; Vassily Litvinov; Mark F. Mergen; Ton Ngo; James R. Russell; Vivek Sarkar; Mauricio J. Serrano; Janice C. Shepherd; Stephen P. Smith; Vugranam C. Sreedhar; Harini Srinivasan; John Whaley


Ibm Journal of Research and Development | 1991

The RP3 program visualization environment

Douglas N. Kimelman; Ton Ngo

Researchain Logo
Decentralizing Knowledge