z-logo
Premium
High‐performance file I/O in Java: Existing approaches and bulk I/O extensions
Author(s) -
Bonachea Dan,
Dickens Phillip,
Thakur Rajeev
Publication year - 2001
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.576
Subject(s) - java , computer science , strictfp , java annotation , real time java , operating system , programming language , generics in java , java concurrency , java applet , scala , java api for xml based rpc , java modeling language , interface (matter) , embedded java , bubble , maximum bubble pressure method
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. Copyright © 2001 John Wiley & Sons, Ltd.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here