SERIALIZATION OF DISTRIBUTED THREADS IN JAVA']JAVA

被引:0
作者
Weyns, Danny [1 ]
Truyen, Eddy [1 ]
Verbaeten, Pierre [1 ]
机构
[1] Katholieke Univ Leuven, Dept Comp Sci, Leuven, Belgium
来源
SCALABLE COMPUTING-PRACTICE AND EXPERIENCE | 2005年 / 6卷 / 01期
关键词
serialization of execution-state; distributed threads; !text type='Java']Java[!/text;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In this paper we present a mechanism for serializing the execution-state of a distributed Java application that is implemented on a conventional Object Request Broker (ORB) architecture such as Java Remote Method Invocation (RMI). To support serialization of distributed execution-state, we developed a byte code transformer and associated management subsystem that adds this functionality to a Java application by extracting execution-state from the application code. An important benefit of our mechanism is its portability. It can transparently be integrated into any legacy Java application. Furthermore, it does require no modifications to the Java Virtual Machine (JVM) or to the underlying ORB. Our serialization mechanism can serve many purposes such as migrating execution-state over the network or storing it on disk. In particular, we describe the implementation of a prototype for repartitioning distributed Java applications at run-time. Proper partitioning of distributed objects over the different machines is critical to the global performance of the distributed application. Methods for partitioning exist, and employ a graph-based model of the application being partitioned. Our mechanism enables then applying these methods at any point in an ongoing distributed computation. In the implementation of the management subsystem, we experienced the problem of losing logical thread identity when the distributed control flow crosses address space boundaries. We solved this well known problem by introducing the generic notion of distributed thread identity in Java programming. Propagation of a globally unique, distributed thread identity provides a uniform mechanism by which all the program's constituent objects involved in a distributed control flow can uniquely refer to that distributed thread as one and the same computational entity.
引用
收藏
页码:81 / 98
页数:18
相关论文
共 17 条
[1]   A multi-threading model for distributed mobile objects and its realization in FarGo [J].
Abu, M ;
Ben-Shaul, I .
21ST INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, PROCEEDINGS, 2001, :313-321
[2]  
BAKER M, CLUSTER COMPUTING WH
[3]  
Bouchenak S., 1999, PICKLING THREADS STA
[4]  
Clark R. K., 1993, P USENIX WORKSH 1993, P127
[5]  
Dahm M., 1999, JIT'99. Java-Information-Tag 1999, P267
[6]  
Dahm M., 2001, BI2000 FREIE U
[7]  
Funfrocken S., 1998, Mobile Agents. Second International Workshop, MA'98. Proceedings, P26, DOI 10.1007/BFb0057646
[8]  
Nwosu K.C., 1994, P 6 INT C COMP INF I
[9]  
ObjectSpace Inc.,VOYAGER, COR TECHN
[10]  
Robben B., 1999, THESIS