An evaluation of Java's I/O capabilities for high-performance computing

Phillip M. Dickens, Rajeev Thakur
2000 Proceedings of the ACM 2000 conference on Java Grande - JAVA '00  
Java is quickly becoming the preferred language for writing distributed applications because of its inherent support for programming on distributed platforms. In particular, Java provides compile-time and run-time security, automatic garbage collection, inherent support for multithreading, support for persistent objects and object migration, and portability. G i v en these signi cant advantages of Java, there is a growing interest in using Java for high-performance computing applications. To be
more » ... applications. To be successful in the high-performance computing domain, however, Java m ust have the capability to e ciently handle the signi cant I/O requirements commonly found in high-performance computing applications. While there has been signi cant research in high-performance I/O using languages such as C, C++, and Fortran, there has been relatively little research i n to the I/O capabilities of Java. In this paper, we e v aluate the I/O capabilities of Java for high-performance computing. We examine several approaches that attempt to provide high-performance I/O| many of which are not obvious at rst glance|and investigate their performance in both parallel and multithreaded environments. We also provide suggestions for expanding the I/O capabilities of Java to better support the needs of high-performance computing applications. I/O IN HIGH-PERFORMANCE COMPUT-ING
doi:10.1145/337449.337462 dblp:conf/java/DickensT00 fatcat:k3r27vqeafguzjuz6gqi4h5ori