KR20200094838A - 빅데이터 처리 장치 및 방법 - Google Patents

빅데이터 처리 장치 및 방법 Download PDF

Info

Publication number
KR20200094838A
KR20200094838A KR1020190008484A KR20190008484A KR20200094838A KR 20200094838 A KR20200094838 A KR 20200094838A KR 1020190008484 A KR1020190008484 A KR 1020190008484A KR 20190008484 A KR20190008484 A KR 20190008484A KR 20200094838 A KR20200094838 A KR 20200094838A
Authority
KR
South Korea
Prior art keywords
time
big data
data processing
failure
resources
Prior art date
Application number
KR1020190008484A
Other languages
English (en)
Other versions
KR102177440B1 (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 KR1020190008484A priority Critical patent/KR102177440B1/ko
Publication of KR20200094838A publication Critical patent/KR20200094838A/ko
Application granted granted Critical
Publication of KR102177440B1 publication Critical patent/KR102177440B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Debugging And Monitoring (AREA)

Abstract

빅데이터 처리 장치 및 방법이 개시된다. 개시된 장치는, 빅데이터 처리에 필요한 데이터를 저장하는 저장부; 빅데이터 처리 요청에 응답하여 상기 저장부로부터 요청된 처리에 필요한 데이터를 상기 저장부로부터 로드하는 드라이버; 다수의 가상 머신을 포함하며 상기 다수의 가상 머신을 이용하여 처리 작업을 실행하는 실행부; 및 상기 실행부에서 처리 작업에 소요되는 자원을 할당하는 스케줄러를 포함하되, 상기 스케줄러는 작업의 실패 확률을 획득하고 획득된 실패 확률을 반영하여 자원-작업시간 관계 정보를 생성하며 상기 자원-작업시간 관계 정보에 기초하여 목적 작업시간을 만족시키기 위한 자원을 할당한다. 개시된 장치 및 방법에 의하면, 작업 실패를 적절히 고려하여 자원의 낭비 및 작업 지연을 발생할 수 있어서 빅데이터 처리 시스템에서의 최적화된 자원 할당이 가능한 장점이 있다.

Description

빅데이터 처리 장치 및 방법{Method and Device for Processing Big Data}
본 발명은 빅데이터 분석 및 처리 시스템에 관한 것으로서, 더욱 상세하게는 빅데이터 처리 최적화를 위한 실행시간 예측 및 자원 할당 방법에 관한 것이다.
빅데이터가 다양한 분야에 활용되면서 빅데이터 처리의 효율성의 연구 또한 활발해지고 있다. Apache Hadoop과 Apache Spark는 BIM, AWS, Facebook, Twitter 등 전세계적으로 널리 쓰이고 있는 빅데이터 처리를 위한 오픈 분산 처리 플랫폼이다.
빅데이터의 크기가 커질수록 서버의 규모는 커지고 있고 그에 대한 처리 비용 부담도 커지고 있다. 그에 따라 데이터 처리의 최적화 연구가 필요하게 되었고 그에 관련하여 Job 스케쥴링의 방식으로 작업 시간을 낮추는 연구가 진행 되었다. 또한 처리 대상 시간을 만족시킬 수 있는 빅데이터 시스템을 구현하려면 정확한 자원 할당이 필요하고 이를 위해서는 요구된 작업에 대한 정확한 작업 실행 시간 추정이 필요하다
스파크 기반 빅데이터 처리 시스템은 작업 요청이 들어오면 그에 필요한 데이터를 기존에 구축되어 있는 Hadoop Distribute File System에서 RDD(Resilient Distributed Dataset)라는 파일 타입으로 로드한다. 그리고 그 RDD를 변형하면서 작업을 수행하고, 그 변화 과정을 lineage라는 파일 내에 저장한다.
스파크 기반 빅데이터 처리 시스템에서의 처리 작업은 HDFS에서 HadoopRDD로 복사해 온 RDD를 Map Transformation 을 수행하여 MapRDD로 바꾸고 그 MapRDD에 Shuffle Transformation을 수행하여 ShuffleRDD로 바꾸고, 그 ShuffleRDD에 ReduceByKey Transformation 을 수행하여 ReduceRDD로 바꿔 작업을 완료한다.
이런 과정은 DAG로 구현되어 그 작업 과정을 쉽게 확인 가능하고, lineage에 저장되어 있는 변환 (Transformation) 과정을 통해서 도중 오류가 발생했을 시 RDD를 다시 복구 할 수 있다.
기존의 스파크 기반 빅데이터 처리 장치는 작업 수행 전에 작업 시간을 예측하고 이에 기초하여 최소의 자원이 할당되도록 자원 할당을 수행하며, 자원 할당을 통해 빅데이터 처리에 사용할 가상 머신의 수를 결정한다.
그러나, 기존의 스파크 기반 빅데이터 처리 장치는 작업 실패로 인한 지연을 고려하지 않았으며 이는 부적절한 자원 할당이 이루어지는 주요한 요인으로 작용하였다. 부적절한 자원 할당은 자원의 낭비 또는 처리 작업의 지연으로 이어지기 때문에 보다 적절한 자원 할당이 요구되는 실정이다.
본 발명의 목적은 작업 실패를 적절히 고려하여 자원의 낭비 및 작업 지연을 발생할 수 있는 빅데이터 처리 시스템에서의 최적화된 자원 할당 방법을 제안하는 것이다.
상기 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 빅데이터 처리에 필요한 데이터를 저장하는 저장부; 빅데이터 처리 요청에 응답하여 상기 저장부로부터 요청된 처리에 필요한 데이터를 상기 저장부로부터 로드하는 드라이버; 다수의 가상 머신을 포함하며 상기 다수의 가상 머신을 이용하여 처리 작업을 실행하는 실행부; 및 상기 실행부에서 처리 작업에 소요되는 자원을 할당하는 스케줄러를 포함하되, 상기 스케줄러는 작업의 실패 확률을 획득하고 획득된 실패 확률을 반영하여 자원-작업시간 관계 정보를 생성하며 상기 자원-작업시간 관계 정보에 기초하여 목적 작업시간을 만족시키기 위한 자원을 할당하는 빅데이터 처리 장치가 제공된다.
상기 스케줄러는 상기 다수의 가상 머신 각각이 전송하는 보고 메시지를 이용하여 상기 실패 확률을 획득한다.
상기 보고 메시지는 작업의 실패 여부를 나타내는 실패 필드, 메시지를 송신하는 가상 머신의 번호를 나타내는 가상 머신 번호 필드 및 작업의 목적 시간 정보인 목적 시간 필드를 포함한다.
상기 드라이버는 상기 저장부로부터 필요한 데이터를 RDD(Resilient Distributed Dataset) 형태로 변환하여 로드한다.
상기 스케줄러는 다음의 수학식과 같이 자원(n)과 작업 시간(TEst)의 관계 정보를 생성한다.
Figure pat00001
상기 스케줄러는 다음의 수학식을 이용하여 목적 시간에 적합한 자원(n)의 수를 결정한다.
Figure pat00002
Figure pat00003
상기 자원의 수는 상기 실행부에서 사용할 가상 머신의 수를 포함한다.
본 발명의 다른 측면에 따르면, 빅데이터 처리 요청에 응답하여 요청된 처리에 필요한 데이터를 로드하는 단계(a); 빅데이터 처리에 필요한 자원을 할당하는 스케줄링을 수행하는 단계(b); 및 다수의 가상 머신을 이용하여 상기 스케줄링된 자원에 기초하여 빅데이터 처리를 실행하는 단계(c)를 포함하되, 상기 단계(b)는, 작업의 실패 확률을 획득하고 획득된 실패 확률을 반영하여 자원-작업시간 관계 정보를 생성하며 상기 자원-작업시간 관계 정보에 기초하여 목적 작업시간을 만족시키기 위한 자원을 할당하는 빅데이터 처리 방법이 제공된다.
본 발명에 의하면, 작업 실패를 적절히 고려하여 자원의 낭비 및 작업 지연을 발생할 수 있어서 빅데이터 처리 시스템에서의 최적화된 자원 할당이 가능한 장점이 있다.
도 1은 본 발명의 일 실시에에 따른 스파크 기반 빅데이터 처리 장치의 구조를 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 스파크 기반 빅데이터 처리 장치에서의 처리 절차를 나타낸 도면.
도 3은 본 발명의 일 실시에에 따른 스케줄러의 구조를 도시한 블록도.
도 4는 본 발명의 일 실시예에 따른 빅데이터 처리 최적화를 위한 자원 할당 방법의 전체적인 흐름을 도시한 순서도.
도 5는 본 발명의 일 실시예에 따른 가상 머신이 스케줄러에 제공하는 보고 메시지의 구조를 도시한 도면.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “...부”, “...기”, “모듈”, “블록” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시에에 따른 스파크 기반 빅데이터 처리 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 스파크 기반 빅데이터 처리 장치는 드라이버(100), 스케줄러(110), 저장부(120), 실행부(130), 다수의 가상 머신(140) 및 DAG(150)를 포함한다.
드라이버(100)는 클라이언트로부터 빅데이터 처리 요청을 수신할 경우 처리 작업에 필요한 데이터를 저장부(120)로부터 로드하는 기능을 한다. 저장부(120)에는 처리 작업에 필요한 데이터가 미리 저장되고, 드라이버(100)는 저장부(120)로부터 필요한 데이터를 선택적으로 로드한다.
드라이버(100)는 처리 작업에 필요한 데이터를 그대로 복사하여 로드하는 것이 아니라 RDD(Resilient Distributed Dataset)라는 데이터 타입으로 변환한 후 로드한다.
드라이버(100)에 의해 로드된 RDD는 실행부(130)로 제공되며, 실행부(130)는 다수의 가상 머신(140) 및 DAG(150)를 포함한다.
실행부(130)는 제공된 RDD에 대해 클라이언트로부터 요청된 작업에 형태로 변환을 수행하고 처리 작업은 다수의 가상 머신(140)에 의해 이루어진다. 가상 머신(140)에 의해 이루어지는 처리 작업은 “lineage” 파일에 저장되며 작업 중간에 에러가 발생하더라도 “lineage” 파일에 기록된 정보를 이용하여 다시 복구가 가능하다.
각 가상 머신(140)에 의해 처리된 결과 데이터는 DAG(150)에서 최종적으로 처리된다.
스케줄러(110)는 실행부(130)에서 사용하는 자원을 스케줄링한다. 구체적으로 스케줄러(110)는 실행부(130)에서 처리 작업을 위해 사용하는 가상 머신의 수를 결정한다.
스케줄러(110)는 처리 작업을 위해 소요되는 시간을 예측하고 예측된 소요 시간에 기초하여 사용할 가상 머신의 수를 결정한다.
종래의 스파크 시스템은 소요되는 시간을 예측할 때 순수하게 처리에 소요되는 시간만을 예측하였으며 작업이 실패할 경우에 소요되는 시간을 고려하지 않는 문제점이 있었다. 본 발명은 스파크 시스템의 처리 작업에서 발생하는 실패를 고려하여 소요 시간을 예측하고 이에 기초하여 사용할 가상 머신의 수를 결정하도록 한다.
스케줄러(110)의 구체적인 구성은 별도의 도면을 참조하여 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 스파크 기반 빅데이터 처리 장치에서의 처리 절차를 나타낸 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 스파크 기반 빅데이터 처리 장치는 초기화 절차를 진행한다(200). 초기화는 로그 기록, 함수, 자원(사용하는 가상 머신의 수)과 같은 설정 값들을 초기화하는 것을 의미한다.
초기화가 이루어지면, 요청된 작업을 수행하기 위한 준비 작업을 수행한다(201). 준비 작업에서는 실제 작업 수행을 위한 함수들을 로딩하고 로그 파일을 준비하며 태스크에 대한 스케줄링을 수행한다. 여기서의 스케줄링은 작업에 대한 스케줄링으로서, 앞서 설명한 스케줄링부에서의 가성 머신의 수를 할당하는 스케줄링과는 구별된다.
변수 공유 단계에서는 작업 중에 사용할 변수와 데이터를 각 가상 머신에 전달하는 과정이 이루어지며, 변수 공유 단계에서 가상 머신의 수를 결정하는 스케줄링이 이루어진다(203).
연산 단계에서는 각 가상 머신들을 이용하여 처리 연산이 이루어진다(204).
전체적인 작업이 위와 같이, 초기화-준비-변수 공유-연산의 순서로 이루어지기 때문에, 스파크 기반 빅데이터 처리 시스템의 작업 시간은 다음의 수학식 1과 같이 정의될 수 있다.
Figure pat00004
위 수학식 1에 의해 작업 시간을 예측할 경우, 스파크 기반 빅데이터 처리 시스템이 별다른 에러 없이 작업을 수행한다면 비교적 정확하게 작업 시간을 예측할 수 있을 것이다.
위 수학식 1에서, Tinit는 초기화에 소요되는 시간을 의미하고, Tprep는 준비 절차에 소요되는 시간을 의미하며, Tvs는 변수 공유에 소요되는 시간을 의미하고, Tcomp는 연산 작업에 소요되는 시간을 의미한다.
그러나, 실제 스파크 기반 빅데이터 처리 시스템은 다양한 원인으로 인해 수행 실패가 발생한다. 따라서, 수학식 1과 같은 방식으로 작업 시간을 예측하는 것은 실패를 고려하지 않은 것이기에 정확하다고 볼 수 없다.
도 3은 본 발명의 일 실시에에 따른 스케줄러의 구조를 도시한 블록도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 스케줄러는 실패 확률 획득부(300), 자원-작업시간 관계 정보 생성부(302) 및 자원 할당부(304)를 포함한다.
실패 확률 획득부(300)는 스파크 기반 빅데이터 처리 시스템의 실패 확률을 획득한다. 실패 확률은 다양한 방식으로 획득될 수 있을 것이나 바람직하게는 히스토리 처리를 통해 실패 확률을 획득할 수 있을 것이다. 과거의 작업 이력을 기초로 하여 성공적으로 실행한 작업의 수와 실패한 작업의 수에 대한 비를 이용하여 실패 확률을 획득할 수 있을 것이다. 각 작업은 다수의 반복으로 이루어지며 실패 확률 획득부(300)는 반복별 실패 확률을 획득한다.
물론, 실패 확률은 히스토리 분석 방식 이외에도 다양한 방식으로 획득될 수 있을 것이며, 실패 확률 획득 방식의 변경이 본 발명의 사상과 범주에 영향을 미치지 않는다는 것은 당업자에게 있어 자명할 것이다.
자원-작업시간 관계 정보 생성부(302)는 자원과 작업 시간과의 관계 정보를 생성한다. 작업 시간은 자원에 대한 함수이며, 자원에 따라 작업시간이 어떻게 결정되는지에 대한 관계 정보를 획득하는 것이다. 요컨대, 자원에 대한 작업 시간 함수를 생성하는 것이다.
스파크 기반 빅데이터 처리 시스템은 반복작업을 수행하므로 각 작업에 대한 반복 횟수를 i라고 할 때 작업 완료까지의 실패 확률(PRDD)은 다음의 수학식 2와 같이 정의될 수 있을 것이며, 실패 확률 획득부(300)는 작업의 반복 횟수를 고려하여 다음의 수학식 2와 같이 실패 확률을 획득한다.
Figure pat00005
위 수학식2에서,
Figure pat00006
는 k번째 반복에서의 실패 확률을 의미한다.
본 발명은 작업 완료까지의 실패 확률인 PRDD 를 고려하여 작업 시간을 예측하도록 한다. 만약 작업 실패가 발생할 경우, 다시 작업을 수행해야 한다. 이때, 초기화 및 준비 과정이 다시 진행되지는 않으며 변수 공유와 연산 작업이 다시 수행된다.
따라서, 실패 확률을 고려한 작업 시간은 다음의 수학식 3과 같이 정의될 수 있다.
Figure pat00007
자원-작업시간 관계 정보 생성부(302)는 수학식 3과 같이 작업 시간이 설정된다는 전제에서 자원과 작업 시간과의 관계 정보를 생성한다.
Figure pat00008
는 측정을 통해 획득할 수 있는 값이며, 자원과 작업 시간과의 관계 정보는 다음의 수학식 4와 같이 정의될 수 있다.
Figure pat00009
위 수학식 4에서, i는 반복 횟수를 의미하고, n은 가상 머신의 수를 의미하며,
Figure pat00010
는 변수 공유 단계에서의 매개 변수로서 미리 설정되는 상수이고,
Figure pat00011
는 연산 단계에서의 매개 변수로서 미리 설정되는 상수이며,
Figure pat00012
는 측정된 연산 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며,
Figure pat00013
은 작업당 RDD의 개수이고,
Figure pat00014
은 변수 공유 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며, s는 입력되는 데이터 사이즈이고,
Figure pat00015
은 입력되는 데이터 사이즈의 평균이며, Pe는 실패 확률을 의미한다.
실패 확률을 고려한 작업 시간은 위의 수학식 4와 같이 자원(n)에 대한 함수로 나타낼 수 있으며, 자원 할당부(304)는 수학식 4를 이용하여 사용할 자원(가상 머신의 수)을 결정한다.
자원 할당부(304)는 자원을 변수로 하는 함수인 작업 시간이 미리 설정된 목적 작업 시간 이하가 되는 자원의 수를 결정한다.
자원 할당부(304)에서 자원의 수를 결정하기 위한 수학식은 다음의 수학식 5와 같다.
Figure pat00016
Figure pat00017
위 수학식 5에서, Tojbect는 목적 작업 시간이고,
위 수학식에서, a, b, c는 아래와 같이 정의된다.
Figure pat00018
Figure pat00019
Figure pat00020
수학식 5와 같은 2차 부등식의 해는 하한과 상한을 가지며, 하한(n1) 및 상한(n2)은 다음의 수학식 6과 같이 정의된다.
Figure pat00021
Figure pat00022
최종적인 자원의 수는 n1 및 n2 사이의 값중 양의 정수인 최소값으로 결정된다. 예를 들어, n1이 -1이고 n2가 3일 경우 자원의 수는 1로 결정된다. 한편, n1이 5이고 n2가 12일 경우 자원의 수는 5로 결정된다.
이와 같은 자원 할당 방식은 최소의 자원을 사용하면서 작업 실패로 인한 추가 딜레이를 발생시키지 아니하므로 보다 효율적인 자원 할당이 가능한 장점이 있다.
도 4는 본 발명의 일 실시예에 따른 빅데이터 처리 최적화를 위한 자원 할당 방법의 전체적인 흐름을 도시한 순서도이다.
도 4를 참조하면, 우선 각 반복별 실패 확률을 획득한다(단계 400). 앞서 설명한 바와 같이 히스토리 분석을 통해 반복별 실패 확률을 획득한다.
반복별 실패 확률 정보를 획득하면, 다수의 반복으로 이루어지는 작업의 실패 확률을 획득한다(단계 402). 작업의 실패 확률은 수학식 2와 같이 획득할 수 있다.
작업 실패 확률이 획득되면, 획득된 작업 실패 확률을 이용하여 작업 시간과 자원에 대한 관계 정보를 생성한다(단계 404). 자원과 작업 시간에 대한 관계 정보는 수학식 4와 같이 생성된다.
실패 확률을 고려한 작업 시간과 자원에 대한 관계 정보가 생성되면, 자원에 따른 작업 시간이 미리 설정된 작업 시간 이하가 되는 자원의 수를 결정한다(단계 406). 자원의 수는 수학식 5와 같은 2차 부등식에 대한 해를 구하여 결정할 수 있을 것이다.
도 5는 본 발명의 일 실시예에 따른 가상 머신이 스케줄러에 제공하는 보고 메시지의 구조를 도시한 도면이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 보고 메시지는 실패 필드(500), 가상 머신 번호 필드(502) 및 목적 시간 필드(504)를 포함한다. 처리 작업을 수행하는 가상 머신들은 스케줄러에 미리 설정된 주기 또는 미리 설정된 이벤트 발생 시마다 도 5에 도시된 바와 같은 보고 메시지를 스케줄러에 제공한다.
도 5와 같은 보고 메시지는 단독 메시지로 스케줄러에 제공될 수도 있으며 IP 레이어,TCP 레이어, MAC 레이어 등의 옵션 필드에 적용되어 전달될 수도 있을 것이다.
실패 필드(500)에는 요청된 작업이 실패 여부에 대한 정보가 기록된다. 가상 머신 번호 필드(502)에는 보고 메시지를 송신하는 가상 머신의 번호 정보가 기록된다. 목적 시간 필드(504)에는 작업을 완료해야 하는 목적 시간에 대한 정보가 기록된다.
스케줄러는 다수의 가상 머신들로부터 전송되는 보고 메시지를 분석하여 실패한 작업과 성공한 작업의 비를 산출하고 이를 기초로 하여 실패 확률을 획득한다. 실패 확률은 지속적으로 갱신되며, 실패 확률이 갱신될 경우 자원-작업시간 관계 정보 역시 갱신되며, 갱신된 관계 정보에 기초한 새로운 자원 할당이 이루어진다.
본 발명에 따른 방법은 컴퓨터에서 실행 시키기 위한 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 여기서 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 가용 매체일 수 있고, 또한 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함하며, ROM(판독 전용 메모리), RAM(랜덤 액세스 메모리), CD(컴팩트 디스크)-ROM, DVD(디지털 비디오 디스크)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함할 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (14)

  1. 빅데이터 처리에 필요한 데이터를 저장하는 저장부;
    빅데이터 처리 요청에 응답하여 상기 저장부로부터 요청된 처리에 필요한 데이터를 상기 저장부로부터 로드하는 드라이버;
    다수의 가상 머신을 포함하며 상기 다수의 가상 머신을 이용하여 처리 작업을 실행하는 실행부; 및
    상기 실행부에서 처리 작업에 소요되는 자원을 할당하는 스케줄러를 포함하되,
    상기 스케줄러는 작업의 실패 확률을 획득하고 획득된 실패 확률을 반영하여 자원-작업시간 관계 정보를 생성하며 상기 자원-작업시간 관계 정보에 기초하여 목적 작업시간을 만족시키기 위한 자원을 할당하는 것을 특징으로 하는 빅데이터 처리 장치.
  2. 제1 항에 있어서,
    상기 스케줄러는 상기 다수의 가상 머신 각각이 전송하는 보고 메시지를 이용하여 상기 실패 확률을 획득하는 것을 특징으로 하는 빅데이터 처리 장치.
  3. 제2 항에 있어서,
    상기 보고 메시지는 작업의 실패 여부를 나타내는 실패 필드, 메시지를 송신하는 가상 머신의 번호를 나타내는 가상 머신 번호 필드 및 작업의 목적 시간 정보인 목적 시간 필드를 포함하는 것을 특징으로 하는 빅데이터 처리 장치.
  4. 제1항에 있어서,
    상기 드라이버는 상기 저장부로부터 필요한 데이터를 RDD(Resilient Distributed Dataset) 형태로 변환하여 로드하는 것을 특징으로 하는 빅데이터 처리 장치.
  5. 제1항에 있어서,
    상기 스케줄러는 다음의 수학식과 같이 자원(n)과 작업 시간(TEst)의 관계 정보를 생성하는 것을 특징으로 하는 빅데이터 처리 장치.
    Figure pat00023

    위 수학식에서, Tinit는 초기화에 소요되는 시간을 의미하고, Tprep는 준비 절차에 소요되는 시간을 의미하며, Tvs는 변수 공유에 소요되는 시간을 의미하고, Tcomp는 연산 작업에 소요되는 시간을 의미하고, i는 반복 횟수를 의미하고, n은 가상 머신의 수를 의미하며,
    Figure pat00024
    는 변수 공유 단계에서의 매개 변수로서 미리 설정되는 상수이고,
    Figure pat00025
    는 연산 단계에서의 매개 변수로서 미리 설정되는 상수이며,
    Figure pat00026
    는 측정된 연산 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며,
    Figure pat00027
    은 작업당 RDD의 개수이고,
    Figure pat00028
    은 변수 공유 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며, s는 입력되는 데이터 사이즈이고,
    Figure pat00029
    은 입력되는 데이터 사이즈의 평균이며, Pe는 실패 확률을 의미한다.
  6. 제5항에 있어서,
    상기 스케줄러는 다음의 수학식을 이용하여 목적 작업 시간에 적합한 자원(n)의 수를 결정하는 것을 특징으로 하는 빅데이터 처리 장치.
    Figure pat00030

    Figure pat00031

    위 수학식에서, Tojbect는 목적 작업 시간이고,
    Figure pat00032
    이고,
    Figure pat00033
    이며,
    Figure pat00034
    이다.
  7. 제6항에 있어서,
    상기 자원의 수는 상기 실행부에서 사용할 가상 머신의 수를 포함하는 것을 특징으로 하는 빅데이터 처리 장치.
  8. 빅데이터 처리 요청에 응답하여 요청된 처리에 필요한 데이터를 로드하는 단계(a);
    빅데이터 처리에 필요한 자원을 할당하는 스케줄링을 수행하는 단계(b); 및
    다수의 가상 머신을 이용하여 상기 스케줄링된 자원에 기초하여 빅데이터 처리를 실행하는 단계(c)를 포함하되,
    상기 단계(b)는, 작업의 실패 확률을 획득하고 획득된 실패 확률을 반영하여 자원-작업시간 관계 정보를 생성하며 상기 자원-작업시간 관계 정보에 기초하여 목적 작업시간을 만족시키기 위한 자원을 할당하는 것을 특징으로 하는 빅데이터 처리 방법.
  9. 제8항에 있어서,
    상기 단계(b)는 상기 다수의 가상 머신 각각이 전송하는 보고 메시지를 이용하여 상기 실패 확률을 획득하는 것을 특징으로 하는 빅데이터 처리 방법.
  10. 제9항에 있어서,
    상기 보고 메시지는 작업의 실패 여부를 나타내는 실패 필드, 메시지를 송신하는 가상 머신의 번호를 나타내는 가상 머신 번호 필드 및 작업의 목적 시간 정보인 목적 시간 필드를 포함하는 것을 특징으로 하는 빅데이터 처리 방법.
  11. 제8항에 있어서,
    상기 단계(a)는 상기 저장부로부터 필요한 데이터를 RDD(Resilient Distributed Dataset) 형태로 변환하여 로드하는 것을 특징으로 하는 빅데이터 처리 방법.
  12. 제8항에 있어서,
    상기 단계(b)는 다음의 수학식과 같이 자원(n)과 작업 시간(TEst)의 관계 정보를 생성하는 것을 특징으로 하는 빅데이터 처리 방법.

    Figure pat00035

    위 수학식에서, Tinit는 초기화에 소요되는 시간을 의미하고, Tprep는 준비 절차에 소요되는 시간을 의미하며, Tvs는 변수 공유에 소요되는 시간을 의미하고, Tcomp는 연산 작업에 소요되는 시간을 의미하고, i는 반복 횟수를 의미하고, n은 가상 머신의 수를 의미하며,
    Figure pat00036
    는 변수 공유 단계에서의 매개 변수로서 미리 설정되는 상수이고,
    Figure pat00037
    는 연산 단계에서의 매개 변수로서 미리 설정되는 상수이며,
    Figure pat00038
    는 측정된 연산 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며,
    Figure pat00039
    은 작업당 RDD의 개수이고,
    Figure pat00040
    은 변수 공유 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며, s는 입력되는 데이터 사이즈이고,
    Figure pat00041
    은 입력되는 데이터 사이즈의 평균이며, Pe는 실패 확률을 의미한다.
  13. 제12항에 있어서,
    상기 단계(b)는 다음의 수학식을 이용하여 목적 시간에 적합한 자원(n)의 수를 결정하는 것을 특징으로 하는 빅데이터 처리 방법.

    Figure pat00042

    Figure pat00043

    위 수학식에서, Tojbect는 목적 작업 시간이고,
    Figure pat00044
    이고,
    Figure pat00045
    이며,
    Figure pat00046
    이다.
  14. 제13항에 있어서,
    상기 자원의 수는 상기 단계(c)에서 사용할 가상 머신의 수를 포함하는 것을 특징으로 하는 빅데이터 처리 방법.

KR1020190008484A 2019-01-23 2019-01-23 빅데이터 처리 장치 및 방법 KR102177440B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190008484A KR102177440B1 (ko) 2019-01-23 2019-01-23 빅데이터 처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190008484A KR102177440B1 (ko) 2019-01-23 2019-01-23 빅데이터 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200094838A true KR20200094838A (ko) 2020-08-10
KR102177440B1 KR102177440B1 (ko) 2020-11-11

Family

ID=72049599

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190008484A KR102177440B1 (ko) 2019-01-23 2019-01-23 빅데이터 처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102177440B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230103237A (ko) * 2021-12-31 2023-07-07 연세대학교 산학협력단 적응적 클러스터링을 이용한 빅데이터 처리 제어 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242103A (ja) * 1992-02-28 1993-09-21 Mitsubishi Electric Corp スケジューリングシステム
KR20120053857A (ko) * 2010-11-18 2012-05-29 한국전자통신연구원 응용프로그램의 응답 시간 제어 장치 및 그 방법
KR20140131089A (ko) * 2013-05-03 2014-11-12 한국전자통신연구원 자원 할당 장치 및 그 방법
KR101772108B1 (ko) * 2016-07-15 2017-08-28 한국항공대학교산학협력단 스파크 기반의 메모리 관리 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242103A (ja) * 1992-02-28 1993-09-21 Mitsubishi Electric Corp スケジューリングシステム
KR20120053857A (ko) * 2010-11-18 2012-05-29 한국전자통신연구원 응용프로그램의 응답 시간 제어 장치 및 그 방법
KR20140131089A (ko) * 2013-05-03 2014-11-12 한국전자통신연구원 자원 할당 장치 및 그 방법
KR101772108B1 (ko) * 2016-07-15 2017-08-28 한국항공대학교산학협력단 스파크 기반의 메모리 관리 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이진배 외 3명. ‘빅데이터 Hadoop Distributed File System의 자원 할당 최적화를 위한 Performance Modeling 기법’. 2018년도 한국통신학회 동계종합학술발표회 논문집, 2018.01.19., pp.1381-1382.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230103237A (ko) * 2021-12-31 2023-07-07 연세대학교 산학협력단 적응적 클러스터링을 이용한 빅데이터 처리 제어 장치 및 방법

Also Published As

Publication number Publication date
KR102177440B1 (ko) 2020-11-11

Similar Documents

Publication Publication Date Title
CN108845884B (zh) 物理资源分配方法、装置、计算机设备和存储介质
US9582312B1 (en) Execution context trace for asynchronous tasks
US9477460B2 (en) Non-transitory computer-readable storage medium for selective application of update programs dependent upon a load of a virtual machine and related apparatus and method
US10901785B2 (en) Task deployment method, task deployment apparatus, and storage medium
US7987467B2 (en) Scale across in a grid computing environment
CN111176818B (zh) 分布式预测的方法、装置、系统、电子设备及存储介质
US9513835B2 (en) Impact-based migration scheduling from a first tier at a source to a second tier at a destination
US8984126B2 (en) Service collaboration device, service collaboration method, and computer-readable recording medium
US11886302B1 (en) System and method for execution of applications in a container
KR20170139872A (ko) 멀티 테넌트 기반의 서비스 제공 시스템 및 방법
US8028291B2 (en) Method and computer program product for job selection and resource allocation of a massively parallel processor
US10334028B2 (en) Apparatus and method for processing data
CN106775975B (zh) 进程调度方法及装置
KR101702218B1 (ko) 역경매 방식 자원할당 장치를 포함하는 하이브리드 클라우드 서버 및 그 자원 할당 방법 및 시스템
KR102177440B1 (ko) 빅데이터 처리 장치 및 방법
KR20160112776A (ko) 대용량 데이터의 분할 또는 병합 방법 및 그 장치
US20210149726A1 (en) Scheduling device, scheduling system, scheduling method, and non-transitory computer-readable medium
WO2021013185A1 (zh) 虚机迁移处理及策略生成方法、装置、设备及存储介质
CN113434283A (zh) 服务调度方法及装置、服务器、计算机可读存储介质
CN112631994A (zh) 数据迁移方法及系统
CN110968406B (zh) 处理任务的方法、装置、存储介质和处理器
US20220229689A1 (en) Virtualization platform control device, virtualization platform control method, and virtualization platform control program
US10606640B2 (en) Rescheduling high performance computing jobs based on personalized sanity checks and job problem resolution classification
CN111324668B (zh) 数据库数据同步处理方法、装置及存储介质
CN110543367B (zh) 资源处理方法及其装置、电子设备和介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant