Abstract
In this paper, we implement a Hadoop based cluster for cloud computing and evaluate the performance of this cluster based on application characteristics by executing RandomTextWriter, WordCount, and PI applications. A RandomTextWriter creates given amount of random words and stores them in the HDFS(Hadoop Distributed File System). A WordCount reads an input file and determines the frequency of a given word per block unit. PI application induces PI value using the Monte Carlo law. During simulation, we investigate the effect of data block size and the number of replications on the execution time of applications. Through simulation, we have confirmed that the execution time of RandomTextWriter was proportional to the number of replications. However, the execution time of WordCount and PI were not affected by the number of replications. Moreover, the execution time of WordCount was optimum when the block size was 64~256MB. Therefore, these results show that the performance of cloud computing system can be enhanced by using a scheduling scheme that considers application's characteristics.
본 논문에서는 클라우드 컴퓨팅을 위해 Hadoop 기반의 클러스터를 구축하고, RandomTextWriter, WordCount, PI 애플리케이션을 수행함으로써 애플리케이션 특성에 따른 클러스터의 성능을 평가한다. RandomTextWriter는 주어진 용량만큼 임의의 단어를 생성하여 HDFS에 저장하는 애플리케이션이고, WordCount는 입력 파일을 읽어서 블록 단위로 단어 빈도수를 계산하는 애플리케이션이다. 그리고 PI는 몬테카를로법을 사용하여 PI 값을 유도하는 애플리케이션이다. 이러한 애플리케이션을 실행시키면서 데이터 블록 크기와 데이터 복제본 수 증가에 따른 애플리케이션의 수행시간을 측정한다. 시뮬레이션을 통하여 RandomTextWriter 애플리케이션은 데이터 복제본 수 증가에 비례하여 수행시간이 증가함을 알 수 있었다. 반면에 WordCount와 PI 애플리케이션은 데이터 복제본 수에 큰 영향을 받지 않았다. 또한 WordCount 애플리케이션은 블록 크기가 64~256MB 일 때 최적의 수행시간을 얻을 수있었다. 따라서 이러한 애플리케이션의 특성을 고려한 스케줄링 정책을 개발한다면 애플리케이션의 실행시간을 단축하여 클라우드 컴퓨팅 시스템의 성능을 향상시킬 수 있음을 보인다.