[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20150089665A - 워크플로우 작업 스케줄링 장치 - Google Patents

워크플로우 작업 스케줄링 장치 Download PDF

Info

Publication number
KR20150089665A
KR20150089665A KR1020140010564A KR20140010564A KR20150089665A KR 20150089665 A KR20150089665 A KR 20150089665A KR 1020140010564 A KR1020140010564 A KR 1020140010564A KR 20140010564 A KR20140010564 A KR 20140010564A KR 20150089665 A KR20150089665 A KR 20150089665A
Authority
KR
South Korea
Prior art keywords
priority
workflow
task
present
job
Prior art date
Application number
KR1020140010564A
Other languages
English (en)
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 KR1020140010564A priority Critical patent/KR20150089665A/ko
Publication of KR20150089665A publication Critical patent/KR20150089665A/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 시스템의 자원 이용률을 높여 워크플로우 처리량을 높일 수 있는 워크플로우 작업 스케줄링 장치에 관한 것으로, 본 발명의 일 실시 예에 따른 워크플로우 작업 스케줄링 장치는, 워크플로우 작성부에 의해 작성된 작업이 할당되는 작업 큐를 포함하는 작업 스케줄러; 작업에 대한 우선순위가 저장되어 있는 우선순위 결정 테이블; 및 상기 우선순위 결정 테이블에 저장된 우선순위에 따라 상기 작업 큐의 순서를 변경하는 우선순위 변환부를 포함한다.

Description

워크플로우 작업 스케줄링 장치{Appratus for workflow job scheduling}
본 발명은 워크플로우 작업 스케줄링 장치에 관한 것으로, 상세하게는 시스템의 자원 이용률을 높여 워크플로우 처리량을 높일 수 있는 워크플로우 작업 스케줄링 장치에 관한 것이다.
기존의 슈퍼 컴퓨터, 고성능 클러스터 등 다양한 형태의 컴퓨팅 자원 환경하에서, 사람을 대신하여 대규모 데이터를 처리하는 과학 연산 작업, 또는 여러 단계의 작업 간 종속성이 존재하는 복잡한 작업들을 일괄 실행하기 위해서, 워크플로우(workflow) 관리 시스템, 자원 관리 시스템, 및 작업 스케줄러 등을 활용하여 왔다.
워크플로우 관리 시스템은, 대체로 사용자 친화적인 사용자 인터페이스(User Interface)를 통해 일련의 작업들이 연관성을 가지고 연결되는 워크플로우를 작성하고, 작성된 워크플로우를, 고성능 컴퓨터, 그리드, 및 웹 서비스 등 다양한 컴퓨팅 자원을 연동하여 실행하고 결과를 보고하는 소프트웨어 시스템이다. 종래 워크플로우 관리 시스템으로는 타베르나(Taverna), 갤럭시(Galaxy), 및 케플러(Kepler) 등이 있다.
자원 관리 시스템은, 고성능컴퓨터 또는 클러스터에 대한 컴퓨팅 자원의 관리 및 작업의 일괄 실행 등을 처리하는 소프트웨어 시스템으로, PBS(Portable Batch System) 계열의 OpenPBS, TORQEU, PBS pro가 있고 그 외에도 SLURM, Oracle Grid Engine 등이 있다. 대체로 FCFS(First-Come First-Served) 방식의 작업 스케줄링을 사용한다.
작업 스케줄러는 주로 자원관리 시스템과 연동하여 사용되는데, 작업 큐(Queue) 상의 작업들의 우선순위, 요구 자원량을 가용 자원의 종류 및 수량과 비교하여, 동적으로 실행순서를 바꾸어가면서 작업들을 실행하는 소프트웨어 시스템이다. 종래 기술로는 Maui, ALPS, LSF, Moab 등이 있다.
이런 작업 스케줄러에서 작업의 우선순위를 결정하는 방법은 일반적으로 FCFS(First Come First Service)의 기준으로 이루어진다. 이러한 작업 스케줄러를 이용하는 경우 주어진 작업 단위로 스케줄링을 고려할 뿐, 바이오 분석과 같은 작업 선후순위가 정해질 필요가 있는 워크플로우 단위의 스케줄링은 고려되지 않는다.
이런 경우, 워크플로우 안의 특정 작업이 병목지점이 되어 뒤에 들어온 워크플로우의 작업이 우선순위에 의해 실행되는 것을 방해함으로써 전체적인 처리량을 저하시키는 경우가 발생한다.
따라서, 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명의 목적은, 시스템의 자원 이용률을 높여 워크플로우 처리량을 높일 수 있는 워크플로우 작업 스케줄링 장치를 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 워크플로우 작업 스케줄링 장치는, 워크플로우 작성부에 의해 작성된 워크플로우 내의 작업이 할당되는 작업 큐를 포함하는 작업 스케줄러; 작업에 대한 우선순위가 저장되어 있는 우선순위 결정 테이블; 및 상기 우선순위 결정 테이블에 저장된 우선순위에 따라 상기 작업 큐의 순서를 변경하는 우선순위 변환부를 포함한다.
상기 우선순위 결정 테이블에 저장되는 작업 우선순위는 작업 실행시 사용되는 자원의 중요도에 따라 결정될 수 있다.
이때, 상기 작업 실행시 사용되는 자원은 CPU 용량, 메모리 용량, I/O 할당량, 작업 소요 시간일 수 있다.
한편, 상기 워크플로우 작업 스케줄링 장치는 작업이 실행되는 동안 자원 사용 상태를 수집하는 실행자원 수집부를 더 포함할 수 있다.
이때, 상기 우선순위 결정 테이블은 상기 실행자원 수집부에 의해 수집된 자원 사용 상태에 따라 작업의 우선순위를 변경한다.
또한, 상기 워크플로우 작업 스케줄링 장치는 상기 워크플로우 내의 작업 간의 순서를 지정하는 사전 우선순위 결정부를 더 포함할 수 있다.
이때, 상기 사전 우선순위 결정부는 우선순위 테이블을 저장하고 있고, 상기 저장된 우선순위 테이블에 따라 워크플로우 내의 작업 간의 우선순위를 지정할 수 있다.
또한, 상기 사전 우선순위 결정부는 상기 우선순위 결정 테이블을 참조하여, 워크플로우 내의 작업 간의 우선순위를 지정할 수 있다.
본 발명에 따른 워크플로우 작업 스케줄링 장치에 따르면, 작업 스케줄러를 통하여 동일한 워크플로우를 연속적으로 실행하는 환경에서 워크플로우 안의 작업의 우선순위를 자원 사용량의 추이를 통하여 가변적으로 변경할 수 있다.
따라서, 시스템의 자원 이용률을 높여 워크플로우 처리량을 높일 수 있다.
또한, 우선순위 결정 테이블의 작업의 우선순위는 작업의 자원 사용량의 변화에 따라 변경되므로, 작업의 자원 사용량의 변경에 대해 동적으로 작업의 우선순위를 변경할 수 있다.
도 1은 본 발명의 실시 예에 따른 워크플로우 작업 스케줄링 장치의 구성을 도시한 도면이다.
도 2는 본 발명의 실시 예에 따른 워크플로우 작업 스케줄링 장치의 우선순위 결정 테이블의 일 예의 구조이다.
도 3은 본 발명의 실시 예에 따른 워크플로우 작업 스케줄링 장치를 이용하여 워크플로우를 처리하는 일 예를 도시한 도면이다.
이하, 본 발명의 바람직한 실시 예를 첨부된 도면들을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 실시 예에 따른 워크플로우 작업 스케줄링 장치의 구성을 도시한 도면이고, 도 2는 본 발명의 실시 예에 따른 워크플로우 작업 스케줄링 장치의 우선순위 결정 테이블의 일 예의 구조이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 워크플로우 작업 스케줄링 장치는 워크플로우 작성부(110), 작업 스케줄러(120), 우선순위 변환부(130), 우선순위 결정 테이블(140), 실행자원 수집부(150) 및 사전 우선순위 결정부(160)를 포함한다.
상기 워크플로우 작성부(110)에 의해 작성된 작업은 우선순위에 따라 작업 스케줄러(120)의 작업 큐(121)에 할당되며, 각각의 작업 큐(121)는 우선순위가 할당되어 있다.
상기 작업 스케줄러(120)는 자원이 가용한 만큼의 작업을 우선순위에 따라 실행시킨다.
상기 우선순위 변환부(130)는 상기 우선순위 결정 테이블(140)을 참조하여, 상기 작업 스케줄러(120) 내의 작업 큐(121)의 순서를 변경한다.
도 2를 참조하면, 상기 우선순위 결정 테이블(140)에는 작업 및 각 작업에 대한 우선순위가 저장되어 있으며, 작업의 우선순위는 작업 실행 시 사용되는 자원의 중요도에 따라 결정되며, 이때, 작업의 우선순위를 결정하는 데 사용되는 자원은 작업을 실행하는데 사용되는 CPU의 용량, 메모리 용량, I/O 할당량, 작업 소요 시간 등일 수 있다.
한편, 작업이 실행되는 경우, 작업을 실행하는데 사용되는 자원 사용량은 일정하지 않고 변할 수 있다.
상기 실행자원 수집부(150)는 작업이 실행되는 동안 자원 사용 상태를 수집하고, 수집된 자원 사용 상태는 상기 우선순위 결정 테이블(140)로 전송된다.
상기 우선순위 결정 테이블(140)은 상기 실행자원 수집부(150)로부터 전송된 자원 사용 상태에 따라 기 저장된 자원 사용량을 변경하는 한편, 변경된 자원 사용량을 바탕으로 작업의 우선순위를 변경한다.
수집된 자원 사용 상태는 평균이나 최대값 등이 될 수 있으며, 보다 복잡한 통계적인 방법을 통한 대표값일 수 있다.
따라서, 실행자원 수집부(150)에 의해 수집된 자원 사용 상태를 상기 우선순위 결정 테이블(140)에 동적으로 반영함으로써, 작업의 우선순위 변경의 유효성을 높일 수 있다.
상기 작업 스케줄러(120)는 다양한 형태로 구현될 수 있으며, 따라서, 상기 우선순위 변환부(130)의 접근이 허용되지 않아, 상기 우선순위 변환부(130)에 의한 작업 우선순위 변경이 이루어지지 않는 경우도 발생할 수 있다.
상기 사전 우선순위 결정부(160)는 상기 우선수위 변환부(130)의 접근이 허용되지 않는 작업 스케줄러(120)와 함께 적용되는 우선순위 변환부(130)를 대신하기 위한 것으로, 워크플로우 내의 작업 간의 우선순위를 지정한다.
이때, 상기 사전 우선순위 결정부(160)는 도 2와 같은 구조를 갖는 우선순위 테이블이 저장되어 있어, 상기 사전 우선순위 결정부(160)는 저장된 우선순위 테이블에 따라 워크플로우 내의 작업 간의 우선순위를 지정할 수 있다.
또한, 상기 사전 우선순위 결정부(160)는 상기 우선순위 결정 테이블(140)을 참조하여, 워크플로우 내의 작업 간의 우선순위를 지정할 수 있다.
즉, 상기 우선순위 변환부(130)는 상기 작업 스케줄러(120) 내의 작업 큐(121)의 순서를 상기 우선순위 결정 테이블(140)을 참조하여 변경함으로써 작업의 우선순서를 변경하나, 상기 사전 우선순위 결정부(160)는 작업이 상기 작업 스케줄러(120) 내에 할당되기 전에 상기 우선순위 결정 테이블(140)을 참조하여 작업의 우선순서를 지정한다.
SLURM과 같은 작업 스케줄러를 사용하는 경우, SLURM이 제공하는 스케줄러 API를 통해서 본 발명에서 제안한 우선순위 변환부와 우선순위 결정 테이블을 이용하도록 하는 스케줄러를 작성하거나, 또는 SURM에서 제공하는 작업 우선순위 변경 명령어(scontrol)를 통해 작업 큐의 작업들의 우선순위를 변경할 수 있다.
도 3은 본 발명의 실시 예에 따른 워크플로우 작업 스케줄링 장치를 이용하여 워크플로우를 처리하는 일 예를 도시한 도면이다.
도 3와 같이 동일한 2개의 워크플로우를 워크플로우1이 처리되고, 워크플로우2가 처리되는 것으로 가정하는 경우, 기존 FCFS 정책을 선택하고 있는 작업 스케줄러에서는 도 3의 워크플로우를 처리하려고 할 때, A1→B1→C1→D1→A2→B2→C2→D2의 순으로 실행된다. 선후순위를 지원하는 스케줄러에서는 자원이 가용한 경우에 A1과 A2가 동시에 수행되기도 한다.
하지만, C1 작업과 B2 작업이 다음과 같은 자원을 필요로 하는 경우를 살펴보자.
작업을 수행하는 노드가 16개의 CPU 코어를 가지고 있고, C1 작업이 필요로 하는 코어의 수는 8이고, B2 작업이 필요로 하는 코어의 수가 9라고 하면, 선후의존성이 해결된 C1 작업과 B2 작업 중에 선택할 작업은 당연히 우선순위에 의해 C1 작업이 된다. 하지만, 본 발명의 실시 예에 따른 우선순위 결정 테이블에 의해서 B2 작업이 먼저 수행된다면, 이후 C1 작업과 C2 작업은 같이 수행될 수 있다.
즉, 기존 방법의 경우 B2 작업, C1 작업 및 C2 작업을 수행하는데 사용되는 시간은 (C1 작업 소요시간 + B2 작업 소요시간 + C2 작업 소요시간)이지만, 본 발명의 실시 예에 따른 방법의 경우에는 (B1 작업 소요시간 + Max(C1 작업 소요시간, C2 작업 소요시간))만이 필요하다.
이와 같은 본 발명에 따르면, 작업 스케줄러를 통하여 동일한 워크플로우를 연속적으로 실행하는 환경에서 워크플로우 안의 작업의 우선순위를 자원 사용량의 추이를 통하여 가변적으로 변경할 수 있다. 따라서, 시스템의 자원 이용률을 높여 워크플로우 처리량을 높일 수 있다.
또한, 우선순위 결정 테이블의 작업의 우선순위는 작업의 자원 사용량의 변화에 따라 변경되므로, 작업의 자원 사용량의 변경에 대해 동적으로 작업의 우선순위를 변경할 수 있다.
한편, 본 발명에 따른 워크플로우 작업 스케줄링 장치를 실시 예에 따라 설명하였지만, 본 발명의 범위는 특정 실시 예에 한정되는 것은 아니며, 본 발명과 관련하여 통상의 지식을 가진 자에게 자명한 범위 내에서 여러 가지의 대안, 수정 및 변경하여 실시할 수 있다.
따라서, 본 발명에 기재된 실시 예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
110 : 워크플로우 작성부 120 : 작업 스케줄러
130 : 우선순위 변환부 140 : 우선순위 결정 테이블
150 : 실행자원 수집부 160 : 사전 우선순위 결정부

Claims (1)

  1. 워크플로우 작업 스케줄링 장치에 있어서,
    워크플로우 작성부에 의해 작성된 작업이 할당되는 작업 큐를 포함하는 작업 스케줄러;
    작업에 대한 우선순위가 저장되어 있는 우선순위 결정 테이블; 및
    상기 우선순위 결정 테이블에 저장된 우선순위에 따라 상기 작업 큐의 순서를 변경하는 우선순위 변환부;
    를 포함하는 워크플로우 작업 스케줄링 장치.
KR1020140010564A 2014-01-28 2014-01-28 워크플로우 작업 스케줄링 장치 KR20150089665A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140010564A KR20150089665A (ko) 2014-01-28 2014-01-28 워크플로우 작업 스케줄링 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140010564A KR20150089665A (ko) 2014-01-28 2014-01-28 워크플로우 작업 스케줄링 장치

Publications (1)

Publication Number Publication Date
KR20150089665A true KR20150089665A (ko) 2015-08-05

Family

ID=53886065

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140010564A KR20150089665A (ko) 2014-01-28 2014-01-28 워크플로우 작업 스케줄링 장치

Country Status (1)

Country Link
KR (1) KR20150089665A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170062235A (ko) * 2015-11-27 2017-06-07 삼성에스디에스 주식회사 서비스 처리 시스템 및 방법
US10601905B2 (en) 2018-07-20 2020-03-24 Red Hat Israel, Ltd. Priority switching based on resource usage patterns
CN112783123A (zh) * 2020-12-30 2021-05-11 北京理工大学 一种工作流调度执行单元控制方法和控制器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170062235A (ko) * 2015-11-27 2017-06-07 삼성에스디에스 주식회사 서비스 처리 시스템 및 방법
US10601905B2 (en) 2018-07-20 2020-03-24 Red Hat Israel, Ltd. Priority switching based on resource usage patterns
CN112783123A (zh) * 2020-12-30 2021-05-11 北京理工大学 一种工作流调度执行单元控制方法和控制器
CN112783123B (zh) * 2020-12-30 2021-11-19 北京理工大学 一种工作流调度执行单元控制方法和控制器

Similar Documents

Publication Publication Date Title
US10609129B2 (en) Method and system for multi-tenant resource distribution
US9513962B2 (en) Migrating a running, preempted workload in a grid computing system
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
CN107851039B (zh) 用于资源管理的系统和方法
US9563474B2 (en) Methods for managing threads within an application and devices thereof
US9973512B2 (en) Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time
US20200174844A1 (en) System and method for resource partitioning in distributed computing
CN114138486A (zh) 面向云边异构环境的容器化微服务编排方法、系统及介质
CN108123980B (zh) 一种资源调度方法及系统
WO2024021489A1 (zh) 一种任务调度方法、装置及Kubernetes调度器
US10983846B2 (en) User space pre-emptive real-time scheduler
CN114327843A (zh) 任务调度方法及装置
JP4912927B2 (ja) タスク割当装置、及びタスク割当方法
CN115168013A (zh) 一种任务运行系统、方法及计算设备
KR20150089665A (ko) 워크플로우 작업 스케줄링 장치
Shu-Jun et al. Optimization and research of hadoop platform based on fifo scheduler
Yang et al. Elastic executor provisioning for iterative workloads on apache spark
KR100790304B1 (ko) 자바 가상 머신과 운영 체제의 스케줄링 실행방법
KR20130112180A (ko) 모바일 멀티코어 가상화 시스템에서 실시간 처리를 보장하기 위한 스케쥴링 방법
Zouaoui et al. CPU scheduling algorithms: Case & comparative study
Ru et al. Providing fairer resource allocation for multi-tenant cloud-based systems
KR101639947B1 (ko) 하둡 선점 데드라인 제약 스케줄링 방법 및 그 방법을 수행하는 컴퓨터프로그램과, 그 프로그램이 기록된 매체
Walters et al. Enabling interactive jobs in virtualized data centers
Kheirollahpour et al. A heuristic-based task scheduling method for reducing waiting time in cloud environment
Patil et al. Review on a comparative study of various task scheduling algorithm in cloud computing environment

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination