KR101416822B1 - 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법 - Google Patents

변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법 Download PDF

Info

Publication number
KR101416822B1
KR101416822B1 KR1020120157252A KR20120157252A KR101416822B1 KR 101416822 B1 KR101416822 B1 KR 101416822B1 KR 1020120157252 A KR1020120157252 A KR 1020120157252A KR 20120157252 A KR20120157252 A KR 20120157252A KR 101416822 B1 KR101416822 B1 KR 101416822B1
Authority
KR
South Korea
Prior art keywords
cores
time tasks
power consumption
real
periodic real
Prior art date
Application number
KR1020120157252A
Other languages
English (en)
Other versions
KR20140086577A (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 KR1020120157252A priority Critical patent/KR101416822B1/ko
Publication of KR20140086577A publication Critical patent/KR20140086577A/ko
Application granted granted Critical
Publication of KR101416822B1 publication Critical patent/KR101416822B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • 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
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 멀티 코어 프로세서에서 수행할 때 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법에 관한 것으로서, 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법에 있어서, 멀티 코어 프로세서의 전체 코어들 중에서 M개의 주기적 실시간 작업을 수행하는데 사용될 α개의 코어들을 결정하는 제1 단계; 상기 결정된 α개의 코어들을 제외한 나머지 코어들의 전원을 소등하는 제2 단계; 상기 결정된 α개의 코어들에게 M개의 주기적 실시간 작업들을 할당하는 제3 단계; 및 상기 α개의 각 코어에서 상기 M개의 주기적 실시간 작업들을 각각 수행할 때 전력 소모량 확률적 기대값을 최소화하는 실행 속도를 결정하는 제4 단계를 포함하는 스케줄링 방법을 제공한다. 본 발명에 의하면, 멀티 코어 프로세서상에서 변동하는 불확실한 계산량을 갖는 다수의 실시간 작업들의 수행할 때 누수 전력 소모를 고려하여 확률적 모델에 기초하여 전력 소모를 최소화할 수 있는 스케줄링 방법을 제공할 수 있는 효과가 있다.

Description

변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법{STOCHASTIC MINIMUM-POWER SCHEDULING OF PERIODIC REAL-TIME TASKS WITH LEAKAGE POWER AWARENESS ON MULTICORE PROCESSORS}
본 발명은 멀티 코어 프로세서에서의 스케줄링 방법에 관한 것으로서, 보다 상세하게는 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 멀티 코어 프로세서에서 수행할 때 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법에 관한 것이다.
최근, 관련 기술의 발전에 따라 고성능 전자 기기가 널리 보급되고 있다. 이러한 전자 기기는 사용자의 고성능 및 다기능 요구에 부응하기 위하여 멀티코어 프로세서를 구비할 수 있다.
멀티코어 프로세서(Multi-Core Processer)는 2개 이상의 코어를 갖는 프로세서로서, 멀티코어 프로세서를 이용하면, 단일 프로세서의 발열과 전력 문제를 어느 정도 해결할 수 있고, 복수의 작업을 각 코어에서 독립적으로 또는 병렬적으로 처리할 수 있다는 장점이 있으나 다수의 코어를 관리해야 하므로 적절한 스케줄링 방법이 필요하다.
이러한 멀티코어 프로세서의 스케줄링 방법으로서 동적 전압 및 주파수 스케일링(Dynamic voltage and frequency scaling, DVFS) 방법이 알려져 있다. DVFS 기법에서는 프로세서의 코어에 적용되는 전압값을 증가시키면 클럭 주파수가 정비례하여 증가하고 또한 프로세서의 코어의 실행 속도 또한 증가한다. 프로세서 코어에 적용되는 전압(클럭주파수 값 또는 코어의 실행속도)를 증가시키면 에너지 소모량도 이에 비례하여 증가하고 일반적으로 에너지 소모량 증가율이 전압값 증가율보다 크다.
이러한 관계를 이용하여 실시간 작업(real-time tasks)의 데드라인(deadline)에서 최대 계산량(worst-case computation amount)을 종료하도록 클럭 주파수를 감소시키면서 에너지 소모량을 최소화하기 위한 다양한 방법이 제안되어 있다.
한편, 고정된 최대 계산량이 아닌 변동하는 계산량을 고려하는 방안이 최근 제안되어 있다. 실제 계산량은 대부분의 경우 최대 계산량보다 작으며 또한 종료시까지 불확실한 경우가 대부분이다. 이러한 방안들은 변동하는 계산량을 확률적 계산량으로 변환하여 확률적 계산량의 평균 에너지 소모량을 최소화한다. 낮은 에너지 소모량을 갖는 낮은 클럭 주파수가 높은 확률을 갖는 연산부에 할당되고 높은 클럭 주파수는 낮은 확률을 갖는 연산부에 할당된다. 실제 계산량이 최대 계산량보다 작은 경우 이러한 확률적 계산 기법은 데드라인에 정확히 최대 계산량을 종료하는 고정 주파수를 할당하는 종래의 방식에 비해 보다 적은 에너지를 소모한다. 이러한 기법들은 클럭 주파수와 에너지 소모량 사이의 수식에 의해 무한 연속 주파수를 갖는 실시간 작업들의 에너지 소모를 최소화하는 문제를 해결하고 있다. 그러나, 실제의 DVFS 기법의 시스템 환경에서는 유한한 클럭 이산 주파수(discrete frequency)가 제공되며 적용가능한 클럭 이산 주파수와 에너지 소모량과의 관계 또한 불규칙하다. 또한, 종래의 기술은 단일 실시간 작업(single real-time task)의 경우만을 고려하고 있다.
본 출원의 발명자가 제안했던 대한민국 공개특허공보 제10-2010-0026989호(2010.03.10. 공개)는 "에너지 절약형 멀티 코어 프로세서"에 대하여 개시하고 있으나 이는 고정된 계산량(worst-case 최대 계산량)을 기준으로 데드라인 이내에 수행을 완료하는 에너지 소모량을 최소화하는 방법을 개시하고 있다는 점에서 한계점을 가지고 있다.
또한, 본 출원의 발명자가 또 다시 제안했던 대한민국 등록특허공보 제10-1065436호(2011.09.19. 공고)는 "불확실한 계산량을 가진 실시간 병렬 작업을 위한 멀티코어 프로세서의 확률적 스케줄링 방법"에 관한 것으로서, 이는 멀티코어 프로세서상에서 병렬로 수행가능한 단일 실시간 작업의 변동하는 불확실한 계산량을 확률적 계산량 모델로 표현하여 에너지 소모량의 확률적 기대값을 최소화하는 방법에 대해 개시하고 있으나, 단일코어 프로세서상에서 변동하는 불확실한 계산량을 갖는 다수의 실시간 작업들에 대해서는 적용할 수 없다는 한계점을 갖는다.
또한, 본 출원의 발명자가 또 다시 제안했던 대한민국 특허출원 제10-2011-0135518호(2011.12.15. 출원, 미공개)는 "변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법"에 관한 것으로서, 변동하는 계산량을 갖는 실시간 작업을 통계적 모델에 기초하여 스케줄링하는 방법을 개시하고 있으나 단일코어 프로세서를 기초로 한 스케줄링 방법이므로 멀티코어 프로세서에는 적용할 수 없다는 한계점이 있다.
대한민국 공개특허공보 제10-2010-0026989호(2010.03.10. 공개) 대한민국 등록특허공보 제10-1065436호(2011.09.19. 공고)
본 발명은 상기한 바와 같은 한계점을 감안하여 안출된 것으로서, 멀티 코어 프로세서상에서 변동하는 불확실한 계산량을 갖는 다수의 실시간 작업들의 수행할 때 누수 전력 소모를 고려하여 확률적 모델에 기초하여 전력 소모를 최소화할 수 있는 스케줄링 방법을 제공하는 것을 목적으로 한다.
상기한 바와 같은 과제를 해결하기 위하여 본 발명은, 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법에 있어서, 멀티 코어 프로세서의 전체 코어들 중에서 M개의 주기적 실시간 작업을 수행하는데 사용될 α개의 코어들을 결정하는 제1 단계; 상기 결정된 α개의 코어들을 제외한 나머지 코어들의 전원을 소등하는 제2 단계; 상기 결정된 α개의 코어들에게 M개의 주기적 실시간 작업들을 할당하는 제3 단계; 및 상기 α개의 각 코어에서 상기 M개의 주기적 실시간 작업들을 각각 수행할 때 전력 소모량 확률적 기대값을 최소화하는 실행 속도를 결정하는 제4 단계를 포함하는 스케줄링 방법을 제공한다.
여기에서, 상기 제1 단계는, 하나의 코어에 할당된 i개 작업들의 확률적 전력 소모량 최소 기대값을 이용하여 멀티 코어 프로세서의 전체 코어들 중에서 M개의 주기적 실시간 작업을 수행하는데 사용될 α개의 코어들을 결정할 수 있다.
또한, 상기 제3 단계는, 주어진 M개의 모든 작업들에 대한 Q값에 기초하여 상기 결정된 α개의 코어들에게 M개의 주기적 실시간 작업들을 할당하도록 할 수도 있다.
또한, 상기 할당하는 단계는, 주어진 모든 M개의 작업들의 Q값을 계산하여 내림차순으로 정렬하는 제3-1 단계; 및 정렬된 순서에 따라 각 작업을 각각의 코어에 할당하는 제3-2 단계를 포함할 수 있다.
또한, 상기 제3-2 단계는, 각각의 코어들에게 기존에 할당된 작업들의
Figure 112012109359712-pat00001
값이 최소인 코어를 선택하여 할당하도록 구성할 수도 있다.
본 발명에 의하면, 멀티 코어 프로세서상에서 변동하는 불확실한 계산량을 갖는 다수의 실시간 작업들의 수행할 때 누수 전력 소모를 고려하여 확률적 모델에 기초하여 전력 소모를 최소화할 수 있는 스케줄링 방법을 제공할 수 있는 효과가 있다.
도 1은 본 발명에 의한 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법의 전체적인 과정을 나타낸 흐름도이다.
도 2는 과거 계산량 확률 분포도이다.
도 3은 도 2의 확률 분포의 계산량 누적 확률 분포도이다.
도 4는 미래 계산량 확률 분포도를 나타낸 것이다.
도 5 및 도 6은 확률적 계산량 모델 활용 방법을 설명하기 위한 도면으로서, 도 5는 기존의 방법으로서 최대 계산량(worst case)을 데드라인 이내에 수행을 완료하도록 프로세싱 코어의 실행 속도(클럭 주파수)를 결정하는 경우를 나타낸 것이고, 도 6은 미래 계산량 확률(
Figure 112012109359712-pat00002
)에 근거하여 수행될 확률이 높은 전반부는 낮은 실행 속도로 수행하고 확률이 낮은 후반부는 높은 실행 속도로 수행하는 경우를 나타낸 것이다.
도 7은 함수 MP를 이용하여 사용할 코어를 결정하는 방법을 설명하기 위한 도면이다.
이하 첨부 도면을 참조하여 본 발명에 의한 실시예를 상세하게 설명하기로 한다.
도 1은 본 발명에 의한 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법의 전체적인 과정을 나타낸 흐름도이다.
도 1을 참조하여 본 발명에 의한 방법을 개략적으로 설명하면 다음과 같다. 즉, 우선 멀티 코어 프로세서의 전체 코어들 중에서 M개의 주기적 실시간 작업을 수행하는데 사용될 α개의 코어들을 결정한다(S100). 그리고, M개의 주기적 실시간 작업들을 수행하는데 사용될 α개의 코어들이 결정되면 결정된 α개의 코어들을 제외한 나머지 코어들의 전원을 소등한다(S110).
본 발명에서 멀티 코어 프로세서는 복수개 즉, 적어도 2 이상의 코어(core)를 갖는 것으로 하며 수행해야 할 주기적 실시간 작업(real-time tasks)들은 M개(여기서 M은 2이상의 자연수)인 것으로 가정한다. 본 발명은 이러한 M개의 주기적 실시간 작업들을 복수개의 코어들 중에서 α개(여기서, α는 1 이상의 자연수)의 코어를 선택하고 선택된 코어들에서 M개의 주기적 실시간 작업을 수행할 수 있도록 한다.
복수개의 코어들 중에서 M개의 주기적 실시간 작업들을 수행할 α개의 코어를 선택하는 것은 다음과 같은 원리에 기초하여 이루어진다.
알려져 있는 바와 같이, DVFS(Dynamic Voltage and Frequency Scaling) 기법에서는 프로세싱 코어에 적용되는 전압(Voltage)을 증가시키면 클럭 주파수(Clock Frequency)가 정비례하여 증가하고 또한 프로세싱 코어의 실행속도도 정비례하여 증가한다. 프로세싱 코어에 적용되는 전압값(클럭 주파수 또는 코어의 실행 속도)을 증가시키면 에너지 소모량도 비례하여 증가하고 일반적으로 에너지 소모량 증가율이 전압값 증가율보다 크다. 다만, 실제 DVFS 기법 시스템 환경에서는 코어에 적용가능한 클럭 주파수가 한정되어 있고 각각의 에너지 소모량도 불규칙하게 증가한다.
이러한 DVFS 기법을 적용한 프로세서에서는 코어의 동작 속도(클럭 주파수)가 높아지면 단위 시간당 전력 소모량(P(f))은 클럭 주파수(f)의 세제곱(f3)에 비례한다. (
Figure 112012109359712-pat00003
) 이 때, 클럭 주파수(f)가 0(f=0)인 경우 즉, CPU가 아이들(idle) 상태인 경우에도 상수의 누수 전력 소모가 발생하며 이를 b라 표기한다.
이렇게 하면 단위 시간당 전력 소모량 P(f)는 다음과 같이 나타낼 수 있다.
Figure 112012109359712-pat00004
(여기서 a, b는 상수)
이 때 전원을 소등하지 않으면 P(0) = b 이고, 전원을 소등하면 P(0) = 0 이다.
Figure 112012109359712-pat00005
인 경우에는 모든 코어들을 사용하는 것이 전력 소모량을 최소화하지만,
Figure 112012109359712-pat00006
인 경우에는 (b >0) 일부 코어들만을 사용하는 것이 전력 소모량을 최소화할 수 있다.
이를 설명하기 위하여 M개의 실시간 작업들의 단일 코어상에서의 확률적 전력 소모량 최소 기대값에 대해 설명한다.
주어진 M개의 실시간 작업 중에서 m번째의 작업을
Figure 112012109359712-pat00007
이라 하고, m번째 작업의 최대(worst case) 계산량은
Figure 112012109359712-pat00008
이라고 한다. 또한 m번째 작업의 도착 주기(데드라인, deadline)를
Figure 112012109359712-pat00009
이라 한다.
각 작업(
Figure 112012109359712-pat00010
)에 대해 종료시까지 소요되는 계산량은 확률 분포에 의해 추정하는데, m번째 작업의 불확실한 계산량의 확률 분포를
Figure 112012109359712-pat00011
이라 하고 m번째 작업의 c번째 계산의 실행 확률을
Figure 112012109359712-pat00012
라 한다.
도 2 내지 도 4는 변동하는 불확실한 계산량의 확률 분포 모델을 설명하기 위한 도면이다. 도 2는 과거 계산량 확률 분포도이고, 도 3은 도 2의 확률 분포의 계산량 누적 확률 분포도, 도 4는 미래 계산량 확률 분포도를 나타낸 것이다.
도 2 내지 도 4를 참조하면, c번째 주기(cth cycle)에서의 확률은
Figure 112012109359712-pat00013
로 나타낼 때, c번째 주기에서의 누적 확률(cumulative probability)은
Figure 112012109359712-pat00014
이며 또한 c번째 주기에서의 테일 누적 확률(tail probability)은
Figure 112012109359712-pat00015
이다. 따라서, 작업(
Figure 112012109359712-pat00016
)의 c번째 주기에서의 테일 누적 확률을
Figure 112012109359712-pat00017
으로 나타낼 수 있다. 이는 바꾸어 말하면 c번째 진행된 주기에서 작업(
Figure 112012109359712-pat00018
)이 아직 수행되고 있을 확률을 의미한다.
이상과 같은 방법에 의하여 M개의 실시간 작업(
Figure 112012109359712-pat00019
) 각각에 대하여 각 작업의 데드라인(
Figure 112012109359712-pat00020
) 이전에 수행해야 할 계산량을 예측하기 위한 확률적 계산량 모델(
Figure 112012109359712-pat00021
)을 결정할 수 있다.
도 5 및 도 6은 확률적 계산량 모델 활용 방법을 설명하기 위한 도면이다.
도 5는 기존의 방법을 나타낸 것으로서 최대 계산량(worst case)을 데드라인 이내에 수행을 완료하도록 프로세싱 코어의 실행 속도(클럭 주파수)를 결정하는 경우를 나타낸 것이다. 대부분의 경우 실제 계산량이 최대 계산량보다 적기 때문에 낮은 실행 속도를 적용해서 전력 소모율을 줄일 수 있는 기회를 활용하지 못한다.
도 6은 미래 계산량 확률(
Figure 112012109359712-pat00022
)에 근거하여 수행될 확률이 높은 전반부는 낮은 실행 속도로 수행하고 확률이 낮은 후반부는 높은 실행 속도로 수행하는 경우이다. 계산량의 확률(
Figure 112012109359712-pat00023
)에 따라 전체 전력 소모량 확률적 기대값을 최소화하도록 계산량의 확률에 따라 실행 속도(클럭 주파수)를 적용한 경우이다. 최대 계산량 종료 시간은 도 5 및 도 6 모두 데드라인 시간에 종료한다.
이러한 상태에서 다수의 실시간 작업들을 단일 코어상에서 수행하기 위한 확률적 최소 전력 스케줄링 방법은 실행 확률이 높은 계산 진행 전반부는 낮은 실행 속도(클럭 주파수)를 적용하고 실행 확률이 낮은 계산 진행 후반부는 갈수록 높은 실행 속도를 적용하고, 또한 데드라인이 짧은 순서대로 실행한다는 점을 기본 동작 원리로 한다.
앞서 설명한 바와 같이, 단위 시간당 전력 소모량 P(f)는
Figure 112012109359712-pat00024
(여기서 a, b는 상수)이고, m번째 작업의 c번째 동작 명령(클럭 사이클)에 적용된 클럭 주파수 값은
Figure 112012109359712-pat00025
으로 나타낼 수 있다.
이 때, 확률적 최소 전력 스케줄링 문제는 수행 완료 데드라인을 만족하면서 확률적 전력 소모량 기대값을 최소화하는 볼 수 있다. 이는 다음과 같은 수식으로 표현할 수 있다.
수행완료 데드라인의 만족 :
Figure 112012109359712-pat00026
확률적 전력 소모량 기대값 :
Figure 112012109359712-pat00027
즉,
minimize
Figure 112012109359712-pat00028
subject to
Figure 112012109359712-pat00029
로 나타낼 수 있다.
상기 수식에 대한 해법은 다음과 같이 구할 수 있다.
m번째 작업의 c번째 동작 명령(클럭 사이클)에 적용된 클럭 주파수값(
Figure 112012109359712-pat00030
)은 다음과 같이 구할 수 있다.
Figure 112012109359712-pat00031
여기에서 구해진
Figure 112012109359712-pat00032
을 적용할 때 단일 코어의 확률적 전력 소모량 최소 기대값은 다음과 같다.
Figure 112012109359712-pat00033
여기에서,
Figure 112012109359712-pat00034
로 표기하면, 위 수식은
Figure 112012109359712-pat00035
로 나타낼 수 있다.
여기에서 앞서 설명한 바와 같이 m번째 작업의 c번째 계산의 실행 확률은
Figure 112012109359712-pat00036
이고 m번째 작업의 도착주기(데드라인)은
Figure 112012109359712-pat00037
이다.
M개 작업이 할당된 코어에 추가 실시간 작업
Figure 112012109359712-pat00038
을 실행할 때 단일 코어의 확률적 전력 소모량 최소 기대값은 다음과 같다.
Figure 112012109359712-pat00039
새로운 코어에 추가 실시간 작업
Figure 112012109359712-pat00040
을 실행할 때 두개 코어들의 확률적 전력 소모량 최소 기대값은 다음과 같다.
Figure 112012109359712-pat00041
여기에서 A<B라면, 기존에 작업이 할당된 코어에 추가 작업을 실행하고 나머지 코어의 전원을 소등하는 것이 전력 소모량을 줄이는 것임을 알 수 있다.
따라서, 본 발명에서는 이러한 원리에 기초하여 복수개의 코어중에서 주어진 M개의 실시간 작업들을 수행할 α개의 코어들을 결정하고 결정되지 않은 나머지 코어들의 전원을 소등한다(도 1의 단계(S100), 단계(S110)).
멀티 코어 프로세서의 전체 코어들 중에서 M개의 실시간 작업의 수행을 위해 사용할 α개의 코어를 선택하는 방법은 다음과 같다.
우선 하기 수식과 같은 단일 코어에 할당된 i개 작업들의 확률적 전력 소모량 최소 기대값 수식 함수 MP를 활용한다.
Figure 112012109359712-pat00042
도 7은 상기 함수 MP를 이용하여 사용할 코어를 결정하는 방법을 설명하기 위한 도면으로서, 도 7에서와 같이 상기 3차 함수 MP와 정점을 지나는 1차 함수(
Figure 112012109359712-pat00043
)가 만나는 x지점을 찾는다.
주어진 모든 M개의 작업들에 대해서
Figure 112012109359712-pat00044
라면,
Figure 112012109359712-pat00045
개의 코어들만을 사용하고 나머지 코어들의 전원을 소등한다.
α개의 코어들에게
Figure 112012109359712-pat00046
을 균등하게 분배하면 각 코어는 MP(x)의 전력 소모량을 가지며 전체 코어들의 전력 소모량은 α·MP(x)는 최소값을 갖게 된다.
여기에서, α가 정수 소수라면 α의 올림 정수 또는 내림 정수값을 선택한다.
이와 같은 과정을 통해 α개의 코어들을 선택할 수 있게 되며 이들 이외의 나머지 코어들의 전원을 소등할 수 있게 된다.
다시 도 1을 참조하여 단계(S120) 내지 단계(S130)에 대하여 설명한다. 도 2 내지 도 7을 참조하여 단계(S100) 및 단계(S110)에 대해 설명한 바와 같이 α개의 코어들을 결정할 수 있으며, 결정된 코어들 즉, 상기 단계(S100)에서 M개의 주기적 실시간 작업을 수행하는데 사용하는 것으로 결정된 α개의 코어들에게 M개의 주기적 실시간 작업들을 할당한다(S120).
결정된 α개의 코어들에게 할당하는 방법은 다음과 같다.
우선 모든 M개의 작업들의 Q값을 계산하여 이를 내림차 순으로 정렬한다. 다음으로 정렬된 순서에 따라 각 작업을 하나의 코어에 할당하며 할당될 코어를 선택하는 방법은 각 코어들에게 기존에 할당된 작업들의
Figure 112012109359712-pat00047
값이 최소인 코어를 선택하여 할당한다.
모든 M개 작업들의 할당이 완료되면, 다음으로, α개의 각 코어에서 상기 M개의 주기적 실시간 작업들을 각각 수행할 때 전력 소모량 확률적 기대값을 최소화하는 실행 속도(클럭 주파수)를 적용한다(S130). 즉, 모든 M개의 작업들의 할당이 완료되면 주어진 확률적 계산량 모델을 이용하여 앞서 설명한 바와 같은 전력 소모량 확률적 기대값을 최소화하는 클럭 주파수(
Figure 112012109359712-pat00048
)을 적용한다. 클럭 주파수(
Figure 112012109359712-pat00049
)는 도 2 내지 도 6을 참조하여 설명한 바와 같은 원리에 기초하여 구할 수 있다. 또는 종래 알려진 기술에 의해 클럭 주파수(
Figure 112012109359712-pat00050
)를 구할 수 있다. 클럭 주파수를 구하는 방법은 본 출원인에 의해 출원된 대한민국 특허출원 제10-2011-0135518호(2011.12.15. 출원, 미공개)에 개시된 방법을 사용할 수도 있다. 본 발명은 클럭 주파수(
Figure 112012109359712-pat00051
) 자체를 구하는 것을 목적으로 하는 것은 아니며 종래 알려진 방법을 그대로 사용할 수 있으므로 이에 대한 상세 설명은 생략한다.
이와 같은 과정을 수행하면 선택된 α개의 코어들에서 수행할 작업들이 할당되고 할당된 작업들을 수행할 때 전력 소모량 확률적 기대값을 최소화하는 클럭 주파수를 적용하여 작업을 수행함으로써 멀티코어 프로세서에서 누수 전력 소모를 고려하여 확률적 모델에 기초한 최소 전력 스케줄링 방법을 제공할 수 있게 된다.
이상에서, 바람직한 실시예들을 참조하여 본 발명을 설명하였으나, 본 발명은 상기의 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명은 첨부한 특허청구범위 및 도면 등의 전체적인 기재를 참조하여 해석되어야 할 것이며, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (5)

  1. 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법에 있어서,
    멀티 코어 프로세서의 전체 코어들 중에서 M개의 주기적 실시간 작업을 수행하는데 사용될 α개의 코어들을 결정하는 제1 단계;
    상기 결정된 α개의 코어들을 제외한 나머지 코어들의 전원을 소등하는 제2 단계;
    상기 결정된 α개의 코어들에게 M개의 주기적 실시간 작업들을 할당하는 제3 단계; 및
    상기 α개의 각 코어에서 상기 M개의 주기적 실시간 작업들을 각각 수행할 때 전력 소모량 확률적 기대값을 최소화하는 실행 속도를 결정하는 제4 단계
    를 포함하는 스케줄링 방법.
  2. 제1항에 있어서,
    상기 제1 단계는, 하나의 코어에 할당된 i개 작업들의 확률적 전력 소모량 최소 기대값을 이용하여 멀티 코어 프로세서의 전체 코어들 중에서 M개의 주기적 실시간 작업을 수행하는데 사용될 α개의 코어들을 결정하는 것을 특징으로 하는 스케줄링 방법.
  3. 삭제
  4. 삭제
  5. 삭제
KR1020120157252A 2012-12-28 2012-12-28 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법 KR101416822B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120157252A KR101416822B1 (ko) 2012-12-28 2012-12-28 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120157252A KR101416822B1 (ko) 2012-12-28 2012-12-28 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법

Publications (2)

Publication Number Publication Date
KR20140086577A KR20140086577A (ko) 2014-07-08
KR101416822B1 true KR101416822B1 (ko) 2014-07-09

Family

ID=51735827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120157252A KR101416822B1 (ko) 2012-12-28 2012-12-28 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법

Country Status (1)

Country Link
KR (1) KR101416822B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293890B (zh) * 2015-06-09 2019-11-05 阿里巴巴集团控股有限公司 一种基于复杂度的业务处理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272323A (ja) 2003-03-05 2004-09-30 Nec Corp プログラム切り替え頻度低減スケジューリング方式
KR100747504B1 (ko) 2006-09-25 2007-08-08 안기남 스케줄 기능을 이용하여 전력을 제어하는 장치 및 방법
JP2007334497A (ja) 2006-06-13 2007-12-27 Renesas Technology Corp 情報処理装置の省電力化方法、プログラム、およびプログラム実行システム
KR100982333B1 (ko) 2009-09-30 2010-09-15 경상대학교산학협력단 확률적 실행 시간에 기초한 동작 모드의 스케줄링 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272323A (ja) 2003-03-05 2004-09-30 Nec Corp プログラム切り替え頻度低減スケジューリング方式
JP2007334497A (ja) 2006-06-13 2007-12-27 Renesas Technology Corp 情報処理装置の省電力化方法、プログラム、およびプログラム実行システム
KR100747504B1 (ko) 2006-09-25 2007-08-08 안기남 스케줄 기능을 이용하여 전력을 제어하는 장치 및 방법
KR100982333B1 (ko) 2009-09-30 2010-09-15 경상대학교산학협력단 확률적 실행 시간에 기초한 동작 모드의 스케줄링 방법 및 장치

Also Published As

Publication number Publication date
KR20140086577A (ko) 2014-07-08

Similar Documents

Publication Publication Date Title
Zhao et al. Offloading tasks with dependency and service caching in mobile edge computing
CN102546700B (zh) 一种资源调度以及资源迁移的方法及设备
Wu et al. Energy efficient scheduling for heterogeneous fog computing architectures
Kataoka et al. Power Consumption and Computation Models of a Server with a Multi-core CPU and Experiments
CN103329100A (zh) 异质的计算环境中的负载平衡
CN103188521B (zh) 转码分配方法及装置,转码方法及设备
TWI503742B (zh) 多核心處理器系統及其排程方法
CN111104211A (zh) 基于任务依赖的计算卸载方法、系统、设备及介质
Young et al. Deadline and energy constrained dynamic resource allocation in a heterogeneous computing environment
Quang-Hung et al. EPOBF: energy efficient allocation of virtual machines in high performance computing cloud
Tsai et al. Scheduling multiple scientific and engineering workflows through task clustering and best-fit allocation
KR101065436B1 (ko) 불확실한 계산량을 가진 실시간 병렬 작업을 위한 멀티코어 프로세서의 확률적 스케줄링 방법
KR101416822B1 (ko) 변동하는 계산량을 갖는 복수개의 주기적 실시간 작업을 위한 멀티 코어 프로세서의 누수 전력 소모를 고려한 확률적 최소 전력 스케줄링 방법
Kim et al. Using DVFS and task scheduling algorithms for a hard real-time heterogeneous multicore processor environment
KR20140006351A (ko) 예상 실행 시간 정보를 이용하여 작업을 분배하는 이종 멀티코어 프로세서 시스템의 작업 분배 방법 및 그 방법을 이용하는 이종 멀티코어 프로세서 시스템
CN108388471A (zh) 一种基于双门限约束虚机迁移的管理方法
Huang et al. Dynamic allocation/reallocation of dark cores in many-core systems for improved system performance
KR101341562B1 (ko) 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법
Nguyen et al. A multi-resource selection scheme for Virtual Machine consolidation in Cloud data centers
KR101828996B1 (ko) 이종 멀티프로세싱 환경에서 파이프라인 병렬화를 지원하는 동적 시스템 자원 할당 방법 및 장치
WO2013058396A1 (ja) タスク配置装置及びタスク配置方法
Bhuiyan et al. Capability-aware energy-efficient virtual machine scheduling in heterogeneous datacenters
CN108628667A (zh) 一种基于多属性决策的启发式动态任务调度系统及其实现方法
CN104246704B (zh) 热优先计算应用调度
Jadon et al. Load balancing in multicore systems using heuristics based approach

Legal Events

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

Payment date: 20170703

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 5