High-performance file I/O in Java : existing approaches and bulk I/O extensions.
There is a growing interest in using Java as the language for developing high-performance computing applications. To be successful in the high-performance computing domain, however, Java must not only be able to provide high computational performance, but also high-performance I/O. In this paper, we first examine several approaches that attempt to provide high-performance I/O in Java - many of which are not obvious at first glance - and evaluate their performance on two parallel machines, the IBM SP and the SGI Origin2000. We then propose extensions to the Java I/O library that address the deficiencies in the Java I/O API and improve performance dramatically. The extensions add bulk (array) I/O operations to Java, thereby removing much of the overhead currently associated with array I/O in Java. We have implemented the extensions in two ways: in a standard JVM using the Java Native Interface (JNI) and in a high-performance parallel dialect of Java called Titanium. We describe the two implementations and present performance results that demonstrate the benefits of the proposed extensions.
- Research Organization:
- Argonne National Laboratory (ANL)
- Sponsoring Organization:
- SC; DOD
- DOE Contract Number:
- AC02-06CH11357
- OSTI ID:
- 943020
- Report Number(s):
- ANL/MCS/JA-36783
- Journal Information:
- Concurrency: Pract. Exper., Journal Name: Concurrency: Pract. Exper. Journal Issue: 8-9 ; Jul./Aug. 2001 Vol. 13; ISSN CPEXEI
- Country of Publication:
- United States
- Language:
- ENGLISH
Similar Records
An evaluation of Java's I/O capabilities for high-performance computing.
Data sieving and collective I/O in ROMIO.
Java based open architecture controller
Conference
·
Thu Nov 09 23:00:00 EST 2000
·
OSTI ID:768615
Data sieving and collective I/O in ROMIO.
Conference
·
Fri Sep 11 00:00:00 EDT 1998
·
OSTI ID:775250
Java based open architecture controller
Conference
·
Wed Jan 12 23:00:00 EST 2000
·
OSTI ID:756733