KR101656360B1 - 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템 - Google Patents

자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템 Download PDF

Info

Publication number
KR101656360B1
KR101656360B1 KR1020150021460A KR20150021460A KR101656360B1 KR 101656360 B1 KR101656360 B1 KR 101656360B1 KR 1020150021460 A KR1020150021460 A KR 1020150021460A KR 20150021460 A KR20150021460 A KR 20150021460A KR 101656360 B1 KR101656360 B1 KR 101656360B1
Authority
KR
South Korea
Prior art keywords
job
task
node
tracker
management unit
Prior art date
Application number
KR1020150021460A
Other languages
English (en)
Other versions
KR20160099762A (ko
Inventor
송동호
인연진
김영필
조성완
이승
Original Assignee
소프트온넷(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소프트온넷(주) filed Critical 소프트온넷(주)
Priority to KR1020150021460A priority Critical patent/KR101656360B1/ko
Publication of KR20160099762A publication Critical patent/KR20160099762A/ko
Application granted granted Critical
Publication of KR101656360B1 publication Critical patent/KR101656360B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1858Parallel file systems, i.e. file systems supporting multiple processors
    • G06F17/30224
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Abstract

본 발명은 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템에 관한 것이다.
본 발명에 따른 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템은, 잡(job)을 수행하는 잡 클라이언트를 실행하는 클라이언트와, 잡 클라이언트로부터 요청된 잡에 ID를 할당하고 잡을 관리하는 잡 트랙커를 실행하는 마스터 노드와, 잡 트랙커의 요청에 의해 할당된 잡을 맵 태스크와 리듀스 태스크로 태스크 트랙커에 할당하여 실행하는 슬레이브 노드와, 잡 트랙커의 요청에 의해 가상 머신(VM) 노드를 슬레이브 노드로 할당하여 가상 머신(VM) 노드의 태스크 트랙커를 통해 맵 태스크와 리듀스 태스크를 실행시키는 클라우드 관리 서버, 및 클라우드 관리 서버의 클러스터 관리부의 요청에 따라 가상 머신(VM) 노드를 슬레이브 노드로 할당하는 가상 머신 (VM) 자원을 제공하는 클라우드 호스트 서버를 포함한다.
이와 같은 본 발명에 의하면, 실시간으로 처리해야 할 데이터의 컴퓨팅 자원을 분석하여 실시간으로 컴퓨팅 자원을 증감시켜 줌으로써 컴퓨팅 자원을 효율적으로 사용할 수 있다.

Description

자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템{Cloud System for supporting auto-scaled Hadoop Distributed Parallel Processing System}
본 발명은 클라우드(cloud) 시스템에 관한 것으로서, 더 상세하게는 하둡 (Hadoop) 시스템을 사용하여 빅 데이터(big data)를 처리할 때, 입력 데이터를 실시간으로 분석하여 데이터의 크기와 종류에 따른 예상 처리 시간에 따라 필요한 컴퓨팅 자원을 자동으로 증감함으로써, 맵 리듀스(Map Reduce) 연산 처리 효율을 향상시킬 수 있는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템에 관한 것이다.
오늘날 소셜 미디어(social media) 및 멀티미디어의 확산에 따른 비정형 데이터(예를 들면, 기업의 매출액, 개인의 나이와 성별 등의 정형화된 데이터가 아닌 문자 메시지, 음성, 영상, 위치 등 다양한 유형의 데이터)의 폭증으로 인해 기존의 방식으로 저장, 관리 및 분석하기 어려울 정도로 큰 규모를 갖는, 엄청난 양의 데이터인 빅 데이터(big data)가 등장하게 되었다.
스마트폰, 웨어러블(wearable) 디바이스 등으로 인해 개인이 만들어내는 데이터의 정보량이 엄청나게 증가하고, 이러한 빅 데이터의 분석을 통해 기업들은 소비자의 구매 패턴뿐만 아니라 소비자의 관계와 관심, 더 나아가 생활 습관까지 파악할 수 있게 되었다.
이러한 빅 데이터를 분석하기 위한 방법의 하나로 하둡(Hadoop)이 개발되었다. 하둡은 구글 파일 시스템(Google File System)과 상호보완 관계에 있는 하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System)과 데이터를 분산시켜 처리한 뒤 하나로 합치는 기술인 맵 리듀스를 구현한 오픈 소스(open source) 기반의 프레임워크(framework)이다. 하둡의 핵심은 두 부분으로 구성되는데, 스토리지 부분(HDFS)과 프로세싱 부분(맵 리듀스)이다. 하둡은 파일들을 대형 블록(예컨대, 64MB 또는 128MB)으로 나누고 이 블록들을 클러스터(cluster) 내의 노드들에 분산하여 저장한다. 저장된 데이터를 프로세싱하기 위하여 하둡 맵 리듀스는 수행코드를 각 데이터를 저장하고 있는 노드에 전송하고, 이 노드들이 동시에 병렬로 데이터 처리를 수행하게 된다. 이 방식은 데이터와 수행코드가 동일 노드에서 더 빠르게, 그리고 효과적으로 작동하기 때문에 데이터를 빠르게 처리할 수 있는 장점이 있다.
그러나, 종래 하둡 시스템에서 사용하는 맵 리듀스는 노드 호스트 서버(node host server)의 성능이 상이한 경우 효과적이지 못하고, 한 클러스터에서 여러 맵 리듀스 작업을 동시에 수행하는 경우에는 효율적인 다중-작업 스케줄링을 제공하지 못한다.
또한, 종래 하둡 시스템에서 사용하는 데이터 분석 방법은 맵 리듀스를 시작할 때, 데이터 분석에 할당된 컴퓨팅 자원 내에서 데이터를 처리하기 때문에, 데이터의 양이 기하급수적으로 늘어나는 상황에서는 유휴 컴퓨팅 자원이 있더라도 데이터 분석을 시작하게 되면 유휴 컴퓨팅 자원을 사용하지 못하는 단점이 있다.
한편, 한국 공개특허 제10-2012-0041907호(선행문헌 1)에는 데이터 마이닝 (data mining) 등을 이용한 게놈 계산(genomic computation) 등의 대규모 데이터의 병렬처리를 보장하기 위해 맵 리듀스(Map Reduce) 상에서 맵퍼(mapper)와 리듀서 (reducer)를 신뢰하지 않으면서 HE(Homomorphic Encryption)를 이용하여 일관된 정확도로 결과값을 사용하여 최종적으로 엔드-투-엔드(end-to-end) 기밀성을 보장하면서 분산 계산하는 "맵 리듀스 기반의 대용량 데이터 분산 계산 방법 및 그 시스템"이 개시되어 있다. 또한, 한국 공개특허 제10-2014-0080795호(선행문헌 2)에는 복수 개의 가상 머신이 가상화 플랫폼으로부터 복수 개의 슬롯(slot)별 태스크 수행 완료시간을 각각 수신하고, 가상 머신이 현재부터 각 가상 머신 내 모든 슬롯이 태스크 수행을 완료하는 수행 완료시간까지의 남은 시간을 연산하여 마스터 노드에 전달하며, 마스터 노드가 수신한 복수 개의 남은 시간에 대한 평균값을 연산하고 그 평균값에 따라 각 가상 머신의 CPU 자원 할당량을 조절하여 각 가상 머신의 태스크 수행시간이 동일하도록 제어함으로써, 가상화 클러스터 환경에서 전체 맵 리듀스 태스크가 균일한 시간 동안 처리되도록 하여 성능을 향상시키고자 하는 "가상화 환경 내 하둡 맵 리듀스의 부하 분산 방법 및 시스템"이 개시되어 있다.
그러나, 상기 선행문헌 1은 대용량 데이터의 저장과 병렬처리 능력을 제공하기 위한 클라우드 컴퓨팅 환경에서 분산 처리기술로 사용되는 맵 리듀스(Map Reduce)가 대규모 데이터를 병렬처리하여 분산 계산하는 프레임워크로서, 데이터 마이닝, 게놈 계산 등에 다양하게 응용될 수는 있지만, 데이터를 맵/리듀스(map/reduce)하는 과정에서 프라이버시(privacy)의 침해가 발생할 수 있는 문제를 해결하기 위한 것이고, 상기 선행문헌 2는 하둡 맵 리듀스가 태스크를 클러스터에 분산하여 처리할 때, 데이터 지역성(data locality)과 구성된 클러스터 환경의 차이로 인해 모든 태스크가 각 노드에서 동시에 끝나지 않고 물결 형태로 종료됨에 따라 모든 태스크가 완료되어야만 종료되는 맵 리듀스의 특성상 심각한 성능 저하가 야기되는 문제에 대응하기 위한 것으로서, 이와 같은 선행문헌 1,2는 전술한 바와 같은 문제점을 내포하고 있다. 즉, 한 클러스터에서 여러 맵 리듀스 작업을 동시에 수행하는 경우에 효율적인 다중-작업 스케줄링을 제공하지 못하고, 데이터의 양이 기하급수적으로 늘어나는 상황에서 유휴 컴퓨팅 자원이 있더라도 데이터 분석을 시작하게 되면 유휴 컴퓨팅 자원을 사용하지 못하게 되는 문제점이 있다.
한국 공개특허 제10-2012-0041907호(2012.05.03 공개) 한국 공개특허 제10-2014-0080795호(2014.07.01 공개)
본 발명은 상기와 같은 사항을 감안하여 창출된 것으로서, 실시간으로 처리해야 할 데이터의 컴퓨팅 자원을 분석하여 실시간으로 컴퓨팅 자원을 증감시켜 줌으로써 컴퓨팅 자원을 효율적으로 사용할 수 있도록 해주는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템을 제공함에 그 목적이 있다.
상기의 목적을 달성하기 위하여 본 발명에 따른 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템은, 빅 데이터 처리를 위한 하둡 시스템을 지원하기 위한 것으로, 클라이언트가 요청한 잡(job)의 업무량을 컴파일 타임 혹은 런 타임에 실시간으로 분석하여 이에 필요한 클라우드 시스템의 가상 머신(virtual machine;VM) 리소스 풀(resource pool)로부터 여유 가상 머신을 계산한 후 자동으로 가상 머신 노드를 증감하여 잡(job)을 재할당하여 구동시키며, 상기 잡(job)을 수행하는 잡 클라이언트(job client)를 실행하는 클라이언트와, 상기 잡 클라이언트로부터 요청된 잡에 ID를 할당하고 잡을 관리하는 잡 트랙커(job tracker)를 실행하는 마스터 노드(master node)와, 상기 잡 트랙커의 요청에 의해 할당된 잡을 맵 태스크(map task)와 리듀스 태스크(reduce task)로 태스크 트랙커(task tracker)에 할당하여 실행하는 슬레이브 노드(slave node)와, 상기 잡 트랙커의 요청에 의해 가상 머신 노드를 상기 슬레이브 노드로 할당하여 가상 머신(VM) 노드의 태스크 트랙커를 통해 맵 태스크와 리듀스 태스크를 실행시키는 클라우드 관리 서버, 및 상기 클라우드 관리 서버의 클러스터 관리부의 요청에 따라 상기 가상 머신 노드를 슬레이브 노드로 할당하는 가상 머신 자원을 제공하는 클라우드 호스트 서버를 포함하고, 상기 클라이언트가 요청한 잡의 업무량을 분석하여 재할당할 때, 상기 잡 트랙커는 주기적으로 슬레이브 노드의 가용리소스 정보와 VM 리소스 풀의 정보를 전달받고, 상기 정보를 기초로, 기존에 실행중인 슬레이브 노드 또는 신규로 생성된 VM 노드의 태스크 트랙커에 컴파일 타임에 정적으로 또는 런 타임에 동적으로 상기 잡을 할당하고, 상기 클라이언트는, 상기 슬레이브 노드의 하둡 분산 파일 시스템(HDFS)에 저장되어 있는 입력 파일을 분석하여 입력 스플릿(split), 설정 파일, 특정 파일을 상기 슬레이브 노드의 HDFS에 저장하고, 상기 잡 트랙커에 맵 리듀스를 시작할 준비가 되었음을 알려주는 잡 클라이언트(job client), 및 상기 마스터 노드 및 슬레이브 노드와 네트워크 통신망을 통해 데이터 통신을 수행하는 통신 인터페이스를 포함한다.
여기서, 상기 클라이언트는 상기 슬레이브 노드의 하둡 분산 파일 시스템 (HDFS)에 저장되어 있는 입력 파일을 분석하여 입력 스플릿(split), 설정 파일, 특정 파일을 상기 슬레이브 노드의 HDFS에 저장하고, 상기 잡 트랙커에 맵 리듀스를 시작할 준비가 되었음을 알려주는 잡 클라이언트(job client)와, 상기 마스터 노드 및 슬레이브 노드와 네트워크 통신망을 통해 데이터 통신을 수행하는 통신 인터페이스를 포함하여 구성될 수 있다.
또한, 상기 마스터 노드는 상기 잡 클라이언트가 요청한 잡(job)을 상기 슬레이브 노드와 상기 가상 머신 노드의 태스크 트랙커에 맵 태스크와 리듀스 태스크로 각각 할당하는 잡 트랙커와, 상기 HDFS의 디렉터리 구조를 관리하는 마스터 노드 관리부, 및 상기 슬레이브 노드와 네트워크 통신망을 통해 데이터 통신을 수행하는 통신 인터페이스를 포함하여 구성될 수 있다.
또한, 상기 슬레이브 노드는 상기 마스터 노드의 잡 트랙커의 잡 관리부가 우선 순위에 따라 할당해준 맵 태스크들과 리듀스 태스크들을 관리하여 실행하는 태스크 트랙커(task tracker)와, 상기 슬레이브 노드의 가용 리소스 정보를 상기 마스터 노드의 잡 트랙커의 리소스 분석부에 하트 비트(heart beat)로 전달하는 리소스 모니터부와, 맵 리듀스를 실행하기 위한 실제 데이터가 저장되어 있는 HDFS와, 그 HDFS에 저장된 데이터를 관리하는 슬레이브 노드 관리부, 및 상기 마스터 노드와 네트워크 통신망을 통해 데이터 통신을 수행하는 통신 인터페이스를 포함하여 구성될 수 있다.
또한, 상기 클라우드 관리 서버는 상기 클라우드 호스트 서버에서 동작하는 상기 가상 머신(VM) 노드와 연결하여 제어하는 VM 노드 연결부와, 상기 클라우드 호스트 서버에서 동작하는 상기 VM 노드의 생성, 실행, 삭제를 관리하는 클러스터 관리부와, 상기 VM 노드가 사용하는 리소스 풀을 관리하는 리소스 풀 관리부, 및 상기 마스터 노드와 네트워크 통신망을 통해 데이터 통신을 수행하는 통신 인터페이스를 포함하여 구성될 수 있다.
또한, 상기 클라우드 호스트 서버는 상기 VM 노드 연결부의 요청에 따라 활성화된 상기 VM 노드를 관리하는 VM 노드 관리부와, 하이퍼바이저(Hypervisor) 엔진을 통해 가상화에 필요한 모든 기능을 제공하는 가상화 관리부와, 상기 클러스터 관리부의 요청에 따라 필요한 VM 노드의 생성, 실행, 삭제 요청을 실행하는 클러스터 에이전트부와, 클라우드 호스트 서버의 CPU, 메모리, 디스크 사용량, VM 노드의 사용량을 상기 리소스 풀 관리부에 전달하는 리소스 모니터부, 및 상기 클라우드 관리 서버와 네트워크 통신망을 통해 데이터 통신을 수행하는 통신 인터페이스를 포함하여 구성될 수 있다.
이와 같은 본 발명에 의하면, 실시간으로 처리해야 할 데이터의 컴퓨팅 자원을 분석하여 실시간으로 컴퓨팅 자원을 증감시켜 줌으로써 컴퓨팅 자원을 효율적으로 사용할 수 있다.
또한, 클라우드 시스템을 통해 맵 리듀스 작업에 따라 별도의 잡 클러스터를 구성하여 효과적인 다중-작업 스케줄링을 제공함으로써 맵 리듀스 성능을 향상시킬 수 있다.
도 1은 본 발명에 따른 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템의 전체 구성을 개략적으로 나타낸 도면이다.
도 2는 도 1에 도시된 클라우드 시스템의 클라이언트, 마스터 노드 및 슬레이브 노드의 각각의 내부 구성을 나타낸 도면이다.
도 3은 본 발명에 따른 클라우드 시스템의 마스터 노드에 내장된 잡 트랙커 모듈의 내부 구성을 나타낸 도면이다.
도 4는 본 발명에 따른 클라우드 시스템의 슬레이브 노드에 내장된 태스크 트랙커 모듈의 내부 구성을 나타낸 도면이다.
도 5는 도 1에 도시된 클라우드 시스템의 클라우드 관리 서버 및 클라우드 호스트 서버의 각 내부 구성을 나타낸 도면이다.
도 6은 본 발명에 따른 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템에 있어서, 맵 리듀스의 실행에 따른 데이터의 흐름을 나타낸 도면이다.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템의 전체 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 본 발명에 따른 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템(100)은 빅 데이터 처리를 위한 하둡 시스템을 지원하기 위한 것으로, 클라이언트(110)가 요청한 잡(job)의 업무량을 컴파일 타임 혹은 런 타임에 실시간으로 분석하여 이에 필요한 클라우드 시스템의 가상 머신(virtual machine; VM) 리소스 풀(resource pool)로부터 여유 가상 머신을 계산한 후 자동으로 가상 머신 노드를 증감하여 잡(job)을 재할당하여 구동시킴으로써 잡(job)의 수행 시간을 줄이고자 하는 시스템이다.
이상과 같은 본 발명의 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템(100)은 클라이언트(110), 마스터 노드(120), 슬레이브 노드(130), 클라우드 관리 서버(140), 및 클라우드 호스트 서버(150)를 포함하여 구성된다.
여기서, 상기 마스터 노드(120)와 슬레이브 노드(130)는 VM 리소스 풀(102)을 구성하고, 상기 클라우드 관리 서버(140)와 클라우드 호스트 서버(150)는 물리 서버 팜(104)을 구성한다. VM 리소스 풀(102)은 VM 노드(130e∼130g)(도 6 참조)에 CPU, 메모리, HDD, 네트워크 자원을 할당하여 가상 머신(virtual machine)으로 동작하도록 자원을 제공하는 가상화 리소스들의 풀(pool)이다.
상기 클라이언트(110)는 맵 리듀스(Map Reduce) 프로그램을 통해 잡(job)을 실행할 잡 클라이언트(111)(도 2 참조)를 생성하고, 네트워크 통신망(160)을 통해 마스터 노드(120)에 접속한 후, 마스터 노드(120)의 잡 트랙커(job tracker)(121)로부터 잡 ID를 할당받고, 잡(job)에 할당된 입력 파일(601)(도 6 참조)을 분석하여 입력 스플릿(split)(602a∼602d) 데이터를 생성하며, 잡 트랙커(121)에 맵 리듀스를 시작할 준비가 되었음을 알려주는 역할을 한다. 이와 같은 클라이언트(110)는 도 2에 도시된 바와 같이, 상기 슬레이브 노드(130)의 하둡 분산 파일 시스템(HDFS)(133)에 저장되어 있는 입력 파일을 분석하여 입력 스플릿(split), 설정 파일(예를 들면, 다수의 슬레이브 노드 중 어느 슬레이브 노드를 사용할 것인지에 등에 대한 정보가 실려있는 파일), 특정 파일(이것은 일을 수행할 일종의 코드에 해당하는 것으로서, 예를 들면, "Map Reduce.jar"와 같은 파일)을 상기 슬레이브 노드(130)의 HDFS(133)에 저장하고, 상기 잡 트랙커(121)에 맵 리듀스를 시작할 준비가 되었음을 알려주는 잡 클라이언트 (job client)(111)와, 상기 마스터 노드(120) 및 슬레이브 노드(130)와 네트워크 통신망(160)을 통해 데이터 통신을 수행하는 통신 인터페이스(112)를 포함하여 구성될 수 있다.
여기서, 상기 입력 파일(601)은 슬레이브 노드(130)의 HDFS(133)에 64MB 단위의 덩어리(chunk)로 분할되어 저장되어 있으며, 파일 포맷은 라인(line) 기반의 로그 (log) 파일, 이진수(binary) 포맷, 멀티라인(multiline)의 입력 레코드 등 어떤 것이든 사용 가능하다.
또한, 입력 스플릿(602a∼602d)은 상기 입력 파일(601)의 종류에 따라 맵 태스크가 처리할 수 있도록 어떻게 분할할지 지정한 입력 스플릿 데이터와 맵 태스크가 쉽게 액세스할 수 있는 키(key)와 값(value)의 쌍으로 구성된 입력 스플릿 정보로 구성된다. 이때, 입력 스플릿 정보의 키와 값은 파일 포맷에 따라 분해하는 방법이 달라진다. 그리고, 입력 스플릿(602a∼602d)의 묶음은 맵 태스크를 구성하는 작업의 단위가 되며, 잡(job)은 여러 개 또는 수백 개의 태스크로 구성된다.
상기 마스터 노드(120)는 클라우드 시스템의 VM 리소스 풀(102) 상에서 동작하며, 잡 클라이언트(111)가 요청한 잡(job)을 슬레이브 노드(130)들의 태스크 트랙커(131)에 맵 태스크와 리듀스 태스크로 할당하고 잡(job)을 관리하는 역할을 한다.
이상과 같은 마스터 노드(120)는 도 2에 도시된 바와 같이, 상기 잡 클라이언트(111)가 요청한 잡(job)을 상기 슬레이브 노드(130)와 상기 가상 머신 노드의 태스크 트랙커에 맵 태스크와 리듀스 태스크로 각각 할당하는 잡 트랙커(121)와, 상기 슬레이브 노드(130)의 HDFS(133)(후술됨)의 디렉터리 구조를 관리하는 마스터 노드 관리부(122), 및 상기 슬레이브 노드(130)와 네트워크 통신망(160)을 통해 데이터 통신을 수행하는 통신 인터페이스(123)를 포함하여 구성될 수 있다.
여기서, 상기 잡 트랙커(121)는 잡 클라이언트(111)가 요청한 잡을 슬레이브 노드(130)의 리소스와 클라우드 관리 서버(140)의 리소스풀 관리부(143)(도 5 참조)가 관리하는 VM 리소스 풀(102)의 정보를 분석하여 맵 태스크(Map Task)와 리듀스 태스크(Reduce Task)를 슬레이브 노드(130)와 VM 노드(130e∼130g)(도 6 참조)의 태스크 트랙커(131)에 할당시키는 것으로서, 도 3에 도시된 바와 같이, 요청된 잡(job)을 큐(queue)로 관리하여 슬레이브 노드(130) 또는 VM 노드(130e∼130g)의 태스크 트랙커(131)에 잡(job)을 할당하는 잡(job) 관리부(121a)와, 슬레이브 노드(130)의 리소스와 클라우드 관리 서버(140)가 관리하는 VM 리소스 풀(102)을 분석하는 리소스 분석부(121b), 및 태스크 트랙커(131)에 할당된 잡(job)을 처리하기 위한 시간을 분석하는 잡(job) 분석부(121c)를 포함하여 구성될 수 있다.
상기 잡(job) 관리부(121a)는 잡 클라이언트(111)의 요청이 있으면 잡(job) ID를 할당하고, 잡 큐(job queue)를 관리한다. 또한, 잡(job) 관리부(121a)는 주기적으로 슬레이브 노드(130)의 서버 가용 리소스 정보와 클라우드 관리 서버(140)가 제공하는 VM 리소스 풀(102)의 정보를 리소스 분석부(121b)로부터 전달받고, 잡(job) 분석부(121c)에서 분석한 잡(job) 실행 완료 시간을 사용하여 아직 할당되지 않은 잡(job)을 잡 큐(job queue)에 재구성하여 기존에 실행중인 슬레이브 노드(130)와 신규로 생성된 VM 노드(130e∼130g)의 태스크 트랙커(131)에 재구성된 잡(job)을 컴파일 타임에 정적으로 또는 런 타임에 동적으로 할당하며, 이에 따라 맵 리듀스 연산 성능을 향상시키게 된다.
리소스 분석부(121b)는 슬레이브 노드(130)의 리소스 모니터부(132)(도 2 참조)로부터 주기적으로 CPU, 메모리, 디스크 사용량, 현재 실행 중인 태스크 개수, 실행 가능한 최대 태스크 개수, 신규 태스크 실행 가능 여부와 같은 태스크 트랙커(131)의 실행 정보를 하트 비트(heart beat)로 받아 슬레이브 노드(130)의 서버 가용 리소스 정보를 분석하고, 클라우드 관리 서버(140)의 리소스 풀 관리부(143)(도 5 참조)로부터 가용 VM 리소스 풀(102)의 정보를 받아 분석하는 역할을 한다.
잡(job) 분석부(121c)는 잡(job)을 처리하기 위한 입력 스플릿(602a∼602d) (도 6 참조)에 대한 맵 태스크 처리 시간, 리듀스 태스크 처리 시간, 잡(job) 실행 완료 시간을 분석하여, 잡(job) 관리부(121a)가 슬레이브 노드(130) 또는 VM 노드(130e∼130g)의 태스크 트랙커(131)에 맵 태스크와 리듀스 태스크를 할당할 수 있는 정보를 제공하는 역할을 한다. 이때, 잡(job) 분석부(121c)가 분석하는 잡(job) 실행 완료 시간은 입력파일(601)의 입력 포맷과 입력 스플릿의 크기, 맵 리듀스 연산의 종류에 따라 계산법을 분리하여 데이터 혹은 프로세싱 관점에서 잡(job)의 크기를 평가하여 잡(job) 관리부(121a)가 잡(job)을 큐(queue)에 재구성할 때 사용된다.
여기서, 입력 스플릿(602a∼602d)은 잡(job)을 수행하기 위한 입력파일(601)을 슬레이브 노드(130)가 처리할 수 있는 입력 데이터로 사용하기 위해 키(key)와 값(value) 형태로 작게 나눈 데이터이다.
상기 슬레이브 노드(130)는 마스터 노드(120)와 마찬가지로 클라우드 시스템의 VM 리소스 풀(102) 상에서 동작하며, 마스터 노드(120)의 잡 트랙커(121)의 요청에 따라 입력 스플릿(602a∼602d)을 입력 데이터로 맵 태스크를 실행한 후 그 결과 중간 산출물을 입력 데이터로 리듀스 태스크를 실행하여 맵 리듀스의 결과를 얻어내는 역할을 한다.
이상과 같은 슬레이브 노드(130)는 도 2에 도시된 바와 같이, 상기 마스터 노드(120)의 잡 트랙커(121)의 잡 관리부(121a)가 우선 순위에 따라 할당해 준 맵 태스크들과 리듀스 태스크들을 관리하여 실행하는 태스크 트랙커(task tracker)(131)와, 슬레이브 노드의 가용 리소스 정보를 상기 마스터 노드(120)의 잡 트랙커(121)의 리소스 분석부(121b)에 하트 비트(heart beat)로 전달하는 리소스 모니터부(132)와, 맵 리듀스를 실행하기 위한 실제 데이터가 저장되어 있는 HDFS(133)와, 그 HDFS(133)에 저장된 데이터를 관리하는 슬레이브 노드 관리부(134), 및 상기 마스터 노드(120)와 네트워크 통신망 (160)을 통해 데이터 통신을 수행하는 통신 인터페이스(135)를 포함하여 구성될 수 있다. 그리고, 이와 같은 슬레이브 노드(130)는 다수의 슬레이브 노드들(130a∼130c)로 구성될 수 있다.
여기서, 상기 태스크 트랙커(131)는 도 4에 도시된 바와 같이, 마스터 노드 (120)의 잡 트랙커(121)의 잡 관리부(121a)가 할당해 준 맵 태스크와 리듀스 태스크를 관리하는 태스크 관리부(131a)와, 맵 태스크의 실행으로 나온 중간 산출물을 리듀스 태스크가 진행할 수 있는 입력 데이터로 변환해 주는 분할 관리부(131b)를 포함하여 구성될 수 있다.
태스크 관리부(131a)는 잡 트랙커(121)의 잡 관리부(121a)가 할당해 준 입력 스플릿(602a∼602d)을 입력 데이터로 맵 태스크를 실행하여 출력 데이터를 메모리 버퍼에 저장하고, 맵 태스크가 완료되면 잡 트랙커(121)에 해당 맵 태스크의 상태와 맵 태스크의 출력 데이터 경로를 알려준다. 또한, 태스크 관리부(131a)는 잡 트랙커 (121)의 잡 관리부(121a)의 요청으로 리듀스 태스크를 실행하고, 리듀스 태스크는 주기적으로 잡 관리부(121a)에 맵 태스크의 출력 데이터 경로를 물어보며 출력 데이터를 로컬의 슬레이브 노드(130)로 복사한다.
분할 관리부(131b)는 다수의 슬레이브 노드들(130a∼130c)에서 무질서하게 존재하는 맵 태스크의 실행으로 나온 중간 산출물을 키(key) 값에 따라 교환, 정렬한 후 리듀스 태스크에 전달하고, 각각의 중간 산출물이 처리될 리듀스 태스크는 슬레이브 노드(130)의 HDFS(133)에 하나의 출력 파일(603a,603b)(도 6 참조)로 병합하여 저장해 준다.
태스크 관리부(131a)는 잡 트랙커(121)의 잡 관리부(121a)의 요청으로 분할 관리부(131b)가 처리한 데이터를 입력 데이터로 리듀스 태스크를 실행하여 최종 결과 데이터를 얻어낸다.
상기 리소스 모니터부(132)는 마스터 노드(120)의 잡 트랙커(121)의 리소스 분석부(121b)에 주기적으로 슬레이브 노드(130)의 상태 정보인 CPU, 메모리, 디스크와 같은 슬레이브 노드(130)의 서버 가용 리소스 정보와 현재 실행 중인 태스크 개수, 실행 가능한 최대 태스크 개수, 신규 태스크 실행 가능 여부와 같은 태스크 트랙커(131)의 실행 정보를 전달한다.
한편, 클라우드 관리 서버(140)는 마스터 노드(120)의 잡 트랙커(121)의 잡 관리부(121a)의 요청에 따라 VM 노드(130e∼130g)(도 6 참조)를 슬레이브 노드(130)로 할당하여 VM 노드(130e∼130g)의 태스크 트랙커(131)를 통해 맵 태스크 또는 리듀스 태스크를 실행시킨다.
이상과 같은 클라우드 관리 서버(140)는 도 5에 도시된 바와 같이, 상기 클라우드 호스트 서버(150)에서 동작하는 상기 가상 머신(VM) 노드와 연결하여 제어하는 VM 노드 연결부(141)와, 상기 클라우드 호스트 서버(150)에서 동작하는 상기 VM 노드의 생성, 실행, 삭제를 관리하는 클러스터 관리부(142)와, 상기 VM 노드가 사용하는 리소스 풀을 관리하는 리소스 풀 관리부(143), 및 상기 마스터 노드(120)와 네트워크 통신망(160)을 통해 데이터 통신을 수행하는 통신 인터페이스(144)를 포함하여 구성될 수 있다.
여기서, 상기 VM 노드 연결부(141)는 현재 클라우드 호스트 서버(150)의 자원이 할당되어 클라우드 호스트 서버(150)의 VM 노드 관리부(151)(후술됨)에서 관리되고 있는 VM 노드(130e∼130g)에 접속할 수 있는 프로토콜을 제공한다.
상기 클러스터 관리부(142)는 클라우드 호스트 서버(150)에서 제공하는 VM 노드들(130e∼130g)을 하나의 VM 클러스터로 인식하여, 마스터 노드(120)의 잡 트랙커(121)의 잡 관리부(121a)의 요청에 따라 클라우드 호스트 서버(150)의 클러스터 에이전트부(153)에 명령을 보내 VM 노드(130e∼130g)를 할당하거나 수거한다.
상기 리소스 풀 관리부(143)는 클라우드 관리 서버(140)가 VM 노드(130e∼130g)를 제공할 때 사용할 수 있는 VM 리소스 풀(102)(도 1 참조)을 관리하고, 각각의 클라우드 호스트 서버(150)의 증감에 따른 상태 변화에 따라 리소스의 용량을 계산하고, 마스터 노드(120)의 잡 트랙커(121)의 리소스 분석부(121b)에 주기적으로 VM 리소스 풀(102)의 정보를 전달한다. 여기서, VM 리소스 풀(102)은 전술한 바와 같이, VM 노드(130e∼130g)에 CPU, 메모리, HDD, 네트워크 자원을 할당하여 가상 머신으로 동작하도록 자원을 제공하는 가상화 리소스들의 풀(pool)이다.
클라우드 호스트 서버(150)는 클라우드 관리 서버(140)의 클러스터 관리부 (142)의 요청에 따라 VM 노드(130e∼130g)를 슬레이브 노드(130)로 할당하여 가상 머신(virtual machine) 자원을 제공하는 역할을 하는 것으로서, 도 5에 도시된 바와 같이, 상기 클라우드 관리 서버(140)의 VM 노드 연결부(141)의 요청에 따라 활성화된 상기 VM 노드(130e∼130g)를 관리하는 VM 노드 관리부(151)와, 하이퍼바이저 (Hypervisor) 엔진을 통해 가상화에 필요한 모든 기능을 제공하는 가상화 관리부 (152)와, 상기 클라우드 관리 서버(140)의 클러스터 관리부(142)의 요청에 따라 필요한 VM 노드의 생성, 실행, 삭제 요청을 실행하는 클러스터 에이전트부(153)와, 클라우드 호스트 서버의 CPU, 메모리, 디스크 사용량, VM 노드의 사용량을 상기 클라우드 관리 서버(140)의 리소스 풀 관리부(143)로 전달하는 리소스 모니터부(154), 및 상기 클라우드 관리 서버(140)와 네트워크 통신망(160)을 통해 데이터 통신을 수행하는 통신 인터페이스(155)를 포함하여 구성될 수 있다. 그리고, 이와 같은 클라우드 호스트 서버(150)는 다수의 클라우드 호스트 서버들(150a∼150c)로 구성될 수 있다.
여기서, 상기 VM 노드(130e∼130g)는 CPU, 메모리, HDD, 네트워크 자원을 클라우드 호스트 서버(150)로부터 제공받아 가상 머신(virtual machine)의 역할을 하는 것으로서, 로컬의 물리적인 슬레이브 노드(130)와 동일한 동작을 수행한다.
이상과 같은 구성을 갖는 본 발명에 따른 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템의 동작에 대해 도 1 내지 도 6을 참조하여 간략히 설명한다.
도 6은 본 발명에 따른 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템에 있어서, 맵 리듀스의 실행에 따른 데이터의 흐름을 나타낸 도면이다.
도 1 내지 도 6을 참조하면, 클라이언트(110)의 잡 클라이언트(111)는 맵 리듀스 연산 처리하기 위해 입력파일(601)을 로딩하여 입력 스플릿(602a∼602d)을 생성한다. 그러면, 마스터 노드(120)의 잡 트랙커(121)는 슬레이브 노드(130)의 리소스 모니터부(132)를 통해 슬레이브 노드(130)의 가용 리소스를 분석하고, 클라우드 관리 서버(140)의 리소스 풀 관리부(143)로부터 VM 노드(130e∼130g)를 할당할 수 있는 VM 리소스 풀(102)의 정보를 전달받아 슬레이브 노드(130)와 VM 노드(130e∼130g)에 잡(job)을 할당한다.
슬레이브 노드(130)의 태스크 트랙커(131)는 입력 스플릿(602a∼602d)을 입력으로 슬레이브 노드(130)와 VM 노드(130e∼130g)의 태스크 트랙커(131)에 맵 태스크를 할당하여 생성된 중간 산출물을 리듀스 태스크에 전달하고, VM 노드(130e∼130g)의 태스크 트랙커(131)는 할당된 맵 태스크가 종료되면 해당 VM 노드(130e∼130g)의 자원을 클라우드 관리 서버(140)의 리소스 풀 관리부(143)를 통해 VM 리소스 풀(102)로 환원한다.
또한, 맵 태스크가 생성한 중간 산출물을 입력으로 슬레이브 노드(130)와 VM 노드(130e∼130g)의 태스크 트랙커(131)는 리듀스 태스크를 실행하여 결과 데이터를 슬레이브 노드(130)의 HDFS(133)에 저장하고, VM 노드(130e∼130g)의 태스크 트랙커(131)는 할당된 리듀스 태스크가 종료되면 해당 VM 노드(130e∼130g)의 자원을 클라우드 관리 서버(140)의 리소스 풀 관리부(143)를 통해 VM 리소스 풀(102)로 환원한다.
이상의 설명에서와 같이, 본 발명에 따른 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템은 실시간으로 처리해야 할 데이터의 컴퓨팅 자원을 분석하여 실시간으로 컴퓨팅 자원을 증감시켜 주며, 이에 따라 컴퓨팅 자원을 효율적으로 사용할 수 있는 장점이 있다.
또한, 본 발명에 따른 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템은 클라우드 시스템을 통해 맵 리듀스 작업에 따라 별도의 잡 클러스터(job cluster)를 구성하여 효과적인 다중-작업 스케줄링을 제공함으로써 맵 리듀스 성능을 향상시킬 수 있는 장점이 있다.
이상, 바람직한 실시 예를 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양하게 변경, 응용될 수 있음은 당해 기술분야의 통상의 기술자에게 자명하다. 따라서, 본 발명의 진정한 보호 범위는 다음의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
102: VM 리소스 풀 104: 물리 서버 팜
110: 클라이언트 111: 잡 클라이언트
112: 통신 인터페이스 120: 마스터 노드
121: 잡(job) 트랙커 121a: 잡(job) 관리부
121b: 리소스 분석부 121c: 잡(job) 분석부
122: 마스터 노드 관리부 123: 통신 인터페이스
130,130a∼130c: 슬레이브 노드 130e∼130g: VM 노드
131: 태스크 트랙커 131a: 태스크 관리부
131b: 분할 관리부 132: 리소스 모니터부
133: HDFS 134: 슬레이브 노드 관리부
135: 통신 인터페이스 140: 클라우드 관리 서버
141: VM 노드 연결부 142: 클러스터 관리부
143: 리소스 풀 관리부 144: 통신 인터페이스
150,150a∼150c: 클라우드 호스트 서버 151: VM 노드 관리부
152: 가상화 관리부 153: 클러스터 에이전트부
154: 리소스 모니터부 155: 통신 인터페이스
160: 네트워크 통신망 601: 입력 파일
602a∼602d: 입력 스플릿 603a,603b: 출력 파일

Claims (16)

  1. 빅 데이터 처리를 위한 하둡 시스템을 지원하기 위한 것으로, 클라이언트가 요청한 잡(job)의 업무량을 컴파일 타임 혹은 런 타임에 실시간으로 분석하여 이에 필요한 클라우드 시스템의 가상 머신(virtual machine;VM) 리소스 풀(resource pool)로부터 여유 가상 머신을 계산한 후 자동으로 가상 머신 노드를 증감하여 잡(job)을 재할당하여 구동시키는 클라우드 시스템으로서,
    상기 잡(job)을 수행하는 잡 클라이언트(job client)를 실행하는 클라이언트와,
    상기 잡 클라이언트로부터 요청된 잡에 ID를 할당하고 잡을 관리하는 잡 트랙커(job tracker)를 실행하는 마스터 노드(master node)와,
    상기 잡 트랙커의 요청에 의해 할당된 잡을 맵 태스크(map task)와 리듀스 태스크(reduce task)로 태스크 트랙커(task tracker)에 할당하여 실행하는 슬레이브 노드(slave node)와,
    상기 잡 트랙커의 요청에 의해 가상 머신 노드를 상기 슬레이브 노드로 할당하여 가상 머신(VM) 노드의 태스크 트랙커를 통해 맵 태스크와 리듀스 태스크를 실행시키는 클라우드 관리 서버, 및
    상기 클라우드 관리 서버의 클러스터 관리부의 요청에 따라 상기 가상 머신 노드를 슬레이브 노드로 할당하는 가상 머신 자원을 제공하는 클라우드 호스트 서버를 포함하고,
    상기 클라이언트가 요청한 잡의 업무량을 분석하여 재할당할 때, 상기 잡 트랙커는 주기적으로 슬레이브 노드의 가용리소스 정보와 VM 리소스 풀의 정보를 전달받고, 상기 정보를 기초로, 기존에 실행중인 슬레이브 노드 또는 신규로 생성된 VM 노드의 태스크 트랙커에 컴파일 타임에 정적으로 또는 런 타임에 동적으로 상기 잡을 할당하고,
    상기 클라이언트는,
    상기 슬레이브 노드의 하둡 분산 파일 시스템(HDFS)에 저장되어 있는 입력 파일을 분석하여 입력 스플릿(split), 설정 파일, 특정 파일을 상기 슬레이브 노드의 HDFS에 저장하고, 상기 잡 트랙커에 맵 리듀스를 시작할 준비가 되었음을 알려주는 잡 클라이언트(job client), 및
    상기 마스터 노드 및 슬레이브 노드와 네트워크 통신망을 통해 데이터 통신을 수행하는 통신 인터페이스를 포함하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 마스터 노드는,
    상기 잡 클라이언트가 요청한 잡(job)을 상기 슬레이브 노드와 상기 가상 머신(VM) 노드의 태스크 트랙커에 맵 태스크와 리듀스 태스크로 각각 할당하는 잡 트랙커와,
    상기 HDFS의 디렉터리 구조를 관리하는 마스터 노드 관리부, 및
    상기 슬레이브 노드와 네트워크 통신망을 통해 데이터 통신을 수행하는 통신 인터페이스를 포함하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  4. 제3항에 있어서,
    상기 잡 트랙커는,
    요청된 잡(job)을 큐(queue)로 관리하여 상기 슬레이브 노드 또는 VM 노드의 태스크 트랙커에 잡(job)을 할당하는 잡(job) 관리부와,
    상기 슬레이브 노드의 리소스와 상기 클라우드 관리 서버가 관리하는 VM 리소스 풀을 분석하는 리소스 분석부, 및
    상기 태스크 트랙커에 할당된 잡(job)을 처리하기 위한 시간을 분석하는 잡(job) 분석부를 포함하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  5. 제4항에 있어서,
    상기 잡(job) 관리부는 상기 잡 클라이언트의 요청이 있으면 잡(job) ID를 할당하고, 잡 큐(job queue)를 관리하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  6. 제4항에 있어서,
    상기 잡(job) 관리부는 주기적으로 상기 슬레이브 노드의 서버 가용 리소스 정보와 상기 클라우드 관리 서버가 제공하는 VM 리소스 풀의 정보를 상기 리소스 분석부로부터 전달받고, 상기 잡(job) 분석부에서 분석한 잡(job) 실행 완료 시간을 사용하여 아직 할당되지 않은 잡(job)을 잡 큐(job queue)에 재구성하여 기존에 실행중인 슬레이브 노드와 신규로 생성된 VM 노드의 태스크 트랙커에 재구성된 잡(job)을 컴파일 타임에 정적으로 또는 런 타임에 동적으로 할당하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  7. 제4항에 있어서,
    상기 리소스 분석부는 상기 슬레이브 노드의 리소스 모니터부로부터 주기적으로 CPU, 메모리, 디스크 사용량, 현재 실행 중인 태스크 개수, 실행 가능한 최대 태스크 개수, 신규 태스크 실행 가능 여부 중 적어도 하나를 포함하는 태스크 트랙커의 실행 정보를 하트 비트(heart beat)로 받아 슬레이브 노드의 서버 가용 리소스 정보를 분석하고, 상기 클라우드 관리 서버의 리소스 풀 관리부로부터 가용 VM 리소스 풀의 정보를 받아 분석하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  8. 제4항에 있어서,
    상기 잡(job) 분석부는 잡(job)을 처리하기 위한 입력 스플릿에 대한 맵 태스크 처리 시간, 리듀스 태스크 처리 시간, 잡(job) 실행 완료 시간을 분석하여, 상기 잡(job) 관리부가 슬레이브 노드 또는 VM 노드의 태스크 트랙커에 맵 태스크와 리듀스 태스크를 할당할 수 있는 정보를 제공하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  9. 제1항에 있어서,
    상기 슬레이브 노드는,
    상기 마스터 노드의 잡 트랙커의 잡 관리부가 우선 순위에 따라 할당해 준 맵 태스크들과 리듀스 태스크들을 관리하여 실행하는 태스크 트랙커와,
    상기 슬레이브 노드의 가용 리소스 정보를 상기 마스터 노드의 잡 트랙커의 리소스 분석부에 하트 비트(heart beat)로 전달하는 리소스 모니터부와,
    맵 리듀스를 실행하기 위한 실제 데이터가 저장되어 있는 HDFS와,
    상기 HDFS에 저장된 데이터를 관리하는 슬레이브 노드 관리부, 및
    상기 마스터 노드와 네트워크 통신망을 통해 데이터 통신을 수행하는 통신 인터페이스를 포함하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  10. 제9항에 있어서,
    상기 태스크 트랙커는,
    상기 마스터 노드의 잡 트랙커의 잡 관리부가 할당해 준 맵 태스크와 리듀스 태스크를 관리하는 태스크 관리부, 및
    맵 태스크의 실행으로 나온 중간 산출물을 리듀스 태스크가 진행할 수 있는 입력 데이터로 변환해 주는 분할 관리부를 포함하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  11. 제10항에 있어서,
    상기 태스크 관리부는 상기 잡 트랙커의 잡 관리부가 할당해 준 입력 스플릿을 입력 데이터로 맵 태스크를 실행하여 출력 데이터를 메모리 버퍼에 저장하고, 맵 태스크가 완료되면 상기 잡 트랙커에 해당 맵 태스크의 상태와 맵 태스크의 출력 데이터 경로를 알려주며, 상기 잡 트랙커의 잡 관리부의 요청으로 리듀스 태스크를 실행하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  12. 제10항에 있어서,
    상기 분할 관리부는 다수의 슬레이브 노드들에서 무질서하게 존재하는 맵 태스크의 실행으로 나온 중간 산출물을 키(key) 값에 따라 교환, 정렬한 후 리듀스 태스크에 전달하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  13. 제12항에 있어서,
    상기 태스크 관리부는 상기 잡 트랙커의 잡 관리부의 요청으로 상기 분할 관리부가 처리한 데이터를 입력 데이터로 리듀스 태스크를 실행하여 최종 결과 데이터를 얻는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  14. 제9항에 있어서,
    상기 리소스 모니터부는 상기 마스터 노드의 잡 트랙커의 리소스 분석부에 주기적으로 슬레이브 노드의 상태 정보인 CPU, 메모리, 디스크 중 적어도 하나를 포함하는 슬레이브 노드의 서버 가용 리소스 정보와 현재 실행 중인 태스크 개수, 실행 가능한 최대 태스크 개수, 신규 태스크 실행 가능 여부 중 적어도 하나를 포함하는 태스크 트랙커의 실행 정보를 전달하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  15. 제1항에 있어서,
    상기 클라우드 관리 서버는,
    상기 클라우드 호스트 서버에서 동작하는 상기 가상 머신(VM) 노드와 연결하여 제어하는 VM 노드 연결부와,
    상기 클라우드 호스트 서버에서 동작하는 상기 VM 노드의 생성, 실행, 삭제를 관리하는 클러스터 관리부와,
    상기 VM 노드가 사용하는 리소스 풀을 관리하는 리소스 풀 관리부, 및
    상기 마스터 노드와 네트워크 통신망을 통해 데이터 통신을 수행하는 통신 인터페이스를 포함하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
  16. 제15항에 있어서,
    상기 클라우드 호스트 서버는,
    상기 VM 노드 연결부의 요청에 따라 활성화된 상기 VM 노드를 관리하는 VM 노드 관리부와,
    하이퍼바이저(Hypervisor) 엔진을 통해 가상화에 필요한 모든 기능을 제공하는 가상화 관리부와,
    상기 클러스터 관리부의 요청에 따라 필요한 VM 노드의 생성, 실행, 삭제 요청을 실행하는 클러스터 에이전트부와,
    클라우드 호스트 서버의 CPU, 메모리, 디스크 사용량, VM 노드의 사용량을 상기 리소스 풀 관리부에 전달하는 리소스 모니터부, 및
    상기 클라우드 관리 서버와 네트워크 통신망을 통해 데이터 통신을 수행하는 통신 인터페이스를 포함하는 것을 특징으로 하는 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템.
KR1020150021460A 2015-02-12 2015-02-12 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템 KR101656360B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150021460A KR101656360B1 (ko) 2015-02-12 2015-02-12 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150021460A KR101656360B1 (ko) 2015-02-12 2015-02-12 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템

Publications (2)

Publication Number Publication Date
KR20160099762A KR20160099762A (ko) 2016-08-23
KR101656360B1 true KR101656360B1 (ko) 2016-09-22

Family

ID=56875203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150021460A KR101656360B1 (ko) 2015-02-12 2015-02-12 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템

Country Status (1)

Country Link
KR (1) KR101656360B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102073029B1 (ko) * 2018-07-31 2020-02-05 동국대학교 산학협력단 태스크 할당 장치 및 방법, 태스크 재할당 요청 장치 및 방법
US10581704B2 (en) 2017-01-23 2020-03-03 Electronics And Telecommunications Research Institute Cloud system for supporting big data process and operation method thereof

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102128389B1 (ko) * 2016-07-05 2020-07-09 주식회사 케이티 클라우드 기반의 데이터 처리 장치, 방법 및 클라우드 기반의 데이터 처리 서비스를 제공받는 사용자 단말
KR102088993B1 (ko) * 2017-01-06 2020-03-13 한국과학기술원 모바일 클라우드 컴퓨팅 환경에서 모바일 맵리듀스 처리 기능이 탑재된 단말
KR101973537B1 (ko) * 2017-12-20 2019-04-29 한국항공대학교산학협력단 하둡 분산 파일 시스템에서의 하트비트 교환 주기 관리 장치 및 방법
KR102002246B1 (ko) * 2018-02-28 2019-10-01 연세대학교 산학협력단 빅데이터 처리를 위한 자원 분배 방법 및 장치
KR102619707B1 (ko) 2021-02-16 2023-12-28 재단법인대구경북과학기술원 바이오 데이터를 분산 병렬 처리하는 방법 및 시스템
KR102492170B1 (ko) * 2022-04-13 2023-01-26 주식회사 위고페어 위조상품 분석의 분산처리 시스템 및 방법
CN117519953B (zh) * 2024-01-08 2024-04-05 北京大学 一种面向服务器无感知计算的分离式内存管理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101245994B1 (ko) * 2012-08-31 2013-03-20 케이씨씨시큐리티주식회사 대용량 데이터의 분산 병렬 처리 시스템 및 방법
US8819335B1 (en) 2013-08-30 2014-08-26 NXGN Data, Inc. System and method for executing map-reduce tasks in a storage device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101158864B1 (ko) 2010-10-22 2012-06-25 동국대학교 경주캠퍼스 산학협력단 맵리듀스 기반의 대용량 데이터 분산 계산 방법 및 그 시스템
KR101432751B1 (ko) 2012-12-18 2014-08-22 서강대학교산학협력단 가상화 환경 내 하둡 맵리듀스의 부하 분산 방법 및 시스템
KR101435789B1 (ko) * 2013-01-29 2014-08-29 (주)소만사 Dlp 시스템의 빅데이터 처리 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101245994B1 (ko) * 2012-08-31 2013-03-20 케이씨씨시큐리티주식회사 대용량 데이터의 분산 병렬 처리 시스템 및 방법
US8819335B1 (en) 2013-08-30 2014-08-26 NXGN Data, Inc. System and method for executing map-reduce tasks in a storage device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
최성진 외 3명. '하둡 분산 파일 시스템을 위한 효율적인 데이터 분산 저장 기법'. 한국정보과학회 학술발표논문집 38(1D), 2011.06, pp.163-166.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10581704B2 (en) 2017-01-23 2020-03-03 Electronics And Telecommunications Research Institute Cloud system for supporting big data process and operation method thereof
KR102073029B1 (ko) * 2018-07-31 2020-02-05 동국대학교 산학협력단 태스크 할당 장치 및 방법, 태스크 재할당 요청 장치 및 방법

Also Published As

Publication number Publication date
KR20160099762A (ko) 2016-08-23

Similar Documents

Publication Publication Date Title
KR101656360B1 (ko) 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템
US9495197B2 (en) Reliable and scalable image transfer for data centers with low connectivity using redundancy detection
US9977689B2 (en) Dynamic scaling of management infrastructure in virtual environments
CN113243005A (zh) 按需网络代码执行系统中的基于性能的硬件仿真
US10990288B2 (en) Systems and/or methods for leveraging in-memory storage in connection with the shuffle phase of MapReduce
US9367359B2 (en) Optimized resource management for map/reduce computing
US9244737B2 (en) Data transfer control method of parallel distributed processing system, parallel distributed processing system, and recording medium
CN109614227B (zh) 任务资源调配方法、装置、电子设备及计算机可读介质
US10936356B2 (en) Virtual machine management
US10970805B2 (en) Graphics processing unit operation
KR101765725B1 (ko) 대용량 방송용 빅데이터 분산 병렬처리를 위한 동적 디바이스 연결 시스템 및 방법
CN111176818B (zh) 分布式预测的方法、装置、系统、电子设备及存储介质
US9800484B2 (en) Optimizing resource utilization in a networked computing environment
KR101640231B1 (ko) 자동 분산병렬 처리 하둡 시스템의 지원을 위한 클라우드 구동 방법
US10579419B2 (en) Data analysis in storage system
Salehian et al. Comparison of spark resource managers and distributed file systems
US20150373071A1 (en) On-demand helper operator for a streaming application
JP2014153935A (ja) 並列分散処理制御装置、並列分散処理制御システム、並列分散処理制御方法および並列分散処理制御プログラム
Ari et al. Hybrid job scheduling for improved cluster utilization
KR101841847B1 (ko) 가상 디스크 프로비저닝 관리 방법 및 장치
KR101695238B1 (ko) 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법
KR101542605B1 (ko) 온톨로지 매칭의 시멘틱 이질성 병렬 처리 장치 및 처리 방법
Kumar et al. Efficient Processing and recouping of data using combiners in Map Reduce framework
Liu Multisite Management of Data-intensive Scientific Workflows in the Cloud
Das et al. NoSQL and Cloud Paradigm: Characteristics and Classification, Data Storage Technology, and Algorithms

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191007

Year of fee payment: 4