Abstract
In a distributed heterogeneous computing system, the performance of a parallel application greatly depends on its task scheduling algorithm. Therefore, in order to improve the performance, it is essential to consider some factors that can have effect on the performance of the parallel application in a given environment. One of the most important factors that affects the total execution time is a critical path. In this paper, we propose the CLTS algorithm for a task scheduling. The CLTS sets the priorities of all nodes to improve overall performance by applying leveling method to improve parallelism of task execution and by reducing the delay caused by waiting for execution of critical nodes in priority phase. After that, it conditionally uses insertion based policy or duplication based policy in processor allocation phase to reduce total schedule time. To evaluate the performance of the CLTS, we compared the CLTS with the DCPD and the HCPFD in our simulation. The results of the simulations show that the CLTS is better than the HCPFD by 7.29% and the DCPD by 8.93%. with respect to the average SLR, and also better than the HCPFD by 9.21% and the DCPD by 7.66% with respect to the average speedup.
분산 이기종 시스템에서 병렬 응용프로그램의 성능은 태스크를 스케줄링하는 방법에 따라 크게 영향을 받는다. 따라서 병렬 응용프로그램의 성능에 영향을 미치는 요소들을 태스크 스케줄링에 반영함으로써 주어진 환경 내에서 최적의 결과를 도출할 수 있도록 해야 한다. 일반적으로 병렬 응용프로그램의 전체 처리시간에 영향을 미치는 결정적 요소는 입력 그래프의 임계경로이다. 본 논문에서는 임계 경로 상의 임계노드를 고려한 태스크 스케줄링 알고리즘인 CLTS를 제안한다. CLTS는 우선순위 결정 단계에서 계층화를 통해 노드의 병렬처리 효율을 향상시키고 임계노드 처리에 의한 지연시간을 단축시킬 수 있도록 우선순위를 결정한다. 또 프로세서 할당 단계에서는 조건적으로 복제 기반 정책, 혹은 삽입 기반 정책을 사용하여 노드를 프로세서에 할당함으로써 전체 처리시간을 단축시킨다. 제안한 CLTS의 성능 평가를 위해 기존의 리스트 스케줄링 알고리즘인 HCFPD, DCPD와 함께 성능을 비교 평가하였다. 시뮬레이션을 통해 CLTS는 평균 SLR을 기준으로 HCPFD 대비 7.29%, DCPD 대비 8.93% 향상되었고, Speedup을 기준으로 HCPFD 대비 9.21%, DCPD 대비 7.66% 향상된 성능을 보임을 확인하였다.