Abstract
An IaaS service of a cloud computing environment makes itself attractive for running large scale parallel application thanks to its innate characteristics that a user can utilize a desired number of high performance virtual machines without maintenance cost. The total execution time of a parallel application on a high performance computing environment depends on a task scheduling algorithm. Most studies on task scheduling algorithms on cloud computing environment try to reduce a user cost, and studies on task scheduling algorithms that try to reduce total execution time are rarely carried out. In this paper, we propose a task scheduling algorithm called an HAGD and a performance enhancement method called a group task duplication method of which the HAGD utilizes. The group task duplication method simplifies previous task duplication method, and the HAGD uses the group task duplication method or a task insertion method according to the characteristics of a computing environment and an application. We found that the proposed algorithm provides superior performance regardless of the characteristics in terms of normalized total execution time through performance evaluations.
클라우드 컴퓨팅의 IaaS 서비스는 유지비용 없이 원하는 만큼의 고성능 가상 머신을 사용할 수 있다는 장점 덕분에 대용량 병렬 프로그램을 실행하기 위한 고성능 컴퓨팅 환경으로 주목받고 있다. 이러한 고성능 컴퓨팅 환경에서 병렬 프로그램의 실행에 소요되는 시간은 태스크 스케줄링 알고리즘에 좌우된다. 클라우드 컴퓨팅 환경을 기반으로 하는 태스크 스케줄링 알고리즘에 관한 연구는 사용자 부담 비용을 최소화하는 알고리즘이 주류를 이루었으며, 병렬 프로그램의 실행을 최대한 빨리 끝내기 위한 알고리즘에 관한 연구는 거의 이루어지지 않았다. 본 논문에서는 사용자 부담 비용 등의 제약 없이 병렬 프로그램을 최대한 빨리 끝내기 위한 알고리즘인 HAGD 알고리즘과, HAGD 알고리즘이 사용하는 새로운 성능 향상 기법인 묶음 태스크 복제 기법을 제안한다. 묶음 태스크 복제 기법은 기존 태스크 복제 기법을 단순화하였으며, HAGD 알고리즘은 고성능 컴퓨팅 환경과 병렬 프로그램의 특성에 맞추어 태스크 삽입 기법 혹은 묶음 태스크 복제 기법을 사용한다. 성능 평가 결과, 제안하는 알고리즘이 환경 특성과 관계없이 우수한 표준화한 전체 실행 시간을 제공하는 것을 확인하였다.