Abstract
In this paper, We propose a block reallocation algorithm for reducing network traffic in Hadoop cluster. The scheduler of Hadoop cluster receives a job from users. And the job is divided into multiple tasks assigned to nodes. At this time, the scheduler allocates the task to the node that satisfied data locality. If a task is assigned to the node that does not have the data(block) to be processed, the task is processed after the data transmission from another node. There is difference of workload among nodes because blocks in cluster have different access frequency. Therefore, the proposed algorithm relocates blocks according to the task allocation pattern of Hadoop scheduler. Eventually, workload of nodes are leveled, and the case of the task processing in a node that does not have the block to be processing is reduced. Thus, the network traffic of the cluster is also reduced. We evaluate the proposed block reallocation algorithm by a simulation. The simulation result shows maximum 23.3% reduction of network consumption than default delay scheduling for jobs processing.
본 논문에서는 하둡 클러스터의 네트워크 사용량 감소를 위한 블록 재배치 알고리즘을 제안한다. 하둡 클러스터의 스케줄러는 사용자들에게 작업을 받아 다중 태스크로 작업을 나누어서 각 노드들에게 할당한다. 이 때 스케줄러는 데이터 지역성(Data locality)을 만족시키는 노드에 우선적으로 태스크를 할당한다. 만약 처리할 데이터(블록)가 없는 노드에 태스크가 할당되면 다른 노드로부터 전송받아 처리한다. 클러스터의 블록들은 사용 빈도가 각각 다르기 때문에 노드 간 작업 부하의 차이가 발생하며 이로 인해 노드 간 데이터 전송이 빈번해진다. 그래서 제안하는 블록 재배치 알고리즘은 하둡 스케줄러의 작업 할당 패턴에 따라 블록들을 균등하게 재배치한다. 결국 노드들의 작업부하는 평준화 되고 처리할 블록이 없는 노드에서 태스크를 처리하는 경우가 감소하기 때문에 클러스터의 네트워크 트래픽이 감소한다. 시뮬레이션으로 제안하는 블록 재배치 정책의 성능평가를 진행했으며 기본 지연 스케줄링으로 작업을 처리한 경우와 비교하여 최대 23.3%의 네트워크 사용량 감소를 보였다.