Static Allocation of C++ Objects to CORBA-based Distributed Systems

C++ 객체의 CORBA 기반 분산 시스템으로의 정적 할당

  • 최승훈 (덕성여자대학교 컴퓨터과학부)
  • Published : 2000.12.01

Abstract

One of the most important factors on the performance of the distributed systems is the effective distribution of the software components, There have been a lot of researches on partitioning and allocating the task-based system, while the studies on the allocating the objects of the object-oriented system into the distributed object environments are very little relatively. In this paper. we defines the graph model for partitioning the existing C++ application and allocating the C++ objects into CORBA-base distributed system, In addition, we propose a distributed object allocation algorithm based on this graph model. The performance of distributed systems is determined by the concurrency between objects, the load balance among the processors and the communication cost on the networks. To search for the solutions optimizing the above three factors simultaneously, the object allocation algorithm of this paper is based on the Niched Pareto Genetic Algorithm (NPGA). We performed the experiment on the typical C++ application and CORBA system to prove the effectiveness of our graph model and our object allocation algorithm.

요약 분산 시스템의 전체적인 성능에 가장 큰 영향을 미치는 요인 중의 하나는, 소프트웨어 컴포넌트를 어떻게 효율적으로 분산시키는가 하는 것이다. 현재 태스크 기반의 시스템을 분할하여 분산 환경에 할당하는 문제는 연구가 많이 진행되었으나, 객체 지향 프로그램을 구성하는 각 객체들을 분산 객체 환경에 할당하는 기법에 대한 연구는 상대적으로 미약하다. 본 논문에서는 이미 개발되어 있는 C++ 응용 프로그램을 분할하여 C++ 객체들을 CORBA 기반의 분산 객체 환경에 할당하기 위한 그래프 모델을 정의하고, 이를 바탕으로 한 분산 객체 할당 알고리즘을 제안한다. 분산 시스템의 성능은, 주로 객체간의 병렬성, 각 프로세서에 드는 부하의 균등성, 네트워크 상의 통신 량에 의해 결정된다. 이 세 가지 요인을 동시에 최적화하는 해를 찾기 위하여. 본 논문의 분산 객체 할당 기법은 Niched Pareto 유전자 알고리즘(NPGA)에 바탕을 두고 있다. 전형적인 C++ 응용 프로그램에 대한 CORBA 시스템에서의 실험을 통하여 본 논문의 그래프 모델과 객체 할당 알고리즘의 유효성을 검증한다.

Keywords