초록
데스크탑 그리드는 컴퓨팅 집약적인 분산 어플리케이션을 수행하는데 있어서 유망한 플랫폼으로 부각되고 있다. 그러나 비 신뢰적이고 예측할 수 없는 자원의 특성 때문에 데스크탑 그리드에서 병렬 어플리케이션의 효율적인 스케줄링은 어려운 문제로 알려져 있다. 이에 따라서 빈약한 스케줄링 능력과 함께 현재 데스크탑 그리드는 고 처리 어플리케이션(high throughput application)의 실행에는 적합하지만 빠른 반환 시간을 요구하는 어플리케이션의 실행을 지원하는데 있어서 어려움을 갖는다. 빠른 반환 시간을 요구하는 어플리케이션의 효율적인 실행은 어플리케이션의 전체 실행 시간(makespan)을 축소함으로써 해결할 수 있는 문제로써 데스크탑 그리드가 이를 지원할 수 있게 하는 것은 매력적인 제안이 될 것이다. 본 논문에서는 데스크탑 그리드에서 효율적인 어플리케이션의 실행을 지원하기 위한 새로운 스케줄링 방법을 제안한다. 7주간의 시간동안 40대의 데스크탑에서 추출된 추적(trace) 데이타의 분석을 통해서 데스크탑 사용 경향성과 비 신뢰적인 데스크탑의 영향이 스케줄링의 성능을 개선하는데 있어서 활용 될 수 있음을 확인하였고 이 요소들을 고려함으로써 데스크탑 그리드의 비 신뢰적이고 예측할 수 없는 자원의 특성을 스케줄링에 적절하게 반영 할 수 있는 스케줄링 기법이 제안되었다. 제안된 스케줄링 기법은 실제 데스크탑들의 행동 패턴을 반영한 추적 기반 시뮬레이션(trace-driven simulation)을 통해서 기존의 스케줄링 방법들과 스케줄링 성능이 비교되었고 시뮬레이션 결과를 통해서 제안된 스케줄링 기법이 기존의 데스크탑 스케줄링 기법들에 비해서 병렬 어플리케이션의 전체 실행 시간을 축소하고 중지(suspension)와 장애(failure)의 발생 빈도를 줄이는 것을 보여준다.
A desktop grid, which is a computing grid composed of idle computing resources in a large network of desktop computers, is a promising platform for compute-intensive distributed computing applications. However, due to reliability and unpredictability of computing resources, effective scheduling of parallel computing applications on such a platform is a difficult problem. This paper proposes a new scheduling method aimed at reducing the total execution time of a parallel application on a desktop grid. The proposed method is based on utilizing the histories of execution behavior of individual computing nodes in the scheduling algorithm. In order to test out the feasibility of this idea, execution trace data were collected from a set of 40 desktop workstations over a period of seven weeks. Then, based on this data, the execution of several representative parallel applications were simulated using trace-driven simulation. The simulation results showed that the proposed method improves the execution time of the target applications significantly when compared to previous desktop grid scheduling methods. In addition, there were fewer instances of application suspension and failure.