KR102496115B1 - 강화학습 기반 이타적 스케줄링 장치 및 방법 - Google Patents

강화학습 기반 이타적 스케줄링 장치 및 방법 Download PDF

Info

Publication number
KR102496115B1
KR102496115B1 KR1020190155810A KR20190155810A KR102496115B1 KR 102496115 B1 KR102496115 B1 KR 102496115B1 KR 1020190155810 A KR1020190155810 A KR 1020190155810A KR 20190155810 A KR20190155810 A KR 20190155810A KR 102496115 B1 KR102496115 B1 KR 102496115B1
Authority
KR
South Korea
Prior art keywords
resource
scheduling
information
resource allocation
allocation schedule
Prior art date
Application number
KR1020190155810A
Other languages
English (en)
Other versions
KR20210066502A (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 KR1020190155810A priority Critical patent/KR102496115B1/ko
Priority to US17/104,377 priority patent/US11711795B2/en
Publication of KR20210066502A publication Critical patent/KR20210066502A/ko
Application granted granted Critical
Publication of KR102496115B1 publication Critical patent/KR102496115B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063116Schedule adjustment for a person or group
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Environmental & Geological Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 강화학습 기반 이타적 스케줄링 장치 및 방법에 관한 것이다. 본 발명의 일 실시예에 따른 이타적 스케줄링 장치는 자원관리 시스템의 정보를 기반으로 프로세스 별 기본 자원 분배량을 결정하는 외부 스케줄링 에이전트, 상기 기본 자원 분배량을 포함한 정보를 기반으로 결정된 프로세스 별 기본 자원 할당 스케줄 및 상기 기본 자원 할당 스케줄을 기반으로 자원 잔여분을 결정하는 내부 스케줄링 에이전트, 상기 자원 잔여분을 포함한 정보를 기반으로 잔여자원 할당 스케줄을 결정하는 잔여 스케줄링 에이전트를 포함한다. 본 발명의 실시예에 의해, 강화학습을 이용하여 이타적 스케줄러의 공정성 하락을 완화시키는 동시에 완료시간 및 효율성과 같은 타 성능지표의 추가적 향상을 기대할 수 있다.

Description

강화학습 기반 이타적 스케줄링 장치 및 방법 {Apparatus and Method of Altruistic Scheduling based on Reinforcement Learning}
본 발명은 강화학습 기반 이타적 스케줄링 장치 및 방법에 관한 것이다. 또한, 본 발명은 자원관리 시스템에 사용되는 이타적 스케줄링 알고리즘을 공정성 저하를 개선하기 위하여 강화학습 방식으로 구성하고 활용하기 위한 장치 및 방법에 관한 것이다.
자원관리가 필요한 시스템의 한정된 자원을 효율적으로 이용하기 위하여 다양한 프로세스들이 필요로 하는 자원의 양이나 각 프로세스가 대기한 시간 및 프로세스들 간의 우선순위 등을 고려하여 프로세스들에게 자원 배정을 적절히 함으로써 시스템의 성능을 개선하기 위한 동작 기법을 스케줄링 기법이라 한다. 대표적인 스케줄링 기법으로는 먼저 요청된 프로세스를 먼저 처리한다는 FIFO(First-In, First-Out), 실행 시간이 가장 짧은 프로세스부터 수행하는 SJF(Shortest Job First), 프로세스들 사이에 우선순위를 두지 않고 순서대로 시간 단위로 자원을 할당하는 라운드 로빈(Round Robin) 알고리즘이 있다.
각 스케줄링 알고리즘마다 자원 분배의 기준과 방식이 다르므로 스케줄링 알고리즘의 품질도 다양한 기준으로 평가되어야 할 필요성이 있다. 스케줄링 알고리즘의 품질을 판단하는 대표적인 성능지표로는 공정성, 완료시간, 효율성 등이 있다.
- 공정성(fairness): 여러 개의 프로세스들에 대해 자원 사용 기회를 동등하게 제공할수록 우수한 것으로 판단한다.
- 완료시간(completion time): 프로세스의 발생 이후 실행을 마칠 때까지 소요되는 시간이 짧을수록 우수한 것으로 판단한다.
- 효율성(efficiency): 단위시간 당 처리되는 프로세스의 수가 많을수록 우수하다고 판단한다.
다만 상기 지표들은 상호간에 이율배반적(trade-off) 관계에 있기 때문에, 특정 성능 지표를 높은 수준으로 유지하는 경우 다른 지표들의 하락을 감수해야 한다. 예를 들어, DRF(Dominant Resource Fairness) 알고리즘의 경우, 공정성이 우수하지만 완료시간 측면에서는 SRTF(Shortest Remaining Time First) 알고리즘, 효율성 면에서는 TETRIS 알고리즘에 비해 떨어지는 성능을 보인다.
현실적인, 자원관리가 필요한 시스템 내에서 프로세스의 요청은 동적으로 발생한다. 이러한 실시간 환경에서 요청되는 프로세스의 성격별로 중요시되어야 하는 성능지표 또한 저마다 다를 수 있어서 하나의 스케줄링 기법이 모든 프로세스를 만족시키기는 어려우므로 성능지표를 대체적으로 양호한 상태로 유지할 수 있는 스케줄링 방법론이 필요하다.
본 발명의 목적은 전술한 종래기술의 문제점을 해결하기 위해, 강화학습 기반의 이타적 스케줄링 장치 및 방법을 제공하는 데 있다.
보다 상세하게는, 강화학습을 통해 생성된 외부 스케줄링 에이전트, 내부 스케줄링 에이전트 및 잔여 스케줄링 에이전트를 포함하는, 강화학습 기반의 이타적 스케줄링 장치 및 방법을 제공하는 데 있다.
또한, 본 발명은, 전술한 종래기술의 문제점을 해결하기 위해, 컴퓨터에서 실행될 수 있는 강화학습 기반의 이타적 스케줄링을 위한, 비 일시적 컴퓨터 판독 가능한 저장 매체에 저장된 프로그램을 제공하는 데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한, 본 발명의 강화학습 기반의 이타적 스케줄링 장치는, 자원관리 시스템의 정보를 기반으로 프로세스 별 기본 자원 분배량을 결정하는 외부 스케줄링 에이전트, 상기 기본 자원 분배량을 포함한 정보를 기반으로 프로세스 별 기본 자원 할당 스케줄을 결정하고 상기 기본 자원 할당 스케줄을 기반으로 자원 잔여분을 결정하는 내부 스케줄링 에이전트, 상기 자원 잔여분을 포함한 정보를 기반으로 잔여자원 할당 스케줄을 결정하는 잔여 스케줄링 에이전트를 포함한다.
또한, 상기 내부 스케줄링 에이전트는, 상기 기본 자원 할당 스케줄 또는 잔여 자원 할당 스케줄을 반영한 자원 관리 시스템으로부터, 자원 사용 기회를 프로세스들에게 동등하게 제공하였는지 여부에 대한 공정성 평가, 프로세스의 발생이후 실행을 마칠 때까지 소요되는 시간인 완료시간 평가, 단위 시간당 처리되는 프로세스의 수를 기반으로 한 효율성 평가를 포함한 정보를 피드백 받아 학습을 수행한 것을 특징으로 한다.
또한, 상기 잔여 스케줄링 에이전트는, 상기 기본자원 할당 스케줄 또는 상기 잔여자원 할당 스케줄을 반영한 자원 관리 시스템으로부터, 상기 완료시간 평가, 상기 효율성 평가를 포함한 정보를 피드백 받아 학습을 수행한 것을 특징으로 한다.
또한, 상기 외부 스케줄링 에이전트는, 상기 공정성 평가를 포함한 정보를 피드백 받아 학습을 수행한 것을 특징으로 한다.
또한, 상기 기본 자원 분배량은, 프로세스별로 분배할 자원의 종류, 자원 분배 시간 및 자원의 분배량에 대한 정보를 포함한다.
또한, 상기 기본 자원 할당 스케줄은 각 프로세스의 태스크(task) 별로 분배할 자원의 종류, 자원 분배 시간 및 자원의 분배량에 대한 정보를 포함한다.
또한, 상기 잔여 자원 할당 스케줄은 각 프로세스의 태스크 별로 분배할 잔여자원의 종류, 잔여자원 분배 시간 및 잔여자원의 분배량에 대한 정보를 포함한다.
또한, 상기 자원 관리 시스템의 정보는 새로 요청된 프로세스의 집합 및 상기 새로 요청된 프로세스 관련 정보를 포함하는 프로세스 요청현황, 각 프로세스가 필요로 하는 자원에 대한 정보인 자원 사용 현황을 포함한다.
또한, 상기 내부 스케줄링 에이전트는, 상기 자원 사용현황과 상기 프로세스 요청 현황에, 상기 기본자원 할당 스케줄을 각각 반영하여 업데이트하는 것을 특징으로 한다.
또한, 상기 업데이트된 자원 사용현황 및 상기 업데이트된 프로세스 요청 현황은 상기 자원 잔여분을 포함한 정보에 포함된다.
상기 목적을 달성하기 위한, 본 발명의 외부, 내부 및 잔여 스케줄링 에이전트를 이용한 강화학습 기반의 이타적 스케줄링 방법은, 상기 외부 스케줄링 에이전트를 이용하여 자원관리 시스템의 정보를 기반으로 프로세스 별 기본 자원 분배량을 결정하는 제1 과정, 상기 내부 스케줄링 에이전트를 이용하여 상기 기본 자원 분배량을 포함한 정보를 기반으로 프로세스 별 기본 자원 할당 스케줄 및 상기 기본 자원 할당 스케줄을 기반으로 자원 잔여분을 결정하는 제2 과정 및 상기 잔여 스케줄링 에이전트를 이용하여 상기 자원 잔여분을 포함한 정보를 기반으로 잔여자원 할당 스케줄을 결정하는 제3 과정을 포함한다.
또한, 상기 내부 스케줄링 에이전트를 이용한 강화학습은 상기 기본 자원 할당 스케줄 또는 잔여 자원 할당 스케줄을 반영한 자원 관리 시스템으로부터, 자원 사용 기회를 프로세스들에게 동등하게 제공하였는지 여부에 대한 공정성 평가, 프로세스의 발생이후 실행을 마칠 때까지 소요되는 시간인 완료시간 평가, 단위 시간당 처리되는 프로세스의 수를 기반으로 한 효율성 평가를 피드백 받아 수행된다.
또한, 상기 잔여 스케줄링 에이전트를 이용한 강화학습은 상기 기본 자원 할당 스케줄 또는 상기 잔여자원 할당 스케줄을 반영한 자원 관리 시스템으로부터, 상기 완료시간 평가, 상기 효율성 평가를 피드백 받아 수행된다.
또한, 상기 외부 스케줄링 에이전트를 이용한 강화학습은 상기 공정성 평가를 피드백 받아 수행된다.
또한, 상기 기본 자원 분배량은, 프로세스별로 분배할 자원의 종류, 자원 분배 시간 및 자원의 분배량에 대한 정보를 포함한다.
또한, 상기 기본 자원 할당 스케줄은 각 프로세스의 태스크(task) 별로 분배할 자원의 종류, 자원 분배 시간 및 자원의 분배량에 대한 정보를 포함한다.
또한, 상기 잔여 자원 할당 스케줄은 각 프로세스의 태스크 별로 분배할 잔여자원의 종류, 잔여자원 분배 시간 및 잔여자원의 분배량에 대한 정보를 포함한다.
또한, 상기 자원 관리 시스템의 정보는 새로 요청된 프로세스의 집합 및 상기 새로 요청된 프로세스 관련 정보를 포함하는 프로세스 요청현황, 각 프로세스가 필요로 하는 자원에 대한 정보인 자원 사용 현황을 포함한다.
또한, 상기 자원 사용현황과 상기 프로세스 요청 현황에, 상기 기본자원 할당 스케줄을 각각 반영하여 업데이트하는 것을 특징으로 한다.
상기 목적을 달성하기 위한, 본 발명의 비일시적 컴퓨터 판독 가능한 저장 매체에 저장된 강화학습 기반의 이타적 스케줄링 프로그램은, 컴퓨터에서, 외부 스케줄링 에이전트를 이용하여 자원관리 시스템의 정보를 기반으로 프로세스 별 기본 자원 분배량을 결정하는 제1 과정, 내부 스케줄링 에이전트를 이용하여 상기 기본 자원 분배량을 포함한 정보를 기반으로 결정된 프로세스 별 기본 자원 할당 스케줄 및 상기 기본 자원 할당 스케줄을 기반으로 자원 잔여분을 결정하는 제2 과정, 잔여 스케줄링 에이전트를 이용하여 상기 자원 잔여분을 포함한 정보를 기반으로 잔여자원 할당 스케줄을 결정하는 제3 과정을 실행시킨다.
본 발명은 강화학습 기반의 이타적 스케줄링 장치 및 방법에 대한 것이다. 근사화 된(heuristic) 이타적 스케줄링 알고리즘은 프로세스 요청이 동적으로 발생하는 실시간 환경에서 동작 시 불확실성에 의한 공정성 훼손 및 각종 성능지표의 저하가 불가피하다. 이와 달리, 본 발명에서 제안하는 바와 같이 강화학습을 활용하여, 자원관리 시스템의 통계적 특성 및 이를 고려한 미래 예측성을 스케줄링에 반영하도록 이타적 스케줄러를 자동 구성하면 더욱 효율적인 스케줄링 방식을 제공할 수 있다.
또한, 프로세스 요청이 동적으로 발생하는 실시간 환경의 경우 대기하고 있는 프로세스 및 태스크(task) 정보를 미리 알 수 없기 때문에, 이타적 스케줄링 알고리즘의 정확도가 제한되며, 이는 실효공정성의 악화를 초래한다. 그러나 볼 발명의 일 실시예에 따른 스케줄링 장치 및 방법에 의하면 실시간 환경의 통계적 특성을 스케줄링 개체에 학습 및 반영시킴으로써, 다음 사항들을 개선할 수 있다.
- 프로세스 별로 이타적 공유가 가능한 잔여분에 대한 예측 정확도
- 프로세스 및 태스크(task) 별 자원 점유 순서에 대한 스케줄링 성능
본 발명은 상기 사항들을 개선함으로써, 임무 요청이 동적으로 발생하는 실시간 환경에서, 이타적 스케줄링 기법의 공정성 훼손을 완화하는 동시에, 성능지표인 완료시간 및 효율성의 향상을 꾀함으로써, 이율배반 관계에 있는 성능지표들을 양호한 수준으로 균형성(balancing)있게 유지하는 스케줄링 알고리즘을 제공할 수 있다.
도 1은 이타적 스케줄링 방식을 설명하기 위하여 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 강화학습 기반의 이타적 스케줄링 시스템을 도시한 것이다.
도 3은 본 발명의 일 실시예에 따른 강화학습 기반의 이타적 스케줄링 장치의 학습 과정을 도시한 것이다.
도 4는 본 발명의 일 실시예에 따른 강화학습 기반의 이타적 스케줄링 시스템의 활용 과정을 도시한 것이다.
도 5은 본 발명의 일 실시예에 따른 강화학습 기반의 이타적 스케줄링 방법을 도시한 것이다.
이하에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 발명의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 발명에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 발명에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 발명의 범위에 포함된다.
본 발명에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들을 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 발명의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 발명의 범위에 포함된다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예들에 대해서 설명한다.
이타적 스케줄링이란 공정성을 크게 저하시키지 않는 범위 내에서, 각 프로세스들이 할당된 자원을 이타적으로 공유함으로써, 완료시간과 효율성의 하락을 완화하고, 이를 통해, 이율배반적 관계에 있는 성능지표들을 양호한 상태로 유지하는 스케줄링 방법론이다.
도 1은 이타적 스케줄링 방식을 설명하기 위하여 도시한 것이다. 보다 상세하게는 도 1a는 이타적 스케줄링 기법을 적용할, 자원관리가 필요한 시스템에 존재하는 프로세스의 일 예시이다. 도 1b는, 공정성 스케줄링과 이타적 스케줄링의 자원 분배 방식의 차이를 비교를 위하여 도시한 것이다.
도 1a는, 일 실시예로서 시스템에 제1 프로세스(101)와 제2프로세스(102) 만이 존재한다고 가정하였을 때, 각각의 프로세스를 구성하는 태스크(task)들을 DAG(Directed Acyclic Graph)의 형태로 도시한 것이다. 제1 프로세스(101)의 경우, 2개의 제1 태스크(task), 3개의 제2 태스크 및 1개의 제3 태스크로 구성되어 있으며, 이때 제3 태스크는 제1 태스크 및 제2 태스크들이 모두 완료된 이후부터 실행될 수 있다. 제2 프로세스(102)는 2개의 제4 태스크들로 구성되어 있다.
이때, 태스크의 정보는 다음과 같다고 가정한다.
Figure 112019123083764-pat00001
자원 사용량이란, 특정 태스크를 완료하기 위하여 필요한 자원의 양을 의미하며, 수행시간이란 특정 태스크가 완료되기 위하여 필요한 시간을 의미한다. 상기 표에 따르면, 제1 태스크를 완료하기 위하여는 자원을 8만큼 사용하여야 하고, 수행시간(time-unit)이 0.5 만큼 소요된다. 제2 태스크는 자원사용량이 21이고, 수행시간이 1만큼 필요하며, 제3 태스크는 자원사용량이 10이며, 수행시간이 0.1만큼 필요하고, 제4 태스크는 자원 사용량이 29이며, 수행시간이 1만큼 필요하다.
도 1b에서는, 일 실시예로서 용량이 100인 임의의, 하나의 자원 풀(pool)만이 존재한다고 가정하였다. 이타적 스케줄링을 통해, 클러스터(cluster)화 된 컴퓨팅 시스템에서 프로세스 간 자원 할당의 공정성은 유지하되, 평균 완료시간을 단축시킬 수 있음을 보여주는 예시이다. 공정성 스케줄링(103)은 성능지표 중 공정성만을 고려한 스케줄링으로서, 프로세스 별로 자원 풀을 을 50씩 분할하여 할당하고, 해당 범위 내에서 공간을 채우는 방식(bin-packing)을 시도한다. 그 결과, 제1 프로세스는 프로세스를 완료하는데 걸린 시간이 2.1 (time-unit)이며, 제2 프로세스는 2(time-unit)에 완료되어, 평균 완료시간은 2.05이다.
반면, 이타적 스케줄링(104)는 제1 프로세스의 제1 태스크들을 1(time-unit)으로 지연시켜 처리해도, 제1 프로세스를 수행하기위한 시간이 증가하지 않는다는 것에 착안하여, 제1 프로세스에게 할당된 자원 중 일부를 잔여분(leftover)으로 간주하고 다른 프로세스, 즉 제2 프로세스와 공유할 수 있다. 그 결과, 제2 프로세스는 8만큼의 공유자원을 추가로 할당 받아 제4 태스크들을 동시에 처리함으로써, 제2 프로세스의 수행을 위한 시간을 1(time-unit)으로 단축시킬 수 있다. 이때, 제1 프로세스가 완료되는 데는 공정성 스케줄링(103)의 경우와 동일하게 2.1(time-unit)에 완료된다. 이로써, 제1 프로세스의 완료시간을 악화시키지 않으면서, 다시 말해, 실효공정성을 훼손하지 않으면서, 평균 완료시간은 1.55로 향상시킬 수 있다.
이타적 스케줄링(104)에 의하면 이타적 스케줄링은 프로세스 요청의 집합이 한번에 주어지는 일괄처리 (offline) 환경에서는 실효공정성을 훼손하지 않는다. 반면, 프로세스 요청이 동적으로 발생하는 실시간 (online) 환경의 경우, 입력되는 프로세스 및 프로세스의 태스크 정보를 미리 알 수 없기 때문에, 불확실성에 의한 공정성 훼손이 발생한다. 이타적 스케줄링(104)에 의하면 근사화 된 (heuristic) 이타적 스케줄링 알고리즘인 Carbyne을 실시간 환경 상에서 실험했을 때, 약 4%의 프로세스들의 완료시간이 최소 약 12%, 최대 약 62% 만큼 증가될 수 있다.
클라우드 컴퓨팅의 활용이 증가하는 최근의 경향(trend)을 고려하면, 스케줄러의 공정성은 자원의 가상화 (virtualization) 및 격리화 (isolation) 제공에 필요한 중요한 성능지표이다. 따라서, 이타적 스케줄링의 실용성 향상을 위해서는 성능지표들을 균형성 있게 유지하는 동시에, 동적 실시간 환경에서의 실효공정성 훼손을 개선 및 최소화하는 것이 중요하다. 따라서, 동적 실시간 환경에서 실효 공정성의 훼손을 개선하기 위하여 강화학습 기반의 이타적 스케줄링을 도 2 내지 도 5를 참조하여 더욱 상세하게 설명하고자 한다.
도 2는 본 발명의 일 실시예에 따른 강화학습 기반의 이타적 스케줄링 시스템을 도시한 것이다. 보다 상세하게는, 강화학습 기반의 이타적 스케줄링 장치(202)는 자원관리 시스템의 정보를 기반으로 프로세스 별 기본 자원 분배량을 결정하는 외부 스케줄링 에이전트(210), 상기 기본 자원 분배량을 포함한 정보를 기반으로 결정된 프로세스 별 기본 자원 할당 스케줄 및 상기 기본 자원 할당 스케줄을 기반으로 자원 잔여분을 결정하는 내부 스케줄링 에이전트(220) 및 상기 자원 잔여분을 포함한 정보를 기반으로 잔여자원 할당 스케줄을 결정하는 잔여 스케줄링 에이전트(230)을 포함할 수 있으며, 상기 에이전트들을 통해 결정된 자원관리 스케줄은 자원관리 시스템(200)에 적용될 수 있다.
자원관리 시스템(200)은, 자원관리 시스템은 보유한 자원을 사용하여 요청된 프로세스 및 태스크들을 실행시키는 주체이다. 운영체제, 분산 컴퓨팅 시스템 또는 공장의 작업관리 시스템 등을 예로 들 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
자원관리 시스템(200)의 자원 풀(pool)의 종류와 개수는 복수 개로 가정할 수 있다. 예를 들어, 24개의 CPU (Central Processing Unit) 코어(core), 64GB 메모리(memory) 2개, 10TB의 스토리지(storage) 1개를 탑재한 컴퓨팅 시스템의 자원은 (24, 64, 64, 10)과 같이 표현할 수 있다.
각 스케줄링 에이전트는 강화학습이 가능한 제어 (control) 또는 결정 (decision) 개체로써, 내부에 정책 (policy) 및 가치 (value) 함수들을 포괄한다. 정책 및 가치함수는 일반 자료구조 (예: map, table 등) 또는 기계학습용 모델(예: FCN, CNN, RNN 등)로 구현되고, 그들의 개수 및 상세는 특정 기법에 한정되지 않으며, 필요에 따라 자유롭게 증감 또는 조절할 수 있다. 각 스케줄링 에이전트 역시 특정 강화학습 기법(예: DQN, A3C, PPO 등)에 한정되지 않으며, 필요에 따라 복수 개를 사용할 수 있다. 예를 들어, 강화학습 과정에서 비동기 기법(asynchronous method) 또는 다중 에이전트 (multi-agent) 개념을 적용하는 경우, 에이전트 또는 자원관리 시스템 개체를 여러 개 생성할 수도 있다. 에이전트 및 자원관리 시스템 간에 교환되는 정보의 인코딩은 필요에 따라 수치화 된 구조(예: 배열, 행렬, 벡터, 기타 구조체 등)로도 표현될 수 있고, 또는 사람이 판독 가능한 문자열(예: JSON, XML 등)로도 표현될 수 있다.
외부 스케줄링 에이전트(210)는, 본 발명의 일 실시예에 따르면, 자원관리 시스템(200)의 정보(201)를 수신하여, 공정성을 고려한 기본자원 분배량을 결정하는 주체가 될 수 있다. 접두사 “외부”는 프로세스 외부(inter-process)를 의미한다.
상기 정보(201)에는 상기 자원관리 시스템(200)에 새로 요청된 프로세스들의 집합이나, 스케줄링을 위해 대기하고 있는 프로세스들의 집합, 각 프로세스의 요청시간, 각 프로세스를 구성하는 태스크(task)들의 실행순서 관계(도 1, 101, 102), 태스크 별 자원사용량 및 수행시간 등이 포함된 프로세스 요청현황과, 현재 어느 자원 풀의 어느 부분이, 언제, 어느 태스크에 할당되어 있는지에 대한 정보와 이를 축약한 정보를 포함하는 자원사용현황 등이 포함될 수 있으며, 상술한 바로 한정되지 않는다. 또한 상기 정보에서, 태스크 별 자원사용량 및 수행시간 등은 과거의 실행이력을 분석하여 획득한 평균값, 중심값, 최대/최소값, 분산 및 기타 통계적 의미를 가진 값들이 될 수 있다.
외부 스케줄링 에이전트(210)는 상기 정보(201)를 이용하여 상기 시스템(200)의 프로세스 별 기본자원 분배량을 결정할 수 있다. 공정성을 고려하여 자원을 분배하므로, 도 1에서 공정성 스케줄링(도1, 103)과 같이 프로세스 간에 자원을 평등하게 분배해야 하는 것이 원칙이나 후술할 학습 과정을 통해 공정성을 크게 해치지 않는 한에서 가장 효율적인 기본 자원 분배량을 결정하는 것이 상기 에이전트(210)의 목적이 될 수 있다. 이를 위한 상기 학습 과정에 대하여는 도 3을 참조하여 상세하게 설명할 것이다.
따라서, 외부 스케줄링 에이전트(210)가 출력하는 기본자원 분배량은 향후 어느 시간에, 어느 자원을, 어느 프로세스에게, 얼마나 분배할 것인지에 대한 정보를 포함할 수 있으며, 이들로 한정되지 않는다.
상기 기본자원 분배량의 경우의 수는 자원 풀(pool)의 개수, 프로세스의 개수와 스케줄의 대상이 되는 시간의 길이에 의해 결정된다. 예를 들어, 자원 (pool)의 개수가 3이고, 프로세스가 5개이고, 향후 스케줄의 대상이 되는 시간의 길이가 5 (time-unit)이라면 경우의 수는 75(=3*5*5)가 된다.
외부 스케줄링 에이전트(210)는 상기 기본 자원 분배량을 포함한 정보(205)를 내부 스케줄링 에이전트(220)에 전달한다. 이때, 상기 기본 자원 분배량을 포함한 정보(205)에는 상기 자원관리 시스템의 정보(201) 또한 포함될 수 있으며, 이에 한정되지 않는다.
일 예시로서, 내부 스케줄링 에이전트(220)는 각 프로세스별로 공정성 스케줄링(도 1, 103)과 비교했을 때, 프로세스의 완료시간을 증가시키지 않는 범위 내에서, 다시 말해, 실효공정성을 훼손하지 않는 범위 내에서, 효율성과 자원 잔여분을 극대화하기 위한 기본 자원 할당 스케줄 결정 및 기본자원 할당 스케줄을 반영한 자원 잔여분 결정을 담당할 수 있다. 접두사 “내부”는 프로세스의 내부(intra-process)를 의미한다.
내부 스케줄링 에이전트(220)는 상기 기본자원 분배량을 포함한 정보(205)를 이용하여 기본자원 할당 스케줄 및 프로세스별로 자원 잔여분을 출력한다.
상기 기본 자원 할당 스케줄은 외부 스케줄링 에이전트(210)가 결정한 프로세스별, 기본 자원 분배량의 범위 이내에서 결정되는 정보로서, 어느 프로세스의 어느 태스크에, 어느 자원 풀의 어느 부분이, 언제 할당되는지를 포함하는 정보이다. 상기 기본 자원 할당 스케줄은 스케줄링 결정이므로, 자원관리 시스템(200)으로 직접 전달(203)될 수 있다.
상기 자원 잔여분은 어느 프로세스에게 기본자원으로 할당된 자원 각각에 대하여 언제 어느 정도를 잔여분으로 공유할 수 있는지를 포함하는 정보이다. 예를 들어, 시간 별, 자원 풀(pool) 별, 자원 잔여분의 합으로 나타낼 수 있다.
내부 스케줄링 에이전트(220)는 상기 기본자원 할당 스케줄 및 상기 자원 잔여분을 포함한 정보(206)를 잔여 스케줄링 에이전트(230)에게 전달한다. 일 예시로서 상기 정보(206)에는 추가적으로 프로세스별 요청현황 및 자원사용현황이 포함될 수 있는데, 이 때 프로세스별 요청현황은 상기 자원관리 시스템의 정보(201)에 포함되었던 프로세스별 요청현황에 기본자원 할당 스케줄의 결과를 반영하여 업데이트한 요청현황이 될 수 있으며, 자원사용현황 또한 상기 자원관리 시스템의 정보(201)에 포함되었던 자원사용현황에 기본자원 할당 스케줄의 결과를 반영하여 업데이트한 사용현황이 될 수 있다.
내부 스케줄링 에이전트(220) 또한 효율적인 기본 자원 할당 스케줄 및 자원 잔여분을 결정하기 위하여 후술할 학습과정을 거치게 되는데, 상기 학습 과정에 대하여는 도 3을 참조하여 상세하게 설명할 것이다.
일 실시예로서 내부 스케줄링 에이전트(220)의 결정대상은 개별 프로세스 내부 태스크(task)들의 기본 자원 할당 스케줄 및 개별 프로세스의 자원 잔여분이 될 수 있다. 따라서 기본적으로는 단일 프로세스 정보를 입력으로 하고, 다수 개의 프로세스가 입력되는 경우에는 프로세스 개수만큼 수행을 반복하는 형태로 구현될 수 있다. 그러나, 여러 개의 프로세스를 한꺼번에 입력 받아 한번에 결과를 출력하는 일괄 처리의 형태로 구현하는 것도 가능하다. 예를 들어, 현재 스케줄링의 대상이 되는 프로세스의 개수가 10개라면, 단일 프로세스 단위로 처리하는 에이전트로 구현하는 경우 결정을 10회 반복하는 형태, 즉 반복문의 구조로 실행될 수 있다. 반면, 일괄 처리의 형태로 구현하는 경우 입출력의 프로세스 관련 정보는 10개의 프로세스 모두를 포괄하는 배열 내지는 벡터 형태로 정의되고, 한번만 결정되는 형태로 실행될 수도 있다.
잔여 스케줄링 에이전트(230)는 성능 지표 중 프로세스 완료시간 또는 효율성을 고려한 잔여자원의 분배를 결정하는 주체로서, 내부 스케줄링 에이전트(220)가 출력한 상기 기본자원 할당 스케줄 및 상기 자원 잔여분을 포함한 정보(206)를 이용하여, 잔여자원 할당 스케줄(204)을 출력하고, 이를 자원관리 시스템(200)에게 전달할 수 있다.
상기 잔여자원 할당 스케줄(204)은, 어느 프로세스의 어느 태스크에, 어느 자원 풀(pool)의 어느 부분이, 언제 할당되는지에 대한 정보를 포함할 수 있으며, 상기 내부 스케줄링 에이전트(220)의 상기 기본자원 할당 스케줄이 결정된 상태에서 아직 할당되지 않은 태스크 및 잔여자원들을 대상으로 결정한다.
잔여 스케줄링 에이전트(230) 또한 후술할 학습 과정을 통해 효율적인 잔여 자원할당 스케줄을 결정할 수 있는데, 상기 학습 과정에 대하여는 도 3을 참조하여 상세하게 설명할 것이다.
자원관리 시스템(200)은 본 발명의 일 실시예에 따른 강화학습 기반의 이타적 스케줄링 장치에 의해 생성된 상기 기본자원 할당 스케줄(203)과 상기 잔여자원 할당 스케줄(204)에 따라, 공정성 하락을 완화시키면서도 프로세스 완료시간 및 효율성과 같은 타 성능지표의 추가적 향상을 꾀할 수 있다.
도 3은 본 발명의 일 실시예에 따른 강화학습 기반의 이타적 스케줄링 장치의 학습 과정을 설명하기 위하여 도시한 것이다. 보다 상세하게는, 도 3a는 외부 스케줄링 에이전트의 학습 과정을, 도 3b는 내부 스케줄링 에이전트의 학습 과정을, 도 3c는 잔여 스케줄링 에이전트의 학습 과정을 순서도로서 도시한 것이다.
도 3을 참조하여 설명하는 외부, 내부 및 잔여 스케줄링 에이전트들의 강화학습은 실제 시스템 또는 그것을 모사하는 환경(예를 들어, 테스트베드 또는 시뮬레이션)을 대상으로 “수신 - 결정 - 피드백(보상) - 정책개선 - 수신 - …”형태의 학습 단계를 반복한다. 학습은 종료 조건에 도달할 때까지 반복될 수 있으며, 미래에 획득할 누적보상의 합을 최대화하는 방향으로 수행되어야 한다. 따라서, 학습은 에이전트의 정책 및 가치함수를 점진적으로 개선(evolve)시키는 방향으로 수행된다. 상기 종료 조건은 시간, 성능 지표, 학습 정도, 중요한 누적가치가 높게 형성되는지, 혹은 결과 값이 크게 진동하지 않고 안정적인 값을 기대할 수 있는지 등을 기준으로 사용할 수 있으며, 특정 기준에 한정되지 않는다. 자원관리 시스템을 환경으로 간주하여, 외부, 내부 및 잔여 스케줄링 에이전트들이 각각의 학습 단계를 반복하면서 개선되는 형태로, 스케줄링 알고리즘이 자동으로 구성될 수 있다.
먼저, 외부 스케줄링 에이전트의 학습 과정은 다음의 순서로 이루어 질 수 있다. 일 예시로서 외부 스케줄링 에이전트는 자원관리 시스템으로부터 프로세스 요청현황 및 자원사용현황을 포함한 자원관리 시스템의 정보를 수신(301)하고, 내부의 정책함수 또는 가치함수에 의해 각 프로세스 별로 기본 자원 분배량을 결정(302)하여 출력한다. 또한 강화학습을 위한 보상함수로서, 자원관리 시스템에서 보내는 공정성 평가 피드백을 수신(303)할 수 있고 이를 보상함수로서 이용하여 정책개선을 수행(304)한다. 이후 종료 조건에 도달하였는지 판별(305)하여 종료 조건 도달시 학습을 마치고, 도달하지 않은 것으로 판단되면 자원관리 시스템의 정보를 수신(301)하는 단계로 돌아가, 전술한 바와 같은 “수신 - 결정 - 피드백(보상) - 정책개선” 과정을 반복하여 수행한다.
내부 스케줄링 에이전트의 학습 과정은, 상기 외부 스케줄링 에이전트에 의해 결정된 기본 자원 분배량을 포함한 정보를 수신(311)하고, 내부의 정책함수 또는 가치함수에 의해 각 프로세스를 구성하는 태스크들에 대한 기본자원 할당 스케줄을 결정(312)하고, 결정된 기본 자원 할당 스케줄을 기반으로 각 프로세스 별로 이타적 공유가 가능한 자원 잔여분도 결정(312)한다. 이는 프로세스 별로 결정된 기본자원 분배량의 한도 내에서 이루어진다. 결정된 기본자원 할당 스케줄은 자원관리 시스템으로 전달되어, 시스템의 스케줄링에 반영될 수 있다. 이에 따라 자원관리 시스템으로부터 공정성, 완료시간 및 효율성에 대한 평가 피드백을 수신(313)하고, 이를 보상함수로서 이용하여 정책개선을 수행(314)한다. 이후 종료 조건에 도달하였는지 판별(315)하여 종료 조건 도달시 학습을 마치고, 도달하지 않은 것으로 판단되면 기본 자원 분배량을 포함한 정보를 수신(311)하는 단계로 돌아가, 전술한 바와 같은 “수신 - 결정 - 피드백(보상) - 정책개선” 과정을 반복하여 수행한다.
잔여 스케줄링 에이전트는, 학습을 위하여, 내부 스케줄링 에이전트의 프로세스 별 자원 잔여분을 포함한 정보를 수신(321)할 수 있는데, 상기 정보에는 업데이트된 프로세스 요청현황 및 자원사용현황이 포함될 수 있다. 이는 기본자원 할당 스케줄에 의한 변화를 프로세스 요청현황 및 자원사용현황에 반영한 것을 지칭한다.
잔여 스케줄링 에이전트는 내부의 정책함수 또는 가치함수에 의해 잔여자원 할당 스케줄을 결정(322)한다. 이를 통해, 아직 자원할당을 받지 못한 태스크에 완료시간 및 효율성을 고려한 추가 할당이 이루어질 수 있다. 또한 결정된 잔여자원 할당 스케줄은 자원관리 시스템에 전달되어, 시스템의 스케줄링에 반영된다. 이에 따라 잔여 스케줄링 에이전트는 자원관리 시스템으로부터 완료시간 및 효율성 평가 피드백을 수신(323)하여, 이를 보상함수로서 정책개선을 수행(324)한다. 이후 종료 조건에 도달하였는지 판별(325)하여 종료 조건 도달시 학습을 마치고, 도달하지 않은 것으로 판단되면 자원 잔여분을 포함한 정보를 수신(321)하는 단계로 돌아가, 전술한 바와 같은 “수신 - 결정 - 피드백(보상) - 정책개선” 과정을 반복하여 수행한다.
이 때, 각 에이전트들이 피드백으로 수신하는 성능지표 평가는, 예를 들어, 내부 스케줄링 에이전트에 의해 기본자원 할당 스케줄이 결정되고 상기 기본자원 할당 스케줄이 자원관리 시스템에 반영된 이후에 수신하거나, 상기 기본자원 할당 스케줄뿐 아니라 잔여 스케줄링 에이전트에 의해 잔여자원 할당 스케줄까지 모두 결정된 후, 모든 결정된 스케줄이 자원 관리 시스템에 모두 반영된 이후에 수신하는 것도 가능하다고 할 것이다.
전술한 바와 같이, 학습은 에이전트의 정책 및 가치함수를 점진적으로 개선(evolve)시키는 방향으로 수행되고, 이는 기대되는 미래 보상의 합을 최대로 하는 정책 및 가치함수를 찾는 것을 의미한다. 이 때, 학습을 수행하면서 기대하는 학습의 결과나 원하는 학습의 방향에 따라 특정 보상함수에는 다른 보상함수에 비하여 가중치를 두는 방식으로 학습을 수행할 수도 있다. 각각의 스케줄링 에이전트들은 입력된 관찰, 행동 및 보상함수를 내부의 저장공간에 집합 또는 시퀀스(sequence)의 형태로 누적할 수 있다. 이를 경험(experience)이라고 한다. 경험이 누적됨에 따라, 필요한 경우, 정책 및 가치함수에 대한 업데이트를 수행하는데, 이것이 반복되면서 정책 및 가치함수가 공정성, 프로세스 완료시간 및 효율성 지표를 향상시키는 방향으로 개선된다. 다시 말해, 정책 및 가치함수들에 점진적으로 스케줄링 알고리즘을 내재하는 형태로 자동구성이 이루어질 수 있다.
도 4는 본 발명의 일 실시예에 따른 강화학습 기반의 이타적 스케줄링 시스템의 활용 과정을 도시한 것이다. 보다 상세하게는, 강화학습을 통해 자동 구성된 스케줄링 알고리즘을 자원관리 시스템에 반영하여 활용하는 과정을 기술한 순서도이다. 일 예시로서, 상기 강화학습은 도 3에 나타난 바와 같이 수행될 수 있으며, 도 2에 나타난 강화학습 기반의 이타적 스케줄링 시스템의 활용 과정일 수 있다. 또한 활용과정은 학습과정에서 보상정보 수신 및 에이전트 별 강화학습이 이루어지는 단계들을 제외한 것과 유사할 수 있다.
일 실시예로서, 강화학습 기반의 이타적 스케줄링 장치는 자원관리 시스템의 정보를 수신(401)한다. 이 때 자원관리 시스템의 정보란, 도 2에서 상술한 바와 같이, 프로세스 요청현황 및 자원사용현황을 포함하는 정보가 될 수 있다. 상기 정보를 기반으로, 프로세스 별로, 향후 어느 시간에, 어느 자원을, 어느 프로세스에게, 얼마나 분배할 것인지에 대한 정보를 포함하는, 기본 자원 분배량을 결정(402)한다. 상기 결정된 기본 자원 분배량을 포함한 정보를 기반으로, 프로세스 별 기본 자원 할당 스케줄을 결정하고 상기 결정된 기본 자원 할당 스케줄을 기반으로 자원 잔여분을 결정(403)할 수 있다. 이 때 상기 기본 자원 할당 스케줄이란 상기 기본 자원 분배량의 범위 이내에서 결정되는 정보로서, 어느 프로세스의 어느 태스크에, 어느 자원 풀의 어느 부분이, 언제 할당되는지를 포함하는 정보가 될 수 있으며, 상기 자원 잔여분이란 어느 프로세스에게 기본자원으로 할당된 자원 각각에 대하여 언제 어느 정도를 잔여분으로 공유할 수 있는지를 포함하는 정보가 될 수 있다.
상기 기본 자원 할당 스케줄 및 상기 자원 잔여분을 포함한 정보를 기반으로 잔여자원 할당 스케줄을 결정(404)하는데, 상기 잔여자원 할당 스케줄은 어느 프로세스의 어느 태스크에, 어느 자원 풀(pool)의 어느 부분이, 언제 할당되는지에 대한 정보를 포함할 수 있으며, 상기 기본자원 할당 스케줄이 결정된 상태에서 아직 할당되지 않은 태스크 및 잔여자원들을 대상으로 결정될 수 있다. 결정된 상기 기본 자원 할당 스케줄 및 상기 잔여자원 할당 스케줄을 자원관리 시스템에 반영(405) 할 수 있다. 다만, 도 4에서 도시한 바와 같이 상기 잔여자원 할당 스케줄이 결정된 후 상기 기본자원 할당 스케줄과 상기 잔여자원 할당 스케줄이 동시에 자원관리 시스템에 반영될 수도 있으나, 상기 잔여자원 할당 스케줄에 비하여 먼저 결정되는 상기 기본자원 할당 스케줄이 자원관리 시스템에 반영되고, 그 뒤에 상기 잔여자원 할당 스케줄이 자원관리 시스템에 전달되어 반영되는 것도 가능하다고 할 것이다. 즉, 본 발명은 이에 제한을 두지 않는다.
일 실시예로서, 도 2의 자원관리 시스템과 강화학습 기반의 이타적 스케줄링 장치를 이용하여 위 흐름도에 따를 수 있는데, 자원관리 시스템의 정보를 수신(401)하여 상기 정보를 기반으로 프로세스 별 기본 자원 분배량을 결정(402)하는 것은 외부 스케줄링 에이전트에 의할 수 있으며, 상기 결정된 기본 자원 분배량을 포함한 정보를 기반으로, 프로세스 별 기본 자원 할당 스케줄을 결정하고 상기 결정된 기본 자원 할당 스케줄을 기반으로 자원 잔여분을 결정(403)하는 것은 내부 스케줄링 에이전트에 의할 수 있다. 또한, 상기 기본 자원 할당 스케줄 및 상기 자원 잔여분을 포함한 정보를 기반으로 잔여자원 할당 스케줄을 결정(404)하는 것은 잔여 스케줄링 에이전트에 의할 수 있다.
도 5은 본 발명의 일 실시예에 따른 강화학습 기반의 이타적 스케줄링 방법을 도시한 것이다.
보다 상세하게는, 여러 스케줄을 결정할 외부, 내부 및 잔여 스케줄링 에이전트를 이용한 강화학습 기반의 이타적 스케줄링 방법을 설명하기 위하여 도시한 것이다.
외부 스케줄링 에이전트를 이용하여 자원관리 시스템의 정보를 기반으로 프로세스 별로, 향후 어느 시간에, 어느 자원을, 어느 프로세스에게, 얼마나 분배할 것인지에 대한 정보를 포함하는, 기본 자원 분배량을 결정(S50)한다.
내부 스케줄링 에이전트를 이용하여 상기 기본 자원 분배량을 포함한 정보를 기반으로 상기 기본 자원 분배량의 범위 이내에서 어느 프로세스의 어느 태스크에, 어느 자원 풀의 어느 부분이, 언제 할당되는지를 포함하는 정보인 기본 자원 할당 스케줄을 결정하고, 상기 기본자원 할당 스케줄을 기반으로 자원 잔여분을 결정한다.(S502) 이때 상기 자원 잔여분이란 어느 프로세스에게 기본자원으로 할당된 자원 각각에 대하여 언제 어느 정도를 잔여분으로 공유할 수 있는지를 포함하는 정보가 될 수 있다.
이후 잔여 스케줄링 에이전트를 이용하여 상기 자원 잔여분을 포함한 정보를 기반으로 잔여자원 할당 스케줄을 결정하는 과정(S503)을 포함하여 강화학습 기반의 이타적 스케줄링 방법을 구성할 수 있는데, 상기 잔여 자원 할당 스케줄이란 어느 프로세스의 어느 태스크에, 어느 자원 풀(pool)의 어느 부분이, 언제 할당되는지에 대한 정보를 포함할 수 있으며, 상기 내부 스케줄링 에이전트의 상기 기본자원 할당 스케줄이 결정된 상태에서 아직 할당되지 않은 태스크 및 잔여자원들을 대상으로 결정한다.
일 예시로서, 상기 에이전트들을 이용한 강화학습은, 도 3을 참조하여 상술한 바와 같이 수행될 수 있으며, 각 에이전트들은 도 2의 에이전트들과 동일한 것일 수 있으며, 각 에이전트들이 결정을 위하여 사용하는 정보 또한 도 2를 참조하여 전술한 바와 동일한 것을 사용할 수 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
예를 들어, 본 발명의 일 실시예에 따른, 매체에 저장된 강화학습 기반 이타적 스케줄링을 위한 컴퓨터 프로그램은, 강화학습은 다른 컴퓨팅 장치에서 수행하고, 강화학습을 마친 스케줄링 에이전트만을 이용할 수도 있으나, 직접 스케줄링 에이전트들을 통해 강화학습을 수행하고 강화학습을 마친 스케줄링 에이전트를 이용하는 형태로 구현될 수도 있다. 또한 상기 매체에 저장된 강화학습 기반 이타적 스케줄링을 위한 컴퓨터 프로그램을 실행하는 컴퓨터는, 휴대형 정보 단말기기, 스마트 폰, 모바일 전자기기, 거치형 컴퓨터 등을 포함하며, 이에 한정되지 않는다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행 가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로, 본 발명의 범위는 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
200: 자원관리 시스템
201: 자원관리 시스템의 정보
202: 강화학습 기반의 이타적 스케줄링 장치
203: 기본자원 할당 스케줄
204: 잔여자원 할당 스케줄
205: 기본 자원 분배량을 포함한 정보
206: 기본자원 할당 스케줄 및 자원 잔여분을 포함한 정보
210: 외부 스케줄링 에이전트
220: 내부 스케줄링 에이전트
230: 잔여 스케줄링 에이전트

Claims (20)

  1. 강화학습 기반의 이타적 스케줄링 장치에 있어서,
    자원관리 시스템의 정보를 기반으로 프로세스 별 기본 자원 분배량을 결정하는 외부 스케줄링 에이전트;
    상기 기본 자원 분배량을 포함한 정보를 기반으로 결정된 프로세스 별 기본 자원 할당 스케줄 및 상기 기본 자원 할당 스케줄을 기반으로 자원 잔여분을 결정하는 내부 스케줄링 에이전트;
    상기 자원 잔여분을 포함한 정보를 기반으로 잔여자원 할당 스케줄을 결정하는 잔여 스케줄링 에이전트;
    를 포함하되,
    상기 프로세스는 각각 적어도 하나의 태스크(task)를 포함하고,
    상기 태스크가 복수인 경우, 상기 자원관리 시스템의 정보는 상기 태스크 간의 실행 순서 관계를 포함하고, 상기 프로세스 별 기본 자원 분배량, 태스크 별 기본 자원 할당 스케줄, 잔여 자원 할당 스케줄 중 적어도 하나는 상기 태스크 간의 실행 순서 관계를 기반으로 결정된 공정성 평가, 완료시간 평가 및 효율성 평가 를 고려하여 결정되고,
    상기 외부 스케줄링 에이전트는
    상기 자원관리 시스템으로부터 프로세스 요청현황 및 자원사용현황을 포함한 자원관리 시스템의 정보를 수신하고, 내부의 정책함수 또는 가치함수에 의해 각 프로세스 별 기본 자원 분배량을 결정하여 출력하도록 학습되고,
    상기 자원관리 시스템에서 수신한 공정성 평가 피드백을 보상함수로서 이용하여 정책개선을 수행함으로써 학습되고,
    상기 내부 스케줄링 에이전트는
    상기 외부 스케줄링 에이전트에 의해 결정된 기본 자원 분배량을 포함한 정보를 수신하고, 내부의 정책함수 또는 가치함수에 의해 각 프로세스를 구성하는 태스크들에 대한 기본자원 할당 스케줄을 결정하고, 결정된 기본 자원 할당 스케줄을 기반으로 각 프로세스 별로 이타적 공유가 가능한 자원 잔여분을 결정하도록 학습되며,
    상기 자원관리 시스템으로부터 상기 공정성 평가, 완료시간 평가 및 효율성 평가에 대한 평가 피드백을 보상함수로서 이용하여 정책개선을 수행함으로써 학습되고,
    상기 잔여 스케줄링 에이전트는
    상기 내부 스케줄링 에이전트의 프로세스 별 자원 잔여분을 포함한 정보를 수신하고, 내부의 정책함수 또는 가치함수에 의해 잔여자원 할당 스케줄을 결정하도록 학습되고, 상기 자원관리 시스템으로부터 완료시간 및 효율성 평가 피드백을 보상함수로서 정책개선을 수행함으로써 학습된,
    강화학습 기반의 이타적 스케줄링 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1항에 있어서,
    상기 기본 자원 분배량은,
    프로세스 별로,
    분배할 자원의 종류;
    자원 분배 시간 및 자원의 분배량에 대한 정보를 포함하는 강화학습 기반의 이타적 스케줄링 장치.
  6. 제 5항에 있어서,
    상기 기본 자원 할당 스케줄은
    각 프로세스의 태스크(task) 별로,
    분배할 자원의 종류;
    자원 분배 시간 및 자원의 분배량에 대한 정보를 포함하는 강화학습 기반의 이타적 스케줄링 장치.
  7. 제 6항에 있어서,
    상기 잔여 자원 할당 스케줄은
    각 프로세스의 태스크 별로,
    분배할 잔여자원의 종류;
    잔여자원 분배 시간 및 잔여자원의 분배량에 대한 정보를 포함하는 강화학습 기반의 이타적 스케줄링 장치.
  8. 제 7항에 있어서,
    상기 자원관리 시스템의 정보는
    새로 요청된 프로세스의 집합 및 상기 새로 요청된 프로세스 관련 정보를 포함하는 상기 프로세스 요청현황;
    각 프로세스가 필요로 하는 자원에 대한 정보인 상기 자원사용현황;
    을 포함하는, 강화학습 기반의 이타적 스케줄링 장치.
  9. 제 8항에 있어서,
    상기 내부 스케줄링 에이전트는,
    상기 자원사용현황과 상기 프로세스 요청현황에,
    상기 기본자원 할당 스케줄을 각각 반영하여 업데이트하는 것을 특징으로 하는 강화학습 기반의 이타적 스케줄링 장치.
  10. 제 9항에 있어서,
    상기 업데이트된 자원 사용현황 및 상기 업데이트된 프로세스 요청 현황은
    상기 자원 잔여분을 포함한 정보에 포함되는 강화학습 기반의 이타적 스케줄링 장치.
  11. 강화학습 기반의 이타적 스케줄링 장치에 의해 수행되는 외부, 내부 및 잔여 스케줄링 에이전트를 이용한 강화학습 기반의 이타적 스케줄링 방법에 있어서,
    상기 외부 스케줄링 에이전트를 이용하여 자원관리 시스템의 정보를 기반으로 프로세스 별 기본 자원 분배량을 결정하는 제1 과정;
    상기 내부 스케줄링 에이전트를 이용하여 상기 기본 자원 분배량을 포함한 정보를 기반으로 프로세스 별 기본 자원 할당 스케줄 및 상기 기본 자원 할당 스케줄을 기반으로 자원 잔여분을 결정하는 제2 과정;
    상기 잔여 스케줄링 에이전트를 이용하여 상기 자원 잔여분을 포함한 정보를 기반으로 잔여자원 할당 스케줄을 결정하는 제3 과정;
    을 포함하되,
    상기 프로세스는 각각 적어도 하나의 태스크(task)를 포함하고,
    상기 태스크가 복수인 경우, 상기 자원관리 시스템의 정보는 상기 태스크 간의 실행 순서 관계를 포함하고, 상기 프로세스 별 기본 자원 분배량, 태스크 별 기본 자원 할당 스케줄, 잔여 자원 할당 스케줄 중 적어도 하나는 상기 태스크 간의 실행 순서 관계를 기반으로 결정된 공정성 평가, 완료시간 평가 및 효율성 평가를 고려하여 결정되고,
    상기 외부 스케줄링 에이전트는
    상기 자원관리 시스템으로부터 프로세스 요청현황 및 자원사용현황을 포함한 자원관리 시스템의 정보를 수신하고, 내부의 정책함수 또는 가치함수에 의해 각 프로세스 별 기본 자원 분배량을 결정하여 출력하도록 학습되고,
    상기 자원관리 시스템에서 수신한 공정성 평가 피드백을 보상함수로서 이용하여 정책개선을 수행함으로써 학습되고,
    상기 내부 스케줄링 에이전트는
    상기 외부 스케줄링 에이전트에 의해 결정된 기본 자원 분배량을 포함한 정보를 수신하고, 내부의 정책함수 또는 가치함수에 의해 각 프로세스를 구성하는 태스크들에 대한 기본자원 할당 스케줄을 결정하고, 결정된 기본 자원 할당 스케줄을 기반으로 각 프로세스 별로 이타적 공유가 가능한 자원 잔여분을 결정하도록 학습되며,
    상기 자원관리 시스템으로부터 상기 공정성 평가, 완료시간 평가 및 효율성 평가에 대한 평가 피드백을 보상함수로서 이용하여 정책개선을 수행함으로써 학습되고,
    상기 잔여 스케줄링 에이전트는
    상기 내부 스케줄링 에이전트의 프로세스 별 자원 잔여분을 포함한 정보를 수신하고, 내부의 정책함수 또는 가치함수에 의해 잔여자원 할당 스케줄을 결정하도록 학습되고, 상기 자원관리 시스템으로부터 완료시간 및 효율성 평가 피드백을 보상함수로서 정책개선을 수행함으로써 학습된,
    강화학습 기반의 이타적 스케줄링 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 제 11항에 있어서,
    상기 기본 자원 분배량은,
    프로세스 별로,
    분배할 자원의 종류;
    자원 분배 시간 및 자원의 분배량에 대한 정보를 포함하는 강화학습 기반의 이타적 스케줄링 방법.
  16. 제 15항에 있어서,
    상기 기본 자원 할당 스케줄은
    각 프로세스의 태스크(task) 별로,
    분배할 자원의 종류;
    자원 분배 시간 및 자원의 분배량에 대한 정보를 포함하는 강화학습 기반의 이타적 스케줄링 방법.
  17. 제 16항에 있어서,
    상기 잔여 자원 할당 스케줄은
    각 프로세스의 태스크 별로,
    분배할 잔여자원의 종류;
    잔여자원 분배 시간 및 잔여자원의 분배량에 대한 정보를 포함하는 강화학습 기반의 이타적 스케줄링 방법.
  18. 제 17항에 있어서,
    상기 자원관리 시스템의 정보는
    새로 요청된 프로세스의 집합 및 상기 새로 요청된 프로세스 관련 정보를 포함하는 상기 프로세스 요청현황;
    각 프로세스가 필요로 하는 자원에 대한 정보인 상기 자원사용현황을 포함하는, 강화학습 기반의 이타적 스케줄링 방법.
  19. 제 18항에 있어서,
    상기 자원사용현황과 상기 프로세스 요청현황에,
    상기 기본자원 할당 스케줄을 각각 반영하여 업데이트하는 것을 특징으로
    하는 강화학습 기반의 이타적 스케줄링 방법.
  20. 컴퓨터에서,
    외부 스케줄링 에이전트를 이용하여 자원관리 시스템의 정보를 기반으로 프로세스 별 기본 자원 분배량을 결정하는 제1 과정;
    내부 스케줄링 에이전트를 이용하여 상기 기본 자원 분배량을 포함한 정보를 기반으로 결정된 프로세스 별 기본 자원 할당 스케줄 및 상기 기본 자원 할당 스케줄을 기반으로 자원 잔여분을 결정하는 제2 과정;
    잔여 스케줄링 에이전트를 이용하여 상기 자원 잔여분을 포함한 정보를 기반으로 잔여자원 할당 스케줄을 결정하는 제3 과정;
    을 실행시키되,
    상기 프로세스는 각각 적어도 하나의 태스크(task)를 포함하고,
    상기 태스크가 복수인 경우, 상기 자원관리 시스템의 정보는 상기 태스크 간의 실행 순서 관계를 포함하고, 상기 프로세스 별 기본 자원 분배량, 태스크 별 기본 자원 할당 스케줄, 잔여 자원 할당 스케줄 중 적어도 하나는 상기 태스크 간의 실행 순서 관계를 기반으로 결정된 공정성 평가, 완료시간 평가 및 효율성 평가를 고려하여 결정되고,
    상기 외부 스케줄링 에이전트는
    상기 자원관리 시스템으로부터 프로세스 요청현황 및 자원사용현황을 포함한 자원관리 시스템의 정보를 수신하고, 내부의 정책함수 또는 가치함수에 의해 각 프로세스 별 기본 자원 분배량을 결정하여 출력하도록 학습되고,
    상기 자원관리 시스템에서 수신한 공정성 평가 피드백을 보상함수로서 이용하여 정책개선을 수행함으로써 학습되고,
    상기 내부 스케줄링 에이전트는
    상기 외부 스케줄링 에이전트에 의해 결정된 기본 자원 분배량을 포함한 정보를 수신하고, 내부의 정책함수 또는 가치함수에 의해 각 프로세스를 구성하는 태스크들에 대한 기본자원 할당 스케줄을 결정하고, 결정된 기본 자원 할당 스케줄을 기반으로 각 프로세스 별로 이타적 공유가 가능한 자원 잔여분을 결정하도록 학습되며,
    상기 자원관리 시스템으로부터 상기 공정성 평가, 완료시간 평가 및 효율성 평가에 대한 평가 피드백을 보상함수로서 이용하여 정책개선을 수행함으로써 학습되고,
    상기 잔여 스케줄링 에이전트는
    상기 내부 스케줄링 에이전트의 프로세스 별 자원 잔여분을 포함한 정보를 수신하고, 내부의 정책함수 또는 가치함수에 의해 잔여자원 할당 스케줄을 결정하도록 학습되고, 상기 자원관리 시스템으로부터 완료시간 및 효율성 평가 피드백을 보상함수로서 정책개선을 수행함으로써 학습된,
    외부, 내부 및 잔여 스케줄링 에이전트를 이용한 강화학습 기반의 이타적 스케줄링을 위한, 비일시적 컴퓨터 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램.
KR1020190155810A 2019-11-28 2019-11-28 강화학습 기반 이타적 스케줄링 장치 및 방법 KR102496115B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190155810A KR102496115B1 (ko) 2019-11-28 2019-11-28 강화학습 기반 이타적 스케줄링 장치 및 방법
US17/104,377 US11711795B2 (en) 2019-11-28 2020-11-25 Apparatus and method for altruistic scheduling based on reinforcement learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190155810A KR102496115B1 (ko) 2019-11-28 2019-11-28 강화학습 기반 이타적 스케줄링 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210066502A KR20210066502A (ko) 2021-06-07
KR102496115B1 true KR102496115B1 (ko) 2023-02-06

Family

ID=76091005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190155810A KR102496115B1 (ko) 2019-11-28 2019-11-28 강화학습 기반 이타적 스케줄링 장치 및 방법

Country Status (2)

Country Link
US (1) US11711795B2 (ko)
KR (1) KR102496115B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4148569A1 (fr) * 2021-09-13 2023-03-15 Bull SAS Procédé d'ordonnancement d'un ensemble de taches de calcul dans un supercalculateur
US20230096811A1 (en) * 2021-09-24 2023-03-30 Hexagon Technology Center Gmbh Scheduling with support for multiple scheduling objectives

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019106120A (ja) * 2017-12-14 2019-06-27 日本電気株式会社 プロセススケジューリング装置、プロセス実行装置およびプロセススケジューリング方法
JP2019194914A (ja) 2014-06-27 2019-11-07 アマゾン・テクノロジーズ・インコーポレーテッド 仮想コンピュータリソースのスケジューリングのためのローリングリソースクレジット

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100896206B1 (ko) * 2006-08-08 2009-05-12 삼성전자주식회사 광대역 무선통신시스템에서 자원 할당 장치 및 방법
US9008003B2 (en) * 2006-12-08 2015-04-14 Futurewei Technologies, Inc. Method for negotiating the maximum resource for sharing in OFDMA-based communications system
US9740533B2 (en) 2009-08-03 2017-08-22 Oracle International Corporation Altruistic dependable memory overcommit for virtual machines
US9106591B2 (en) * 2009-12-24 2015-08-11 Delphix Corporation Adaptive resource management using survival minimum resources for low priority consumers
US8909567B2 (en) 2012-02-20 2014-12-09 Xerox Corporation Method and system for the dynamic allocation of resources based on fairness, throughput, and user behavior measurement
PL2720506T3 (pl) 2012-10-09 2018-03-30 Alcatel Lucent Ideowe szeregowanie w heterogenicznych bezprzewodowych sieciach
KR101695013B1 (ko) * 2012-12-14 2017-01-10 한국전자통신연구원 적응형 자원 할당 및 관리 방법
KR102012249B1 (ko) 2013-03-28 2019-08-21 한국전자통신연구원 동적 자원 할당 방법 및 장치
KR101666395B1 (ko) 2013-10-14 2016-10-14 한국전자통신연구원 멀티코어 환경에서 우선순위 기반의 실시간 운영체제의 태스크 스케줄링 방법
US10284486B2 (en) * 2014-07-10 2019-05-07 Oracle International Corporation System and method for resource isolation and consumption in a multitenant application server environment
US10085263B2 (en) * 2014-11-24 2018-09-25 Lg Electronics Inc. Method and device for allocating resource units using leftover tones in wireless LAN
KR101771928B1 (ko) * 2015-02-23 2017-08-29 한남대학교 산학협력단 태스크 스케줄링 장치 및 방법
US10425956B2 (en) * 2015-08-18 2019-09-24 Huawei Technologies Co., Ltd. Link scheduling system and method
KR20190070251A (ko) * 2017-12-12 2019-06-20 한국전자통신연구원 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법 및 이를 위한 장치
KR20190070659A (ko) * 2017-12-13 2019-06-21 주식회사 넥스클라우드 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법
KR102045039B1 (ko) 2018-03-09 2019-11-14 울산과학기술원 통합 서버의 자원 분배 관리장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019194914A (ja) 2014-06-27 2019-11-07 アマゾン・テクノロジーズ・インコーポレーテッド 仮想コンピュータリソースのスケジューリングのためのローリングリソースクレジット
JP2019106120A (ja) * 2017-12-14 2019-06-27 日本電気株式会社 プロセススケジューリング装置、プロセス実行装置およびプロセススケジューリング方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
[Massachusetts Institute of Technology]
[USENIX]

Also Published As

Publication number Publication date
KR20210066502A (ko) 2021-06-07
US20210168827A1 (en) 2021-06-03
US11711795B2 (en) 2023-07-25

Similar Documents

Publication Publication Date Title
Zhao et al. Offloading tasks with dependency and service caching in mobile edge computing
Liu et al. Online multi-workflow scheduling under uncertain task execution time in IaaS clouds
US11294726B2 (en) Systems, methods, and apparatuses for implementing a scalable scheduler with heterogeneous resource allocation of large competing workloads types using QoS
US10884795B2 (en) Dynamic accelerator scheduling and grouping for deep learning jobs in a computing cluster
US11216310B2 (en) Capacity expansion method and apparatus
US8392633B2 (en) Scheduling requesters of a shared storage resource
US11237862B2 (en) Virtualized network function deployment
US11507419B2 (en) Method,electronic device and computer program product for scheduling computer resources in a task processing environment
US11150999B2 (en) Method, device, and computer program product for scheduling backup jobs
US11055139B2 (en) Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster
KR102496115B1 (ko) 강화학습 기반 이타적 스케줄링 장치 및 방법
US9401869B1 (en) System and methods for sharing memory subsystem resources among datacenter applications
US20180107766A1 (en) Mapping application functional blocks to multi-core processors
WO2021093248A1 (zh) 调度方法及装置、电子设备和存储介质
US11474868B1 (en) Sharded polling system
CN116795503A (zh) 任务调度方法、任务调度装置、图形处理器及电子设备
CN114780228B (zh) 一种混合云资源创建方法及系统
US20200073566A1 (en) Storage system and storage control method
CN113254200B (zh) 资源编排方法及智能体
Zohrati et al. Flexible approach to schedule tasks in cloud‐computing environments
EP3495960A1 (en) Program, apparatus, and method for communicating data between parallel processor cores
US11973674B2 (en) Dynamic and deterministic acceleration of network scheduling for shared FPGAs
WO2022102087A1 (ja) コンピュータシステムおよびフロー制御方法
US20220327004A1 (en) Method, device, and computer program product for managing storage system
WO2021056277A1 (zh) 一种执行程序的方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant