KR101770191B1 - 자원 할당 방법 및 그 장치 - Google Patents

자원 할당 방법 및 그 장치 Download PDF

Info

Publication number
KR101770191B1
KR101770191B1 KR1020130010378A KR20130010378A KR101770191B1 KR 101770191 B1 KR101770191 B1 KR 101770191B1 KR 1020130010378 A KR1020130010378 A KR 1020130010378A KR 20130010378 A KR20130010378 A KR 20130010378A KR 101770191 B1 KR101770191 B1 KR 101770191B1
Authority
KR
South Korea
Prior art keywords
resource
execution
task
execution time
job
Prior art date
Application number
KR1020130010378A
Other languages
English (en)
Other versions
KR20140097815A (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 KR1020130010378A priority Critical patent/KR101770191B1/ko
Priority to CN201310248688.0A priority patent/CN103970606A/zh
Publication of KR20140097815A publication Critical patent/KR20140097815A/ko
Application granted granted Critical
Publication of KR101770191B1 publication Critical patent/KR101770191B1/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/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

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

Abstract

본 발명의 자원 할당 방법은, 작업 간의 선후 관계를 포함하는 스케줄링 정책을 바탕으로 실행하고자 하는 작업을 선정하는 과정과, 가용 자원의 상태 정보, 선행 작업의 서비스 실행 시간, 기 설정된 예측 실행 시간 및 선행 실행 임계치에 의거하여 상기 선정된 작업에 대해 가용한 필요 자원 또는 최적 자원을 결정하는 과정과, 상기 결정된 필요 자원 또는 최적 자원에 의거하여 상기 선정된 작업에 대한 자원을 할당하여 실행시키는 과정을 포함할 수 있다.

Description

자원 할당 방법 및 그 장치{RESOURCE ALLOCATION AND APPARATUS}
본 발명은 자원을 할당하는 기법에 관한 것으로, 더욱 상세하게는 분산 컴퓨팅 환경에서 파이프라인 형태의 작업들(jobs)로 구성되는 서비스를 수행하는데 적합한 자원 할당 방법 및 그 장치에 관한 것이다.
잘 알려진 바와 같이, 자원 관리 시스템(RMS : Resource Management System)은 클러스터 내 컴퓨팅 자원의 관리 및 사용자가 제출한 작업들(jobs)의 실행을 담당하는 시스템을 의미하는데, 현재 많이 사용되고 있는 자원 관리 시스템으로는 SLURM(Simple Linux Utility for Resource Management), TORQUE(Terascale Open-Source Resource and QUEue Manager), SGE(Sun Grid Engine) 등이 있다.
도 1은 종래의 전형적인 자원 관리 시스템의 구성도로서, 큐 관리자(102), 작업 스케줄러(104), 자원 관리자(106), 자원 할당 관리자(108), 자원(110) 등을 포함한다.
도 1을 참조하면, 큐 관리자(102)는 큐 관리자(102)는 사용자가 제출(submit)한 작업(job)을 받아들여 작업 스케줄러(104)에게 작업 실행 요청을 전달하는데, 사용자는 작업 제출 시 각 작업을 수행하기 위해 필요한 자원 요구를 설정(명시)해야 한다.
다음에, 작업 스케줄러(104)는 자원 관리자(106)로부터 자원의 상태 정보를 받아서 언제, 어느 컴퓨팅 자원을 사용하여 작업을 실행할지를 결정하며, 이를 통해 스케줄링 정책에 의해 클러스터를 구성하는 자원을 최적으로 이용할 수 있게 한다. 이를 위해 자원 관리자(106)는 가용한 자원의 상태 정보를 작업 스케줄러(104)에게 보고한다.
그리고, 자원 할당 관리자(108)는 작업 스케줄러(104)가 보내주는 수행해야 할 작업의 정보를 받아서 작업을 실행시킨다(Kalim Qureshi, Syed Munir Hussain Shah, Paul Manuel, “Empirical performance evaluation of schedulers for cluster of workstations,” Cluster Computing, Volume 14 Issue 2, June 2011 참조).
도 2는 종래 방법에 따라 선정된 작업에 자원을 할당하여 실행시키는 주요 과정을 도시한 순서도이다.
도 2를 참조하면, 종래의 자원 관리 시스템에서 사용자는 작업에 필요한 자원 정보, 예측된 실행 시간 등의 정보와 작업들 간의 실행 선후 관계를 설정(명시)할 수 있는데, 작업 간의 선후 관계를 포함하는 스케줄링 정책을 바탕으로 실행할 작업을 선정한다(단계 202).
실행을 위해 선정된 작업의 선행 작업을 검사하여(단계 204), 선행 작업이 존재하는 지의 여부를 검사하고(단계 206), 존재할 경우 정상 완료되었는지의 여부를 검사한다(단계 208). 단계(206)에서의 검사 결과 선행 작업이 존재하지 않은 것으로 판단되면, 정상 완료한 것으로 처리(간주)하며, 이후 처리는 후술하는 단계(210)로 진행된다.
상기 단계(208)에서의 검사 결과, 선행 작업이 정상 완료되지 않은 것으로 판단되면, 처리는 단계(202)로 되돌아가 새로 실행할 작업을 선정하는 프로세스를 진행하게 된다.
상기 단계(208)에서의 검사 결과, 선행 작업이 정상 완료된 것으로 판단되면, 작업에 명시된 필요 자원이 가용한지의 여부를 판단ㅎ나다(단계 210). 판단 결과 가용 자원이 존재하지 않을 경우 일정 시간 동안 대기한 후(단계 212), 다시 가용 자원의 존재 여부를 판단하는 프로세스를 진행한다.
상기 단계(210)에서의 판단 결과, 필요 자원이 가용한 경우, 가용 자원을 선정된 작업의 수행을 위해 할당한 후 작업을 실행시키는 프로세스를 진행한다(단계 214).
일예로서, 3개의 작업{J1, J2, J3}이 파이프라인 형태로 순차 실행되어야 하는 서비스 S를 가정해 볼 때, 서비스 S의 실행을 위해 자원 관리 시스템(RMS)에 입력된 작업들은 수행할 작업 명세, 선행 작업, 필요 자원, 예측 실행 시간(time) 등의 속성들을 바탕으로 아래와 같이 정의될 수 있다.
J1 = {Job1, null, 2 CPUs, 20}
J2 = {Job2, J1, 2 CPUs, 30}
J3 = {Job3, J2, 3 CPUs, 20}
여기에서, 서비스 S의 사용자 예측 실행 시간 Setime은 J1, J2, J3의 실행 예측 시간 Jetime의 합으로 계산될 수 있다.
Setime=J1etime+J2etime+J3etime= 20 + 30 + 20 = 70
종래의 자원 관리 시스템은 작업 J2, J3의 실행을 위해 각각의 선행 작업 J1 혹은 J2의 실행 완료 여부만을 고려하며, 작업 별로 명시된 필요 자원을 바탕으로 자원을 검색하고 할당한다.
따라서, 서비스를 구성하는 작업들 중에 하나라도 예측 실행 시간보다 긴 실제 실행 시간을 가지는 경우, 서비스의 실제 실행 시간도 길어져 사용자의 만족도는 떨어지는 문제가 발생한다. 예컨대, J1의 실제 실행 시간 J1rtime이 예측치보다 10분 긴 30분이 걸렸다면, 서비스의 실제 실행 시간은 적어도 10분 이상 길어지게 된다.
Srtime -≥ J1rtime+J2etime+J3etime=30+30+20=80
J1rtime - J1etime=30-20=10 ≤ Srtime-Setime
즉, 종래의 자원 관리 시스템에서는 2개 이상의 작업들이 파이프라인 형태로 구성되는 서비스의 경우, 각 단계별 작업 실행의 지연이 그대로 서비스의 실행 지연으로 연계되는 문제점이 있는데, 이것은 선행 작업의 실행 완료 여부만이 후행 작업의 실행에 영향을 미치기 때문이다.
또한, 선행 작업들이 예측 실행 시간보다 빠르게 실행이 완료되었을 경우, 종래의 자원 관리 시스템은 사용자의 서비스 실행 예측 시간에 여유가 있음에도 불구하고, 후행 작업에 사용자가 명시한 자원을 그대로 할당하여 실행하게 되는데, 이것은 서비스의 실행에 있어, 사용자 예측 실행 시간을 만족시키는 데 필요한 자원보다 많은 여유 있는 자원들을 다른 서비스의 작업에 양도할 수 없어 자원 사용의 효율성을 저하시키는 요인으로 작용하게 된다.
대한민국 공개특허 제2012-0110870호(공개일 : 2012. 10. 10.)
본 발명은, 자원 관리 시스템에서 두 개 이상의 작업들이 파이프라인 형태로 구성되는 서비스의 실행 시간에 대한 사용자의 만족도를 전체적으로 향상시키기 위하여, 선행 작업까지의 서비스 실행 시간에 대한 임계치 명시를 통해, 후행 작업에 사용자가 명시한 필요 자원량 이상 혹은 이하의 자원을 할당하는 새로운 기법을 제공하고자 한다.
본 발명은, 일 관점에 따라, 작업 간의 선후 관계를 포함하는 스케줄링 정책을 바탕으로 실행하고자 하는 작업을 선정하는 과정과, 가용 자원의 상태 정보, 선행 작업의 서비스 실행 시간, 기 설정된 예측 실행 시간 및 선행 실행 임계치에 의거하여 상기 선정된 작업에 대해 가용한 필요 자원 또는 최적 자원을 결정하는 과정과, 상기 결정된 필요 자원 또는 최적 자원에 의거하여 상기 선정된 작업에 대한 자원을 할당하여 실행시키는 과정을 포함하는 자원 할당 방법을 제공한다.
본 발명은, 다른 관점에 따라, 작업 간의 선후 관계를 포함하는 스케줄링 정책을 바탕으로 실행하고자 하는 작업을 선정하는 과정과, 상기 작업이 선정될 때 선행 작업의 실행이 정상 완료되었는지의 여부를 검사하는 과정과, 상기 선행 작업의 실행이 정상 완료된 경우, 상기 선행 작업까지의 서비스 실행 시간과 예측 실행 시간의 차이를 산출하는 과정과, 상기 산출된 차이가 기 설정된 선행 실행 임계치의 범주에 속하는지의 여부를 체크하는 과정과, 상기 기 설정된 선행 실행 임계치의 범주에 속하지 않을 때 선정된 작업의 실행을 위한 최적 자원을 계산하는 과정과, 상기 기 설정된 선행 실행 임계치의 범주에 속할 때의 필요 자원 또는 상기 최적 자원의 가용 여부를 판단하는 과정과, 상기 필요 자원 또는 최적 자원이 가용한 것으로 판단될 때 선정된 작업에 자원을 할당하여 실행시키는 과정을 포함하는 자원 할당 방법을 제공한다.
본 발명의 상기 검사하는 과정은, 상기 선행 작업이 존재하지 않을 때 정상 완료된 것으로 처리할 수 있다.
본 발명의 상기 자원 할당 방법은, 상기 선행 작업의 실행이 정상 완료되지 않은 것으로 판단될 때, 상기 선정하는 과정을 재수행하여 실행할 작업을 다시 선정하는 과정을 더 포함할 수 있다.
본 발명의 상기 기 설정된 선행 실행 임계치는, 모든 선행 작업 중 가장 긴 실행 시간을 가지는 최장 실행 경로에 따른 예측 실행 시간에 대한 실제 실행 시간의 차이의 허용 가능 범위일 수 있으며, 실행 시간에 대한 값 또는 비율로 표시될 수 있다.
본 발명의 상기 계산하는 과정은, 상기 기 설정된 선행 실행 임계치의 범주에 속하지 않을 때 상기 필요 자원보다 더 많거나 혹은 더 적은 자원을 할당하도록 상기 최적 자원을 계산할 수 있다.
본 발명의 상기 판단하는 과정은, 상기 선정된 작업에 할당할 가용 자원이 존재하지 않을 경우, 기 설정된 일정 시간을 대기한 후, 상기 필요 자원 또는 최적 자원의 가용 여부를 다시 판단할 수 있다.
본 발명의 상기 자원 할당 방법은, 상기 선정된 작업에 대한 실행이 완료될 때 작업의 실행 시간을 포함하는 실행 관련 정보를 생성하여 데이터베이스에 저장하는 과정을 더 포함할 수 있다.
본 발명은, 또 다른 관점에 따라, 실행하고자 하는 작업의 선정을 위한 작업 정보를 데이터베이스에 등록하고, 사용자 요청에 따른 작업 실행 요청을 발생하는 큐 관리자와, 가용 자원들의 상태 정보를 관리하는 자원 관리자와, 상기 작업 실행 요청에 따라 상기 자원 관리자로부터 제공되는 상태 정보와 상기 데이터베이스로부터 제공되는 선행 작업의 실행 시간 관련 정보들에 의거하여 선정된 작업에 대해 가용한 필요 자원 또는 최적 자원을 결정하는 작업 스케줄러와, 상기 결정된 필요 자원 또는 최적 자원에 의거하여 상기 선정된 작업에 대한 자원을 할당하여 실행시키는 자원 할당 관리자를 포함하는 자원 할당 장치를 제공한다.
본 발명의 상기 실행 시간 관련 정보들은, 상기 선행 작업의 서비스 실행 시간, 기 설정된 예측 실행 시간 및 선행 실행 임계치를 포함할 수 있다.
본 발명의 상기 작업 스케줄러는, 상기 선행 작업의 실행이 정상 완료되었는지의 여부를 검사하고, 정상 완료된 경우 상기 선행 작업까지의 서비스 실행 시간과 예측 실행 시간의 차이를 산출하여 기 설정된 선행 실행 임계치의 범주에 속하는지의 여부를 체크하는 선행 작업 검사 블록과, 상기 산출된 차이가 상기 기 설정된 선행 실행 임계치의 범주에 속하지 않을 때 상기 선정된 작업의 실행을 위한 최적 자원을 계산하는 최적 자원 계산 블록과, 상기 산출된 차이가 상기 기 설정된 선행 실행 임계치의 범주에 속할 때의 필요 자원 또는 상기 계산된 최적 자원의 가용 여부에 의거하여 상기 필요 자원 또는 최적 자원을 결정하는 자원 결정 블록을 포함할 수 있다.
본 발명의 상기 선행 작업 검사 블록은, 상기 선행 작업이 존재하지 않을 때 정상 완료된 것으로 처리할 수 있다.
본 발명의 상기 선행 작업 검사 블록은, 상기 기 설정된 선행 실행 임계치를 실행 시간에 대한 값 또는 비율로 표시할 수 있다.
본 발명의 상기 최적 자원 계산 블록은, 상기 산출된 차이가 상기 기 설정된 선행 실행 임계치의 범주에 속하지 않을 때 상기 필요 자원보다 더 많거나 혹은 더 적은 자원을 할당하도록 상기 최적 자원을 계산할 수 있다.
본 발명의 상기 자원 결정 블록은, 상기 선정된 작업에 할당할 가용 자원이 존재하지 않을 경우, 기 설정된 일정 시간을 대기한 후, 상기 필요 자원 또는 최적 자원의 가용 여부를 다시 판단할 수 있다.
본 발명의 상기 자원 할당 관리자는, 상기 선정된 작업에 대한 실행이 완료될 때 작업의 실행 시간을 포함하는 실행 관련 정보를 생성하여 상기 데이터베이스에 저장할 수 있다.
본 발명에 따르면, 다수의 작업이 파이프라인 형태로 구성되는 서비스의 경우, 서비스 내 각 단계의 작업 실행을 위하여 선행 작업들의 실제 걸린 실행 시간에 따라 자원량을 변경하여 할당할 수 있으며, 이를 통해 다수의 서비스를 사용자의 예측 실행 시간에 맞춰 제공할 수 있을 뿐만 아니라 자원 사용의 효율성을 증진시킬 수 있다.
도 1은 종래의 전형적인 자원 관리 시스템의 구성도,
도 2는 종래 방법에 따라 선정된 작업에 자원을 할당하여 실행시키는 주요 과정을 도시한 순서도,
도 3은 본 발명의 실시 예에 따른 자원 할당 장치의 블록 구성도,
도 4는 도 3에 도시된 작업 스케줄러에 대한 세부적인 블록 구성도,
도 5는 본 발명의 실시 예에 따라 선정된 작업에 자원을 할당하여 실행시키는 주요 과정을 도시한 순서도.
먼저, 본 발명의 장점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시 예들을 참조하면 명확해질 것이다. 여기에서, 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 발명의 범주를 명확하게 이해할 수 있도록 하기 위해 예시적으로 제공되는 것이므로, 본 발명의 기술적 범위는 청구항들에 의해 정의되어야 할 것이다.
아울러, 아래의 본 발명을 설명함에 있어서 공지 기능 또는 구성 등에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들인 것으로, 이는 사용자, 운용자 등의 의도 또는 관례 등에 따라 달라질 수 있음은 물론이다. 그러므로, 그 정의는 본 명세서의 전반에 걸쳐 기술되는 기술사상을 토대로 이루어져야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.
도 3은 본 발명의 실시 예에 따른 자원 할당 장치의 블록 구성도로서, 큐 관리자(302)(QM : queue manager), 작업 스케줄러(304)(JS : job scheduler), 자원 관리자(306)(RM : resource manager), 데이터베이스(308)(DBMS), 자원 할당 관리자(310)(RAM : resource allocation manager), 자원(312)(source) 등을 포함할 수 있다.
먼저, 사용자는 서비스를 구성하는 각 작업에 필요한 자원 정보, 예측된 실행 시간 등의 정보를 명시(설정)할 수 있으며, 또한 작업들 간의 실행 선후 관계와 선행 실행 임계치를 명시(설정)할 수 있다. 여기에서, 선행 실행 임계치는 현 작업의 모든 선행 작업들의 실행 완료까지 걸린 실제 실행 시간과 예측된 실행 시간과의 허용 가능한 차이를 나타내며, 선행 작업들의 실제 실행 시간과 예측 실행 시간 차이를 값이나 비율(%)로 명시할 수 있다. 본 발명에서는 선행 실행 임계치를 비율로 명시한 경우로 가정하고 설명한다.
그리고, 본 발명에 따른 자원 할당 장치(또는 자원 관리 시스템)는 서비스를 구성하는 파이프라인 형태의 다수의 작업 실행을 위한 자원 할당 시에 참조 정보로서 선행 실행 임계치를 사용한다. 사용자가 명시한 필요 자원을 기준으로 하여, 선행 작업들의 실제 실행 시간이 예측 실행 시간의 선행 실행 임계치 범위(범주)에 있지 않은 경우 필요 자원보다 더 많거나 혹은 적은 자원을 할당하도록 한다.
본 발명에서의 자원 할당은 물리(physical) 혹은 가상(virtual) 컴퓨팅 노드(computing node)들을 대상으로 노드 단위의 자원 할당뿐 아니라 단일 컴퓨팅 노드 내 CPU, GPU, 메모리 등의 세부 자원들의 할당을 포함할 수 있으며, 두 가지의 할당 모두에 적용할 수도 있다.
도 3을 참조하면, 큐 관리자(302)는 사용자가 작업을 수행하기 위해 필요한 작업 정보, 예컨대 선행 작업 정보, 선행 실행 임계치, 필요 자원 정보, 예측 실행 시간 등의 작업 정보를 입력(명시)하면 이들 데이터들을 데이터베이스(308)에 등록하고, 사용자 요청에 따른 작업 실행 요청을 발생하여 작업 스케줄러(304)에게 전달하는 등의 기능을 제공할 수 있다. 여기에서, 선행 실행 임계치는 모든 선행 작업 중 가장 긴 실행 시간을 가지는 최장 실행 경로에 따른 예측 실행 시간에 대한 실제 실행 시간의 차이의 허용 가능 범위를 나타내는 것으로, 선행 작업들의 실제 실행 시간과 예측 실행 시간 차이는 값이나 비율(%)로 명시(표시)될 수 있다.
다음에, 작업 스케줄러(304)는 큐 관리자(302)로부터 전달되는 작업 실행 요청에 따라 자원 관리자(306)로부터 제공되는 가용 자원들의 상태 정보와 데이터베이스(308)로부터 인출한 선행 작업의 실행 시간 관련 정보들에 의거하여 선정된 작업에 대해 가용한 필요 자원 또는 최적 자원을 결정하는 등의 기능을 제공할 수 있는데, 이러한 기능 실현을 위해 도 4에 도시된 바와 같은 구성을 포함할 수 있다. 여기에서, 선행 작업의 실행 시간 관련 정보들은, 예컨대 선행 작업의 서비스 실행 시간, 예측 실행 시간 및 기 설정된 선행 실행 임계치 등을 포함할 수 있다.
도 4는 도 3에 도시된 작업 스케줄러에 대한 세부적인 블록 구성도로서, 선행 작업 검사 블록(402), 최적 자원 계산 블록(404) 및 자원 결정 블록(406) 등을 포함할 수 있다.
도 4를 참조하면, 선행 작업 검사 블록(402)은 큐 관리자(302)로부터 작업 실행 요청이 전달될 때 데이터베이스(308)에 저장되어 있는 정보들을 탐색하여 선행 작업이 존재하는지의 여부를 검사하고, 선행 작업이 존재할 때 그 실행이 정상 완료되었는지의 여부를 검사하며, 실행이 정상 완료된 경우 선행 작업까지의 서비스 실행 시간과 예측 실행 시간의 차이를 산출한 후 그 차이 값이 기 설정된 선행 실행 임계치의 범주(범위)에 속하는지의 여부를 체크하는 등의 기능을 제공할 수 있다.
즉, 선행 작업 검사 블록(402)은 선행 작업이 존재하지 않을 때 그에 상응하는 선행 작업의 미존재 검출 신호를 생성하여 자원 결정 블록(406)으로 전달하고, 차이 값이 기 설정된 선행 실행 임계치의 범주에 포함될 때 그에 상응하는 범주 이내 검출 신호를 생성하여 자원 결정 블록(406)으로 전달하며, 차이 값이 기 설정된 선행 실행 임계치의 범주에 속하지 않을 때 그에 상응하는 범주 이탈 검출 신호를 생성하여 최적 자원 계산 블록(404)으로 전달하는 등의 기능을 제공한다. 여기에서, 선행 작업의 미존재 검출 신호는 선행 작업이 존재하지 않을 경우 프로세스를 정상 완료된 것으로 처리하라는 것을 의미할 수 있다.
다음에, 최적 자원 계산 블록(404)은 선행 작업 검사 블록(402)으로부터 범주 이탈 검출 신호가 전달될 때 자원 관리자(306)로부터 제공되는 가용 자원의 상태 정보들에 의거하여 선정된 작업을 실행하기 위한 최적 자원을 계산하여 자원 결정 블록(406)으로 전달하는 등의 기능을 제공할 수 있다. 여기에서, 최적 자원 계산 블록(404)은 산출된 차이가 기 설정된 선행 실행 임계치의 범주에 속하지 않을 때 사용자에 의해 명시된 필요 자원보다 더 많거나 혹은 더 적은 자원을 할당하도록 최적 자원을 계산할 수 있다.
그리고, 자원 결정 블록(406)은 선행 작업 검사 블록(402)으로부터 범주 이탈 검출 신호가 전달될 때 자원 관리자(306)로부터 제공되는 가용 자원의 상태 정보들에 의거하여 필요 자원의 가용 여부를 결정하거나 혹은 최적 자원 계산 블록(404)으로부터 전달되는 최적 자원의 가용 여부를 결정하며, 가용 여부의 결정에 따른 자원 할당 제어신호를 생성하여 도 3의 자원 할당 관리자(310)로 전달하는 등의 기능을 제공할 수 있다. 이때, 자원 할당 블록(406)은 선정된 작업에 할당할 가용 자원이 존재하지 않을 경우, 기 설정된 일정 시간을 대기한 후 필요 자원 또는 최적 자원의 가용 여부를 다시 판단하는 프로세스를 수행할 수 있다.
다시, 도 3을 참조하면, 자원 관리자(306)는 컴퓨팅 노드들에서 사용 가능한 가용 자원들의 상태 정보를 관리하며, 여기에서 관리되는 가용 자원의 상태 정보들은 작업 스케줄러(304)의 자원 검색 요청에 따라 검색되어 작업 스케줄러(304)에 제공될 수 있다.
다음에, 자원 할당 관리자(310)는 사용자에 의해 명시되어 결정된 필요 자원 또는 계산된 최적 자원에 의거하여 선정된 작업에 대한 자원(312)을 할당하여 실행시키고, 작업 실행의 결과를 사용자에게 전달하며, 선정된 작업에 대한 실행이 완료될 때 작업의 실행 시간 등을 포함하는 실행 관련 정보를 생성하여 데이터베이스(308)에 저장하는 등의 기능을 제공할 수 있다.
이때, 데이터베이스(308)에 저장되는 작업 정보는 작업 이름, 선행 작업 이름, 선행 실행 임계치, 작업 실행을 위한 필요 자원, 작업의 예측 실행 시간 등을 포함하며, 본 발명에 따라 자원 할당 장치가 구축하는 작업 정보에는 실제 실행 시간, 예측 서비스 시간, 실제 서비스 시간, 지연 시간 등이 포함된다. 작업의 필요 자원과 예측 실행 시간은 사용자 정의 혹은 프로파일링 정보에서의 추출 등 다양한 방법으로 구축 가능하다.
그리고, 각 작업의 예측 서비스 시간은 선행 작업의 예측 서비스 시간에 해당 작업의 예측 실행 시간의 합이며, 사용자가 정의한 작업 정보의 삽입 시에 계산되어 저장된다. 여기에서, 실제 실행 시간은 작업이 선정되고 해당 작업에 할당된 자원에서 실행을 시작하여 종료하기까지의 시간을 말한다.
또한, 각 작업의 실제 서비스 시간은 선행 작업의 실제 서비스 시간에 해당 작업의 실제 실행 시간의 합이며, 선행 작업이 없는 경우에는 해당 작업의 실제 실행 시간과 실제 서비스 시간이 같다. 선행 작업들의 다양한 실행 경로가 존재한다면, 가장 긴 예측 실행 시간을 가지는 흐름을 바탕으로 예측 서비스 시간과 실제 서비스 시간을 계산한다. 서비스 지연 시간은 예측 서비스 시간과 실제 서비스 시간의 차이로 계산된다. 서비스 지연 시간은 양수인 경우 서비스 실행 지연을, 음수인 경우에는 서비스의 빠른 실행을 나타낸다.
다음에, 상술한 바와 같은 구성을 갖는 본 발명의 자원 할당 장치를 이용하여 사용자에게 자원 할당 서비스를 제공하는 일련의 과정들에 대하여 상세하게 설명한다.
도 5는 본 발명의 실시 예에 따라 선정된 작업에 자원을 할당하여 실행시키는 주요 과정을 도시한 순서도이다.
도 5를 참조하면, 사용자가 작업을 수행하기 위해 필요한 작업 정보, 예컨대 선행 작업 정보, 선행 실행 임계치, 필요 자원 정보, 예측 실행 시간 등의 작업 정보를 입력(명시)하여 작업 간의 선후 관계를 포함하는 스케줄링 정책을 바탕으로 작업을 선정하면(단계 502), 작업 스케줄러(304) 내 선행 작업 검사 블록(402)에서는 데이터베이스(308)에 저장되어 있는 정보들을 탐색하여 선행 작업이 존재하는지의 여부를 검사한다(단계 504, 506).
상기 단계(506)에서의 검사 결과, 선행 작업이 존재하지 않을 경우 처리는 후술하는 단계(510)로 진행되어 선행 작업의 실행이 정상 완료된 것으로 처리하는 프로세스를 진행하게 된다.
상기 단계(506)에서의 검사 결과, 선행 작업이 존재할 경우 해당 선행의 실행이 정상 완료되었는지의 여부를 검사하는데(단계 508), 여기에서의 검사 결과 선행 작업의 실행이 정상 완료되지 않은 것으로 판단되면 처리는 실행할 작업을 선정하는 단계(502)로 되돌아가 진행된다.
상기 단계(508)에서의 검사 결과, 선행 작업의 실행이 정상 완료된 것으로 판단되면, 선행 작업 검사 블록(402)에서는 해당 선행 작업의 실제 서비스 시간과 예측 서비스 시간의 차이를 산출하고(단계 510), 산출된 차이 값이 기 설정된 선행 실행 임계치의 범주(범위)에 속하는지의 여부를 체크한다(단계 512). 여기에서, 기 설정된 선행 실행 임계치는 현 작업의 모든 선행 작업들의 실행 완료까지 걸린 실제 실행 시간과 예측된 실행 시간과의 허용 가능한 차이를 나타내며, 선행 작업들의 실제 실행 시간과 예측 실행 시간 차이를 값이나 비율(%)로 명시될 수 있다.
상기 단계(512)에서의 체크 결과, 산출된 차이 값이 기 설정된 선행 실행 임계치의 범주(범위) 이내 이면 처리는 후술하는 단계(516)로 진행하고, 산출된 차이 값이 기 설정된 선행 실행 임계치의 범주(범위)에 속하지 않으면 최적 자원 계산 블록(404)에서 자원 관리자(306)로부터 제공되는 가용 자원의 상태 정보들에 의거하여 선정된 작업을 실행하기 위한 최적 자원을 계산한다(단계 514). 여기에서, 최적 자원은 사용자에 의해 명시된 필요 자원보다 더 많거나 혹은 더 적은 자원으로 계산될 수 있다.
다음에, 자원 결정 블록(406)에서 자원 관리자(306)로부터 제공되는 가용 자원의 상태 정보들에 의거하여 필요 자원의 가용 여부를 체크(또는 결정)하는데(단계 516), 체크 결과 선정된 작업에 할당할 가용 자원이 존재하지 않을 경우 기 설정된 일정 시간을 대기한 후(단계 518), 필요 자원 또는 최적 자원의 가용 여부를 다시 판단하는 프로세스를 수행한다.
상기 단계(516)에서의 체크 결과, 선정된 작업에 할당할 가용 자원이 존재할 경우, 자원 결정 블록(406)에서는 자원 할당 제어신호를 생성하여 자원 할당 관리자(310)로 전달한다.
그 결과, 자원 할당 관리자(310)에서는 생성된 자원 할당 제어신호에 따라 필요 자원 또는 계산된 최적 자원에 의거하여 선정된 작업에 대한 자원(312)을 할당하여 실행시킨다(단계 520).
이후에, 자원 할당 관리자(310)에서는 할당된 자원을 이용한 작업의 실행 완료 여부를 체크하는데(단계 522), 여기에서의 체크 결과 선정된 작업에 대한 실행이 완료된 것으로 판단될 때 작업의 실행 시간 등을 포함하는 실행 관련 정보를 생성하여 데이터베이스(308)에 저장한다(단계 524).
일예로서, 본 발명에 따라 데이터베이스에 저장되는 작업 정보는 아래의 표 1과 같이 정의될 수 있다.
작업 이름 선행 작업 이름 선행 실행 임계치 필요 자원
(CPUs)
예측 실행 시간 할당 자원
(CPUs)
실제 실행 시간 종료 타입(완료, 실패) 예측 서비스 시간 실제 서비스 시간 서비스 지연 시간
J1 NULL NULL 2 20 2 30 완료 20 30 10
J2 J1 20% 2 30 - - 50
J3 J2 20% 3 20 - - 70
상기 표에 명시된 서비스를 구성하는 작업 J1, J2, J3을 바탕으로, 본 발명에 따른 작업의 자원 할당에 대해서 생각해보자. 본 발명에서는 자원 할당의 이해를 돕기 위하여, 3개의 작업이 순차적으로 실행되는 경우를 예로 하여 설명한다.
J1은 초기 작업으로 사용자가 명시한 필요 자원을 바탕으로 작업이 이미 수행된 상태이다. 그러므로, 작업 J2에 대한 자원 할당을 위하여, 선행 작업J1까지의 실행 시간 즉, 예측 서비스 시간 내에 실제 서비스 시간이 선행 실행 임계치 범주에 있는지를 판단한다. 이는 예측 서비스 시간과 실제 서비스 시간의 차가 선행 실행 임계치보다 작은지로 판단할 수 있다. 선행 작업까지의 서비스 실행 시간이 선행 실행 임계치에 있으면, 필요 자원이 가용한지 여부를 검색한 후 해당 자원을 할당한다.
[수식 1]
Figure 112013008965916-pat00001
상기의 수식 1에 의해 선행 작업까지의 서비스의 실행 시간은 J2에 명시된 선행 실행 임계치에 있지 못하기 때문에 최적 자원을 계산한다. 병렬 프로그래밍 기반 응용의 작업은 CPU와 같은 자원의 수가 입력 데이터 처리의 병렬화와 연계된다. 즉, 필요 자원과 예측 실행 시간의 곱을 처리해야 할 입력 데이터로 간주하는 경우, 최적 자원의 수와 최적 실행 시간의 곱은 입력 데이터와 같아야 한다. 이때, 실행 지연인 경우에는 자원을 추가하고, 빠른 실행인 경우에는 자원을 감소하며, 지연 시간을 0에 가깝게 만들 수 있는 자원이 최적 자원이 된다. 선행 작업 J1의 서비스 지연 시간 = 10인 경우, 작업 J2의 최적 자원은 아래와 같이 결정된다.
입력 데이터 = (필요 자원 x 예측 실행 시간) = (최적 자원 x 최적 실행 시간)
2 CPUs(필요 자원) x 30 (예측 실행 시간) = 60 = 입력 데이터
입력 데이터 = 60 = 3 CPUs(최적 자원) * 20 (최적 실행 시간)
30 (예측 실행 시간) - 20 (최적 실행 시간) = 10 = 서비스 지연 시간
따라서, J2의 최적 자원은 3 x CPU가 되며, 최적 자원이 가용한지 검사한다. 가용하면 최적 자원을 할당하여 J2를 실행한다.
J2가 완료되면, J2의 실제 실행 시간을 바탕으로, 실제 서비스 시간, 서비스 지연 시간이 결정되는데, J2의 실제 실행 시간은 필요 자원 보다 더 많은 최적 자원 할당으로 예측 실행 시간보다 짧아진다. 즉, J1의 실행 지연 시간이 그대로 서비스 지연 시간으로 연계되지 않고, J2 을 통해 해소될 수 있다.
반대로, J1의 예측 실행 시간보다 빠른 실제 실행 시간을 가지면서, J2에 명시된 선행 실행 임계치를 벗어나는 경우, 본 발명의 따르면 J2에 명시된 필요 자원보다 적은 최적 자원을 할당하게 함으로써 사용자의 서비스 실행 시간에 대한 만족도는 유지하면서 여유 자원이 다른 서비스 실행을 위해 할당될 수 있다.
즉, 본 발명에 따른 작업 실행을 위한 자원 할당 방법은 병렬 프로그래밍 기반 응용을 가지는 두 개 이상의 작업이 파이프라인 형태로 구성되는 서비스의 경우, 선행 작업 실행의 지연 혹은 빠름이 후행 작업에 할당할 자원량을 결정토록 함으로써, 사용자의 서비스 실행 시간에 대한 만족도를 유지하면서 클러스터 내 자원을 효율적으로 활용할 수 있도록 지원한다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 등이 가능함을 쉽게 알 수 있을 것이다. 즉, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것으로서, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
따라서, 본 발명의 보호 범위는 후술되는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
302 : 큐 관리자 304 : 작업 스케줄러
306 : 자원 관리자 308 : 데이터베이스
310 : 자원 할당 관리자 402 : 선행 작업 검사 블록
404 : 최적 자원 계산 블록 406 : 자원 결정 블록

Claims (15)

  1. 스케줄링 정책에 따라 선정되는 작업의 실행을 위해 자원 할당 장치에 의해 수행되는 자원 할당 방법으로서,
    작업 간의 선후 관계를 포함하는 상기 스케줄링 정책을 바탕으로 실행하고자 하는 작업을 선정하는 과정과,
    상기 선정된 작업에 상응하는 선행 작업의 존재 유무 및 상기 선행 작업의 실행이 정상 완료되었는지 여부 중 적어도 어느 하나를 판단하는 과정과,
    상기 선행 작업이 존재하고, 상기 선행 작업의 실행이 정상 완료된 것으로 판단된 경우, 상기 선행 작업에 상응하는 서비스 실행 시간과 예측 실행 시간의 차이가 기 설정된 선행 실행 임계치의 범주에 속하는지 여부를 체크하는 과정과,
    상기 차이가 상기 기 설정된 선행 실행 임계치의 범주에 속하는지 여부를 기반으로, 상기 선정된 작업에 대해 가용한 필요 자원 및 최적 자원 중 어느 하나를 상기 선정된 작업에 대한 자원으로 결정하는 과정과,
    상기 선정된 작업에 대한 자원을 할당하여 실행시키는 과정
    을 포함하는 자원 할당 방법.
  2. 스케줄링 정책에 따라 선정되는 작업의 실행을 위해 자원 할당 장치에 의해 수행되는 자원 할당 방법으로서,
    작업 간의 선후 관계를 포함하는 상기 스케줄링 정책을 바탕으로 실행하고자 하는 작업을 선정하는 과정과,
    상기 작업이 선정될 때 선행 작업의 실행이 정상 완료되었는지의 여부를 검사하는 과정과,
    상기 선행 작업의 실행이 정상 완료된 경우, 상기 선행 작업까지의 서비스 실행 시간과 예측 실행 시간의 차이를 산출하는 과정과,
    상기 산출된 차이가 기 설정된 선행 실행 임계치의 범주에 속하는지의 여부를 체크하는 과정과,
    상기 기 설정된 선행 실행 임계치의 범주에 속하지 않을 때 선정된 작업의 실행을 위한 최적 자원을 계산하는 과정과,
    상기 기 설정된 선행 실행 임계치의 범주에 속할 때의 필요 자원 또는 상기 최적 자원의 가용 여부를 판단하는 과정과,
    상기 필요 자원 또는 최적 자원이 가용한 것으로 판단될 때 선정된 작업에 자원을 할당하여 실행시키는 과정
    을 포함하는 자원 할당 방법.
  3. 제 2 항에 있어서,
    상기 기 설정된 선행 실행 임계치는,
    모든 선행 작업 중 가장 긴 실행 시간을 가지는 최장 실행 경로에 따른 예측 실행 시간에 대한 실제 실행 시간의 차이의 허용 가능 범위인
    자원 할당 방법.
  4. 제 3 항에 있어서,
    상기 기 설정된 선행 실행 임계치는,
    실행 시간에 대한 값 또는 비율로 표시되는
    자원 할당 방법.
  5. 제 2 항에 있어서,
    상기 계산하는 과정은,
    상기 기 설정된 선행 실행 임계치의 범주에 속하지 않을 때 상기 필요 자원보다 더 많거나 혹은 더 적은 자원을 할당하도록 상기 최적 자원을 계산하는
    자원 할당 방법.
  6. 제 2 항에 있어서,
    상기 판단하는 과정은,
    상기 선정된 작업에 할당할 가용 자원이 존재하지 않을 경우, 기 설정된 일정 시간을 대기한 후, 상기 필요 자원 또는 최적 자원의 가용 여부를 다시 판단하는
    자원 할당 방법.
  7. 제 2 항에 있어서,
    상기 자원 할당 방법은,
    상기 실행시키는 과정 이후에, 상기 선정된 작업에 대한 실행이 완료될 때 작업의 실행 시간을 포함하는 실행 관련 정보를 생성하여 데이터베이스에 저장하는 과정
    을 더 포함하는 자원 할당 방법.
  8. 실행하고자 하는 작업의 선정을 위한 작업 정보를 데이터베이스에 등록하고, 사용자 요청에 따른 작업 실행 요청을 발생하는 큐 관리자와,
    가용 자원들의 상태 정보를 관리하는 자원 관리자와,
    상기 작업 실행 요청에 따라 상기 자원 관리자로부터 제공되는 상태 정보와 상기 데이터베이스로부터 제공되는 선행 작업의 서비스 실행 시간 정보에 의거하여 선정된 작업에 대해 가용한 필요 자원 또는 최적 자원을 결정하는 작업 스케줄러와,
    상기 결정된 필요 자원 또는 최적 자원에 의거하여 상기 선정된 작업에 대한 자원을 할당하여 실행시키는 자원 할당 관리자
    를 포함하며,
    상기 작업 스케줄러는,
    상기 선행 작업의 실행이 정상 완료되었는지의 여부를 검사하고, 정상 완료된 경우 상기 선행 작업까지의 서비스 실행 시간과 기 설정된 예측 실행 시간의 차이를 산출하여 기 설정된 선행 실행 임계치의 범주에 속하는지의 여부를 체크하는 선행 작업 검사 블록과,
    상기 산출된 차이가 상기 기 설정된 선행 실행 임계치의 범주에 속하지 않을 때 상기 선정된 작업의 실행을 위한 최적 자원을 계산하는 최적 자원 계산 블록과,
    상기 산출된 차이가 상기 기 설정된 선행 실행 임계치의 범주에 속할 때의 필요 자원 또는 상기 계산된 최적 자원의 가용 여부에 의거하여 상기 필요 자원 또는 최적 자원을 결정하는 자원 결정 블록
    을 포함하는 자원 할당 장치.
  9. 제 8 항에 있어서,
    상기 실행 시간 관련 정보들은,
    상기 선행 작업까지의 서비스 실행 시간, 상기 예측 실행 시간 및 상기 선행 실행 임계치를 포함하는 자원 할당 장치.
  10. 삭제
  11. 제 8 항에 있어서,
    상기 기 설정된 선행 실행 임계치는,
    모든 선행 작업 중 가장 긴 실행 시간을 가지는 최장 실행 경로에 따른 예측 실행 시간에 대한 실제 실행 시간의 차이의 허용 가능 범위인
    자원 할당 장치.
  12. 제 11 항에 있어서,
    상기 선행 작업 검사 블록은,
    상기 기 설정된 선행 실행 임계치를 실행 시간에 대한 값 또는 비율로 표시하는
    자원 할당 장치.
  13. 제 8 항에 있어서,
    상기 최적 자원 계산 블록은,
    상기 산출된 차이가 상기 기 설정된 선행 실행 임계치의 범주에 속하지 않을 때 상기 필요 자원보다 더 많거나 혹은 더 적은 자원을 할당하도록 상기 최적 자원을 계산하는
    자원 할당 장치.
  14. 제 8 항에 있어서,
    상기 자원 결정 블록은,
    상기 선정된 작업에 할당할 가용 자원이 존재하지 않을 경우, 기 설정된 일정 시간을 대기한 후, 상기 필요 자원 또는 최적 자원의 가용 여부를 다시 판단하는
    자원 할당 장치.
  15. 제 8 항에 있어서,
    상기 자원 할당 관리자는,
    상기 선정된 작업에 대한 실행이 완료될 때 작업의 실행 시간을 포함하는 실행 관련 정보를 생성하여 상기 데이터베이스에 저장하는
    자원 할당 장치.
KR1020130010378A 2013-01-30 2013-01-30 자원 할당 방법 및 그 장치 KR101770191B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130010378A KR101770191B1 (ko) 2013-01-30 2013-01-30 자원 할당 방법 및 그 장치
CN201310248688.0A CN103970606A (zh) 2013-01-30 2013-06-21 用于分配资源的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130010378A KR101770191B1 (ko) 2013-01-30 2013-01-30 자원 할당 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20140097815A KR20140097815A (ko) 2014-08-07
KR101770191B1 true KR101770191B1 (ko) 2017-08-23

Family

ID=51240140

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130010378A KR101770191B1 (ko) 2013-01-30 2013-01-30 자원 할당 방법 및 그 장치

Country Status (2)

Country Link
KR (1) KR101770191B1 (ko)
CN (1) CN103970606A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106959891A (zh) * 2017-03-30 2017-07-18 山东超越数控电子有限公司 一种实现gpu调度的集群管理方法和系统
CN110389816B (zh) * 2018-04-20 2023-05-23 伊姆西Ip控股有限责任公司 用于资源调度的方法、装置以及计算机可读介质
CN109063897B (zh) * 2018-07-03 2022-06-10 蔚来(安徽)控股有限公司 服务系统中服务资源的产能预测方法、系统与设备
CN111198755B (zh) * 2019-12-23 2023-07-21 曙光信息产业(北京)有限公司 一种基于slurm作业调度系统的预计费装置和方法
CN111090401B (zh) * 2020-03-23 2020-06-26 上海飞旗网络技术股份有限公司 存储设备性能预测方法及装置
CN112486644A (zh) * 2020-11-27 2021-03-12 北京百度网讯科技有限公司 用于生成信息的方法、装置、设备以及存储介质
CN112269650A (zh) * 2020-12-18 2021-01-26 北京达佳互联信息技术有限公司 任务调度方法、装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062463A (ja) 2002-07-26 2004-02-26 Matsushita Electric Ind Co Ltd プログラム実行装置
JP2008508584A (ja) * 2004-07-30 2008-03-21 コミッサリア タ レネルジー アトミーク タスク処理のスケジューリング方法及びこの方法を適用するための装置
JP2011096110A (ja) 2009-10-30 2011-05-12 Toshiba Corp ジョブネット制御プログラムおよびジョブネット制御装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE409905T1 (de) * 2005-04-21 2008-10-15 Ibm Verfahren und system zur arbeitslastplanung mit verbessertem schema zur aktualisierung der dauer einer geplanten arbeit
JP4781089B2 (ja) * 2005-11-15 2011-09-28 株式会社ソニー・コンピュータエンタテインメント タスク割り当て方法およびタスク割り当て装置
US20090025004A1 (en) * 2007-07-16 2009-01-22 Microsoft Corporation Scheduling by Growing and Shrinking Resource Allocation
CN102521056B (zh) * 2011-12-28 2013-08-14 用友软件股份有限公司 任务分配装置和任务分配方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062463A (ja) 2002-07-26 2004-02-26 Matsushita Electric Ind Co Ltd プログラム実行装置
JP2008508584A (ja) * 2004-07-30 2008-03-21 コミッサリア タ レネルジー アトミーク タスク処理のスケジューリング方法及びこの方法を適用するための装置
JP2011096110A (ja) 2009-10-30 2011-05-12 Toshiba Corp ジョブネット制御プログラムおよびジョブネット制御装置

Also Published As

Publication number Publication date
CN103970606A (zh) 2014-08-06
KR20140097815A (ko) 2014-08-07

Similar Documents

Publication Publication Date Title
KR101770191B1 (ko) 자원 할당 방법 및 그 장치
CN109684065B (zh) 一种资源调度方法、装置及系统
CN111406250B (zh) 无服务器计算环境中的使用经预取的数据的配设
US9262220B2 (en) Scheduling workloads and making provision decisions of computer resources in a computing environment
US8578381B2 (en) Apparatus, system and method for rapid resource scheduling in a compute farm
US8752059B2 (en) Computer data processing capacity planning using dependency relationships from a configuration management database
US9495206B2 (en) Scheduling and execution of tasks based on resource availability
US10554575B2 (en) Equitable sharing of system resources in workflow execution
US20150033237A1 (en) Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment
EP3893112A2 (en) Method and apparatus for scheduling deep learning reasoning engines, device, and medium
KR101350755B1 (ko) 클라우드 컴퓨팅에서 다중 워크플로우를 위한 비용기반 스케줄링 방법 및 그 시스템
CN109086135B (zh) 资源伸缩方法、装置、计算机设备及存储介质
US10972555B2 (en) Function based dynamic traffic management for network services
US20120284730A1 (en) System to provide computing services
US11150951B2 (en) Releasable resource based preemptive scheduling
CN108205469B (zh) 一种基于MapReduce的资源分配方法及服务器
US9298500B2 (en) Information processing system and control method of information processing system for managing jobs in a distributed multi-node environment
JP4912927B2 (ja) タスク割当装置、及びタスク割当方法
KR101695013B1 (ko) 적응형 자원 할당 및 관리 방법
TWI554945B (zh) 例行工作的分配方法及應用其之多核心電腦
US10635492B2 (en) Leveraging shared work to enhance job performance across analytics platforms
CN117331668A (zh) 一种作业调度方法、装置、设备及存储介质
CN107391262B (zh) 一种作业调度方法及装置
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质
Nino-Ruiz et al. Elastic scaling of e-infrastructures to support data-intensive research collaborations

Legal Events

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