FiVE: File Virtual Expanding Technique to Efficiently Process Small Data on Hadoop

FiVE: Hadoop에서 스몰 데이터를 효율적으로 처리하기 위한 파일 가상 확장 기법

  • 구본근 (한국교통대학교 컴퓨터공학과)
  • Published : 2012.10.31

Abstract

As Hadoop consists of MapReduce programming model and the distirbuted file system HDFS, it is suitable framework for processing Big data. From these features, Hadoop has the ability to reduce the processing time for Small data whose size is smaller than HDFS block. However only one Map task is scheduled to process Small data because the Hadoop scheduler allocates one HDFS block to one Map task according to scheduling policy. Therefore when we use Hadoop to process Small data, we cannot effectively use the computational power of cluster. To resolve this problem, we propose the File Virtual Expanding(FiVE) technique. FiVE technique proposed in this paper expands Small data file to virtual HDFS blocks as many as the available Map task on cluster. So all available Map tasks are scheduled to process data. To do this, we maximize parallelism. To show that FiVE is effective to reduce the processing time for Small data, we implement our technique, and evaluate the performance via Mandelbrot Set program executions on Hadoop. Our evaluation results show that FiVE is effective to reduce the processing time for Small data on Hadoop.

Hadoop은 MapReduce 프로그래밍 모델과 HDFS 분산 파일 시스템으로 구성되어 있어 빅 데이터 처리에 적합한 프레임워크이다. 이러한 특징은 HDFS 블록보다 작은 크기의 스몰 데이터 처리에도 Hadoop을 이용함으로써 처리 시간을 단축시킬 수 있는 가능성을 가지고 있다. 그러나 Hadoop의 Map 태스크 스케줄링 정책상 HDFS 블록 단위로 Map 태스크가 스케줄링되기 때문에 스몰 데이터는 클러스터 규모와 상관없이 한 개의 Map 태스크만 할당되어 클러스터의 계산 능력을 효과적으로 이용하지 못하는 문제점을 가지고 있다. 이 문제를 해결하기 위해 본 논문에서는 파일 가상 확장 기법인 FiVE기법을 제안한다. FiVE 기법은 HDFS 블록 크기보다 작은 스몰 데이터를 클러스터의 가용 Map 태스크 수만큼 가상 HDFS 블록으로 확장하여 모든 가용 Map 태스크가 스케줄링되어 데이터를 처리하게 함으로써 처리의 병렬성을 극대화할 수 있다. 본 논문에서 제안하는 FiVE 기법이 스몰 데이터 처리 시간 단축에 효과가 있음을 보이기 위해 이를 적용한 Mandelbrot Set을 계산하는 Hadoop 응용 프로그램을 작성하고, 성능 평가를 하였다. 성능 평가 결과에 의하면 본 논문에서 제안하는 파일 가상 확장 기법 FiVE가 Hadoop을 이용한 스몰 데이터 처리에 효과가 있었다.

Keywords

References

  1. Big Data, http://en.wikipedia.com/wiki/Big_data.
  2. 정성우, "빅데이터 개요와 관련기술, 그리고 오라클의 지원 전략", 정보처리학회지, 제 19권, 제 3호, pp. 29-36, 2012년.
  3. Jeffrey Dean and Sanjay Ghemawat, "MapReduce: Simplified Data Processing on Large Glusters", Communications of the ACM, Vol. 51, Issue 1, pp. 107-113, Jan. 2008.
  4. Tom White, "Hadoop:The Definitive Guide", O'REILLY, pp. 1-13, 2011.
  5. 최대수, 문길종, 김용민, 노봉남, "MapReduce를 이용한 대용량 보안 로그 분석", 한국정보기술학회 논문지, 제 9권, 제 8호, pp. 125-132, 2011 년 8월.
  6. Chen He and, Ying Lu, and David Swanson, "Matchmaking: A New MapReduce Scheduling Technique", Proceedings of CloudCom'11, pp. 40-47, 2011.
  7. Matei Zaharia, Dhruba Borthakur, Joydeep Sen Sarma, Khaled Elmeleegy, Scott Shenker, and Ion Stoica, "Delay Scheduling: A Simple Technique for Achieving Locality and Fairness in Cluster Scheduling", EuroSys '10 Proceedings of the 5th European conference on Computer systems, pp. 265-278, April 2010.
  8. Kamal Kc and Kemafor Anyanwu, "Scheduling Hadoop Jobs to Meet Deadlines", Proceedings of CloudCom'10, pp. 388-392, 2010.
  9. Jorda Polo, David Carrera, Yolanda Becerra, Jordi Torres, Eduard Ayguade, Malgorzata Steinder, and Ian Whalley, "Performance-Driven Task Co-Scheduling for MapReduce Environments", Network Operations and Management Symposium (NOMS), pp. 373- 380, April 2010
  10. Barry Wilkinson and Michael Allen, "Parallel Programming: Techniques and Applications using networked Workstations and Parallel Computers", Prentice Hall, pp. 46-60, 1999.
  11. 곽재혁, 윤준원, 정용환, 함재균, 박동인, "하둡기반 천문 응용 분야 대규모 데이터 분석 기법", 정보과학회 논문지, 컴퓨팅의 실제 및 레터, 제 17권, 제 11호, pp. 587-591, 2011년 11월.
  12. Mandelbrot Set, http://en.wikipedia.org/wiki/ Mandelbrot_set.