Distributed Parallel Computing Environment for Java

자바를 위한 분산된 병렬 컴퓨팅 환경

  • 이상윤 (대원과학대학 컴퓨터정보처리과) ;
  • 김승호 (경북대학교 컴퓨터공학과)
  • Published : 2004.11.01

Abstract

Since java thread is an object which is treated as independent process within one execution space in the multiprocessing environment, we can use it for independent process of parallel processing. Using thread and synchronization mechanism of java enables us to write parallel application program easily. Therefore, a lot of results are exist which is apply the feature of java that support parallel processing to the distributed computing environment. In this paper, we introduce a system of environment that support parallel execution of thread which is included in legacy java program. The system named TORB(Transparent Object Request Broker) enables us parallel execution of legacy java program after simple converting process, since it support the feature of programming transparency. TORB is extended version of distributed programming tool that is published by our research team. And it had only typical distributed processing feature that is execute a specified function at the specified computer.

자바의 쓰레드는 다중 처리 환경에서 하나의 프로그램 공간 내의 독립적인 프로세스로 취급되는 객체 요소이므로 병렬처리를 위한 독립적인 프로세스로 활용할 수 있다. 또한, 자바의 동기화 메커니즘과 쓰레드를 활용하면 병렬 처리를 수행하는 응용프로그램을 쉽게 작성할 수 있다. 이에 따라, 자바의 병렬 처리 지원 기능을 분산된 컴퓨팅 환경에 적용하기 위한 많은 연구 결과가 있다. 본 논문에서는 레거시 자바 프로그램에 포함된 쓰레드를 분산된 컴퓨팅 환경에서 병렬 수행 하도록 지원하는 시스템 환경을 제안한다. TORB(Transparent Object Request Broker)라고 명명된 본 시스템은 프로그래밍 투명성을 지원하므로 이미 작성된 레거시 자바 프로그램을 간단한 변환 과정을 거친 후 병렬 수행 하도록 지원한다. TORB는 본 연구팀에서 이미 발표한 분산 프로그래밍 도구의 기능을 확장한 것이며, 이는 지정된 기능을 지정된 컴퓨터에서 수행하도록 지원하는 전형적인 분산처리 기능만을 보유하고 있었다.

Keywords

References

  1. Doug Lea, 'Concurrent Programming in Java - Design Principles and Patterns', Addison-Wesley, Reading, Mass., 1996
  2. Weimin Yu and Alan Cox, 'Java/DSM: A Platform for Heterogeneous Computing', In Concurrency: Practice & Experience, Vol. 9, No. 11, pp. 1213-1224, 1997 https://doi.org/10.1002/(SICI)1096-9128(199711)9:11<1213::AID-CPE333>3.0.CO;2-J
  3. Yariv Aridor, Michael Factor and Avi Teperman, 'cJVM: a Single System Image of a JVM on a Cluster', In Proceedings of ICPP 99, IEEE, 1999 https://doi.org/10.1109/ICPP.1999.797382
  4. Philippsen M, Zenger M. 'JavaParty - Transparent remote objects in Java', Concurrency: Practice and Experience, 9(11):1225--1242, 1997 https://doi.org/10.1002/(SICI)1096-9128(199711)9:11<1225::AID-CPE332>3.0.CO;2-F
  5. M. Philippsen, B. Haumacher, and C. Nester, 'More efficient serialization and RMI for Java', Concurrency: Practice & Experience, 12(7):495 -518, May 2000 https://doi.org/10.1002/1096-9128(200005)12:7<495::AID-CPE496>3.0.CO;2-W
  6. Matchy J. M. Ma, Cho-Li Wang and Francis C. M. Lau, 'JESSICA: Java-Enabled Single-System-Image Computing Architecture', In Journal of Parallel and Distributed Computing, Vol. 60, No. 11, pp.1194-1222, 2000 https://doi.org/10.1006/jpdc.2000.1650
  7. 이상윤, 김승호, '프로그래밍 투명성을 지원하는 분산 프로그래밍 도구의 설계', 한국정보과학회 논문집 제 31권 3호, pp. 259-268, June 2004
  8. S. Maffeis, 'Run-Time Support for Object-Oriented Distributed Programming', PhD thesis, University of Zurich, 1995
  9. Forum for Gnutella Development, 'Gnutella.com'. Online Document, http://www.gnutella.com/
  10. Sun Microsystems, Inc., 'Java Remote Method Invocation', Online publishing, URL http://java.sun.com/j2se/1.4.2/docs/guide/rmi/spec/rmiTOC.html, 2003
  11. Satoshi Hirano, 'HORB : Distributed Execution of Java Programs', In Lecture Notes in Computer Science 1274, Springer, pp.29-42, 1997
  12. Bernhard Haumacher, Thomas Moschny, Jurgen Reuter and Walter F. Tichy, 'Transparent Distributed Threads for Java', International Parallel and Distributed Processing Symposium, 2003 https://doi.org/10.1109/IPDPS.2003.1213261
  13. J. Siegel, 'CORBA Fundamentals and Programming', John Wiley & Sons, 1996
  14. M. Dahm. 'Byte code engineering with the BCEL API', Technical Report B-17-98, Freie Universitat Berlin, Institut fur Informatik, April 2001
  15. J. Meyer, T. Downing. 'Java Virtual Machine'. O Reilly, 1997