作者: DeQing Chen , Chunqiang Tang , Sandhya Dwarkadas , Michael L Scott , None
DOI:
关键词:
摘要: InterWeave is a middleware system that supports the sharing of strongly typed data structures across heterogeneous languages and machine architectures. Java presents special challenges for InterWeave, including write detection, data translation, and the interface with the garbage collector. In this paper, we discuss our implementation of J-InterWeave, a JVM based on the Kaffe virtual machine and on our locally developed InterWeave client software. J-InterWeave uses bytecode instrumentation to detect writes to shared objects, and leverages Kaffe’s class objects to generate type information for correct translation between the local object format and the machineindependent InterWeave wire format. Experiments indicate that our bytecode instrumentation imposes less than 2% performance cost in Kaffe interpretation mode, and less than 10% overhead in JIT mode. Moreover, J-InterWeave’s translation between local and wire format is more than 8 times as fast as the implementation of object serialization in Sun JDK 1.3. 1 for double arrays. To illustrate the flexibility and efficiency of J-InterWeave in practice, we discuss its use for remote visualization and steering of a stellar dynamics simulation system written in C.