eCommons

 

Safe and Efficient Cluster Communication in Java using Explicit MemoryManagement

dc.contributor.authorChang, Chi-Chaoen_US
dc.date.accessioned2007-04-23T18:18:46Z
dc.date.available2007-04-23T18:18:46Z
dc.date.issued1999-09en_US
dc.description.abstractThis thesis presents a framework for using explicit memory management to improve the communication performance of JavaTM cluster applications. The framework allows programmers to explicitly manage Java communication buffers, called jbufs, which are directly accessed by the DMA engines of high-performance network interfaces and by Java programs as primitive-typed ar-rays. The central idea is to remove the hard separation between Java's gar-bage-collected heap and the non-collected memory region in which DMA buffers must normally be allocated. The programmer controls when a jbuf is part of the garbage-collected heap so that the garbage collector can ensure it is safely re-used or de-allocated, and when it is not so it can be used for DMA transfers. Unlike other techniques, jbufs preserve Java's storage- and type-safety and do not depend on a particular garbage collection scheme. The safety, efficiency, and programmability of jbufs are demonstrated throughout this thesis with implementations of an interface to the Virtual In-terface Architecture, of an Active Messages communication layer, and of Java Remote Method Invocation (RMI). The impact on applications is also evalu-ated using an implementation of cluster matrix multiplication as well as a publicly available RMI benchmark suite. The thesis proposes in-place object de-serialization (de-serialization with-out allocation and copying of objects) to further enhance the performance of RMI on homogeneous clusters. This optimization takes advantage of the zero-copy capabilities of network devices to reduce the per-object de-serialization costs to a constant irrespective of object size, which is particularly beneficial for large objects such as arrays. In-place de-serialization is realized using jstreams, an extension of jbufs with object I/O streams. Jstreams use the ex-plicit memory management offered by jbufs to incorporate de-serialized ob-jects into the receiving Java virtual machine without compromising its integrity, without restricting the usage of those objects, and without making assumptions about the underlying garbage collection scheme. The perform-ance impact of jstreams on Java RMI and the benchmark suite is evaluated.en_US
dc.format.extent722165 bytes
dc.format.extent3958814 bytes
dc.format.mimetypeapplication/pdf
dc.format.mimetypeapplication/postscript
dc.identifier.citationhttp://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR99-1765en_US
dc.identifier.urihttps://hdl.handle.net/1813/7419
dc.language.isoen_USen_US
dc.publisherCornell Universityen_US
dc.subjectcomputer scienceen_US
dc.subjecttechnical reporten_US
dc.titleSafe and Efficient Cluster Communication in Java using Explicit MemoryManagementen_US
dc.typetechnical reporten_US

Files

Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
99-1765.pdf
Size:
705.24 KB
Format:
Adobe Portable Document Format
No Thumbnail Available
Name:
99-1765.ps
Size:
3.78 MB
Format:
Postscript Files