Bulk file I/O extensions to Java

Dan Bonachea · 2000

The file I/O classes present in Java have proven too inefficient to meet the demands of high-performance applications that perform large amounts of I/O.The inefficiencies stem primarily from the library interface which requires programs to read arrays a single element at a time.We present two extensions to the Java I/O libraries which alleviate this problem.The first adds bulk (array) I/O operations to the existing libraries, removing much of the overhead currently associated with array I/O.The second is a new library that adds direct support for asynchronous I/O to enable masking I/O latency with overlapped computation.The extensions were implemented in Titanium, a high-performance, parallel dialect of Java.We present experimental results that compare the performance of the extensions with the existing I/O libraries on a simple, external merge sort application.The results demonstrate that our extensions deliver vastly superior I/O performance for this array-based application.

Read the paper · More papers on PaperTik