KR101341562B1 - Energy-efficient scheduling method for real-time tasks with probabilistic computations on single-core processor - Google Patents

Energy-efficient scheduling method for real-time tasks with probabilistic computations on single-core processor Download PDF

Info

Publication number
KR101341562B1
KR101341562B1 KR1020110135518A KR20110135518A KR101341562B1 KR 101341562 B1 KR101341562 B1 KR 101341562B1 KR 1020110135518 A KR1020110135518 A KR 1020110135518A KR 20110135518 A KR20110135518 A KR 20110135518A KR 101341562 B1 KR101341562 B1 KR 101341562B1
Authority
KR
South Korea
Prior art keywords
time
real
task
energy
core processor
Prior art date
Application number
KR1020110135518A
Other languages
Korean (ko)
Other versions
KR20130068395A (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 KR1020110135518A priority Critical patent/KR101341562B1/en
Publication of KR20130068395A publication Critical patent/KR20130068395A/en
Application granted granted Critical
Publication of KR101341562B1 publication Critical patent/KR101341562B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법에 관한 것으로서, M개의 실시간 작업(

Figure 112011099851558-pat00219
) 각각에 대하여 각 작업의 데드라인(
Figure 112011099851558-pat00220
) 이전에 수행해야 할 계산량을 예측하기 위한 확률적 계산량 모델(
Figure 112011099851558-pat00221
)을 결정하는 제1 단계; 각각의 실시간 작업(
Figure 112011099851558-pat00222
)에 대해 상기 확률적 계산량 모델(
Figure 112011099851558-pat00223
)에 의한 에너지 소모량을 추정하기 위하여 사용할 실행 속도를 결정하는 제2 단계; 각각의 실시간 작업(
Figure 112011099851558-pat00224
)에 대하여 주어진 데드라인(
Figure 112011099851558-pat00225
)에 대해 상기 결정된 실행 속도들의 변환 시점을 결정하는 제3 단계; 및 상기 결정된 변환 시점에 기초하여 각각의 실시간 작업(
Figure 112011099851558-pat00226
)들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업(
Figure 112011099851558-pat00227
)의 할당 시간(
Figure 112011099851558-pat00228
)을 결정하는 제4 단계를 포함하는 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법을 제공한다.The present invention relates to an energy efficient scheduling method of a single core processor for a real time task with a variable amount of computation,
Figure 112011099851558-pat00219
) For each task.
Figure 112011099851558-pat00220
A stochastic computational model to predict the amount of computation to perform before
Figure 112011099851558-pat00221
Determining a first step; Each real-time job (
Figure 112011099851558-pat00222
For the stochastic computational model (
Figure 112011099851558-pat00223
Determining a speed of execution to use for estimating energy consumption; Each real-time job (
Figure 112011099851558-pat00224
Given deadline for
Figure 112011099851558-pat00225
Determining a time of conversion of the determined execution speeds for < RTI ID = 0.0 > And each real-time task based on the determined conversion point in time.
Figure 112011099851558-pat00226
Each real-time task so that the sum of the energy consumptions of the
Figure 112011099851558-pat00227
) 'S allocation time (
Figure 112011099851558-pat00228
An energy efficient scheduling method of a single core processor for a real-time task with a variable amount of computations comprising a fourth step of determining a).

Description

변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법{ENERGY-EFFICIENT SCHEDULING METHOD FOR REAL-TIME TASKS WITH PROBABILISTIC COMPUTATIONS ON SINGLE-CORE PROCESSOR}ENERGY-EFFICIENT SCHEDULING METHOD FOR REAL-TIME TASKS WITH PROBABILISTIC COMPUTATIONS ON SINGLE-CORE PROCESSOR}

본 발명은 프로세서의 스케줄링 방법에 관한 것으로서 보다 상세하게는 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법에 관한 것이다.
The present invention relates to a scheduling method of a processor, and more particularly, to an energy efficient scheduling method of a single core processor for a real-time job having a variable calculation amount.

동적 전압 및 주파수 스케일링(Dynamic voltage and frequency scaling, DVFS) 기법에서는 프로세서의 코어에 적용되는 전압값을 증가시키면 클럭 주파수가 정비례하여 증가하고 또한 프로세서의 코어의 실행 속도 또한 증가한다. 프로세서 코어에 적용되는 전압(클럭주파수 값 또는 코어의 실행속도)를 증가시키면 에너지 소모량도 이에 비례하여 증가하고 일반적으로 에너지 소모량 증가율이 전압값 증가율보다 크다. In dynamic voltage and frequency scaling (DVFS), increasing the voltage applied to the core of a processor increases the clock frequency in direct proportion and increases the execution speed of the core of the processor. Increasing the voltage applied to the processor core (the clock frequency value or core execution speed) increases the energy consumption proportionally and generally the energy consumption increase rate is larger than the voltage increase rate.

이러한 관계를 이용하여 실시간 작업(real-time tasks)의 데드라인(deadline)에서 최대 계산량(worst-case computation amount)을 종료하도록 클럭 주파수를 감소시키면서 에너지 소모량을 최소화하기 위한 다양한 방법이 제안되어 있다. Various methods have been proposed to minimize the energy consumption while reducing the clock frequency to terminate the worst-case computation amount in the deadline of real-time tasks using this relationship.

고정된 최대 계산량이 아닌 변동하는 계산량을 고려하는 방안이 최근 제안되어 있다. 실제 계산량은 대부분의 경우 최대 계산량보다 작으며 또한 종료시까지 불확실한 경우가 대부분이다. 이러한 방안들은 변동하는 계산량을 확률적 계산량으로 변환하여 확률적 계산량의 평균 에너지 소모량을 최소화한다. 낮은 에너지 소모량을 갖는 낮은 클럭 주파수가 높은 확률을 갖는 연산부에 할당되고 높은 클럭 주파수는 낮은 확률을 갖는 연산부에 할당된다. 실제 계산량이 최대 계산량보다 작은 경우 이러한 확률적 계산 기법은 데드라인에 정확히 최대 계산량을 종료하는 고정 주파수를 할당하는 종래의 방식에 비해 보다 적은 에너지를 소모한다. 이러한 기법들은 클럭 주파수와 에너지 소모량 사이의 수식에 의해 무한 연속 주파수를 갖는 실시간 작업들의 에너지 소모를 최소화하는 문제를 해결하고 있다.Recently, a method of considering a variable calculation amount rather than a fixed maximum calculation amount has been proposed. In most cases, the actual amount of computation is smaller than the maximum amount of computation, and the uncertainty is mostly uncertain until the end. These schemes minimize the average energy consumption of the stochastic calculations by transforming the fluctuating calculations to the stochastic calculations. A low clock frequency having a low energy consumption is allocated to an operation unit having a high probability and a high clock frequency is assigned to an operation unit having a low probability. If the actual amount of computation is smaller than the maximum amount of computation, this probabilistic computation method consumes less energy than the conventional method of assigning a fixed frequency to terminate the maximum amount of computation exactly to the deadline. These techniques solve the problem of minimizing the energy consumption of real-time tasks with infinite continuous frequency by the formula between clock frequency and energy consumption.

그러나, 실제의 DVFS 기법의 시스템 환경에서는 유한한 클럭 이산 주파수(discrete frequency)가 제공되며 적용가능한 클럭 이산 주파수와 에너지 소모량과의 관계 또한 불규칙하다. 또한, 종래의 기술은 단일 실시간 작업(single real-time task)의 경우만을 고려하고 있다. However, in a real DVFS system environment, a finite clock discrete frequency is provided, and the relationship between applicable clock discrete frequency and energy consumption is also irregular. In addition, the prior art only considers the case of a single real-time task.

본 출원의 발명자가 제안했던 대한민국 공개특허공보 제10-2010-0026989호(2010.03.10)는 "에너지 절약형 멀티 코어 프로세서"에 대하여 개시하고 있으나 이는 고정된 계산량(worst-case 최대 계산량)을 기준으로 데드라인 이내에 수행을 완료하는 에너지 소모량을 최소화하는 방법을 개시하고 있다는 점에서 한계점을 가지고 있다. Korean Patent Laid-Open Publication No. 10-2010-0026989 (2010.03.10) proposed by the inventor of the present application discloses an "energy-saving multi-core processor", but this is based on a fixed calculation amount (worst-case maximum calculation amount). It has a limitation in that it discloses a method of minimizing energy consumption to complete the performance within the deadline.

또한, 본 출원의 발명자가 또 다시 제안했던 대한민국 등록특허공보 제10-1065436호(2011.09.19. 공개)는 "불확실한 계산량을 가진 실시간 병렬 작업을 위한 멀티코어 프로세서의 확률적 스케줄링 방법"에 관한 것으로서, 이는 멀티코어 프로세서상에서 병렬로 수행가능한 단일 실시간 작업의 변동하는 불확실한 계산량을 확률적 계산량 모델로 표현하여 에너지 소모량의 확률적 기대값을 최소화하는 방법에 대해 개시하고 있으나, 단일코어 프로세서상에서 변동하는 불확실한 계산량을 갖는 다수의 실시간 작업들에 대해서는 적용할 수 없다는 한계점을 갖는다.
In addition, Korean Patent Publication No. 10-1065436 (published Sep. 19, 2011), which the inventor of the present application proposed again, relates to a "probabilistic scheduling method of a multicore processor for real-time parallel operation with an uncertain calculation amount". This paper describes a method of minimizing probabilistic expectation of energy consumption by representing a variable uncertainty of a single real-time task that can be executed in parallel on a multicore processor by using a stochastic computational model. The limitation is that it is not applicable to many real-time tasks with computational quantities.

대한민국 공개특허공보 제10-2010-0026989호(2010.03.10. 공개)Korean Patent Publication No. 10-2010-0026989 (published on March 10, 2010) 대한민국 등록특허공보 제10-1065436호(2011.09.19. 공고)Korean Registered Patent No. 10-1065436 (Announced on September 19, 2011)

본 발명은 상기한 바와 같은 한계점을 감안하여 안출된 것으로서, 단일코어 프로세서상에서 변동하는 불확실한 계산량을 갖는 다수의 실시간 작업들에 대해서불확실한 계산량을 확률적 계산량 모델로 표현하고 확률적 계산량 모델에 기초하여 다수의 실시간 작업들의 에너지 소모량의 합을 최소화하는 스케줄링 방법을 제공하는 것을 목적으로 한다.
The present invention has been made in view of the above limitations, and expresses an uncertain calculation as a stochastic calculation model for a large number of real-time tasks having an uncertain calculation that fluctuates on a single-core processor and based on the stochastic calculation model. It is an object of the present invention to provide a scheduling method for minimizing the sum of energy consumption of real-time tasks.

상기한 바와 같은 과제를 해결하기 위하여 본 발명은, 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법에 있어서, M개의 실시간 작업(

Figure 112011099851558-pat00001
) 각각에 대하여 각 작업의 데드라인(
Figure 112011099851558-pat00002
) 이전에 수행해야 할 계산량을 예측하기 위한 확률적 계산량 모델(
Figure 112011099851558-pat00003
)을 결정하는 제1 단계; 각각의 실시간 작업(
Figure 112011099851558-pat00004
)에 대해 상기 확률적 계산량 모델(
Figure 112011099851558-pat00005
)에 의한 에너지 소모량을 추정하기 위하여 사용할 실행 속도를 결정하는 제2 단계; 각각의 실시간 작업(
Figure 112011099851558-pat00006
)에 대하여 주어진 데드라인(
Figure 112011099851558-pat00007
)에 대해 상기 결정된 실행 속도들의 변환 시점을 결정하는 제3 단계; 및 상기 결정된 변환 시점에 기초하여 각각의 실시간 작업(
Figure 112011099851558-pat00008
)들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업(
Figure 112011099851558-pat00009
)의 할당 시간(
Figure 112011099851558-pat00010
)을 결정하는 제4 단계를 포함하는 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법을 제공한다. In order to solve the above problems, the present invention, in the energy efficient scheduling method of a single-core processor for a real-time job having a variable calculation amount,
Figure 112011099851558-pat00001
) For each task.
Figure 112011099851558-pat00002
A stochastic computational model to predict the amount of computation to perform before
Figure 112011099851558-pat00003
Determining a first step; Each real-time job (
Figure 112011099851558-pat00004
For the stochastic computational model (
Figure 112011099851558-pat00005
Determining a speed of execution to use for estimating energy consumption; Each real-time job (
Figure 112011099851558-pat00006
Given deadline for
Figure 112011099851558-pat00007
Determining a time of conversion of the determined execution speeds for < RTI ID = 0.0 > And each real-time task based on the determined conversion point in time.
Figure 112011099851558-pat00008
Each real-time task so that the sum of the energy consumptions of the
Figure 112011099851558-pat00009
) 'S allocation time (
Figure 112011099851558-pat00010
An energy efficient scheduling method of a single core processor for a real-time task with a variable amount of computations comprising a fourth step of determining a).

여기에서, 상기 제1 단계에서, 상기 확률적 계산량 모델(

Figure 112011099851558-pat00011
)은, m번째 작업(
Figure 112011099851558-pat00012
)에 대하여
Figure 112011099851558-pat00013
(여기서,
Figure 112011099851558-pat00014
은 m번째 작업이 c번째 주기에서의 누적 확률임)의 수식에 의하여 결정될 수 있다. Here, in the first step, the stochastic computational model (
Figure 112011099851558-pat00011
) Is the mth job (
Figure 112011099851558-pat00012
)about
Figure 112011099851558-pat00013
(here,
Figure 112011099851558-pat00014
Can be determined by the formula of m) is the cumulative probability in the c period.

또한, 상기 제2 단계는, 사용가능한 K개의 이산 주파수(discrete frequency) 중에서

Figure 112011099851558-pat00015
(여기서,
Figure 112011099851558-pat00016
는 사용가능한 이산 주파수이고
Figure 112011099851558-pat00017
는 각 주파수에 대응하는 에너지 소모량)의 수식을 만족하는 주파수()를 비효율적인 실행속도를 갖는 주파수로 결정하고 이들을 제거하도록 구성할 수 있다. Further, the second step may be performed from among the K discrete frequencies available.
Figure 112011099851558-pat00015
(here,
Figure 112011099851558-pat00016
Is the available discrete frequency
Figure 112011099851558-pat00017
Is a frequency that satisfies the formula of energy consumption corresponding to each frequency. ) Can be determined to be frequencies with inefficient execution speeds and can be removed.

또한, 상기 제3 단계에서 상기 전환 시점(

Figure 112011099851558-pat00019
)들은 Further, in the third step, the switching time point (
Figure 112011099851558-pat00019
)

Figure 112011099851558-pat00020
Figure 112011099851558-pat00020

Figure 112011099851558-pat00021
(여기서,
Figure 112011099851558-pat00022
는 각각
Figure 112011099851558-pat00023
에서의 확률적 계산량 모델이고,
Figure 112011099851558-pat00024
은 각각
Figure 112011099851558-pat00025
에서의 에너지 소모량이고,
Figure 112011099851558-pat00026
는 각각
Figure 112011099851558-pat00027
에서의 주파수임)의 수식에 의해 계산될 수 있다.
Figure 112011099851558-pat00021
(here,
Figure 112011099851558-pat00022
Respectively
Figure 112011099851558-pat00023
Is a stochastic computational model at
Figure 112011099851558-pat00024
Respectively
Figure 112011099851558-pat00025
Energy consumption at,
Figure 112011099851558-pat00026
Respectively
Figure 112011099851558-pat00027
It can be calculated by the formula of (the frequency at).

또한, 상기 제4 단계는, 각 실시간 작업(

Figure 112011099851558-pat00028
)의 할당 시간(
Figure 112011099851558-pat00029
)을 결정하기 위하여, 각 작업들에 대해 가장 빠른 실행 속도의 주파수에 대응하는 작업 시간을 할당하는 단계; 나머지 사용가능한 시간을 균등하게 할당할 때의 각 작업의 에너지 감소율을 계산하는 단계; 및 최대 에너지 감소율을 갖는 작업을 결정하고 이에 대해서만 추가 시간을 할당하는 단계를 모든 작업에 대해 더 이상 할당할 시간이 없을 때까지 반복함으로써 각 작업의 할당 시간(
Figure 112011099851558-pat00030
)을 결정하도록 구성할 수도 있다.
In addition, the fourth step, the real-time operation (
Figure 112011099851558-pat00028
) 'S allocation time (
Figure 112011099851558-pat00029
Assigning a working time corresponding to the frequency of the fastest execution speed for each of the tasks, to determine; Calculating an energy reduction rate of each task when allocating the remaining available time evenly; And determining the task with the maximum energy reduction rate and allocating additional time only for this task until allocating no more time for all tasks.
Figure 112011099851558-pat00030
Can be configured to determine

본 발명에 의하면, 단일코어 프로세서상에서 변동하는 불확실한 계산량을 갖는 다수의 실시간 작업들에 대해서불확실한 계산량을 확률적 계산량 모델로 표현하고 확률적 계산량 모델에 기초하여 다수의 실시간 작업들의 에너지 소모량의 합을 최소화하는 스케줄링 방법을 제공할 수 있다.
According to the present invention, for a plurality of real-time tasks with fluctuating uncertainty on a single core processor, the uncertainty is represented by a stochastic computational model and the sum of energy consumption of the multiple real-time tasks is minimized based on the stochastic computational model. A scheduling method may be provided.

도 1은 본 발명에 의한 변동하는 계산량을 갖는 실시간 작업(real-time Task)을 위한 단일 코어 프로세서(single core processor)의 에너지 효율적 스케줄링 방법의 일실시예를 나타낸 흐름도이다.
도 2 및 도 3은 변동하는 계산량(computation amount)의 통계적 모델을 나타낸 도면으로서, 여기에서 계산량은 작업을 종료할 때 까지 필요한 프로세서의 클럭 주기(clock cycle)의 개수로 표현되어 있다. 도 2는 필요한 클럭 주기의 확률 분포(probability distibution)를 나타낸 것이고 도 3은 도 2의 확률 분포의 테일 누적 분포(tail culmulative distibution)를 나타낸 것이다.
도 4는 단계(S200)에 의해 제거되고 남은 주파수들과 에너지 소모량 사이의 관계를 나타낸 도면이다.
도 5는 각각의 실시간 작업(

Figure 112011099851558-pat00031
)들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업(
Figure 112011099851558-pat00032
)의 할당 시간(
Figure 112011099851558-pat00033
)을 결정하는 과정 즉 단계(S400)을 나타낸 흐름도이다. 1 is a flowchart illustrating an embodiment of an energy efficient scheduling method of a single core processor for a real-time task having a varying amount of calculation according to the present invention.
2 and 3 show statistical models of varying computation amounts, where the computation amount is expressed as the number of clock cycles of the processor required until the end of the task. FIG. 2 shows the probability distibution of the required clock period and FIG. 3 shows the tail culmulative distibution of the probability distribution of FIG.
4 is a diagram showing the relationship between the remaining frequencies and energy consumption removed by step S200.
5 shows each real-time job (
Figure 112011099851558-pat00031
Each real-time task so that the sum of the energy consumptions of the
Figure 112011099851558-pat00032
) 'S allocation time (
Figure 112011099851558-pat00033
) Is a flowchart illustrating a process of determining, i.e., step S400.

이하 첨부 도면을 참조하여 본 발명에 의한 실시예를 상세하게 설명하도록 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 의한 변동하는 계산량을 갖는 실시간 작업(real-time Task)을 위한 단일 코어 프로세서(single core processor)의 에너지 효율적 스케줄링 방법의 일실시예를 나타낸 흐름도이다.1 is a flowchart illustrating an embodiment of an energy efficient scheduling method of a single core processor for a real-time task having a varying amount of calculation according to the present invention.

도 1을 참조하면, 본 실시예에 의한 방법은, 우선 M개의 실시간 작업(

Figure 112011099851558-pat00034
) 각각에 대하여 각 작업의 데드라인(
Figure 112011099851558-pat00035
) 이전에 수행해야 할 계산량을 예측하기 위한 확률적 계산량 모델(
Figure 112011099851558-pat00036
)을 결정한다(S100). Referring to FIG. 1, the method according to the present embodiment firstly performs M real-time tasks (
Figure 112011099851558-pat00034
) For each task.
Figure 112011099851558-pat00035
A stochastic computational model to predict the amount of computation to perform before
Figure 112011099851558-pat00036
Determine (S100).

본 실시예에서, 실시간 작업(real-time Tasks)은 M개의 복수개로 구성되며, 이들 중에서 m번째의 작업을

Figure 112011099851558-pat00037
으로 나타낸다. 각각의 작업(
Figure 112011099851558-pat00038
)은 작업을 끝내야하는 자신의 데드라인(deadline)을 가지며 이를
Figure 112011099851558-pat00039
으로 나타낸다. 각 작업(
Figure 112011099851558-pat00040
)에 대해 종료시까지 소요되는 계산량은 정확히 알 수 없지만 즉, 불확실하지만 본 발명에서는 이를 확률적 계산량 모델에 의하여 온라인 또는 오프라인 프로파일링에 의해 추정하는 방법을 사용한다. In the present embodiment, real-time tasks are composed of M pieces, and among them, the m-th task is
Figure 112011099851558-pat00037
Respectively. Each task (
Figure 112011099851558-pat00038
) Has its own deadline to finish the job
Figure 112011099851558-pat00039
Respectively. Each action (
Figure 112011099851558-pat00040
The amount of computation required until the end of N) is not known exactly, i.e., although it is uncertain, the present invention uses a method of estimating this by online or offline profiling by a stochastic computational model.

도 2 및 도 3은 변동하는 계산량(computation amount)의 통계적 모델을 나타낸 도면으로서, 여기에서 계산량은 작업을 종료할 때 까지 필요한 프로세서의 클럭 주기(clock cycle)의 개수로 표현되어 있다. 도 2는 필요한 클럭 주기의 확률 분포(probability distibution)를 나타낸 것이고 도 3은 도 2의 확률 분포의 테일 누적 분포(tail culmulative distibution)를 나타낸 것이다. 2 and 3 show statistical models of varying computation amounts, where the computation amount is expressed as the number of clock cycles of the processor required until the end of the task. FIG. 2 shows the probability distibution of the required clock period and FIG. 3 shows the tail culmulative distibution of the probability distribution of FIG.

도 2 및 도 3을 참조하면, c번째 주기(cth cycle)에서의 확률은

Figure 112011099851558-pat00041
로 나타낼 때, c번째 주기에서의 누적 확률(cumulative probability)은
Figure 112011099851558-pat00042
이며 또한 c번째 주기에서의 테일 누적 확률은
Figure 112011099851558-pat00043
이다. 따라서, 작업(
Figure 112011099851558-pat00044
)의 c번째 주기에서의 테일 누적 확률을
Figure 112011099851558-pat00045
으로 나타낼 수 있다. 이는 바꾸어 말하면 c번째 진행된 주기에서 작업(
Figure 112011099851558-pat00046
)이 아직 수행되고 있을 확률을 의미한다. 2 and 3, the probability in the c th cycle is
Figure 112011099851558-pat00041
, The cumulative probability at the c-th cycle is
Figure 112011099851558-pat00042
And the cumulative probability of tail in cycle c
Figure 112011099851558-pat00043
to be. Therefore,
Figure 112011099851558-pat00044
) In the c < th >
Figure 112011099851558-pat00045
. In other words, in the c-th progressive cycle,
Figure 112011099851558-pat00046
) Is still being performed.

여기에서,

Figure 112011099851558-pat00047
에 대해서
Figure 112011099851558-pat00048
임을 유의해야 하는데, 이는 확률 함수의 누적 분포는 비감소(non-decreasing)이고 따라서 이들의 테일 분포는 비증가(non-increasing)이기 때문이다. From here,
Figure 112011099851558-pat00047
about
Figure 112011099851558-pat00048
Note that this is because the cumulative distribution of the probability function is non-decreasing and therefore their tail distribution is non-increasing.

작업(

Figure 112011099851558-pat00049
)에 대한 요구되는 계산 주기의 최대값(worst-case number of required computation cycle)는
Figure 112011099851558-pat00050
으로 나타낸다. 각각의 작업들은 서로 다른
Figure 112011099851558-pat00051
을 갖는데 이들은 미리 스케줄러에게 알려져 있는 값이다. work(
Figure 112011099851558-pat00049
The worst-case number of required computation cycle for
Figure 112011099851558-pat00050
Respectively. Each task is different
Figure 112011099851558-pat00051
These are the values known to the scheduler in advance.

이상과 같은 방법에 의하여 단계(S100), 즉, M개의 실시간 작업(

Figure 112011099851558-pat00052
) 각각에 대하여 각 작업의 데드라인(
Figure 112011099851558-pat00053
) 이전에 수행해야 할 계산량을 예측하기 위한 확률적 계산량 모델(
Figure 112011099851558-pat00054
)을 결정한다.By the above method, step S100, that is, M real-time tasks (
Figure 112011099851558-pat00052
) For each task.
Figure 112011099851558-pat00053
A stochastic computational model to predict the amount of computation to perform before
Figure 112011099851558-pat00054
Is determined.

본 발명에서 단일 코어 프로세서는 사용가능한 실행 속도 즉, 주파수(frequency)로서 K개의 이산 주파수(discrete frequency)를 갖는 것을 전제로 하며 이들은 각각 증가하는 순서대로

Figure 112011099851558-pat00055
로 나타낸다. 이들의 에너지 소모량(power consumption)은
Figure 112011099851558-pat00056
로 나타낸다. 여기에서,
Figure 112011099851558-pat00057
이면
Figure 112011099851558-pat00058
이다.
Figure 112011099851558-pat00059
Figure 112011099851558-pat00060
는 특별한 관계를 갖지는 않는다. 실행속도(
Figure 112011099851558-pat00061
)에서의 각 주기(cycle)의 실행 시간(execution time)은
Figure 112011099851558-pat00062
이다. 클럭 주파수의 전환의 오버헤드(overhead)는 무시할 수 있는 것으로 가정한다. In the present invention, a single core processor is assumed to have K discrete frequencies as available execution speeds, ie frequencies, which are each in increasing order.
Figure 112011099851558-pat00055
Respectively. Their power consumption is
Figure 112011099851558-pat00056
Respectively. From here,
Figure 112011099851558-pat00057
If
Figure 112011099851558-pat00058
to be.
Figure 112011099851558-pat00059
Wow
Figure 112011099851558-pat00060
Does not have a special relationship. Running speed (
Figure 112011099851558-pat00061
The execution time of each cycle in
Figure 112011099851558-pat00062
to be. The overhead of switching the clock frequency is assumed to be negligible.

작업(

Figure 112011099851558-pat00063
)의 c번째 주기에 할당되는 실행속도 즉, 주파수는
Figure 112011099851558-pat00064
으로 나타내는데 여기에서
Figure 112011099851558-pat00065
이다. 이들의 에너지 소모량(power consumption)은
Figure 112011099851558-pat00066
으로 나타내는데 여기에서
Figure 112011099851558-pat00067
이다. work(
Figure 112011099851558-pat00063
The execution speed, or frequency, assigned to the c period of
Figure 112011099851558-pat00064
Which is represented by
Figure 112011099851558-pat00065
to be. Their power consumption is
Figure 112011099851558-pat00066
Which is represented by
Figure 112011099851558-pat00067
to be.

이러한 상태에서 주어진 데드라인 조건을 충족하면서 단일 작업(

Figure 112011099851558-pat00068
)의 평균 에너지 소모량을 최소화하는 것은 다음과 같은 식으로 표현될 수 있다. In this state, a single task (
Figure 112011099851558-pat00068
Minimizing the average energy consumption of) can be expressed as

[수학식 1][Equation 1]

Minimize

Figure 112011099851558-pat00069
Minimize
Figure 112011099851558-pat00069

subject to

Figure 112011099851558-pat00070
subject to
Figure 112011099851558-pat00070

M개의 작업들에 대해 상기 수학식 1의 문제를 확장하면 다음과 같이 표현할 수 있다. Expanding the problem of Equation 1 for M tasks can be expressed as follows.

[수학식 2]&Quot; (2) "

Minimize

Figure 112011099851558-pat00071
Minimize
Figure 112011099851558-pat00071

subject to

Figure 112011099851558-pat00072
subject to
Figure 112011099851558-pat00072

이러한 수학식에 대해 유도되는 해(solution)은

Figure 112011099851558-pat00073
을 각각의
Figure 112011099851558-pat00074
Figure 112011099851558-pat00075
에 대하여 결정하게 된다. The solution derived for this equation is
Figure 112011099851558-pat00073
Each
Figure 112011099851558-pat00074
And
Figure 112011099851558-pat00075
Will be determined.

이를 위하여 각각의 실시간 작업(

Figure 112011099851558-pat00076
)에 대해 상기 확률적 계산량 모델(
Figure 112011099851558-pat00077
)에 의한 에너지 소모량을 추정하기 위하여 사용할 실행 속도 즉, 주파수(frequency)를 결정한다(S200).To do this, each real-time task (
Figure 112011099851558-pat00076
For the stochastic computational model (
Figure 112011099851558-pat00077
In step S200, an execution speed, i.e., a frequency, to be used for estimating energy consumption is determined.

사용가능한 주파수는 전술한 바와 같이 K개의 이산 주파수(discrete frequency)이며 단계(S200)에서는 이중에서 적절한 주파수를 선택하게 되는데 이는 비효율적인 실행속도(power-inefficient frequency)를 제거하는 것에 이루어질 수 있다. 비효율적인 실행 속도는

Figure 112011099851558-pat00078
의 관계를 만족하는
Figure 112011099851558-pat00079
로 정의할 수 있는데, 이러한
Figure 112011099851558-pat00080
를 주어진 실행 속도로부터 제거한다. 상기 수식은 에너지 소모량의 볼록 함수(convex function)에 부합하지 않는 주파수를 의미한다.
Figure 112011099851558-pat00081
를 계산하면 모든 비효율적 실행 속도(주파수)를 선택할 수 있다. 이렇게 하면 에너지 소모량은 주파수의 볼록 함수 즉,
Figure 112011099851558-pat00082
가 된다. The usable frequencies are K discrete frequencies as described above, and in step S200 a suitable frequency is selected from among them, which can be done to eliminate inefficient power-inefficient frequencies. Inefficient execution speed
Figure 112011099851558-pat00078
To satisfy the relationship of
Figure 112011099851558-pat00079
Can be defined as
Figure 112011099851558-pat00080
Remove from the given run rate. The above formula means a frequency that does not correspond to the convex function of energy consumption.
Figure 112011099851558-pat00081
By calculating, we can select all inefficient execution speeds (frequency). This way energy consumption is the convex function of the frequency,
Figure 112011099851558-pat00082
.

도 4는 단계(S200)에 의해 제거되고 남은 주파수들과 에너지 소모량 사이의 관계를 나타낸 도면이다. 도 4를 참조하면, 단위 계산량을 수행하는데 걸리는 시간이 커질수록 에너지 소모량이 적으며 단위 계산량을 수행하는데 걸리는 시간이 작을수록 에너지 소모량이 크다는 것을 나타내고 있다. 4 is a diagram showing the relationship between the remaining frequencies and energy consumption removed by step S200. Referring to FIG. 4, the larger the time taken to perform the unit calculation amount, the lower the energy consumption, and the smaller the time taken to perform the unit calculation amount, the larger the energy consumption.

전술한 바와 같은 과정을 통해 실행 속도 즉, 주파수들이 결정되면, 각각의 실시간 작업(

Figure 112011099851558-pat00083
)에 대하여 주어진 데드라인(
Figure 112011099851558-pat00084
)에 대해 상기 결정된 실행 속도들의 변환 시점(transition points)을 결정한다(S300). When the execution speed, i.e. frequencies, is determined through the above-described process, each real-time task (
Figure 112011099851558-pat00083
Given deadline for
Figure 112011099851558-pat00084
In operation S300, transition points of the determined execution speeds are determined.

이는

Figure 112011099851558-pat00085
의 관계에 의하여 이루어질 수 있는데, 이러한 정의에 의하여 낮은 주파수에서 높은 주파수로의 전환 시점(transition point)만을 고려하는 것으로 충분하게 된다.this is
Figure 112011099851558-pat00085
It can be achieved by the relation of, and it is sufficient to consider only the transition point from the low frequency to the high frequency by this definition.

우선,

Figure 112011099851558-pat00086
에서
Figure 112011099851558-pat00087
로의 전환 시점(
Figure 112011099851558-pat00088
의 시작 주기(starting cycle))을
Figure 112011099851558-pat00089
로 나타낸다.
Figure 112011099851558-pat00090
에 의하여
Figure 112011099851558-pat00091
을 의미한다.
Figure 112011099851558-pat00092
Figure 112011099851558-pat00093
대신
Figure 112011099851558-pat00094
로 전환되면
Figure 112011099851558-pat00095
가 된다.
Figure 112011099851558-pat00096
가 사용되지 않는 경우에는
Figure 112011099851558-pat00097
이 된다. 그러면 수학식 1은 다음과 같은 수학식 3으로 표현될 수 있다. first,
Figure 112011099851558-pat00086
in
Figure 112011099851558-pat00087
When to switch to (
Figure 112011099851558-pat00088
Starting cycle of
Figure 112011099851558-pat00089
Respectively.
Figure 112011099851558-pat00090
By
Figure 112011099851558-pat00091
.
Figure 112011099851558-pat00092
this
Figure 112011099851558-pat00093
instead
Figure 112011099851558-pat00094
When switched to
Figure 112011099851558-pat00095
.
Figure 112011099851558-pat00096
Is not used
Figure 112011099851558-pat00097
. Equation 1 may be expressed as Equation 3 below.

[수학식 3]&Quot; (3) "

Minimize

Figure 112011099851558-pat00098
Minimize
Figure 112011099851558-pat00098

subjecto to

Figure 112011099851558-pat00099
subjecto to
Figure 112011099851558-pat00099

여기에서

Figure 112011099851558-pat00100
은 최소 주파수이기 때문에
Figure 112011099851558-pat00101
이다. From here
Figure 112011099851558-pat00100
Is the minimum frequency
Figure 112011099851558-pat00101
to be.

모든

Figure 112011099851558-pat00102
들을 안다면 수학식 1의 해를 직접 구할 수 잇으나
Figure 112011099851558-pat00103
들의 값은 주어진 데드라인(
Figure 112011099851558-pat00104
)에 의존한다.
Figure 112011099851558-pat00105
를 구하기 위하여 우선
Figure 112011099851558-pat00106
들의 값 사이의 관계를 알아보고 이를 이용하여 데드라인(
Figure 112011099851558-pat00107
)와 관련된
Figure 112011099851558-pat00108
를 구하는데 사용한다.all
Figure 112011099851558-pat00102
If you know you can solve the equation 1
Figure 112011099851558-pat00103
Value of the given deadline (
Figure 112011099851558-pat00104
Depends on
Figure 112011099851558-pat00105
First to save
Figure 112011099851558-pat00106
Find the relationship between the values of
Figure 112011099851558-pat00107
Related to
Figure 112011099851558-pat00108
Use to get

다음의 정리(theorem)은

Figure 112011099851558-pat00109
들사이의 관계를 나타낸다.The following theorem
Figure 112011099851558-pat00109
It shows the relationship between them.

[정리 1][Theorem 1]

Figure 112011099851558-pat00110
Figure 112011099851558-pat00110

고정된

Figure 112011099851558-pat00111
로부터 상기 정리 1의 관계를 만족시키는
Figure 112011099851558-pat00112
를 구할 수 있다.
Figure 112011099851558-pat00113
부터
Figure 112011099851558-pat00114
까지에 대해
Figure 112011099851558-pat00115
를 반복적으로 계산함으로써 데드라인(
Figure 112011099851558-pat00116
)에 매칭되는 정확한
Figure 112011099851558-pat00117
들을 구할 수 있게 된다. Fixed
Figure 112011099851558-pat00111
Satisfying the relationship of Theorem 1 above
Figure 112011099851558-pat00112
Can be obtained.
Figure 112011099851558-pat00113
from
Figure 112011099851558-pat00114
About
Figure 112011099851558-pat00115
By repeatedly calculating the deadline (
Figure 112011099851558-pat00116
Exact match
Figure 112011099851558-pat00117
Will be available.

Figure 112011099851558-pat00118
값들을 찾는 과정은 다음과 같다.
Figure 112011099851558-pat00118
The process of finding the values is as follows.

우선,

Figure 112011099851558-pat00119
을 할당하고, first,
Figure 112011099851558-pat00119
Respectively,

Figure 112011099851558-pat00120
Figure 112011099851558-pat00120

Figure 112011099851558-pat00121
Figure 112011099851558-pat00121

의 관계를 만족하는 전환 시점(

Figure 112011099851558-pat00122
)를 찾는다. The transition point that satisfies the relationship between
Figure 112011099851558-pat00122
Find).

Figure 112011099851558-pat00123
의 정의에 의해
Figure 112011099851558-pat00124
이기 때문에
Figure 112011099851558-pat00125
Figure 112011099851558-pat00126
는 1로 설정된다.
Figure 112011099851558-pat00123
By the definition of
Figure 112011099851558-pat00124
Because
Figure 112011099851558-pat00125
sign
Figure 112011099851558-pat00126
Is set to one.

이는 검색되는 스케줄의 실행 시간을 계산하고 이를 주어진 데드라인(

Figure 112011099851558-pat00127
)와 비교하게 된다. 검색된 스케줄의 실행 시간이 데드라인보다 작은 경우에는
Figure 112011099851558-pat00128
의 값을 증가시키고 다시
Figure 112011099851558-pat00129
에 대해 전환 시점(
Figure 112011099851558-pat00130
)를 검색한다. This calculates the execution time of the retrieved schedule and returns it to the given deadline (
Figure 112011099851558-pat00127
). If the run time of the retrieved schedule is less than the deadline,
Figure 112011099851558-pat00128
Increase the value of
Figure 112011099851558-pat00129
The conversion point for
Figure 112011099851558-pat00130
).

Figure 112011099851558-pat00131
이지만 실행시간이 그래도 데드라인보다 작은 경우에는
Figure 112011099851558-pat00132
Figure 112011099851558-pat00133
로 고정한 후
Figure 112011099851558-pat00134
의 값을 증가시키고
Figure 112011099851558-pat00135
에 대해서 다시 나머지 전환 시점
Figure 112011099851558-pat00136
를 검색한다. 마찬가지로,
Figure 112011099851558-pat00137
이지만 실행 시간이 아직 데드라인보다 작은 경우에는
Figure 112011099851558-pat00138
의 값을
Figure 112011099851558-pat00139
로 고정한 후
Figure 112011099851558-pat00140
대신
Figure 112011099851558-pat00141
의 값을 증가시킨다. 이러한 과정을 검색되는 스케줄의 실행이 데드라인과 같아질때까지 반복한다.
Figure 112011099851558-pat00131
But if the runtime is still less than the deadline
Figure 112011099851558-pat00132
To
Figure 112011099851558-pat00133
After fixing with
Figure 112011099851558-pat00134
Increase the value of
Figure 112011099851558-pat00135
Remaining transition point again for
Figure 112011099851558-pat00136
. Likewise,
Figure 112011099851558-pat00137
But if the execution time is still less than the deadline
Figure 112011099851558-pat00138
The value of
Figure 112011099851558-pat00139
After fixing with
Figure 112011099851558-pat00140
instead
Figure 112011099851558-pat00141
Increase the value of. This process is repeated until the execution of the schedule being retrieved equals the deadline.

이러한 과정을 수행하게 되면 각각의 작업(

Figure 112011099851558-pat00142
)에 대해 수학식 1, 즉 수학식 3을 만족시키는 값, 즉, 각 작업(
Figure 112011099851558-pat00143
)에 대해 예상되는 에너지 소모량을 최소화할 수 있는 확률적 기대값을 계산할 수 있게 된다. When you do this, each task (
Figure 112011099851558-pat00142
) Is a value that satisfies Equation 1, i.e., e.
Figure 112011099851558-pat00143
We can calculate probabilistic expectations that minimize the expected energy consumption for.

다음으로, 상기 결정된 변환 시점에 기초하여 각각의 실시간 작업(

Figure 112011099851558-pat00144
)들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업(
Figure 112011099851558-pat00145
)의 할당 시간(
Figure 112011099851558-pat00146
)을 결정한다(S400). Next, based on the determined conversion time point, each real-time task (
Figure 112011099851558-pat00144
Each real-time task so that the sum of the energy consumptions of the
Figure 112011099851558-pat00145
) 'S allocation time (
Figure 112011099851558-pat00146
Determine (S400).

전술한 바와 같이 단계(S300)까지를 수행하게 되면, 주어진

Figure 112011099851558-pat00147
Figure 112011099851558-pat00148
에 대하여 각 작업(
Figure 112011099851558-pat00149
)에 대해 예상되는 에너지 소모량을 최소화할 수 있는 확률적 기대값을 계산할 수 있는데 이는 각각의 작업(
Figure 112011099851558-pat00150
)에 대해 주어진 할당 시간(allocated time,
Figure 112011099851558-pat00151
)에 의존하는 값이다. 여기에서
Figure 112011099851558-pat00152
이며
Figure 112011099851558-pat00153
Figure 112011099851558-pat00154
이다. As described above, if the step (S300) is performed, given
Figure 112011099851558-pat00147
And
Figure 112011099851558-pat00148
For each task (
Figure 112011099851558-pat00149
), You can calculate probabilistic expectations that can minimize the expected energy consumption for each task.
Figure 112011099851558-pat00150
Given allocated time for
Figure 112011099851558-pat00151
) Depends on the value. From here
Figure 112011099851558-pat00152
And
Figure 112011099851558-pat00153
And
Figure 112011099851558-pat00154
to be.

주어진 할당 시간(

Figure 112011099851558-pat00155
) 즉,
Figure 112011099851558-pat00156
에 대해 전술한 수학식 3의 최소값을 얻으면 수학식 2의 결과는 전적으로
Figure 112011099851558-pat00157
들의 결정에 의하여 이루어진다. Given allocation time (
Figure 112011099851558-pat00155
) In other words,
Figure 112011099851558-pat00156
If the minimum value of Equation 3 described above is obtained, the result of Equation 2 is entirely
Figure 112011099851558-pat00157
Is made by their decision.

결정된

Figure 112011099851558-pat00158
dp 의해 수학식 3에서 유도된 최고값을
Figure 112011099851558-pat00159
으로 나타내면, 수학식 2는 다음과 같이 표현할 수 있다. determined
Figure 112011099851558-pat00158
dp is the highest value derived from
Figure 112011099851558-pat00159
Equation 2 can be expressed as follows.

[수학식 4]&Quot; (4) "

Minimize

Figure 112011099851558-pat00160
subject to
Figure 112011099851558-pat00161
Minimize
Figure 112011099851558-pat00160
subject to
Figure 112011099851558-pat00161

할당 시간(

Figure 112011099851558-pat00162
)이 증가함에 따라 에너지 소모량(
Figure 112011099851558-pat00163
)은 감소하고 각 작업(
Figure 112011099851558-pat00164
)에 대해 단위 시간 당 에너지 소모량의 감소비(decrement ratio of power consumption per unit time)(
Figure 112011099851558-pat00165
)은 감소한다. 이 경우 상기 수학식 4의 최소값은, 에너지 소모량의 최대 감소를 발생시키는 추가 단위 시간을 작업에 증가적으로(incrementally) 할당함으로써 이루어질 수 있다. 수학식 4의 최소값은
Figure 112011099851558-pat00166
일 때 발생한다. Allocated time (
Figure 112011099851558-pat00162
) Increases as energy consumption (
Figure 112011099851558-pat00163
) Decreases and each task (
Figure 112011099851558-pat00164
Decrement ratio of power consumption per unit time (
Figure 112011099851558-pat00165
Decreases. In this case, the minimum value of Equation 4 may be achieved by incrementally allocating an additional unit time to the task causing the maximum reduction in energy consumption. The minimum value of Equation 4 is
Figure 112011099851558-pat00166
Occurs when

도 5는 각각의 실시간 작업(

Figure 112011099851558-pat00167
)들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업(
Figure 112011099851558-pat00168
)의 할당 시간(
Figure 112011099851558-pat00169
)을 결정하는 과정 즉 단계(S400)을 나타낸 흐름도로서, 이하 도 5를 참조하여 단계(S400)을 설명한다.5 shows each real-time job (
Figure 112011099851558-pat00167
Each real-time task so that the sum of the energy consumptions of the
Figure 112011099851558-pat00168
) 'S allocation time (
Figure 112011099851558-pat00169
) Is a flow chart showing a process of determining, i.e., step S400, the step S400 will now be described with reference to FIG.

단계(S400)은 M개의 작업에 사용 가능한 시간을 할당하여 할당된 시간에 의해 획득되는 에너지 소모량의 전체 감소율을 최대화하는 과정으로서, 우선, 모든 계산에 대해 적어도 가장 빠른 주파수를 제공할 수 있도록

Figure 112011099851558-pat00170
가 각각의
Figure 112011099851558-pat00171
에 할당된다(S410).Step S400 is a process of maximizing the overall reduction rate of energy consumption obtained by the allocated time by allocating the time available for the M tasks, and, first, to provide at least the fastest frequency for all calculations.
Figure 112011099851558-pat00170
Each of
Figure 112011099851558-pat00171
It is assigned to (S410).

다음으로, 모든 작업에 대해 나머지 사용가능한 시간을 균등하게 할당할 때 각 작업의 에너지 감소율을 계산한다(S420).  Next, when allocating the remaining available time for all tasks evenly calculates the energy reduction rate of each task (S420).

즉,

Figure 112011099851558-pat00172
가 각 작업에 대해 동시에 또한 추가적으로 할당가능한 최대 시간이라고 하면,
Figure 112011099851558-pat00173
이며 따라서
Figure 112011099851558-pat00174
이다. In other words,
Figure 112011099851558-pat00172
Is the maximum amount of time that can be allocated for each job simultaneously and additionally,
Figure 112011099851558-pat00173
And therefore
Figure 112011099851558-pat00174
to be.

상기 식은 각 작업(

Figure 112011099851558-pat00175
)에 대해 시간
Figure 112011099851558-pat00176
을 할당할 때와 시간
Figure 112011099851558-pat00177
를 할당할 때의 에너지 소모양 사이의 감소율을 계산한다. 그리고 최대 에너지 감소율을 갖는 작업을 선택하고 이 작업에 대해서만 추가 시간
Figure 112011099851558-pat00178
를 할당한다(즉,
Figure 112011099851558-pat00179
)(S430). Where the expression
Figure 112011099851558-pat00175
Time for)
Figure 112011099851558-pat00176
And when to assign
Figure 112011099851558-pat00177
Calculate the rate of reduction between energy consumption when assigning. And select the task with the maximum energy reduction rate and only add additional time for this task
Figure 112011099851558-pat00178
(I.e.,
Figure 112011099851558-pat00179
(S430).

이와 같은 과정을 모든 작업에 대해 더 이상 할당할 시간이 없을 때까지(즉,

Figure 112011099851558-pat00180
) 반복한다.Until this process is no longer available for all tasks (ie
Figure 112011099851558-pat00180
) Repeat.

이와 같은 과정을 수행함으로써

Figure 112011099851558-pat00181
값을 점진적으로 증가시키면서
Figure 112011099851558-pat00182
을 최소화, 즉 상기 수학식 4를 최소화할 수 있게 된다. 즉, 각각의 작업(
Figure 112011099851558-pat00183
)에 대해 결정된 주파수들의 전환 시점에 따라 M개의 작업들의 확률적 에너지 소모량의 합을 최소화할 수 있도록 각각의 작업들의 할당 시간을 결정할 수 있게 되므로 결국 M개의 작업들의 전체 에너지 소모량의 합을 최소화할 수 있는 스케줄링 구조를 생성하게 된다.By doing this process
Figure 112011099851558-pat00181
Gradually increasing the value
Figure 112011099851558-pat00182
Minimize, that is, the equation (4) can be minimized. That is, each task (
Figure 112011099851558-pat00183
In order to minimize the sum of the probabilistic energy consumption of the M tasks according to the switching time of the frequencies determined for the < RTI ID = 0.0 > 1), < / RTI > Create a scheduling scheme.

이러한 스케줄링 구조에 의해 각각의 작업(

Figure 112011099851558-pat00184
)에 대해 주파수(
Figure 112011099851558-pat00185
)을 결정한다. 프로세서의 스케줄러는 복수개의 작업 중에서 가장 빠른 데드라인을 갖는 작업(
Figure 112011099851558-pat00186
)를 우선적으로 실행하고 작업(
Figure 112011099851558-pat00187
)의 종료시까지 결정된 주파수(
Figure 112011099851558-pat00188
)를 할당하게 된다. This scheduling structure allows each job (
Figure 112011099851558-pat00184
For frequency (
Figure 112011099851558-pat00185
Is determined. The processor's scheduler is the one that has the fastest deadline among multiple jobs (
Figure 112011099851558-pat00186
) Will run first and
Figure 112011099851558-pat00187
Frequency determined by the end of
Figure 112011099851558-pat00188
) Will be assigned.

이상에서, 바람직한 실시예들을 참조하여 본 발명을 설명하였으나, 본 발명은 상기의 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명은 첨부한 특허청구범위 및 도면 등의 전체적인 기재를 참조하여 해석되어야 할 것이며, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. It will be possible. Accordingly, the present invention should be construed by reference to the appended claims, drawings, and the like, and all of its equivalents or equivalent variations fall within the scope of the present invention.

Claims (5)

변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법에 있어서,
M개의 실시간 작업(
Figure 112013077947417-pat00189
) 각각에 대하여 각 작업의 데드라인(
Figure 112013077947417-pat00190
) 이전에 수행해야 할 계산량을 예측하기 위한 확률적 계산량 모델(
Figure 112013077947417-pat00191
)을 결정하는 제1 단계;
각각의 실시간 작업(
Figure 112013077947417-pat00192
)에 대해 상기 확률적 계산량 모델(
Figure 112013077947417-pat00193
)에 의한 에너지 소모량을 추정하기 위하여 사용할 실행 속도를 결정하는 제2 단계;
각각의 실시간 작업(
Figure 112013077947417-pat00194
)에 대하여 주어진 데드라인(
Figure 112013077947417-pat00195
)에 대해 상기 결정된 실행 속도들의 변환 시점을 결정하는 제3 단계; 및
상기 결정된 변환 시점에 기초하여 각각의 실시간 작업(
Figure 112013077947417-pat00196
)들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업(
Figure 112013077947417-pat00197
)의 할당 시간(
Figure 112013077947417-pat00198
)을 결정하는 제4 단계를 포함하고
상기 제1 단계에서, 상기 확률적 계산량 모델(
Figure 112013077947417-pat00234
)은, m번째 작업(
Figure 112013077947417-pat00235
)에 대하여
Figure 112013077947417-pat00236
(여기서,
Figure 112013077947417-pat00237
은 m번째 작업이 c번째 주기에서의 누적 확률임)의 수식에 의하여 결정되는 것을 특징으로 하는 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법.
In the energy efficient scheduling method of a single core processor for real-time work with a variable amount of calculation,
M real-time jobs (
Figure 112013077947417-pat00189
) For each task.
Figure 112013077947417-pat00190
A stochastic computational model to predict the amount of computation to perform before
Figure 112013077947417-pat00191
Determining a first step;
Each real-time job (
Figure 112013077947417-pat00192
For the stochastic computational model (
Figure 112013077947417-pat00193
Determining a speed of execution to use for estimating energy consumption;
Each real-time job (
Figure 112013077947417-pat00194
Given deadline for
Figure 112013077947417-pat00195
Determining a time of conversion of the determined execution speeds for < RTI ID = 0.0 > And
Based on the determined conversion time point,
Figure 112013077947417-pat00196
Each real-time task so that the sum of the energy consumptions of the
Figure 112013077947417-pat00197
) 'S allocation time (
Figure 112013077947417-pat00198
And a fourth step of determining
In the first step, the stochastic computational model (
Figure 112013077947417-pat00234
) Is the mth job (
Figure 112013077947417-pat00235
)about
Figure 112013077947417-pat00236
(here,
Figure 112013077947417-pat00237
Is a cumulative probability in the c period, the energy efficient scheduling method of a single core processor for a real-time job with a variable amount of calculation.
삭제delete 제1항에 있어서,
상기 제2 단계는, 사용가능한 K개의 이산 주파수(discrete frequency) 중에서
Figure 112011099851558-pat00203
(여기서,
Figure 112011099851558-pat00204
는 사용가능한 이산 주파수이고
Figure 112011099851558-pat00205
는 각 주파수에 대응하는 에너지 소모량)의 수식을 만족하는 주파수(
Figure 112011099851558-pat00206
)를 비효율적인 실행속도를 갖는 주파수로 결정하고 이들을 제거하는 것을 특징으로 하는 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법.
The method of claim 1,
The second step is to use one of the K discrete frequencies available.
Figure 112011099851558-pat00203
(here,
Figure 112011099851558-pat00204
Is the available discrete frequency
Figure 112011099851558-pat00205
Is a frequency that satisfies the formula of energy consumption corresponding to each frequency.
Figure 112011099851558-pat00206
Energy efficient scheduling method for a single-core processor for real-time tasks with varying computations, which is determined as frequencies with inefficient execution speeds and eliminating them.
제1항에 있어서,
상기 제3 단계에서 상기 변환 시점(
Figure 112013077947417-pat00207
)들은
Figure 112013077947417-pat00208

Figure 112013077947417-pat00209
(여기서,
Figure 112013077947417-pat00210
는 각각
Figure 112013077947417-pat00211
에서의 확률적 계산량 모델이고,
Figure 112013077947417-pat00212
은 각각
Figure 112013077947417-pat00213
에서의 에너지 소모량이고,
Figure 112013077947417-pat00214
는 각각
Figure 112013077947417-pat00215
에서의 주파수임)의 수식에 의해 계산되는 것을 특징으로 하는 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법.
The method of claim 1,
The conversion point in the third step (
Figure 112013077947417-pat00207
)
Figure 112013077947417-pat00208

Figure 112013077947417-pat00209
(here,
Figure 112013077947417-pat00210
Respectively
Figure 112013077947417-pat00211
Is a stochastic computational model at
Figure 112013077947417-pat00212
Respectively
Figure 112013077947417-pat00213
Energy consumption at,
Figure 112013077947417-pat00214
Respectively
Figure 112013077947417-pat00215
Energy efficient scheduling method for a single-core processor for real-time work with a variable amount of calculation, characterized in that it is calculated by the formula of (frequency).
제1항에 있어서,
상기 제4 단계는,
각 실시간 작업(
Figure 112011099851558-pat00216
)의 할당 시간(
Figure 112011099851558-pat00217
)을 결정하기 위하여, 각 작업들에 대해 가장 빠른 실행 속도의 주파수에 대응하는 작업 시간을 할당하는 단계;
나머지 사용가능한 시간을 균등하게 할당할 때의 각 작업의 에너지 감소율을 계산하는 단계; 및
최대 에너지 감소율을 갖는 작업을 결정하고 이에 대해서만 추가 시간을 할당하는 단계
를 모든 작업에 대해 더 이상 할당할 시간이 없을 때까지 반복함으로써 각 작업의 할당 시간(
Figure 112011099851558-pat00218
)을 결정하는 것을 특징으로 하는 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법.
The method of claim 1,
In the fourth step,
Each real-time task (
Figure 112011099851558-pat00216
) 'S allocation time (
Figure 112011099851558-pat00217
Assigning a working time corresponding to the frequency of the fastest execution speed for each of the tasks, to determine;
Calculating an energy reduction rate of each task when allocating the remaining available time evenly; And
Determining the task with the maximum energy reduction rate and allocating additional time for it only
Is repeated for all jobs until there is no more time to allocate for each job (
Figure 112011099851558-pat00218
Energy efficient scheduling method for a single-core processor for real-time work with varying computations.
KR1020110135518A 2011-12-15 2011-12-15 Energy-efficient scheduling method for real-time tasks with probabilistic computations on single-core processor KR101341562B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110135518A KR101341562B1 (en) 2011-12-15 2011-12-15 Energy-efficient scheduling method for real-time tasks with probabilistic computations on single-core processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110135518A KR101341562B1 (en) 2011-12-15 2011-12-15 Energy-efficient scheduling method for real-time tasks with probabilistic computations on single-core processor

Publications (2)

Publication Number Publication Date
KR20130068395A KR20130068395A (en) 2013-06-26
KR101341562B1 true KR101341562B1 (en) 2013-12-16

Family

ID=48864024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110135518A KR101341562B1 (en) 2011-12-15 2011-12-15 Energy-efficient scheduling method for real-time tasks with probabilistic computations on single-core processor

Country Status (1)

Country Link
KR (1) KR101341562B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293890A (en) * 2015-06-09 2017-01-04 阿里巴巴集团控股有限公司 A kind of method and device for business processing based on complexity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100982333B1 (en) 2009-09-30 2010-09-15 경상대학교산학협력단 Method and apparatus for scheduling operation modes based on probabiistic execution time
KR101034409B1 (en) 2005-03-17 2011-05-12 마이크로소프트 코포레이션 Determining an actual amount of time a processor consumes in executing a portion of code
KR101065436B1 (en) 2010-12-07 2011-09-19 경상대학교산학협력단 Stochastic scheduling of a real-time parallel task with uncertain computation amount on mulit-core processors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101034409B1 (en) 2005-03-17 2011-05-12 마이크로소프트 코포레이션 Determining an actual amount of time a processor consumes in executing a portion of code
KR100982333B1 (en) 2009-09-30 2010-09-15 경상대학교산학협력단 Method and apparatus for scheduling operation modes based on probabiistic execution time
KR101065436B1 (en) 2010-12-07 2011-09-19 경상대학교산학협력단 Stochastic scheduling of a real-time parallel task with uncertain computation amount on mulit-core processors

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한국 컴퓨터정보학회 논문지, 제16권 제6호 pp.11~20, 실시간 비디오 처리에 적합한 에너지 효율적인 멀티코어 스케쥴링 (2011.06.)*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293890A (en) * 2015-06-09 2017-01-04 阿里巴巴集团控股有限公司 A kind of method and device for business processing based on complexity
CN106293890B (en) * 2015-06-09 2019-11-05 阿里巴巴集团控股有限公司 A kind of method and device for business processing based on complexity

Also Published As

Publication number Publication date
KR20130068395A (en) 2013-06-26

Similar Documents

Publication Publication Date Title
KR101629155B1 (en) Power-aware thread scheduling and dynamic use of processors
EP2102747B1 (en) Co-allocating a reservation spanning different compute resources types
KR101812583B1 (en) Apparatus or task assignment, method for task assignment and a computer-readable storage medium
CN104765640B (en) A kind of intelligent Service dispatching method
Liu et al. An adaptive scheduling and voltage/frequency selection algorithm for real-time energy harvesting systems
Pietri et al. Energy-constrained provisioning for scientific workflow ensembles
JP2012504800A (en) Scheduling applications for execution in heterogeneous computing systems
Young et al. Deadline and energy constrained dynamic resource allocation in a heterogeneous computing environment
Pietri et al. Energy-aware workflow scheduling using frequency scaling
CN103329100A (en) Load balancing in heterogeneous computing environments
Jiang et al. Scheduling concurrent workflows in HPC cloud through exploiting schedule gaps
Stavrinides et al. Energy-aware scheduling of real-time workflow applications in clouds utilizing DVFS and approximate computations
Oxley et al. Makespan and energy robust stochastic static resource allocation of a bag-of-tasks to a heterogeneous computing system
Xie et al. Energy saving virtual machine allocation in cloud computing
CN110795238A (en) Load calculation method and device, storage medium and electronic equipment
Tsai et al. Scheduling multiple scientific and engineering workflows through task clustering and best-fit allocation
Hussin et al. Efficient energy management using adaptive reinforcement learning-based scheduling in large-scale distributed systems
Singh et al. Value and energy optimizing dynamic resource allocation in many-core HPC systems
Babu et al. Energy efficient scheduling algorithm for cloud computing systems based on prediction model
KR101341562B1 (en) Energy-efficient scheduling method for real-time tasks with probabilistic computations on single-core processor
CN112015539B (en) Task allocation method, device and computer storage medium
Xue et al. BOLAS: bipartite-graph oriented locality-aware scheduling for MapReduce tasks
CN104731662B (en) A kind of resource allocation methods of variable concurrent job
KR101416822B1 (en) Stochastic minimum-power scheduling of periodic real-time tasks with leakage power awareness on multicore processors
Young et al. Energy-constrained dynamic resource allocation in a heterogeneous computing environment

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: 20160927

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171020

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee