@TechReport{bonachea:java-io-tr,
  author = {Dan Bonachea and Phillip Dickens and Rajeev Thakur},
  title = {High-Performance File {I/O} in {Java}: Existing Approaches and Bulk
  {I/O} Extensions},
  year = {2000},
  month = {August},
  number = {ANL/MCS-P840-0800},
  institution = {Mathematics and Computer Science Division, Argonne National
  Laboratory},
  later = {bonachea:java-io},
  URL = {http://www.mcs.anl.gov/~thakur/papers/javaio-journal.ps},
  keywords = {parallel I/O, java, file system interface, pario-bib},
  abstract = {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.}
}

