한국시뮬레이션학회논문지 Vol. 26, No. 4, pp. 51-61 (2017. 12) http://doi.org/10.9709/jkss.2017.26.4.051 ISSN 1225-5904 김병수 강봉구 김탁곤 송해상 Development of Retargetable Hadoop Simulation Environment Based on DEVS Formalism Byeong Soo Kim Bong Gu Kang Tag Gon Kim Hae Sang Song ABSTRACT Hadoop platform is a representative storing and managing platform for big data. Hadoop consists of distributed computing system called MapReduce and distributed file system called HDFS. It is important to analyse the effectiveness according to the change of cluster constructions and several parameters. However, since it is hard to construct thousands of clusters and analyse the constructed system, simulation method is required to analyse the system. This paper proposes Hadoop simulator based on DEVS formalism which provides hierarchical and modular modeling. Hadoop simulator provides a retargetable experimental environment that is possible to change of various parameters, algorithms and models. It is also possible to design input models reflecting the characteristics of Hadoop applications. To maximize the user's convenience, the user interface, real-time model viewer, and input scenario editor are also provided. In this paper, we validate Hadoop Simulator through the comparison with the Hadoop execution results and perform various experiments. Key words : Hadoop, DEVS formalism, Retargetable simulation environment 요 최근빅데이터가증가하는추세에따라이를분석및처리하고활용하는방안에대한관심도증대되고있다. 이러한빅데이터를저장, 관리하기위한대표적인플랫폼으로분산컴퓨팅프레임워크인맵리듀스와분산파일시스템인 HDFS로구성된하둡플랫폼이있다. 하둡은일반적으로수백수천대이상의클러스터로구축되는데, 이때실제클러스터구성이나파라미터에따라하둡플랫폼이가지는효과도를분석하는것이중요하다. 하지만수천대이상의클러스터구축하여이를분석하는것이실질적으로어렵기때문에모델링및시뮬레이션기법을통해분석하는것이필요하다. 본논문은계층적이고모듈러한모델링이가능한 DEVS 형식론을기반으로하둡시뮬레이션환경을제안한다. 제안하는시뮬레이션환경은하둡실행결과를이용한입력모델설계를통해어플리케이션의특성을잘반영할수있으며, 파라미터 / 알고리즘 / 모델들을다양하게변경하여실험할수있는재겨냥성환경을제공한다. 또한사용자편의성의극대화를위해사용자인터페이스, 실시간모델뷰어, 입력시나리오편집기를제공한다. 본논문에서는어플리케이션실행결과와의비교를통해하둡시뮬레이터를검증하고, 다양한파라미터에대한실험을진행한다. 주요어 : 하둡, DEVS 형식론, 재겨냥성시뮬레이션환경 약 1. 서론 오늘날디지털경제의확산으로다양한종류와방대한 Received: 14 December 2017, Revised: 18 December 2017, Accepted: 18 December 2017 Corresponding Author: Byeong Soo Kim E-mail: kevinzzang@kaist.ac.kr Dept. of Electrical Engineering, KAIST, Daejeon, Korea 양의정보와데이터가생산되는빅데이터 (Big Data) 시대가도래했다. 이와함께이러한빅데이터를분석및처리하고활용하는방안에대한다양한연구가진행되고있으며, 빅데이터로부터가치있는정보를추출하여혁신, 경쟁력강화, 생산성향상등에활용하고자하는연구에대한관심이역시증대되고있다. 이에따라대규모컴퓨팅을가능하게하고폭증하는데이터를효율적으로저장, 관리하기위한분산컴퓨팅 / 스토리지플랫폼에대 제 26 권제 4 호 2017 년 12 월 51
김병수 강봉구 김탁곤 송해상 한요구가커지고있다 (Hashem, 2015). 이러한빅데이터를저장, 관리하기위한대표적인플랫폼중의하나로하둡 (Hadoop) 이있다 (Apache, 2017). 하둡은분산컴퓨팅을위한맵리듀스 (MapReduce) 프레임워크와분산파일시스템인 HDFS(Hadoop Distributed File System) 로구성되며, 통상수백수천대이상의실제컴퓨터클러스터들로구축된다. 이러한하둡플랫폼의성능예측및유지관리, 하드웨어호환성등을분석하기위해서, 실제클러스터들의하드웨어사양이나맵리듀스및 HDFS 내부의여러가지파라미터및알고리즘변화에따라하둡플랫폼을실행하고분석하는것이요구된다. 하지만실제로수천대이상의클러스터를구축한후에이를분석하는것이경제적, 그리고공간상의제약등쉽지않기때문에모델링및시뮬레이션기법을통해이를해결할수있다 (Kim, 2017). 기존에도하둡시뮬레이션에대한여러연구들이진행되어왔다. 대표적인하둡시뮬레이터로 MRPerf(Wang et al., 2009), MRSim(Hammoud et al., 2010), HSim(Liu et al., 2013) 등이있다. 이들연구는맵리듀스의내부구조및프로세스에대해구체적인모의를하여정확한시뮬레이션결과를보여주지만, HDFS에대한구체적인모의를하지않고맵리듀스의성능분석에만초점을맞추고있다. 또한하둡플랫폼의성능모델링에대한연구들이진행되어왔는데 (Wu et al., 2015; Kim and Kim, 2017), 이들은하둡에대한전반적인성능모델분석을진행하였지만, 여러목적에따라파라미터, 알고리즘, 모델들을쉽게교체할수있는재겨냥성환경을제공하지않는다. 따라서본논문은 DEVS(Discrete EVent system Specification) 형식론기반의재겨냥성하둡시뮬레이션환경을개발한다. 제안하는환경은맵리듀스와 HDFS를포함한하둡플랫폼의구성요소들이계층적이고모듈러하게구현되어있으며다양한파라미터, 알고리즘, 모델들을입력으로사용할수있다. 또한실제하둡플랫폼을이용한실험결과를통해어플리케이션의특성을반영하는모델을설계하여하둡시뮬레이터의입력모델로사용함으로써어플리케이션의특징을더욱잘반영할수있다. 사용자인터페이스와입력시나리오편집기, 실시간모델뷰어등을제공함으로써사용자편의성또한높일수있다. 본논문의구성은다음과같다. 2장에서는하둡에대해알아보며, 3장에서는제안하는재겨냥성하둡시뮬레이션환경에대해설명한다. 4장에서는제안하는환경을 검증하고실제다양한실험디자인에적용한결과를보여주며, 마지막으로 5장에서는결론및향후연구방향에대해정리한다. 2. 배경지식 2.1 하둡하둡은분산컴퓨팅 / 스토리지환경으로구글의것을바탕으로 Apache에서개발한것이다 (Apache, 2017). 오픈소스로공개되어사용과접근이용이하고확장성과성능이뛰어나, 현재수많은기업들뿐만아니라학교와연구기관등에서범용적으로사용되고있다. 일반적으로수백, 수천대규모의클러스터로구성되며각각의노드들은상용하드웨어를사용함으로써빈번하게발생하는노드들의고장상황에서도데이터손실이발생하지않도록내고장성을지닌다. 이러한하둡은기본적으로분산컴퓨팅시스템인맵리듀스 (MapReduce) 와분산파일시스템인 HDFS(Hadoop Distributed File System) 로구성된다. 2.1.1 맵리듀스하둡의분산컴퓨팅프레임워크인맵리듀스는대용량의데이터를 ( 키, 값 ) 쌍을통하여처리하는프로그래밍모델이다 (Dean and Ghemawat, 2008). 이러한맵리듀스프레임워크는마스터인하나의잡트래커 (JobTracker) 와슬레이브인다수의태스크트래커 (TaskTracker) 로구성된다. 맵리듀스는응용프로그램을잡 (Job) 이라는작업단위로관리및처리하는데, 잡트래커는잡을다수의맵태스크 (Map Task) 와리듀스태스크 (Reduce Task) 로분할하여개별태스크트래커에분배하고, 전체작업을스케줄링한다. 그리고태스크트래커는잡트래커가할당한태스크들을처리함으로써응용프로그램을수행한다. 이러한구조를바탕으로맵리듀스응용프로그램은다음과같이크게 input splitting, mapping, sorting, shuffling, merging, reducing의과정으로진행된다. * Input splitting: 응용프로그램의입력데이터를다수의독립적인블록 ( 스플릿 ) 으로분할하여각각의블록에대하여맵태스크를생성하고, 태스크트래커에각각의맵태스크를할당 * Mapping: 정의된맵함수에따라입력데이터를처리 * Sorting: 리듀스태스크의개수에따라맵의출력을파티션을생성하여정렬 52 한국시뮬레이션학회논문지
* Shuffling: 정렬된맵의출력을파티션에따라그에맞는리듀스로전송 * Merging: 각각의맵태스크로부터전송된맵의출력을통합 * Reducing: 통합된맵태스크의출력을최종적으로처리하여애플리케이션의최종결과를출력 에는하나의블록에대하여 3개의쓰기작업을처리해야함으로써, 쓰기효율이떨어지는단점이존재하지만, 읽기작업시에는여러복제블록으로인하여읽기효율이증대되는장점을지닌다. Fig. 1. Process of MapReduce 맵리듀스는 Figure 1과같이잡트래커가응용프로그램의입력데이터를다수의스플릿으로분할하고, 이를맵태스크에분배함으로진행된다. 맵태스크는정의된맵함수에따라입력데이터를처리한다. 개별맵태스크에서처리된결과는리듀스태스크의개수에따라다수의파티션으로구분되어정렬되는데, 각각의파티션은셔플링 (Shuffling) 과정을통하여리듀스태스크의입력데이터로전송된다. 전송된개별맵태스크의출력들은리듀스태스크에서처리할수있도록리듀스태스크의입력데이터로통합되는과정을거친다. 이렇게하나로통합된맵태스크의출력을입력으로하여리듀스태스크는정의된리듀스함수에따라입력데이터를처리하고, 맵리듀스응용프로그램의최종결과를출력한다. 2.1.2 HDFS 하둡의분산파일시스템인 HDFS는 Figure 2와같이마스터노드인네임노드와슬레이브노드인다수의데이터노드들로구성된다 (Shvachko et al., 2010). 데이터는기본적으로 64MB 크기의블록단위 (Chunk) 로데이터노드들에분산되어저장되며, 개별데이터노드에저장된모든블록들의메타데이터와디렉터리정보가네임노드의네임스페이스에저장및관리된다. HDFS는데이터노드의고장상황에대비하여시스템의내고장성을제공하기위하여각각의블록들을기본적으로추가적인 2개의복제블록을생성하여다른데이터노드들에게저장하는방식을취한다. 이러한방식은데이터저장시 Fig. 2. Structure of HDFS 2.2 DEVS 형식론 DEVS 형식론은집합론에근거한형식론으로원자모델 (Atomic Model) 과결합모델 (Coupled Model) 을통하여전체시스템을모델링할수있는모델링도구이다 (Zeigler et al., 2001). 원자모델은더이상분해할수없는단위로 3개의집합과 4개의함수를통하여시스템의구성요소의기본적인동작을표현하며, 결합모델은부모델들의결합체로 3개의집합과 3개의관계, 하나의함수를통해다수의원자모델혹은또다른결합모델을합쳐새로운모델을구성한다. DEVS 형식론은시스템을계층적으로모듈화하여구조적모델링이가능하기때문에계층적으로복잡한구조로이루어져있는복잡한하둡시스템을모델링하기에가장적합한모델링방법론으로, 이에본논문에서는 DEVS 형식론을이용하여하둡플랫폼모델을개발한다. 3. 재겨냥성하둡시뮬레이션환경개발 3.1 하둡모델설계 3.1.1 OAI 매트릭스를통한입출력관계식별 제 26 권제 4 호 2017 년 12 월 53
김병수 강봉구 김탁곤 송해상 Table 1. Example of OAI matrix S/W H/W Object MapReduce HDFS Platform Storage Network Attribute Variable Throughput Analysis Index Latency Storage Util. # of mappers O # of reducers O Job scheduling algorithm O O O Heartbeat period Data management policy O O Chunk size O Heartbeat period Blockreport period O O # of nodes O # of task slots O CPU clock speed O # of CPU cores O Storage type O Storage access speed O Bandwidth O O Topology O O 하둡플랫폼분석을위해서는먼저분석목적에따라성능지수와그성능지수에영향을주는모델의파라미터및변수들을식별할필요가있다. 본논문에서는입출력사이의관계를식별하기위해 OAI(Object-Analysis Index) 매트릭스를사용한다 (Kim and Sung, 2007). OAI 매트릭스의열은측정하고자하는성능지수에, 행은성능지수측정에필요한객체및파라미터를의미한다. 성능지수에는처리량, 데이터트래픽, 처리시간, 스토리지사용량등이있으며객체는크게소프트웨어와하드웨어로구분된다. 소프트웨어객체는맵리듀스모델과 HDFS 모델로구성되며하드웨어객체는플랫폼모델, 스토리지모델, 네트워크모델이구성된다. 하둡플랫폼시뮬레이션을위한 OAI 매트릭스의예는 Table 1과같다. 본논문에서는식별한파라미터들을고려하여하둡시스템을분석하고모델링한다. 3.1.2 구체적인모델설계본절에서는앞절에서식별한객체와파라미터, 분석지수를토대로하둡플랫폼의구체적인모델을설계한다. 하둡플랫폼을모델링하기위해서는 Figure 3과같이플랫폼전체를각각의프로세스와기능들로나누어분석하고식별하며, 이때분석목적에따라서각프로세스나기능들의추상화수준을결정한다. 모델링에반영할프로세스 (Process, P) 는다음과같은순서를따른다. P1. LFS(Local File System) 에서 HDFS에필요한입력파일들을복사한다. P2. HDFS로부터해당맵퍼 (Mapper) 에할당된블록 Fig. 3. Analysis of Hadoop process for modeling 54 한국시뮬레이션학회논문지
을읽어드린다. P3. 읽어드린입력레코드를맵퍼에서처리한다. P4. 맵퍼의출력레코드를파티셔닝 (Partitioning) 을하고파티션및키에대해정렬하여버퍼에저장한다. P5. 레코드들을파티션번호에따라병합한다. P6. 키에따라서맵퍼에서각각의리듀서 (Reducer) 로파티션된결과를전송해주는셔플링이이루어진다. P7. 맵퍼로부터가져온여러개의파티션들을병합정렬하여저장한다. P8. 레코드를리듀서로읽어드린다. P9. 읽어드린레코드를리듀서에서처리한다. P10. 출력레코드를버퍼링하고 HDFS에저장한다. Fig. 4. Overall structure of Hadoop model 또한식별된내용에따라다음과같은기능 (Function, F) 들을반영하여모델링한다. F1. 노드를자유롭게추가및변경할수있다. F2. 맵퍼또는리듀서가노드에분산되어수행된다. F3. 노드는하나이상의맵퍼또는리듀서를가진다. F4. 스토리지가각노드에분산되어있다. F5. 네임노드와네임스페이스를통해실제와동일한프로세스로입력청크 ( 이름, 크기, 위치 ) 를관리한다. F6. 어플리케이션모델을반영하여맵리듀스컴퓨팅을진행한다. P7. 재겨냥성을고려하여파라미터, 알고리즘, 모델등을쉽게변경할수있도록모듈러하게설계한다. 이에대한자세한내용은다음절에서설명한다. Fig. 5. Example of coupled model: jobtracker model 마지막으로하둡플랫폼을모델링할때의가정사항 (Assumption, A) 은다음과같다. Fig. 6. Example of atomic model: heartbeat model A1. 단위랙의네트워크스위치속도는충분히빨라전체성능에영향을거의미치지않는다고가정한다. A2. CPU의속도는충분히빠르다고가정한다. 멀티코어로인한주메모리동기화문제는발생하지않으며캐쉬메모리가충분히커서각코어가독립적으로동작한다고가정한다. A3. 빅데이터를직접저장하거나실제맵리듀스에서 ( 키, 값 ) 쌍을처리하지않으며어플리케이션모델을바탕으로데이터위치및용량, 처리속도를모델에반영한다. 추후실제처리가능성을위해협력객체를통한확장성을고려하여설계한다. 앞서언급한프로세스와기능, 가정사항을바탕으로하둡을 DEVS 형식론에따라모델링을진행하며, 그전체구조는 Figure 4와같다. 또한 Figure 5와 Figure 6은 DEVS 형식론에따라모델링된구체적인결합모델과원자모델의예를보여준다. 3.2 실행기반의어플리케이션모델설계하둡은플랫폼에어플리케이션을구현하여실행하는구조이기때문에, 하둡플랫폼을모델뿐만아니라, 하둡에서동작하는어플리케이션에대한모델링이필요하다. 시뮬레이션을할때실제어플리케이션을구동시키는것 제 26 권제 4 호 2017 년 12 월 55
김병수 강봉구 김탁곤 송해상 이아닌그어플리케이션의특징을반영하는어플리케이션모델을설계하고그모델을시뮬레이터에입력으로사용하여시뮬레이션을하게된다. 어플리케이션모델은실제하둡플랫폼의실행을통해나온처리시간, 처리량등의로그값분석을통해필요한파라미터를추출하여설계한다. 즉, 본논문에서는 WordCount와 TeraSort 어플리케이션을 16대의노드로구축된실제하둡플랫폼을가지고실행하여그결과를통해하둡시뮬레이션에필요한파라미터들을추출하고실행기반의어플리케이션모델을설계한다. WordCount는주어진입력데이터셋에서각단어의빈도수를카운트하는가장기본적인하둡어플리케이션이며, TeraSort는입력값들을정렬하는어플리케이션이다. Table 2. Execution of Hadoop for application modeling Parameter Value Application WordCount, TeraSort, TestDFSIO Chunk size (MB) 64 Input data size (GB) 0.05, 0.1, 0.5, 1, 2, 4, 8 # of nodes 1, 2, 4, 8, 15 수있다. 각어플리케이션을이용한실제실행결과는 Figure 7 과같이획득되며, 결과데이터들중에서모델링목적에맞게필요한파라미터를추출하여통계적으로모델링할수있다. Table 3은실행결과를통해하드웨어의특성을반영하는내부파라미터에대한결과이며, Table 4는각어플리케이션의특징을반영하는입력모델에필요한파라미터를나타낸다. 본논문에서는각실험디자인을한번씩실행하여확정적인값을가지지만, 어플리케이션특징들의더욱정확한반영을위해각실험디자인마다반복실험을통해통계적인값을구함으로신뢰도를높일수있다. Table 3. Value of internal parameters Type Parameter Value MapReduce Shuffle time per node (sec/mb) 0.064 Write (MB/sec) 24 HDFS Read (MB/sec) 67 Table 4. Value of application parameters Type Mapper Reducer Parameter Value WordCount TeraSort MapperSizeRatio 1.58 2 MapperProcTime 0.24 0.051 SortSizeRatio 0.0000534 0.49 SortProcTime 0 0.0015 ReducerSizeRatio 0.0089 1 ReducerProcTime 5.52 0.026 Fig. 7. Execution result of Hadoop application Table 2는어플리케이션모델링을위해실제하둡플랫폼실행에대한실험디자인이다. WordCount와 TeraSort 각각에대해청크크기와입력크기, 그리고노드수를변화시켜가며하둡플랫폼을실행하여어플리케이션각각의특징을반영하고있는결과데이터를수집할수있다. 또한파일시스템의 I/O를측정하는벤치마크인 TestDFSIO 를이용하여동일실험디자인에대해하둡플랫폼을실행함으로파일 I/O에대한결과를획득할 3.3 하둡시뮬레이션환경구현본절에서는앞서 DEVS 형식론으로모델링한하둡모델을구현하고이에필요한추가적인환경을구현한다. 하둡시뮬레이션환경은 Figure 8과같이크게하둡모델, 하둡사용자인터페이스, 입력시나리오편집기와실시간모델뷰어로구성된다. 하둡모델은앞절에서하둡의추상화를통해개발된모델들로, DEVS 형식론을사용하여이산사건시스템을객체지향적으로모델링하고시뮬레이션할수있는환경인 DEVSim++ 를이용하여구현및실행가능하다 (Kim et al., 2011). 또한가시화를위한도구인하둡사용자인터페이스는시뮬레이션제어및시나리오선택, 그리고실시간으로시뮬레이션결과출력등이가능하다. 다음으로입력시나리오편집기는입력시나리오작성및편집기능을제공한다. 하둡플랫폼실험결과를통해 56 한국시뮬레이션학회논문지
Fig. 8. Hadoop simulation Environment 만들어진어플리케이션모델과노드정보및입력데이터셋에대한정보등을입력하여사용자가손쉽게시나리오를작성하고이를통해시뮬레이션이가능하다. 즉, 실험목적에따라시뮬레이터요구사항이바뀔때마다파라미터, 알고리즘, 모델교체가용이한재겨냥성하둡시뮬레이션환경을제공해준다. 마지막으로실시간모델뷰어는하둡시뮬레이터가실행될때모델구조를실시간으로도시해준다. 전체노드구성에대한도시와각노드내부의모델과내부모델간의연결관계, 그리고모델의입출력포트등을도시해주는기능을한다. 이와같은각각의시뮬레이션환경을이용하여사용자는시나리오를만들고, 하둡을시뮬레이션하며, 그과정과결과를분석할수있는사용자친화적인환경을제공받게된다. 4. 실험 본장에서는앞에서만들어진하둡모델을실증하고, 완성된재겨냥성하둡시뮬레이션환경을이용하여확장 성에대한실험, 청크크기변화에따른실험, 알고리즘교체에따른실험등을수행하여본환경이가지는이점에대해보여준다. 4.1 하둡모델실증제안하는환경을사용하기에앞서먼저모델실증의과정이필요하다. 모델실증은설계된모델이실제시스템을제대로모의하고있는지확인하는과정으로실제하둡플랫폼의실행결과와시뮬레이션결과비교를통해이루어진다. 본논문에서는 WordCount, TeraSort 두가지의기본어플리케이션에대하여앞장의 Table 2에서설계된시나리오를이용하여하였다. 이때하둡시뮬레이션에필요한어플리케이션모델은 3.2절에서만들어진모델이사용된다. 또한실행결과와시뮬레이션결과의비교를위해사용되는결과값으로는실험목적에따라다양한파라미터들이있을수있으며, 본논문에서는잡수행시간과처리량에대한결과를비교한다. Figure 9와 Figure 10은각각 WordCount 어플리케이션에대해서노드수를증가시켰을때와 TeraSort 어플리 제 26 권제 4 호 2017 년 12 월 57
김병수 강봉구 김탁곤 송해상 케이션에대해파일사이즈를변화시켰을때의실제플랫폼의잡수행시간과시뮬레이션의잡수행시간에대한결과비교그래프이다. 그래프에서볼수있듯이두어플리케이션에대해서매우정확한예측결과를볼수있으며, 예측값과실제값의차이를보여주는데널리사용되는지표인평균제곱근편차 (Root Mean Square Error, RMSE) 도각각 24.3과 49.9로수행시간대비낮은값을가짐을볼수있다. 잡스케줄링알고리즘을변경해가며알고리즘성능비교실험을진행한다. 이를위하여두가지잡스케줄링알고리즘을사용하여각알고리즘에대하여노드수를증가시켜가며전체실행시간과처리량을측정하는실험을수행하였다. Table 5. Experimental design for Hadoop simulation Experiment Parameter Value Experiment 1 Input data size 2~64GB : Scalability # of nodes 4~1024 Experiment 2 Chunk size 32~128MB : Chunk size (Parameter) # of nodes 1~256 Experiment 3 Fair scheduler, Algorithm types : Job scheduling modified fair scheduler algorithm # of nodes 1~32 Fig. 9. Validation result: WordCount 이때하둡시뮬레이션환경에사용된나머지파라미터들값들은 Table 6과같으며, 실험을위한파라미터외에는고정된기본값들을사용한다. Table 6. Experimental design for Hadoop simulation Parameter Value Application Experiment 1 (TeraSort), Experiment 2, 3 (WordCount) # of mappers / reducers 32 / 1 # of files 8 # of replications 3 Input data size 2GB # of nodes 4 Fig. 10. Validation result: TeraSort 4.2 실험설계앞서검증한하둡시뮬레이터의효용성을보이기위하여본논문에서는 Table 5와같이실험을설계하였다. 첫번째는확장성에대한실험으로노드수와입력데이터의크기증가에따른잡수행시간및처리량을예측하여하둡시뮬레이션환경이많은노드수나입력데이터가증가함에도시뮬레이션가능한것을보여준다. 두번째는재겨냥성에대한실험으로목적에따라파라미터, 알고리즘, 모델등을바꿔가며실험할수있음을보여준다. 본논문에서는파라미터와알고리즘을변경해가며실험하며, 파라미터로는 HDFS 내부파라미터인청크사이즈변경에따른성능비교를실험한다. 또한알고리즘으로는 4.3 실험결과앞절에서설계한실험에대한결과는다음과같다. 먼저 Figure 11과 Figure 12는확장성에대한실험결과로노드수와입력데이터크기를증가시킴에따라잡처리시간및처리량이각각어떻게변화하는지확인할수있다. 제안된하둡시뮬레이션환경을통하여천대규모이상의하둡클러스터를시뮬레이션이가능함을확인할수있으며, 추후더큰규모의클러스터나더많은데이터를이용하여실험가능하다. 다음으로는파라미터및알고리즘변경에대한실험결과로, 먼저 Figure 13은청크사이즈에따른잡처리시간변화에대해보여준다. 청크사이즈가커질수록잡처리시간이소폭감소하는것을알수있다. Figure 14 는잡알고리즘변경에따른처리량비교그래프로, 잡 58 한국시뮬레이션학회논문지
Fig. 11. Experimental result 1: job completion time Fig. 12. Experimental result 1: throughput Fig. 13. Experimental result 2: job completion time Fig. 14. Experimental result 3: throughput 알고리즘의종류에따른하둡플랫폼의성능변화, 즉처리량에미치는영향을알수있다. 노드의수가작을때는두알고리즘의성능차가미미하지만, 노드의수가많을때는기존 Fair 스케줄링알고리즘이처리량에서높은성능을가짐을확인할수있다. 위와같은실험들을통해제안된재겨냥성하둡시뮬레이션환경을사용하여사용자의목적에따라다양한파라미터, 알고리즘, 모델등을변경해가며분석가능함을알수있다. 본논문에서는 WordCount, TeraSort의두어플리케이션만을이용한실험을수행하였지만, 이외에도사용자가구현한다양한어플리케이션도제안하는환경및방법을이용하여분석가능하다. 5. 결론 본논문에서는하둡플랫폼분석을위해서 DEVS 형식론을이용한재겨냥성하둡시뮬레이션환경을개발하였다. 이를위해먼저하둡을구성하는맵리듀스및 HDFS와하드웨어플랫폼을분석하고이를 DEVS 형식론을이용하여모델링한후구현한다. 개발된시뮬레이션 환경은 Pre-execution을통한어플리케이션모델설계를통해어플리케이션의특징을반영할수있으며, 사용자의배경지식에따라파라미터, 알고리즘, 모델교체가가능하다. 즉, 개발된시뮬레이션환경을소스코드변경없이사용자가여러형태의시뮬레이터로합성할수있는재겨냥적인시뮬레이션환경을제공한다. 또한사용자편의성을위해사용자인터페이스와입력시나리오편집기, 실시간모델뷰어등을제공한다. 개발된환경을실제 16 대노드로구축된하둡플랫폼을이용하여실증하고, 세가지실험을통해다양한상황에서시뮬레이션이가능함을보여준다. 추후연구로미반영된하드웨어모델들을반영하여사용자가더욱폭넓은시뮬레이션이가능하도록하며, 시뮬레이션성능향상을통해대규모노드실험시에걸리는시간및자원을줄이는연구를진행할예정이다. References Apache Hadoop, http://hadoop.apache.org (last accessed: 12.12.17.) 제 26 권제 4 호 2017 년 12 월 59
김병수 강봉구 김탁곤 송해상 Dean, J. and S. Ghemawat (2008) "MapReduce: Simplified data processing on large clusters", Communications of the ACM, 51(1), 107-113. Hammoud, S., M. Li, Y. Liu, N.K. Alham and Z. Liu (2010) "MRSim: A discrete event based MapReduce simulator", In Fuzzy Systems and Knowledge Discovery (FSKD), 2010 Seventh International Conference on, 2993-2997. Hashem, I.A.T., I. Yaqoob, N.B. Anuar, et al. (2015) "The rise of Big Data on cloud computing: Review and open research issues", Information Systems, 47, 98-115. Kim, B.S. and T.G. Kim (2017) "Cooperation between data modeling and simulation modeling for performance analysis of Hadoop", In Performance Evaluation of Computer and Telecommunication Systems (SPECTS), 2017 International Symposium on, 1-7. Kim, T.G. (2017) http://sim.kaist.ac.kr/course/ee612/, Lecture Note on EE612: Discrete Event Systems Modeling and Simulation, School of Electrical Engineering, KAIST Kim, T.G. and C.H. Sung (2007) "Objective-driven DEVS modeling Using OPI matrix for performance evaluation of discrete event systems", In Proceedings of the 2007 Summer Computer Simulation, San Diego, CA, USA, Jul. Kim, T.G., C.H. Sung, S.Y. Hong, et al. (2011) "DEVSim++ toolset for defense modeling and simulation and interoperation", The Journal of Defense Modeling and Simulation: Applications, Methodology, Technology, 8(3), 129-142. Liu, Y., M. Li, N.K. Alham and S. Hammoud (2013) "HSim: a MapReduce simulator in enabling cloud computing", Future Generation Computer Systems, 29(1), 300-308. Shvachko, K., H. Kuang, S. Radia and R. Chansler (2010) "The Hadoop Distributed File System", 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies, Incline Village, USA, May. Wang, G., A.R. Butt, P. Pandey and K. Gupta (2009) "Using realistic simulation for performance analysis of mapreduce setups", Proceedings of the 1st ACM workshop on Large-Scale system and application performance. Wu, X., Y. Liu and I. Gorton (2015) Exploring performance models of Hadoop applications on cloud architecture, Proceedings of the 11th International ACM SIGSOFT Conference on Quality of Software Architectures, 93-101. Zeigler, B.P., H. Praehofer, and T.G. Kim (2001) Theory of modeling and simulation, 2nd ed., ACADEMIC PRESS. 60 한국시뮬레이션학회논문지
김병수 (kevinzzang@kaist.ac.kr) 2010 KAIST 전기및전자공학과학사 2012 KAIST 전기및전자공학과석사 2012~ 현재 KAIST 전기및전자공학과박사과정 관심분야 : 모델링및시뮬레이션, 빅데이터, 하둡, 기계학습 강봉구 (kbgmode@kaist.ac.kr) 2011 한양대학교전자통신컴퓨터공학부학사 2013 KAIST 전기및전자공학과석사 2013~ 현재 KAIST 전기및전자공학과박사과정 관심분야 : 모델링및시뮬레이션, 이산사건시스템모델링, C3 시스템, 국방시뮬레이션 김탁곤 (tkim@kaist.ac.kr) 1975 부산대학교전자공학과학사 1980 경북대학교전자공학과석사 1988 Univ. of. Arizona, 전기및컴퓨터공학과박사 1980~1983 부경대학교통신공학과전임강사 1987~1989 ( 미 ) 애리조나환경연구소연구엔지니어 1989~1991 Univ. of Kansas 전기및컴퓨터공학과조교수 1991~ 현재 KAIST 전기및전자공학과교수 - 한국시뮬레이션학회회장역임 - 국제시뮬레이션학회 (SCS) 논문지 (Simulation) Editor-In-Chief 역임 - SCS Fellow - 모델링시뮬레이션기술사 ( 미국 ) - Who s Who in the World (Marguis 16 th Edition, 1999) 등재 - 연합사, 국방부 / 합참, 기품원자문위원역임 - KIDA Fellow 역임 - ADD 자문위원 ( 현 ) 관심분야 : 모델링 / 시뮬레이션이론, 방법론및환경개발, 시뮬레이터연동 송해상 (hssong@seowon.ac.kr) 2000 KAIST 전기및전자공학과박사 1999~2000 고등기술연구원 2001~2002 ( 주 ) 스페이스네트 2002~ 현재서원대학교컴퓨터공학과교수 관심분야 : 시스템모델링시뮬레이션이론및응용, 국방시스템공학, 소프트웨어공학 제 26 권제 4 호 2017 년 12 월 61