KR101595967B1 - System and Method for MapReduce Scheduling to Improve the Distributed Processing Performance of Deadline Constraint Jobs - Google Patents

System and Method for MapReduce Scheduling to Improve the Distributed Processing Performance of Deadline Constraint Jobs Download PDF

Info

Publication number
KR101595967B1
KR101595967B1 KR1020140181507A KR20140181507A KR101595967B1 KR 101595967 B1 KR101595967 B1 KR 101595967B1 KR 1020140181507 A KR1020140181507 A KR 1020140181507A KR 20140181507 A KR20140181507 A KR 20140181507A KR 101595967 B1 KR101595967 B1 KR 101595967B1
Authority
KR
South Korea
Prior art keywords
job
node
task
available
urgent
Prior art date
Application number
KR1020140181507A
Other languages
Korean (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 KR1020140181507A priority Critical patent/KR101595967B1/en
Application granted granted Critical
Publication of KR101595967B1 publication Critical patent/KR101595967B1/en

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a system and a method for a MapReduce scheduling to improve the distributed processing performance for deadline constrained tasks. The system comprises: a scheduler including a delay queue for managing all of the submitted jobs and an urgent queue for handling jobs that require deadline management; a task assignment unit which assigns job tasks in consideration of the presence of an urgent job, the satisfaction of data locality and the presence of I/O loads of a node when an available node exists, and searches for a job which is the least urgent and delays tasks of the least urgent job so as to assign urgent job tasks when an available node is not existed; and nodes for requesting task assignment from the task assignment unit. Therefore, the distributed processing performance of deadline constrained task can be enhanced.

Description

데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 시스템 및 방법{System and Method for MapReduce Scheduling to Improve the Distributed Processing Performance of Deadline Constraint Jobs}Technical Field [0001] The present invention relates to a scheduling system and method for improving distributed processing performance of a deadline-assigned task,

본 발명은 맵리듀스 스케쥴링 시스템 및 방법에 관한 것으로, 더욱 상세하게는 맵리듀스에서 데드라인이 부여되지 않은 잡(job)과 데드라인이 부여된 다수의 잡들이 동시에 수행될 때 데이터 지역성과 노드의 I/O(Input/Output) 부하를 고려함으로써, 실시간으로 변화하는 노드들의 I/O 부하 상황에 따라 유연하게 잡의 태스크(task)를 할당하는 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 시스템 및 방법에 관한 것이다.
The present invention relates to a mapping and scheduling system and method, and more particularly, to a mapping and scheduling system and method in which a deadline is assigned to a job and a plurality of jobs to which a deadline is assigned, I / O (Input / Output) By considering the load, it is possible to allocate job tasks flexibly according to the I / O load situation of nodes changing in real time. Distributed processing of assigned tasks. Scheduling system and method.

다양한 정보 채널의 등장으로 인해 디지털 정보량이 기하급수적으로 증가함에 따라 빅데이터를 활용하기 위한 다양한 연구들이 진행되고 있다. 빅데이터는 일반적인 정보 처리 기술로는 처리가 어려우며 원하는 결과를 생성하기 위해 많은 비용이 소모된다. 이로 인해, 빅데이터를 분산 저장 및 처리하기 위한 병렬처리 시스템에 대한 많은 연구들이 진행되고 있다. 최근 이러한 연구 중 하나로서 분산처리시스템인 하둡(hadoop)이 주목받고 있다. 하둡은 대규모의 데이터를 저장 및 처리하기 위한 분산 응용 프로그램을 지원하는 오픈소스 소프트웨어 프레임워크이다.As the amount of digital information increases exponentially due to the introduction of various information channels, various studies are being conducted to utilize the big data. Big data is difficult to process with general information processing techniques and is expensive to produce the desired results. As a result, much research has been conducted on a parallel processing system for distributing and processing big data. Recently, Hadoop (distributed processing system) has been attracting attention as one of such studies. Hadoop is an open source software framework that supports distributed applications for storing and processing large amounts of data.

하둡은 대용량 데이터 처리를 위해 클러스터 환경에서 동작하는 오픈 소스 프레임워크로 하둡 분산 파일 시스템(HDFS; Hadoop Distributed File System)과 맵리듀스(mapreduce)로 구성되어 있다. 맵리듀스는 클러스터에서 수행되는 분산 데이터 처리 모델과 실행 환경을 제공하며 맵(map) 단계와 리듀스(reduce) 단계로 나누어 처리된다. 잡 수행에 있어 중요한 이슈 중 하나는 수행 결과를 생성하기 위한 시간 즉, 완료 시간을 단축시키는 것이다. 이를 위해 잡 트래커(job tracker)는 잡 큐(job queue)에서 맵리듀스 작업을 수행할 잡의 우선 순위를 결정하기 위한 스케쥴링을 수행한다.Hadoop is an open source framework that works in a cluster environment for high-volume data processing. It consists of Hadoop Distributed File System (HDFS) and mapreduce. MapReduce provides a distributed data processing model and an execution environment to be performed in a cluster and is divided into a map step and a reduce step. One of the important issues in job execution is to shorten the time to generate the execution result, that is, the completion time. To do this, the job tracker performs scheduling to determine the priority of a job to perform a MapReduce operation in a job queue.

맵리듀스는 제출된 잡이 여러 개의 태스크로 분할되고, 각각의 태스크들이 노드에 분산 처리되며, 모든 잡 태스크들이 완료되면 해당 잡이 최종 완료된다. 맵리듀스는 기본 스케쥴러로서 FIFO(First In First Out) 스케쥴러를 가진다. FIFO 스케쥴러는 잡 큐에 제출된 잡들을 제출된 순서대로 하나씩 최종완료 시키는 스케쥴러이다. 따라서, 일반적인 FIFO 방식의 스케쥴링은 맵리듀스 작업이 수행되는 노드에 데이터가 존재하지 않을 경우 다른 노드로부터 데이터를 전송받아 수행하기 때문에 작업 시간이 지연된다. 또한, 공정 스케쥴링(Fair Scheduling) 기법은 각 잡을 담당하는 자원(노드)을 나누어 동시에 잡을 처리하는 기법이다. 하지만, 데이터 지역성을 고려하지 않기 때문에 작업 시간의 지연이 발생한다.The MapReduce process divides the submitted job into multiple tasks, each task is distributed to the nodes, and when all the job tasks are completed, the job is finally completed. MapReduce has a FIFO (First In First Out) scheduler as its default scheduler. The FIFO scheduler is a scheduler that completes jobs submitted to a job queue one by one in the order in which they are submitted. Therefore, in general FIFO scheduling, data is received from another node when data is not present in the node where the mapping task is performed, so that the operation time is delayed. In addition, the Fair Scheduling technique divides resources (nodes) responsible for each job and processes the jobs at the same time. However, since the data locality is not considered, a delay occurs in the working time.

지역성을 고려한 스케쥴링은 잡 수행에 필요한 데이터가 존재할 경우 해당 노드에 잡을 할당하는 것이다. 데이터 지역성을 고려한 대표적인 스케쥴링 기법에는 지연 스케쥴링(Delay Scheduling) 기법이 제안되었다. 지연 스케쥴링은 맵리듀스의 스케쥴링을 연구하는 기법에 많은 비교 지표로 쓰이는 대표적인 스케쥴러이다. 지연 스케쥴링은 기존 제안된 공정 스케쥴링 기법에 데이터 지역성을 추가 고려한 기법이다. 맵리듀스의 기본 정책에 따라 유저가 제출한 잡이 여러 개의 태스크로 분할되면, 지연 스케쥴링은 잡 대기 큐에 태스크가 가장 적은 잡을 최우선으로 오름차순 정렬 한다. 정렬된 잡들은 태스크 하나씩 가용 노드(free node)의 가용 슬롯에 할당되며, 할당 될 때 마다 재정렬 된다. 또한, 지연 스케쥴링은 잡 큐에서 우선 순위가 가장 높은 잡의 태스크가 할당하기 전 할당하려는 가용 노드에 데이터 지역성이 성립하는지 확인한다. 만약 데이터 지역성을 만족하지 못할 경우 다음 순서의 잡에게 태스크 할당 기회를 넘겨준다. 잡 태스크 할당이 지연된 잡은 다음 가용 노드가 발생시 태스크 우선 순위가 가장 높아진다. 하지만 계속적으로 잡의 데이터 지역성이 성립되지 않으면 잡 태스크 할당이 계속 지연되어 잡의 최종 완료 시간이 비정상적으로 증가한다. 이러한 현상을 방지하기 위하여 지연 시간 제한을 단계별로 설정한다. 즉, 특정 임계치 시간제한 W를 정한다. 대기하는 시간 T가 조건 T < W1를 만족할 때 까지 노드 지역성(node locality)만을 확인하고, W1 < T < W2 까지는 랙 지역성(rack locality)까지의 성립을 확인한다. 만약 T > W2 이라면 더 이상 지연을 수행하지 않고 태스크를 오프 랙(off-rack)에 할당한다. 이처럼, 데이터 지역성을 고려한 스케쥴링 기법은 다른 노드로부터 데이터를 전송하는 시간을 감소시키기 때문에 작업 시간을 단축시킬 수 있다. 그러나, 데이터 지역성만을 고려하는 기법은 정해진 시간 내에 작업 수행을 완료하기 위해 데드라인 제약(deadline constraint)을 부여한 맵리듀스를 이용한 특정한 응용 작업 환경에서는 적용하기 어렵다. 또한, 노드의 부하를 고려하지 않기 때문에 특정 노드에서 작업 완료 시간 내에 작업이 완료되지 못하는 문제점이 있다. 실제로 맵리듀스를 이용하여 빅데이터를 다룰 때, 특성이 다른 여러가지 잡들을 동시에 처리하며 생기는 노드의 부하로 인해 하나의 잡만을 수행 할 때와 비교하여 완료시간의 차이가 큰 것을 확인 할 수 있다.The scheduling considering the locality is to allocate a job to a corresponding node when data necessary for job execution exists. A delay scheduling scheme has been proposed as a typical scheduling scheme considering data localization. Delay scheduling is a representative scheduler that is used as a comparative index to techniques for studying scheduling of MapReduce. Delay scheduling is a technique that considers data localization to the proposed process scheduling scheme. According to the basic policy of MapReduce, when a job submitted by a user is divided into several tasks, the delay scheduling arranges the jobs with the least tasks in ascending order in the job waiting queue. Aligned jobs are assigned to available slots of a free node, one for each task, and are reordered each time they are allocated. In addition, the delay scheduling confirms that the data locality is established at the available node to be allocated before the job of the highest priority job in the job queue is allocated. If the data locality is not satisfied, the task assignment opportunity is passed to the next job in the sequence. The task with delayed assignment of the task becomes the highest priority task when the next available node occurs. However, if the data locality of the job is not consistently maintained, the job task assignment is continuously delayed, resulting in an abnormal increase in the final completion time of the job. In order to prevent such a phenomenon, the delay time limit is set in a stepwise manner. That is, a specific threshold time limit W is set. Only the node locality is checked until the waiting time T satisfies the condition T <W1 and the establishment of the rack locality up to W1 <T <W2 is confirmed. If T> W2, the task is assigned to off-rack without further delays. As described above, the scheduling scheme considering the data locality can shorten the work time because it reduces the time for transmitting data from other nodes. However, it is difficult to apply the technique considering only the data locality to a specific application work environment using the MapReduce to which a deadline constraint is assigned to complete a task within a predetermined time. In addition, since the load of a node is not considered, there is a problem that a job can not be completed within a work completion time at a specific node. In fact, when dealing with big data using MapReduce, it is possible to confirm that the difference in completion time is large compared with the case where only one job is performed due to the load of a node that processes various jobs having different characteristics simultaneously.

최근 데드라인이 부여된 잡을 처리하기 위해 다양한 스케쥴링 기법들이 제안되었다. Kai WANG에서는 제출된 잡들을 데드라인 내에 작업완료 시키기 위해 잡을 수행하며 기록되는 태스크들의 평균 완료 시간을 이용한다[Kai WANG, Ying WANG, and Bo YIN, "Deadline Scheduling for MapReduce Environment," Journal of Computational Information Systems, 2013]. 진행 중인 태스크 진행시간이 잡의 태스크 평균 완료시간보다 초과되면, 해당 태스크를 추론적 태스크(speculative task)로 전환한다. 추론적 태스크란 태스크 평균 완료시간을 초과하여 진행되는 태스크와 동일한 태스크를 다른 노드에서 실행시키는 것을 의미한다. 두 개의 태스크 중 먼저 완료되는 태스크 결과를 취하며, 태스크가 완료되면 나머지 태스크는 실행 취소된다. 또한, 잡의 예상 완료시간을 초과하면 잡의 우선순위를 가장 높게 조정한다. 잡의 예상 완료시간은 과거이력 속도(historical speed)를 고려하여 계산한다. 과거이력 속도란 유저에 의해 제출된 잡에 잡의 유형이 첨부되어 오면, 과거에 기록된 잡 유형에 따른 태스크 처리 속도들 중 제출된 잡의 유형과 부합하는 처리속도를 의미한다. 하지만, 이러한 기법 또한, 노드의 실시간 I/O 부하상태에 따른 스케쥴링을 고려하지 않아 과부하 상태의 노드가 많이 발생할수록 전반적인 맵리듀스의 잡 완료시간 성능이 저하된다.Recently, various scheduling techniques have been proposed to deal with deadline - enabled jobs. Kai WANG uses the average completion time of the tasks to be performed by performing the job to complete submitted jobs in the deadline [Kai WANG, Ying WANG, and Bo YIN, "Deadline Scheduling for MapReduce Environment," Journal of Computational Information Systems , 2013]. If the ongoing task progress time exceeds the task's average completion time of the job, the task is switched to a speculative task. The reasoning task means that the same task as the task progressing beyond the task average completion time is executed by another node. Among the two tasks, it takes the task result to be completed first, and when the task is completed, the remaining tasks are undone. In addition, if the expected completion time of a job is exceeded, the priority of the job is adjusted to the highest priority. Estimated completion time of the job is calculated taking into account the historical speed. The past hysteresis speed means the processing speed that matches the type of submitted job among the task processing speeds according to the job type recorded in the past when the type of job is attached to the job submitted by the user. However, this technique also does not consider the scheduling according to the real-time I / O load state of the node, and the performance of the job completion time of the overall mapping decreases as the number of overloaded nodes increases.

이에, 본 발명에서는 맵리듀스 데드라인을 고려한 잡의 태스크 스케쥴링 기법을 제안한다. 본 발명에서 제안하는 기법은 데이터 지역성만을 고려한 기존 연구들과는 달리 데드라인 제약이 있는 특정 환경에서 데드라인을 충족시키기 위해 처리가 급한 잡들을 관리하기 위한 긴급 큐를 사용한다. 또한, 실시간으로 변화하는 노드들의 I/O 부하 상황을 고려하여 I/O 부하 상황에 따라 유연하게 잡의 태스크를 할당하는 스케쥴링 기법을 제안한다.
Accordingly, the present invention proposes a task scheduling technique for a job that takes into consideration the map redundancy deadline. Unlike previous studies considering only data locality, the proposed scheme uses an emergency queue to manage jobs that are in a hurry to meet deadlines in a specific environment with deadline constraints. In addition, we propose a scheduling scheme that assigns job tasks flexibly according to I / O load situation considering I / O load situation of nodes changing in real time.

대한민국 등록특허공보 제10-14327510000호(등록일 2014.08.11.)Korean Registered Patent No. 10-14327510000 (Registered on Apr. 11, 2014)

따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 데이터 지역성 뿐만 아니라 실시간으로 변화하는 I/O 부하를 고려하여 잡 스케쥴링을 수행함으로써 데이터 지역성만을 고려한 기법보다 전반적인 맵리듀스의 잡 수행 시간을 단축시키며 데드라인이 부여된 잡들의 데드라인 실패율을 감소시키고, I/O 부하가 존재하는 노드에서 잡을 처리해야 할 경우 잡 처리에 필요한 동일 데이터를 가진 복제본 노드를 활용하여 잡 태스크 처리 속도를 향상시키며, 잡 예상 완료 시간이 데드라인을 초과했음에도 불구하고 가용 노드가 발생하지 않을 경우 가장 시급하지 않은 잡을 검색하고 해당 잡의 태스크를 지연시켜 잡의 완료 시간을 앞당길 수 있는 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 시스템 및 방법을 제공하는데 있다.
SUMMARY OF THE INVENTION The present invention has been made in order to solve the problems of the prior art described above, and it is an object of the present invention to provide a technique of considering data localization only by performing job scheduling in consideration of data localization and I / Reduces the deadline failure rate of deadline-enabled jobs by reducing the overall job time of the MapReduce, and replica nodes with the same data needed for job processing when the job needs to be processed on nodes with I / O load If the available nodes do not occur even though the estimated completion time exceeds the deadline, the search of the most urgent job is delayed and the task of the relevant job is delayed to advance the completion time of the job Maple deuce for improved performance of distributed processing of deadline jobs Scheduling system and method.

상기와 같은 목적을 달성하기 위한 본 발명의 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 시스템은, 제출된 모든 잡(job)들을 관리하기 위한 지연 큐(delay queue)와 데드라인 관리가 필요한 잡을 다루는 긴급 큐(urgent queue)를 포함하는 스케쥴러, 가용 노드가 존재하는 경우, 시급한 잡의 존재 여부, 데이터 지역성 만족 여부, 노드의 I/O 부하 존재 여부를 고려하여 잡 태스크를 할당하고, 가용 노드가 존재하지 않는 경우, 가장 시급하지 않은 잡을 검색하고 상기 가장 시급하지 않은 잡의 태스크를 지연시켜 시급한 잡 태스크를 할당하는 태스크 할당부 및 상기 태스크 할당부에 태스크 할당을 요청하는 노드를 포함한다.According to an aspect of the present invention, there is provided a map de-duplication scheduling system for improving distributed processing performance of a deadline-provided job, including a delay queue for managing all submitted jobs, A scheduler including an urgent queue for handling a job that needs to be executed, a task to be assigned in consideration of the presence of an urgent job, whether data is locally satisfactory, and whether there is an I / O load of the node, A task allocation unit for searching for the most urgent job and delaying the task of the least urgent job to allocate an urgent job task when the available node does not exist and a node for requesting task allocation to the task allocation unit .

한편, 본 발명의 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 방법은, 가용 슬롯이 발생한 노드가 태스크 할당부에 처리할 태스크를 요청하면, 태스크 할당부가 가용 노드가 존재하는지 여부를 판단하는 단계 및 상기 판단 결과 가용 노드가 존재하는 경우, 상기 태스크 할당부가 시급한 잡의 존재 여부, 데이터 지역성 만족 여부, 노드의 I/O 부하 존재 여부를 고려하여 잡 태스크를 할당하고, 가용 노드가 존재하지 않는 경우, 상기 태스크 할당부가 가장 시급하지 않은 잡을 검색하고 상기 가장 시급하지 않은 잡의 태스크를 지연시켜 시급한 잡 태스크를 할당하는 단계를 포함한다.
Meanwhile, in the method of scheduling de-scheduling for improving distributed processing performance of a deadline-assigned task according to the present invention, when a node generating an available slot requests a task to be processed by the task allocating unit, And if there is an available node, the task allocator allocates a job task in consideration of whether there is an urgent job, whether data locality is satisfied, whether there is an I / O load of the node, The task assigning unit searches for the most urgent job and delays the task of the least urgent job to assign an urgent job task.

상술한 바와 같이, 본 발명에 의한 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 시스템 및 방법에 따르면, 제출된 잡들을 제한시간 내에 처리하기 위해 데이터 지역성 만족 여부를 확인하고 I/O 부하 및 데드라인 만족 여부를 고려하며, I/O 부하가 존재하는 노드에서 잡을 수행할 경우 복제본 노드의 데이터를 활용하여 잡 태스크 처리 속도를 향상시키고, 잡 예상 완료 시간이 데드라인을 초과했음에도 가용 노드가 발생하지 않을 경우 데드라인에 여유가 있는 잡의 태스크를 지연시켜 잡의 완료 시간을 단축시킬 수 있다.
As described above, according to the mapping devise scheduling system and method for improving the distributed processing performance of deadline-provided jobs according to the present invention, it is possible to check whether the data locality is satisfactory in order to process submitted jobs within a time limit, In consideration of the load and deadline satisfaction, when the job is performed on the node having the I / O load, the data of the replica node is utilized to improve the job task processing speed, and even if the job completion completion time exceeds the deadline, It is possible to shorten the task completion time by delaying the task of the job having a margin in the deadline.

도 1은 본 발명의 일 실시예에 따른 맵리듀스의 스케쥴링 시스템의 개략적인 구성을 나타내는 블록도이다.
도 2는 긴급 큐에 처리가 시급한 잡이 존재하지 않을 경우의 잡 처리 과정을 나타내는 그림이다.
도 3은 긴급 큐에 처리가 시급한 잡이 존재할 경우의 처리 과정을 나타내느 그림이다.
도 4는 도 2 및 도 3에서 제출된 잡들을 처리하기 위해 필요한 데이터 청크를 나타낸다.
도 5는 본 발명의 일 실시예에 따라 가용 노드 발생 시 태스크 할당부가 잡 태스크를 처리하는 절차를 나타내는 흐름도이다.
도 6은 가용 노드에서 가장 시급한 잡의 데이터 지역성을 만족하지만, I/O 부하가 존재하는 경우의 스케쥴링을 나타내는 그림이다.
도 7은 가용 노드 2가 데이터 지역성을 만족하지 않고 I/O 부하가 존재하며, 복제본 노드 3에 I/O 부하가 존재하지 않을 경우의 스케쥴링을 나타내는 그림이다.
도 8은 가용 노드 2가 데이터 지역성을 만족하지 않으며, 가용 노드 2와 복제본 노드 3의 I/O 부하가 존재하는 경우의 스케쥴링을 나타내는 그림이다.
도 9는 본 발명의 일 실시예에 따라 가용 노드 발생하지 않을 경우 태스크 할당부가 잡 태스크를 처리하는 절차를 나타내는 흐름도이다.
도 10은 긴급 큐에 잡이 존재하고 잡의 예상 완료 시간이 데드라인을 초과하는 즉, 처리가 가장 시급한 잡이 존재함에도 불구하고 가용 슬롯을 발생시키는 노드가 없을 경우의 스케쥴링을 나타내는 그림이다.
1 is a block diagram showing a schematic configuration of a scheduling system of MapReduce according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a job process when there is no urgent job in the emergency queue.
FIG. 3 is a diagram illustrating a process when there is an urgent job in the emergency queue.
Figure 4 shows the data chunks needed to process the submitted jobs in Figures 2 and 3.
FIG. 5 is a flowchart illustrating a procedure for a task assigning unit to process a task when an available node is generated according to an embodiment of the present invention.
FIG. 6 is a diagram illustrating scheduling in the case where an I / O load exists while satisfying the data localization of the most urgent job in the available node.
FIG. 7 is a diagram illustrating scheduling when the available node 2 does not satisfy the data locality, the I / O load exists, and the replica node 3 does not have an I / O load.
FIG. 8 is a diagram illustrating scheduling when available node 2 does not satisfy the data locality, and there is an I / O load of available node 2 and replica node 3. FIG.
9 is a flowchart illustrating a procedure for a task assignment unit to process a task when an available node is not generated according to an embodiment of the present invention.
10 is a diagram illustrating scheduling when there is a job in the emergency queue and the expected completion time of the job exceeds the deadline, that is, when there is no job generating slot even though there is a job most urgent to process.

이하, 본 발명의 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 시스템에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a map de-duplication scheduling system for improving distributed processing performance of a deadline-provided job according to the present invention will be described in detail with reference to the accompanying drawings.

하둡(Hadoop)은 분산 처리 플랫폼을 제공하는 아파치 오픈소스 프로젝트로 신뢰성(reliability)과 확장성(scalability)을 보장하는 환경을 제공하여 현재 아마존(Amazon), 야후(Yahoo), 페이스북(Facebook) 등 많은 업체에서 사용되고 있다.Hadoop is an Apache open source project that provides a distributed processing platform and provides an environment to ensure reliability and scalability so that Amazon, Yahoo, Facebook, etc. It is used by many companies.

이러한 하둡을 구성하는 중요한 요소 중 하나인 맵리듀스는 구글(Google)에서 제안한 맵리듀스 프로그래밍 모델을 하둡에 맞춰 구현한 소프트웨어 프레임워크로서, 분산 환경에서 대용량 데이터를 처리하는데 있어서, 간단하고 직관적인 인터페이스를 제공한다.One of the important elements of Hadoop, MapReduce is a software framework implemented in Hadoop that implements the MapleDeus programming model proposed by Google. It provides a simple and intuitive interface for handling large amounts of data in a distributed environment. to provide.

도 1은 본 발명의 일 실시예에 따른 맵리듀스의 스케쥴링 시스템의 개략적인 구성을 나타내는 블록도이다.1 is a block diagram showing a schematic configuration of a scheduling system of MapReduce according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 맵리듀스의 스케쥴링 시스템은 지연 큐(21)와 긴급 큐(22)를 포함하는 스케쥴러(20), 스케쥴러 선택부(31)와 스케쥴링 처리부(32)를 포함하여 노드에 태스크를 할당하는 태스크 할당부(30) 및 상기 태스크 할당부에 태스크 할당을 요청하는 하나 이상의 노드들(40-1, 40-2, 40-3, ...)(총괄하여 "40")을 포함한다. 여기서, 사용자에 의해 제출된 잡(job)은 스케쥴러(20), 태스크 할당부(30)를 포함하여 스케쥴링 역할을 하는 맵리듀스의 잡 트래커(10)에 의해 처리된다.1, the scheduling system of the present invention includes a scheduler 20 including a delay queue 21 and an emergency queue 22, a scheduler selector 31, and a scheduling processor 32 (40-1, 40-2, 40-3, ...) (collectively referred to as "40 ") for requesting assignment of tasks to the task assigning unit Quot;). Here, the job submitted by the user is processed by the job tracker 10 of the MapReduce, which functions as a scheduling unit, including the scheduler 20 and the task allocation unit 30. [

스케쥴러(20)는 제출된 모든 잡들을 관리하기 위한 지연 큐(delay queue)(21)와 데드라인 관리가 필요한 잡을 다루는 긴급 큐(urgent queue)(22)로 구성된다. 지연 큐(21)는 일반적으로 사용자가 제출한 모든 잡들을 관리하는 큐로서, 후술하는 태스크 할당부(30)를 통해 기존 지연 스케쥴링(Delay Scheduling)에서 사용하는 잡 큐와 동일한 처리를 수행한다. 긴급 큐(22)는 데드라인 내에 잡 수행이 완료되지 못할 것으로 예상되는 처리가 시급한 잡들을 관리하는 큐로서, 데이터 지역성 만족 여부와 노드 부하 등으로 인해 지연 스케쥴러를 사용할 경우 정해진 시간 내에 작업을 완료하지 못하는 잡을 별도로 관리하며, 태스크 할당부(30)릍 통해 잡을 데드라인 내에 충족시키는 데드라인 스케쥴링을 한다. 지연 큐(21)에 제출된 잡은 데드라인 Td와 예상 완료시간 Tp의 차이 Tth가 사용자가 정한 임계값 ε이하가 될 경우 긴급 큐(22)에 등록된다. 긴급 큐(22)에 제출된 잡들은 Tth 값에 의해 오름차순으로 정렬되어 데드라인 여유 시간이 가장 낮은 값이 가장 높은 우선 순위를 갖는다.The scheduler 20 comprises a delay queue 21 for managing all submitted jobs and an urgent queue 22 for handling jobs that require deadline management. The delay queue 21 generally manages all the jobs submitted by the user and performs the same processing as the job queue used in the existing delay scheduling (Delay Scheduling) through a task allocation unit 30 described later. The urgent queue 22 is a queue that manages urgent jobs that are expected to fail job execution in the deadline. If the delay scheduler is used due to data locality satisfaction and node load, And performs deadline scheduling in which the task assignment unit 30 satisfies the job within the deadline. The job submitted to the delay queue 21 is registered in the emergency queue 22 when the difference T th between the deadline T d and the estimated completion time T p is equal to or less than the threshold ε determined by the user. The jobs submitted to the emergency queue 22 are sorted in ascending order by the T th value, and the lowest deadline clear time has the highest priority.

도 2는 긴급 큐(22)에 처리가 시급한 잡이 존재하지 않을 경우의 잡 처리 과정을 나타내는 그림이다. 도 3은 각 노드가 4 개의 태스크 슬롯을 가진다고 가정할 때 긴급 큐(22)에 처리가 시급한 잡이 존재할 경우의 처리 과정을 나타내느 그림이다. 도 4는 도 2 및 도 3에서 제출된 잡들을 처리하기 위해 필요한 데이터 청크를 나타낸다.FIG. 2 is a diagram illustrating a job process in a case where there is no urgent job in the urgent queue 22. FIG. 3 is a diagram illustrating a process when there is an urgent job in the emergency queue 22, assuming that each node has four task slots. Figure 4 shows the data chunks needed to process the submitted jobs in Figures 2 and 3.

도 2 및 도 3과 같이 가용 노드 2가 잡 트래커(10)에게 태스크 할당을 요청할 경우 후술하는 태스크 할당부(30)는 먼저 긴급 큐(22) 내 잡의 존재 유무를 확인한다. 만약 도 2와 같이 긴급 큐(22)에 잡이 존재하지 않으면 지연 큐(21)에 있는 job 1의 태스크를 가용 노드 2에 할당한다. 만약 긴급 큐(22)에 잡이 존재한다면 도 3과 같이 해당 잡을 지연 큐로 관리되는 모든 잡들 보다 먼저 가용 슬롯에 할당한다.As shown in FIGS. 2 and 3, when the available node 2 requests task allocation to the job tracker 10, the task allocation unit 30, which will be described later, first confirms the existence of a job in the emergency queue 22. If there is no job in the emergency queue 22 as shown in FIG. 2, the task of job 1 in the delay queue 21 is assigned to the available node 2. If there is a job in the emergency queue 22, as shown in FIG. 3, the job is allocated to an available slot earlier than all the jobs managed by the delay queue.

태스크 할당부(30)는 크게 가용 노드가 존재하는 경우와 가용 노드가 발생하지 않는 경우로 구분하여 스케쥴링을 처리한다. 이에, 가용 노드가 존재하는 경우 태스크 할당부(30)는 시급한 잡의 존재 여부, 데이터 지역성 만족 여부, 노드의 I/O 부하 존재 여부를 고려하여 잡 태스크를 할당한다.The task allocating unit 30 processes the scheduling by distinguishing between the case where an available node exists and the case where an available node is not generated. Accordingly, when there is an available node, the task allocation unit 30 allocates the task in consideration of the presence of an urgent job, whether the data locality is satisfied, and whether there is an I / O load of the node.

구체적으로, 태스크 할당부(30)는 데이터 지역성 뿐만 아니라 실시간으로 변화하는 I/O 부하를 고려하여 잡 스케쥴링을 수행함으로써 데이터 지역성만을 고려한 기법보다 전반적인 맵리듀스의 잡 수행 시간을 단축시키며 데드라인이 부여된 잡들의 데드라인 실패율을 감소시키고, I/O 부하가 존재하는 노드에서 잡을 처리해야 할 경우 잡 처리에 필요한 동일 데이터를 가진 복제본 노드를 활용하여 잡 태스크 처리 속도를 향상시키며, 잡 예상 완료 시간이 데드라인을 초과했음에도 불구하고 가용 노드가 발생하지 않을 경우 가장 시급하지 않은 잡을 검색하고 해당 잡의 태스크를 지연시켜 시급한 잡의 완료 시간을 앞당길 수 있다. 이러한 태스크 할당부(30)의 자세한 동작은 이하 도 5 내지 도 10을 참조하여 보다 상세히 설명된다.
Specifically, the task allocation unit 30 performs job scheduling in consideration of not only data locality but also I / O load that varies in real time, thereby shortening the overall task execution time of the mapping task more than a technique considering only data localization, When deadline failure rate of granted jobs is reduced and nodes that have I / O load are to be processed, replica nodes with the same data necessary for job processing are utilized to improve the task processing speed, If an available node does not occur even though the deadline has been exceeded, it is possible to retrieve the most urgent job and delay the task of the job to advance the completion time of the urgent job. The detailed operation of the task assignment unit 30 will be described in detail with reference to FIGS. 5 to 10 below.

그러면, 여기서 상기와 같이 구성된 시스템을 이용한 본 발명의 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 방법에 대해 설명하기로 한다.Hereinafter, the method of scheduling de-scheduling for improving the distributed processing performance of the deadline-added task of the present invention using the system configured as described above will be described.

본 발명의 일 실시예에 따른 태스크 할당부(30)의 잡 태스크 할당은 상기한 바와 같이 크게 가용 노드가 존재하는 경우와 가용 노드가 발생하지 않을 경우로 구분하여 처리된다.The task assignment of the task assigning unit 30 according to an embodiment of the present invention is divided into a case where an available node exists and a case where an available node does not occur as described above.

도 5는 본 발명의 일 실시예에 따라 가용 노드 발생 시 태스크 할당부(30)이 잡 태스크를 처리하는 절차를 나타내는 흐름도이다.5 is a flowchart illustrating a procedure for a task assignment unit 30 to process a task when an available node is generated according to an embodiment of the present invention.

사용자로부터 맵리듀스에 다양한 잡이 제출되면, 잡 트래커(10)의 스케쥴링 정책에 따라 잡의 태스크들이 노드(40)에 할당된다. 특히, 본 발명의 태스크 할당부(30)은 맵리듀스가 잡을 처리하는 중 자신이 할당받은 잡 태스크의 처리를 완료한 각 노드(40)가 heartbeat 통신을 통해 잡 트래커(10)에게 처리할 태스크를 요청하면, 시급한 잡이 존재하는지 여부, 가용 노드가 시급한 잡의 데이터 지역성을 만족하는지 여부 뿐만 아니라 가용 노드에 I/O 부하가 존재하는지 여부를 고려함으로써, 맵리듀스에서 데드라인이 부여되지 않은 잡과 데드라인이 부여된 다수의 잡들이 동시에 수행될 때 데드라인이 부여된 작업의 분산 처리 성능을 향상시킬 수 있다.When various jobs are submitted to the MapReduce from the user, tasks of the job are assigned to the node 40 according to the scheduling policy of the job tracker 10. [ In particular, the task assigning unit 30 of the present invention assigns a task to be processed to the job tracker 10 via the heartbeat communication by each node 40 that has completed the processing of the job task allocated thereto by the MapReduce process Upon request, by considering whether there is an urgent job, whether the available node satisfies the data locality of the urgent job as well as whether there is an I / O load on the available node, It is possible to improve the distributed processing performance of a task to which a deadline is assigned when a plurality of jobs to which a line is assigned are simultaneously executed.

즉, 잡 처리 시, 본 발명의 태스크 할당부(30)는 가장 먼저 제출된 잡들 중 데드라인 내에 완료되지 못하는, 처리가 시급한 잡이 존재하는지를 확인한다. 이때, 태스크 할당부(30)의 스케쥴러 선택부(31)는 제출된 잡에 데드라인이 부여된 잡과 데드라인이 부여되지 않은 일반 잡들이 혼재할 경우, 데드라인이 부여된 잡들의 잡 예상 완료 시간과 데드라인의 차이를 통해 처리가 시급한 잡인지를 판단한다. 다음으로, 태스크 할당부(30)의 스케쥴링 처리부(32)는 잡을 처리 할 수 있는 상태인 가용 노드에 잡 처리에 필요한 데이터가 존재하는지 즉, 데이터 지역성을 만족하는지 여부를 판단하여 스케쥴링한다. 마지막으로, 스케쥴링 처리부(32)는 잡 태스크를 할당 할 가용 노드에 I/O 부하가 존재하는지를 판단하여 존재 할 경우 해당 잡 태스크를 처리하는데 필요한 데이터 청크를 가지고 있는 복제본 노드를 이용하여 복제본 노드에서 청크를 수신하여 처리한다.That is, in the job processing, the task allocation unit 30 of the present invention confirms whether there is an urgent job that can not be completed in the deadline among the jobs submitted first. At this time, the scheduler selecting unit 31 of the task allocating unit 30, when a job to which a deadline is assigned to a submitted job and a general job to which a deadline is not assigned are mixed, The difference between time and deadline determines whether the job is urgent. Next, the scheduling processing unit 32 of the task allocating unit 30 determines whether there is data required for job processing in the availability node, which is a state capable of processing the job, that is, whether or not it satisfies the data locality, and then performs scheduling. Finally, the scheduling processor 32 determines whether there is an I / O load in the available node to which the task is to be allocated. If there is an I / O load, the scheduling processor 32 uses the replica node having the data chunks necessary for processing the corresponding task, And processes it.

이제, 도 5를 참조하여 본 발명의 일 실시예에 따른 맵리듀스 스케쥴링 방법에 대하여 보다 구체적으로 살펴보자. 태스크를 수행할 수 있는 가용 슬롯이 발생한 각 노드(40)가 heartbeat 통신으로 잡 트래커(10)에 처리할 태스크를 요청하면, 스케쥴러 선택부(31)가 제출된 잡들 중 데드라인 내에 작업이 끝나기 어려운, 즉 처리가 시급한 잡들이 존재하는지 판단한다(S110). 상기한 바와 같이, 본 발명에서는 맵리듀스가 잡을 수행하는 중 처리가 시급한 잡들이 발생할 수 있고 이러한 처리가 시급한 잡들은 본 발명의 긴급 큐(22)로 관리되므로, 스케쥴러 선택부(31)는 처리가 시급한 잡이 존재하는지를 판단하기 위해 긴급 큐(22) 내의 잡 존재 유무를 확인한다.Now, referring to FIG. 5, a more detailed description will be given of the method of scheduling dexters according to an embodiment of the present invention. When each node 40 in which an available slot capable of executing a task requests a task to be processed to the job tracker 10 through heartbeat communication, the scheduler selecting section 31 determines whether or not the task , That is, whether there are urgent jobs to be processed (S110). As described above, according to the present invention, urgent jobs that require intermediate processing to perform jobs can be generated by the MapReduce, and jobs for which urgent processing is required are managed by the emergency queue 22 of the present invention. Therefore, The presence or absence of a job in the emergency queue 22 is checked to determine whether there is an urgent job.

단계 S110 판단 결과, 긴급 큐(22)에 잡이 존재하지 않는다면 스케쥴러 선택부(31)는 지연 스케쥴러를 선택하여 지연 큐(21)에서 기존 기법인 지역성을 고려한 지연 스케쥴링 기법을 수행한다(S120). 긴급 큐(22)에 잡이 존재하는 경우 스케쥴러 선택부(31)는 데드라인 스케쥴러를 선택하여 긴급 큐(22)에 존재하는 잡에 대해 사용 노드의 데이터 지역성과 노드의 I/O 부하에 따라 달리 처리하는 데드라인 기반 스케쥴링을 수행한다(S130).If it is determined in step S110 that the job does not exist in the emergency queue 22, the scheduler selection unit 31 selects a delay scheduler and performs a delay scheduling scheme considering the locality as an existing scheme in the delay queue 21 (S120). When there is a job in the emergency queue 22, the scheduler selecting unit 31 selects a deadline scheduler and performs a different process for the job existing in the emergency queue 22 according to the data localization of the using node and the I / O load of the node Based scheduling (S130).

긴급 큐(22)에 잡이 존재하여 데드라인 스케쥴러가 선택된 경우(S130), 스케쥴링 처리부(32)는 잡 태스크를 수행할 수 있는 상태인 가용 노드에 잡 처리에 필요한 데이터 청크가 존재하는지 즉, 데이터 지역성을 만족하는지 여부를 판단한다(S140).If there is a job in the emergency queue 22 and a deadline scheduler is selected (S130), the scheduling processing unit 32 determines whether there is a data chunk necessary for job processing in the availability node, which is a state capable of performing a job, Is satisfied (S140).

단계 S140 판단 결과, 데이터 지역성을 만족한다면 스케쥴링 처리부(32)는 해당 가용 노드에 I/O 부하가 존재하는지 여부를 판단한다(S140). 데이터 지역성을 만족하지만 가용 노드의 I/O 부하가 큰 경우 처리가 시급한 잡 태스크를 할당하게 되면, 처리가 시급한 잡과 이미 할당되어 수행 중인 작업이 모두 지연되는 현상이 일어난다. 이를 해결하기 위해, 본 발명의 스케쥴링 처리부(32)는 필요한 데이터 청크를 수신할 수 있는 복제본 노드를 검색한다(S151). 그리고, 복제본 노드가 검색되면 복제본 노드에서 데이터 청크를 전송하기 위해서는 복제본 노드에서 청크를 읽어들여 전송하기 때문에, 스케쥴링 처리부(32)는 복제본 노드에 I/O 부하가 존재하는지 또한 판단해야 한다(S152). 복제본 노드에 I/O 부하가 없으면 복제본 노드에서 필요한 데이터 청크를 수신하여 가용 노드에서 잡 태스크를 처리한다(S162). 복제본 노드 또한 부하가 존재하면, 스케쥴링 처리부(32)는 가용 노드에서 이미 할당되어 있는 다른 잡 태스크들 중 데드라인에 여유가 있는 잡 태스크들을 중지시켜 가용 노드의 부하를 낮춘다(S153). 즉, 스케쥴링 처리부(32)는 이미 할당되어 있는 잡 태스크들 중 처리가 시급한 잡의 처리에 필요한 데이터 청크를 읽어 들이는데 필요한 시간만큼 정지시켜도 데드라인 내에 잡을 완료 할 수 있는 잡을 선택한다. 이때, 태스크의 중지 시간은 하나의 데이터 청크를 읽는 평균 시간으로 한다. 데드라인 여유가 있는 잡 태스크의 판별은 수학식 1과 같다. 여기서, Td는 잡에 부여된 데드라인, TP는 해당 잡의 예상 완료 시간, Tio는 하나의 데이터 청크를 I/O하는 평균 시간, Tth는 데드라인 여유가 있는 잡을 판단하는 기준이 되는 사용자가 정한 임계치이다. 수학식 1과 같이 데드라인(Td)과 잡의 예상 완료시간과 데이터 청크를 I/O하는 시간을 더한 값(Tp+Tio)의 차가 임계치(Tth) 이상이라면 중지시킬 수 있는 잡으로 판단한다.If it is determined in step S140 that the data localization is satisfied, the scheduling processing unit 32 determines whether there is an I / O load on the available node (S140). If the I / O load of the usable node is large enough to satisfy the data locality, if the urgent task is assigned to the task, the urgent task and the task that is already allocated and executed are delayed. In order to solve this problem, the scheduling processor 32 of the present invention searches for a replica node capable of receiving necessary data chunks (S151). In order to transmit a data chunk from the replica node when the replica node is searched, the chunk is read from the replica node and is transmitted. Therefore, the scheduling processor 32 should also determine whether there is an I / O load in the replica node (S152) . If there is no I / O load on the replica node, the replica node receives the necessary data chunk and processes the task on the available node (S162). If there is a load in the replica node, the scheduling processing unit 32 stops the tasks in the deadline among the other task (s) already allocated in the available node, thereby lowering the load of the available node (S153). That is, the scheduling processing unit 32 selects a job that can complete the job in the deadline even if it is stopped for a time required for reading the data chunks necessary for processing the urgent job among the job tasks already allocated. At this time, the task stop time is the average time for reading one data chunk. The discrimination of a job having a deadline margin is expressed by Equation (1). Here, T d is the deadline assigned to the job, T P is the estimated completion time of the job, T io is the average time for I / O of one data chunk, T th is a criterion for determining a job with a deadline margin Is a threshold set by the user. If the difference between the deadline (T d ) and the value (T p + T io ) obtained by adding the estimated completion time of the job to the I / O time of the data chunk is equal to or greater than the threshold value (T th ) .

Figure 112014122178785-pat00001
Figure 112014122178785-pat00001

도 6은 가용 노드에서 가장 시급한 잡의 데이터 지역성을 만족하지만, I/O 부하가 존재하는 경우의 스케쥴링을 나타내는 그림이다. 제출된 잡들의 필요 데이터 청크 상태는 도 4와 같다. I/O 부하가 존재하는 노드는 노드 2, 노드 3이며, job 1에서 job 5까지의 총 5개의 잡이 사용자로 부터 제출되었다고 가정한다. job 5와 job 4, 두 개의 잡이 시급한 잡으로 판단되어 긴급 큐에 할당되었다. 먼저, 스케쥴링 처리부(32)는 시급한 잡인 job 5를 가용 노드 2에서 처리하기 위해 데이터 지역성 만족 여부를 체크한다(S140). 가용 노드 2가 데이터 지역성을 만족하지만 I/O 부하가 존재하여(S140의 예) 복제본 노드 3을 검색한다(S151). 복제본 노드 3도 I/O 부하가 존재하기 때문에 가용 노드 2에서 이미 잡 처리를 위해 할당된 태스크를 중단시킨다(S153). 가용 노드 2는 job 1과 job 3의 태스크들을 잡 5를 처리하기 위해 필요한 데이터 청크 D를 로드할 시간만큼 중단된 상태이다. job 2와 job 3는 수학식 1에 의해 선택된 잡들이다.FIG. 6 is a diagram illustrating scheduling in the case where an I / O load exists while satisfying the data localization of the most urgent job in the available node. The required data chunk state of the submitted jobs is shown in FIG. It is assumed that the node where the I / O load exists is node 2, node 3, and a total of five jobs from job 1 to job 5 are submitted from the user. Job 5 and job 4, two jobs were judged as urgent jobs and assigned to emergency queues. First, the scheduling processing unit 32 checks whether data locality is satisfied in order to process an urgent job job 5 in the available node 2 (S140). When the available node 2 satisfies the data locality, an I / O load exists (YES in S140) and the replica node 3 is searched (S151). Since replica node 3 also has an I / O load, the available node 2 stops the task already assigned for job processing (S153). The available node 2 is in a state where it has been suspended for the time to load the data chunks D needed to process the tasks of job 1 and job 3. job 2 and job 3 are the jobs selected by equation (1).

단계 S140 판단 결과, 가용 노드에 잡을 처리하기 위해 필요한 데이터 청크가 존재하지 않는다면 즉, 데이터 지역성을 만족하지 않는다면, 스케쥴링 처리부(32)는 필요한 데이터가 존재하지 않는 경우에도 불구하고 가용 노드에 잡 태스크를 할당할 경우 잡을 처리하기 위해 필요한 블럭을 다른 노드에서 수신해야 하므로, 데이터 지역성을 만족하는 복제본 노드를 검색한다(S160). 그리고, 필요한 블럭을 전송하는 노드의 I/O 부하가 큰 경우 필요한 데이터 청크의 I/O 뿐만 아니라 이미 할당되어 있는 잡들의 태스크 처리 속도 또한 저하되기 때문에, 복제본 노드가 검색되면 스케쥴링 처리부(32)는 복제본 노드의 I/O 부하 상태를 확인한다. 만약 복제본 노드에 I/O 부하가 존재하지 않을 경우 데이터 청크를 수신하여 가용 노드에서 처리가 시급한 잡 태스크를 처리한다(S162). 만약 만약 복제본 노드조차 I/O 부하가 존재할 경우, 스케쥴러는 복제본 노드가 가용 상태가 될 때까지 대기 후 해당 노드에서 태스크를 수행하는 것이 효율적인지, 복제본 노드에서 가용 노드로 데이터 블럭을 수신하여 태스크를 수행하는 것이 효율적인지를 판단한다(S161). 본 단계(S161)에서는 수학식 2, 수학식 3, 수학식 4를 이용하며 각 노드마다 가용 슬롯이 생성되어 가용 노드가 되는 평균 주기를 측정한다. 수학식 3은 Twx를 계산하는 식으로서, Twx는 필요한 데이터를 가진 노드가 가용 노드가 될 때까지 대기하여 해당 노드에서 태스크를 처리할 경우 태스크 예상 완료 시간이다. 여기서, Tp는 필요한 데이터를 가진 노드가 가용 슬롯이 생기는 평균 주기, Tio는 청크 하나를 I/O하는데 소비되는 평균 시간, Tex는 해당 잡의 태스크를 실행하는데 소요되는 평균 시간이다. 수학식 4는 Ttx를 계산하는 식으로서, Ttx는 필요한 데이터를 복제본 노드에서 기존 가용 노드로 전송하여 수행할 경우의 태스크 예상 완료 시간이다. 이때, Tio는 청크 하나를 I/O하는데 소비되는 평균시간, Ttrans는 청크 하나를 네트워크로 전송하는 평균 전송 시간이다. 네트워크 전송 시간은 하나의 데이터 청크가 같은 랙 안에서 전송되는 평균 시간과 랙 외부에서 전송되는 평균 시간으로 구분하여 계산한다. 이에, 해당 단계 S161에서 스케쥴링 처리부(32)는 수학식 2를 통해 수학식 3과 수학식 4를 비교하여 앞서 설명한 복제본 노드가 가용 상태가 될 때까지 대기 후 해당 노드에서 태스크를 수행하는 것이 효율적인지, 복제본 노드에서 가용 노드로 데이터 블럭을 수신하여 태스크를 수행하는 것이 효율적인지를 판단한다. 이에, 복제본 노드가 가용 상태가 될 때까지 대기하는 것이 효율적이라고 판단된 경우 즉, 수학식 2를 만족할 경우 단계 S151로 진행하여 가장 처리가 시급한 잡의 태스크 할당을 잠시 지연시킨 후 복제된 노드가 가용 노드 상태로 변할 때 다시 태스크를 할당을 시도한다. 만약 복제본 노드에서 가용 노드로 데이터 블록을 수신하여 태스크를 수행하는 것이 효율적이라고 판단된 경우 즉, 수학식 2를 만족하지 않을 경우 기존 가용 노드에서 태스크를 수행시킨다(S162).As a result of the determination in step S140, if there is no data chunk necessary to process the job at the available node, that is, if the data locality is not satisfied, the scheduling processing unit 32 notifies the availability node of the task Since the other node needs to receive a block necessary for processing the job, the replica node satisfying the data locality is searched (S160). When the I / O load of the node transmitting the required block is large, not only the I / O of the necessary data chunk but also the task processing speed of the already allocated job is lowered. Therefore, when the replica node is searched, the scheduling processor 32 Check the I / O load status of the replica node. If there is no I / O load on the replica node, the data node receives the data chunk and processes the urgent task to be processed in the available node (S162). If there is an I / O load even for the replica node, the scheduler waits until the replica node becomes available, and then it is efficient to perform the task on the node. The replica node receives the data block from the replica node to the available node, It is judged whether or not it is efficient to perform (S161). In this step S161, available slots are generated for each node using Equations (2), (3), and (4) to measure the average period of becoming an available node. A formula for calculating the equation (3) T wx, wx T is the estimated time to complete the task, if the wait for the node with the necessary data to be available nodes to process the task on the node. Here, p is the average period T is the node with the necessary data are available slot occurs, T io is the average time, T ex consumed in the chunk one I / O is the average time needed to execute the tasks in the job. Equation 4 is a formula for calculating the T tx, tx T is the estimated completion time of a task to perform, if necessary by sending the data from the replica node to the existing nodes available. T io is the average time spent in I / O for one chunk, and T trans is the average transmission time for transmitting one chunk over the network. The network transmission time is calculated by dividing the average time that one data chunk is transmitted in the same rack and the average time that is transmitted outside the rack. In step S161, the scheduling processor 32 compares Equation (3) and Equation (4) with Equation (2) to determine whether it is efficient to perform the task on the corresponding node after waiting for the replica node to become available , It is determined whether it is efficient to perform the task by receiving the data block from the replica node to the available node. If it is determined that it is efficient to wait until the replica node becomes available, that is, if Equation (2) is satisfied, the process advances to step S151 to temporarily delay task assignment of the most urgent job, When the state changes to the node state, the task is attempted again. If it is determined that it is efficient to perform the task by receiving the data block from the replica node to the available node, that is, if Equation 2 is not satisfied, the task is executed in the existing available node (S162).

Figure 112014122178785-pat00002
Figure 112014122178785-pat00002

Figure 112014122178785-pat00003
Figure 112014122178785-pat00003

Figure 112014122178785-pat00004
Figure 112014122178785-pat00004

도 7은 가용 노드 2가 데이터 지역성을 만족하지 않고 I/O 부하가 존재하며, 복제본 노드 3에 I/O 부하가 존재하지 않을 경우의 스케쥴링을 나타내는 그림이다. 제출된 잡들의 필요 데이터 청크 상태는 도 4와 같다. 먼저, 가용 노드 2에 가장 처리가 시급한 잡인 job 5의 처리에 필요한 데이터 청크가 존재하지 않기에 복제본 노드 3을 검색한다. 복제본 노드 3은 job 5의 처리에 필요한 데이터 청크 D를 노드 2로 전송한다. 데이터 청크를 수신하면 가용 노드 2에서 태스크를 수행한다.FIG. 7 is a diagram illustrating scheduling when the available node 2 does not satisfy the data locality, the I / O load exists, and the replica node 3 does not have an I / O load. The required data chunk state of the submitted jobs is shown in FIG. First, since there is no data chunk necessary for the processing of the job 5, which is the most urgent process in the available node 2, the replica node 3 is searched. Replica node 3 sends data chunk D, which is necessary for processing job 5, to node 2. When the data chunk is received, the task is executed in the available node 2.

도 8은 가용 노드 2가 데이터 지역성을 만족하지 않으며, 가용 노드 2와 복제본 노드 3의 I/O 부하가 존재하는 경우의 스케쥴링을 나타내는 그림이다. 복제본 노드 3조차 I/O 부하가 존재하는 상태이므로 수학식 2를 만족하는지 확인한다. 수학식 2를 만족하며 복제본 노드 3이 가용 상태가 될 때까지 대기 후 할당한다.FIG. 8 is a diagram illustrating scheduling when available node 2 does not satisfy the data locality, and there is an I / O load of available node 2 and replica node 3. FIG. Since replica node 3 is in a state where I / O load exists, it is confirmed whether Equation (2) is satisfied. And waits until the replica node 3 becomes an available state after satisfying the expression (2).

도 9는 본 발명의 일 실시예에 따라 가용 노드 발생하지 않을 경우 태스크 할당부(30)가 잡 태스크를 처리하는 절차를 나타내는 흐름도이다.FIG. 9 is a flowchart illustrating a procedure for a task assignment unit 30 to process a task when an available node is not generated according to an embodiment of the present invention.

본 발명의 태스크 할당부(30)는 데드라인이 사용자가 정한 임계치를 초과하는 잡들 즉, 처리가 시급한 잡들이 존재함에도 불구하고 가용 노드가 발생하지 않을 경우 제출된 잡들 중 가장 시급하지 않은 잡의 태스크를 중지시키고, 중지된 노드에 처리가 시급한 태스크를 할당시켜 잡의 데드라인 실패율을 낮춘다. 이때, 가장 시급하지 않은 잡이란 사용자에 의해 제출된 잡들 중 데드라인과 예상완료시간의 차이가 가장 큰 잡을 의미한다. 가용 노드가 발생하지 않을 경우의 스케쥴링은 데드라인이 부여된 잡들 중 예상 완료 시간이 사용자가 정한 임계치 Tth이상 데드라인을 초과해 버린 잡들이 존재함에도 불구하고 가용 노드가 발생하지 않는 경우를 의미한다. 이하, 사용자가 정한 임계치 Tth이상 데드라인을 초과해 버린 잡을 데드라인을 초과하는 잡이라고 명시한다. 이 경우, 새로운 가용 노드가 발생 할 때까지 대기하게 되면 임계치를 초과한 잡 뿐만 아니라, 긴급 큐에 존재하는 처리가 시급한 잡들의 완료 시간 또한 지연된다. 이를 해결하기 위해, 본 발명의 태스크 할당부(30)는 클러스터 내의 노드들에 이미 할당되어 있는 시급하지 않은 잡 태스크들을 이용한다.The task assigning unit 30 of the present invention assigns tasks whose job deadlines exceed the threshold set by the user, that is, when the available nodes do not occur despite the existence of urgent jobs, And assigns an urgent task to the suspended node, thereby lowering the deadline failure rate of the job. At this time, the most urgent job means the job which has the largest difference between the deadline and the estimated completion time among the jobs submitted by the user. Scheduling in the case where no available node occurs does not mean that the available node does not occur even though there is a job whose estimated completion time exceeds the deadline equal to or greater than the threshold T th defined by the user . Hereinafter, the job exceeding the deadline equal to or higher than the threshold T th defined by the user is specified as a job exceeding the deadline. In this case, when waiting for a new available node to occur, not only the job exceeding the threshold but also the completion time of urgent jobs in the urgent queue are delayed. In order to solve this problem, the task assignment unit 30 of the present invention uses non-urgent task tasks already allocated to nodes in the cluster.

도 9를 참조하여 구체적으로 설명하면, 먼저 태스크 할당부(30)가 데드라인을 초과하는 잡을 감지하면 현재 가용 노드의 존재 여부를 판단한다. 만약 가용 노드가 존재하면, 태스크 할당부(30)는 도 5에서 설명된 바와 같이 가용 노드가 발생 할 때의 스케쥴링을 실시한다. 가용 노드가 존재하지 않다면, 태스크 할당부(30)는 데드라인을 초과하는 잡을 처리하기 위해 필요한 데이터가 존재하는 노드들을 검색한다(S210). 다음으로, 현재 클러스터 내의 노드에서 잡 태스크가 할당되어 처리되고 있는 잡들 중 가장 시급하지 않은 즉, 잡 예상 완료 시간 Tp와 데드라인 Td와의 차가 가장 큰 잡을 검색한다(S220). 검색이 완료되어 가장 시급하지 않은 잡이 선택되면 데드라인을 초과하는 잡의 데이터 지역성을 만족하는 노드들 중에 가장 시급하지 않은 잡의 태스크가 할당되어 있는지 확인한다(S230). 데드라인을 초과하는 잡의 데이터 지역성을 만족하는 노드들 중 가장 시급하지 않은 잡의 태스크가 할당되어 있는 노드가 검색되면 해당 노드에 할당되어 있던 가장 시급하지 않은 잡의 태스크들을 잠시 중단시킨다(S240). 그 후 해당 슬롯에 데드라인을 초과하는 잡 태스크를 할당한다(S260). 만약 검색된 노드들 중 가장 시급하지 않은 잡의 태스크가 존재하지 않는 경우, 해당 잡을 제외하고(S240) 단계 S220으로 돌아가 다음으로 시급하지 않은 잡을 검색한다. 그리고, 재검색된 잡을 기준으로 다시 진행된 시간이 가장 짧은 태스크가 존재하는 노드를 찾아 태스크를 잠시 중단시킨다.More specifically, referring to FIG. 9, if the task allocation unit 30 detects a job exceeding the deadline, it is determined whether the current available node exists. If an available node exists, the task allocation unit 30 performs scheduling when the available node occurs as described with reference to FIG. If there is no available node, the task allocation unit 30 searches for nodes having data necessary for processing a job that exceeds the deadline (S210). Next, the search that is now the least urgent japdeul of being processed is a job task assigned by the node in the cluster, a job estimated completion time difference between T p and T d deadline catch greatest (S220). If a search is completed and a job that is not the most urgent is selected, it is checked whether the task having the least urgent job among the nodes satisfying the data locality of the job exceeding the deadline is allocated (S230). When a node to which a task of the least urgent job is assigned among the nodes satisfying the data locality of the job exceeding the deadline is searched, the most urgent job tasks allocated to the node are temporarily stopped (S240) . Thereafter, a task exceeding the deadline is allocated to the corresponding slot (S260). If there is no job of the most urgent job among the retrieved nodes, the job is excluded (S240), and the process returns to step S220 to search for an urgent job. Then, the task is temporarily stopped by searching for the node having the shortest running time based on the re-searched job.

도 10은 긴급 큐에 잡이 존재하고 잡의 예상 완료 시간이 데드라인을 초과하는 즉, 처리가 가장 시급한 잡이 존재함에도 불구하고 가용 슬롯을 발생시키는 노드가 없을 경우의 스케쥴링을 나타내는 그림이다. 총 5개의 제출된 잡들 중 job 4와 job 5만이 처리가 시급한 잡이며, 그 중 job 5는 데드라인을 초과하는 잡으로 가정한다. 스케쥴링의 최우선 순위로서 job 5의 태스크가 할당되어야 하지만 모든 노드들의 슬롯이 태스크 수행을 진행 중인 상태이기 때문에 가용 노드가 발생하지 않는다. 이 경우, 시급하지 않은 잡들 중 예상 완료 시간과 데드라인의 차가 가장 큰, 즉 가장 시급하지 않은 job 2를 찾는다. 그 후, 스케쥴러는 가장 시급한 job 5의 데이터 지역성을 만족하는 노드들을 검색하고, 검색된 노드들 중 job 2의 태스크가 존재하는 노드를 검색한다. 노드 3이 선택 되었다. 만약 job 2의 태스크가 처리 진행 중인 노드가 다수 존재할 경우, 가장 진행된 시간이 짧은 태스크가 존재하는 노드를 선택한다. 선택된 노드 3에서 job 2의 태스크인 태스크 1 및 태스크 2를 잠시 중단시키고 처리가 가장 시급한 job 5의 태스크 할당을 나타낸다.
10 is a diagram illustrating scheduling when there is a job in the emergency queue and the expected completion time of the job exceeds the deadline, that is, when there is no job generating slot even though there is a job most urgent to process. Of the five submitted jobs, only job 4 and job 5 are urgent jobs, of which job 5 is assumed to be in excess of the deadline. As the highest priority of scheduling, task 5 should be assigned, but the available nodes do not occur because all the nodes' slots are in the process of task execution. In this case, job 2 having the largest difference between the estimated completion time and the deadline among non-urgent jobs is searched for, which is the most urgent job 2. Then, the scheduler searches nodes that satisfy the data locality of the most urgent job 5, and searches for the node where the task of job 2 exists among the retrieved nodes. Node 3 was selected. If there are a large number of nodes in the job 2 in progress, the node with the shortest running time is selected. Task 1 and task 2, which are tasks of job 2, are temporarily stopped at the selected node 3, and the task allocation of job 5, which is the most urgent task, is shown.

이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the invention.

10 : 잡 트래커
20 : 스케쥴러
21 : 지연 큐
22 : 긴급 큐
30 : 태스크 할당부
31 : 스케쥴러 선택부
32 : 스케쥴링 처리부
40 : 노드
10: Job Tracker
20: Scheduler
21: delay queue
22: Emergency queue
30: Task assigning unit
31: scheduler selection unit
32: Scheduling processor
40: node

Claims (9)

제출된 모든 잡(job)들을 관리하기 위한 지연 큐(delay queue)와 데드라인 관리가 필요한 잡을 다루는 긴급 큐(urgent queue)를 포함하는 스케쥴러,
가용 노드가 존재하는 경우, 시급한 잡의 존재 여부, 데이터 지역성 만족 여부, 노드의 I/O 부하 존재 여부를 고려하여 잡 태스크를 할당하고, 가용 노드가 존재하지 않는 경우, 가장 시급하지 않은 잡을 검색하고 상기 가장 시급하지 않은 잡의 태스크를 지연시켜 시급한 잡 태스크를 할당하는 태스크 할당부 및
상기 태스크 할당부에 태스크 할당을 요청하는 하나 이상의 노드들을 포함하며,
상기 가용 노드가 존재하는 경우 잡 태스크를 할당하는 단계는, 상기 태스크 할당부가:
⒜ 긴급 큐에 잡이 존재하는지 판단하는 단계,
⒝ 상기 긴급 큐에 잡이 존재하면, 상기 가용 노드가 데이터 지역성을 만족하는지 여부를 판단하는 단계,
⒞ 상기 ⒝단계 판단 결과, 상기 데이터 지역성을 만족하면, 상기 가용 노드에 부하가 존재하는지 여부를 판단하는 단계 및
⒟ 상기 ⒝단계 판단 결과, 상기 데이터 지역성을 만족하지 않으면, 복제본 노드를 검색하여 상기 복제본 노드에 부하가 존재하는지 여부를 판단하는 단계를 포함하는 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 시스템.
A scheduler including a delay queue for managing all submitted jobs and an urgent queue for handling jobs requiring deadline management,
When there is an available node, a job task is allocated in consideration of the presence of an urgent job, satisfaction of data locality, existence of an I / O load of the node, and if there is no available node, A task assigning unit for delaying a task of the most urgent job and assigning an urgent job task;
And one or more nodes requesting assignment of tasks to the task assigning unit,
Wherein when the available node exists, the step of assigning the task comprises:
(A) judging whether a job exists in the emergency queue,
(B) if the job is present in the emergency queue, determining whether the available node satisfies data locality;
Determining whether a load exists in the available node if the data locality is satisfied as a result of step (b); and
Determining whether a load exists in the replica node by searching for a replica node if the data locality is not satisfied as a result of the determination in step (b); and Scheduling system.
청구항 제1항에서,
상기 스케쥴러는, 상기 지연 큐에 제출된 잡을 데드라인 Td와 예상 완료시간 Tp의 차이 Tth가 사용자가 정한 임계값 ε이하가 될 경우 상기 긴급 큐에 등록하는, 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 시스템.
The method according to claim 1,
Wherein the scheduler registers the job submitted to the delay queue in the emergency queue when the difference T th between the deadline T d and the expected completion time T p becomes equal to or less than a threshold ε determined by the user, A Maple Deuce Scheduling System for Improving Processing Performance.
청구항 제1항에서,
상기 태스크 할당부는,
상기 긴급 큐에 상기 데드라인 내에 잡 수행이 완료되지 못할 것으로 예상되는 처리가 시급한 잡들이 존재하는 경우, 해당 잡을 상기 지연 큐로 관리되는 모든 잡들보다 먼저 가용 슬롯에 할당하는, 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 시스템.
The method according to claim 1,
The task assigning unit,
Assigning a job to an available slot prior to all the jobs managed by the delay queue when there are urgent jobs expected to fail job execution in the deadline in the emergency queue; A Maple Deuce Scheduling System for Improving Processing Performance.
가용 슬롯이 발생한 노드가 태스크 할당부에 처리할 태스크를 요청하면, 태스크 할당부가 가용 노드가 존재하는지 여부를 판단하는 단계 및
상기 판단 결과 가용 노드가 존재하는 경우, 상기 태스크 할당부가 시급한 잡의 존재 여부, 데이터 지역성 만족 여부, 노드의 I/O 부하 존재 여부를 고려하여 잡 태스크를 할당하고, 가용 노드가 존재하지 않는 경우, 상기 태스크 할당부가 가장 시급하지 않은 잡을 검색하고 상기 가장 시급하지 않은 잡의 태스크를 지연시켜 시급한 잡 태스크를 할당하는 단계를 포함하며,
상기 가용 노드가 존재하는 경우 잡 태스크를 할당하는 단계는, 상기 태스크 할당부가:
⒜ 긴급 큐에 잡이 존재하는지 판단하는 단계,
⒝ 상기 긴급 큐에 잡이 존재하면, 상기 가용 노드가 데이터 지역성을 만족하는지 여부를 판단하는 단계,
⒞ 상기 ⒝단계 판단 결과, 상기 데이터 지역성을 만족하면, 상기 가용 노드에 부하가 존재하는지 여부를 판단하는 단계 및
⒟ 상기 ⒝단계 판단 결과, 상기 데이터 지역성을 만족하지 않으면, 복제본 노드를 검색하여 상기 복제본 노드에 부하가 존재하는지 여부를 판단하는 단계를 포함하는 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 방법.
Determining whether the task allocating unit has an available node when the node having an available slot requests a task to be processed by the task allocating unit;
As a result of the determination, when the available node exists, the task allocator allocates a job task in consideration of the existence of an urgent job, whether data locality is satisfied, whether there is an I / O load of the node, Wherein the task assigning unit searches for the most urgent job and delays the task of the least urgent job to assign an urgent job task,
Wherein when the available node exists, the step of assigning the task comprises:
(A) judging whether a job exists in the emergency queue,
(B) if the job is present in the emergency queue, determining whether the available node satisfies data locality;
Determining whether a load exists in the available node if the data locality is satisfied as a result of step (b); and
Determining whether a load exists in the replica node by searching for a replica node if the data locality is not satisfied as a result of the determination in step (b); and Scheduling method.
삭제delete 청구항 제4항에서,
⒠ 상기 ⒞단계 판단 결과, 상기 가용 노드에 부하가 존재하면, 복제본 노드를 검색하여 상기 복제본 노드에 부하가 존재하는지 판단하는 단계,
⒡ 상기 ⒠단계 판단 결과, 상기 복제본 노드에 부하가 존재하면, 상기 가용 노드의 태스크들 중 데드라인 여유가 있는 태스크들을 모두 정지하고 상기 가용 노드에 상기 긴급 큐의 잡을 할당하는 단계를 포함하는, 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 방법.
The method of claim 4,
If it is determined that there is a load in the available node, determining whether a load exists in the replica node by searching the replica node,
And stopping all of the tasks having a deadline margin among the tasks of the available node and allocating the job of the emergency queue to the available node if a load exists in the replica node as a result of the determining step A method of scheduling de - duplication for improving distributed processing performance of a line - assigned task.
청구항 제6항에서,
상기 데드라인 여유가 있는 태스크는, 하기 수식 1을 만족하는 태스크인, 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 방법.
(수식 1)
Figure 112014122178785-pat00005

단, Tth는 미리 결정된 임계치, Td는 잡에 부여된 데드라인, TP는 잡의 예상 완료 시간, Tio는 하나의 데이터 청크를 I/O(Input/Output)하는 평균 시간이다.
The method of claim 6,
Wherein the task having the deadline margin is a task satisfying the following expression (1): &quot; (1) &quot;
(Equation 1)
Figure 112014122178785-pat00005

Where T th is a predetermined threshold, T d is the deadline assigned to the job, T P is the estimated completion time of the job, and T io is the average time to input / output one data chunk.
청구항 제4항에서,
⒢ 상기 ⒟단계 판단 결과, 상기 복제본 노드에 부하가 존재하지 않으면, 상기 복제본 노드에서 잡을 처리하고, 상기 복제본 노드에 부하가 존재하면, 상기 복제본 노드가 가용 상태가 될 때까지 대기할 것인지 여부를 판단하는 단계,
⒣ 상기 ⒢단계 판단 결과, 상기 복제본 노드가 가용 상태가 될 때까지 대기하지 않을 것으로 판단되면, 상기 복제본 노드에서 잡을 처리하고, 상기 복제본 노드가 가용 상태가 될 때까지 대기할 것으로 판단되면, 상기 ⒞단계로 진행하는 단계를 포함하는, 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 방법.
The method of claim 4,
If it is determined that there is no load on the replica node as a result of the determination, the replica node processes the job, and if there is a load on the replica node, determines whether to wait until the replica node becomes available ,
If it is determined that the replica node will not wait until the replica node becomes available as a result of the determining step, if it is determined that the replica node will wait for the replica node to become available, Wherein the scheduling method further includes a step of performing a scheduling process for the scheduling task to improve the distributed processing performance of the deadline-assigned task.
청구항 제8항에서,
상기 복제본 노드가 가용 상태가 될 때까지 대기할 것이지 여부는,
하기 수식 2, 수식 3, 수식 4를 이용하여 수식 2를 만족하는 경우, 상기 복제본 노드가 가용 상태가 될 때까지 대기할 것으로 판단하고, 수식 2를 불만족하는 경우, 상기 복제본 노드가 가용 상태가 될 때까지 대기하지 않을 것으로 판단하는, 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 방법.
(수식 2)
Figure 112014122178785-pat00006

(수식 3)
Figure 112014122178785-pat00007

(수식 4)
Figure 112014122178785-pat00008

단, Twx는 필요한 데이터를 가진 노드가 가용 노드가 될 때까지 대기하여 해당 노드에서 태스크를 처리할 경우 태스크 예상 완료 시간, Tp는 필요한 데이터를 가진 노드가 가용 슬롯이 생기는 평균 주기, Tio는 청크 하나를 I/O하는데 소비되는 평균 시간, Tex는 해당 잡의 태스크를 실행하는데 소요되는 평균 시간, Ttx는 필요한 데이터를 복제본 노드에서 기존 가용 노드로 전송하여 수행할 경우의 태스크 예상 완료 시간, Ttrans는 청크 하나를 네트워크로 전송하는 평균 전송 시간이다.
The method of claim 8,
Whether or not the replica node will wait until it becomes available,
The replica node is determined to wait until the replica node becomes usable, and if the replica node is unsatisfied, the replica node becomes available A method for scheduling deferred scheduling for improving distributed processing performance of a deadline-assigned task, which is determined not to wait until the deadline.
(Equation 2)
Figure 112014122178785-pat00006

(Equation 3)
Figure 112014122178785-pat00007

(Equation 4)
Figure 112014122178785-pat00008

T wx is the expected period of completion of task when the node is waiting for the node having the necessary data to become an available node and processing the task at the corresponding node, T p is the average period in which the node having the necessary data generates available slots, T io Is the average time spent in I / O for one chunk, T ex is the average time taken to execute the task of the job, and T tx is the expected completion of task when the necessary data is transferred from the replica node to the existing available node Time, T trans is the average transmission time for transmitting one chunk to the network.
KR1020140181507A 2014-12-16 2014-12-16 System and Method for MapReduce Scheduling to Improve the Distributed Processing Performance of Deadline Constraint Jobs KR101595967B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140181507A KR101595967B1 (en) 2014-12-16 2014-12-16 System and Method for MapReduce Scheduling to Improve the Distributed Processing Performance of Deadline Constraint Jobs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140181507A KR101595967B1 (en) 2014-12-16 2014-12-16 System and Method for MapReduce Scheduling to Improve the Distributed Processing Performance of Deadline Constraint Jobs

Publications (1)

Publication Number Publication Date
KR101595967B1 true KR101595967B1 (en) 2016-02-22

Family

ID=55445566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140181507A KR101595967B1 (en) 2014-12-16 2014-12-16 System and Method for MapReduce Scheduling to Improve the Distributed Processing Performance of Deadline Constraint Jobs

Country Status (1)

Country Link
KR (1) KR101595967B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190045001A (en) * 2017-10-23 2019-05-02 삼성전자주식회사 Method for processing a delayed task and electronic device implementing the same
CN109799991A (en) * 2017-11-16 2019-05-24 中标软件有限公司 Compilation of source code method and system based on MapReduce frame distributed computing environment
KR20210086797A (en) * 2019-12-30 2021-07-09 한양대학교 에리카산학협력단 Method for scheduling a task using multi-node and apparatus thereof
KR20230154639A (en) 2022-05-02 2023-11-09 부경대학교 산학협력단 Ai-based work scheduling device for textile production equipment and work scheduling method using it

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330799A (en) * 1999-05-21 2000-11-30 Casio Comput Co Ltd Job processor and storage medium
JP2002342097A (en) * 2001-05-17 2002-11-29 Matsushita Electric Ind Co Ltd Task allocatable time deciding device and task allocatable time deciding method
KR101343020B1 (en) * 2005-11-15 2013-12-18 소니 컴퓨터 엔터테인먼트 인코포레이티드 Task allocation method and task allocation apparatus
KR101411563B1 (en) * 2013-11-01 2014-06-25 한국과학기술정보연구원 Distributed processing system based on resource locality and distributed processing method thereof
KR101432751B1 (en) 2012-12-18 2014-08-22 서강대학교산학협력단 Load balancing method and system for hadoop MapReduce in the virtual environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330799A (en) * 1999-05-21 2000-11-30 Casio Comput Co Ltd Job processor and storage medium
JP2002342097A (en) * 2001-05-17 2002-11-29 Matsushita Electric Ind Co Ltd Task allocatable time deciding device and task allocatable time deciding method
KR101343020B1 (en) * 2005-11-15 2013-12-18 소니 컴퓨터 엔터테인먼트 인코포레이티드 Task allocation method and task allocation apparatus
KR101432751B1 (en) 2012-12-18 2014-08-22 서강대학교산학협력단 Load balancing method and system for hadoop MapReduce in the virtual environment
KR101411563B1 (en) * 2013-11-01 2014-06-25 한국과학기술정보연구원 Distributed processing system based on resource locality and distributed processing method thereof

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190045001A (en) * 2017-10-23 2019-05-02 삼성전자주식회사 Method for processing a delayed task and electronic device implementing the same
KR102408961B1 (en) 2017-10-23 2022-06-13 삼성전자주식회사 Method for processing a delayed task and electronic device implementing the same
CN109799991A (en) * 2017-11-16 2019-05-24 中标软件有限公司 Compilation of source code method and system based on MapReduce frame distributed computing environment
CN109799991B (en) * 2017-11-16 2022-03-18 中标软件有限公司 Source code compiling method and system based on MapReduce framework distributed computing environment
KR20210086797A (en) * 2019-12-30 2021-07-09 한양대학교 에리카산학협력단 Method for scheduling a task using multi-node and apparatus thereof
KR102285963B1 (en) * 2019-12-30 2021-08-05 한양대학교 에리카산학협력단 Method for scheduling a task using multi-node and apparatus thereof
KR20230154639A (en) 2022-05-02 2023-11-09 부경대학교 산학협력단 Ai-based work scheduling device for textile production equipment and work scheduling method using it

Similar Documents

Publication Publication Date Title
US11243805B2 (en) Job distribution within a grid environment using clusters of execution hosts
US9916183B2 (en) Scheduling mapreduce jobs in a cluster of dynamically available servers
US8924977B2 (en) Sequential cooperation between map and reduce phases to improve data locality
KR100420421B1 (en) Method, system and program products for managing logical processors of a computing environment
KR100419680B1 (en) Processing channel subsystem pending i/o work queues based on priorities
CA2382017C (en) Workload management in a computing environment
KR100420419B1 (en) Method, system and program products for managing groups of partitions of a computing environment
KR101644800B1 (en) Computing system and method
US20200174844A1 (en) System and method for resource partitioning in distributed computing
US11311722B2 (en) Cross-platform workload processing
JP5121936B2 (en) RESOURCE ALLOCATION DEVICE, RESOURCE ALLOCATION PROGRAM, RECORDING MEDIUM, AND RESOURCE ALLOCATION METHOD
KR101471749B1 (en) Virtual machine allcoation of cloud service for fuzzy logic driven virtual machine resource evaluation apparatus and method
KR101595967B1 (en) System and Method for MapReduce Scheduling to Improve the Distributed Processing Performance of Deadline Constraint Jobs
EP2875429A2 (en) Domain-agnostic resource allocation framework
JP6519111B2 (en) Data processing control method, data processing control program and data processing control device
US20070195356A1 (en) Job preempt set generation for resource management
GB2584980A (en) Workload management with data access awareness in a computing cluster
US20200125516A1 (en) Input/output command rebalancing in a virtualized computer system
CN114168302A (en) Task scheduling method, device, equipment and storage medium
US20150365474A1 (en) Computer-readable recording medium, task assignment method, and task assignment apparatus
Kostenko Combinatorial optimization algorithms combining greedy strategies with a limited search procedure
US10430233B1 (en) Scheduling computational tasks among multiple classes of storage resources based on job classification
Ru et al. Providing fairer resource allocation for multi-tenant cloud-based systems
CN106537321A (en) Method and device for accessing file, and storage system
CN114896070A (en) GPU resource allocation method for deep learning task

Legal Events

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

Payment date: 20200214

Year of fee payment: 5