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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000005265 energy consumption Methods 0.000 claims abstract description 40
- 238000005094 computer simulation Methods 0.000 claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims description 22
- 230000009467 reduction Effects 0.000 claims description 9
- 230000001186 cumulative effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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개의 실시간 작업() 각각에 대하여 각 작업의 데드라인() 이전에 수행해야 할 계산량을 예측하기 위한 확률적 계산량 모델()을 결정하는 제1 단계; 각각의 실시간 작업()에 대해 상기 확률적 계산량 모델()에 의한 에너지 소모량을 추정하기 위하여 사용할 실행 속도를 결정하는 제2 단계; 각각의 실시간 작업()에 대하여 주어진 데드라인()에 대해 상기 결정된 실행 속도들의 변환 시점을 결정하는 제3 단계; 및 상기 결정된 변환 시점에 기초하여 각각의 실시간 작업()들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업()의 할당 시간()을 결정하는 제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, ) For each task. A stochastic computational model to predict the amount of computation to perform before Determining a first step; Each real-time job ( For the stochastic computational model ( Determining a speed of execution to use for estimating energy consumption; Each real-time job ( Given deadline for 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. Each real-time task so that the sum of the energy consumptions of the ) 'S allocation time ( 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
본 발명은 프로세서의 스케줄링 방법에 관한 것으로서 보다 상세하게는 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법에 관한 것이다.
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.
본 발명은 상기한 바와 같은 한계점을 감안하여 안출된 것으로서, 단일코어 프로세서상에서 변동하는 불확실한 계산량을 갖는 다수의 실시간 작업들에 대해서불확실한 계산량을 확률적 계산량 모델로 표현하고 확률적 계산량 모델에 기초하여 다수의 실시간 작업들의 에너지 소모량의 합을 최소화하는 스케줄링 방법을 제공하는 것을 목적으로 한다.
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개의 실시간 작업() 각각에 대하여 각 작업의 데드라인() 이전에 수행해야 할 계산량을 예측하기 위한 확률적 계산량 모델()을 결정하는 제1 단계; 각각의 실시간 작업()에 대해 상기 확률적 계산량 모델()에 의한 에너지 소모량을 추정하기 위하여 사용할 실행 속도를 결정하는 제2 단계; 각각의 실시간 작업()에 대하여 주어진 데드라인()에 대해 상기 결정된 실행 속도들의 변환 시점을 결정하는 제3 단계; 및 상기 결정된 변환 시점에 기초하여 각각의 실시간 작업()들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업()의 할당 시간()을 결정하는 제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, ) For each task. A stochastic computational model to predict the amount of computation to perform before Determining a first step; Each real-time job ( For the stochastic computational model ( Determining a speed of execution to use for estimating energy consumption; Each real-time job ( Given deadline for 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. Each real-time task so that the sum of the energy consumptions of the ) 'S allocation time ( 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 단계에서, 상기 확률적 계산량 모델()은, m번째 작업()에 대하여 (여기서, 은 m번째 작업이 c번째 주기에서의 누적 확률임)의 수식에 의하여 결정될 수 있다. Here, in the first step, the stochastic computational model ( ) Is the mth job ( )about (here, Can be determined by the formula of m) is the cumulative probability in the c period.
또한, 상기 제2 단계는, 사용가능한 K개의 이산 주파수(discrete frequency) 중에서 (여기서, 는 사용가능한 이산 주파수이고 는 각 주파수에 대응하는 에너지 소모량)의 수식을 만족하는 주파수()를 비효율적인 실행속도를 갖는 주파수로 결정하고 이들을 제거하도록 구성할 수 있다. Further, the second step may be performed from among the K discrete frequencies available. (here, Is the available discrete frequency 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 단계에서 상기 전환 시점()들은 Further, in the third step, the switching time point ( )
(여기서, 는 각각 에서의 확률적 계산량 모델이고, 은 각각 에서의 에너지 소모량이고, 는 각각 에서의 주파수임)의 수식에 의해 계산될 수 있다. (here, Respectively Is a stochastic computational model at Respectively Energy consumption at, Respectively It can be calculated by the formula of (the frequency at).
또한, 상기 제4 단계는, 각 실시간 작업()의 할당 시간()을 결정하기 위하여, 각 작업들에 대해 가장 빠른 실행 속도의 주파수에 대응하는 작업 시간을 할당하는 단계; 나머지 사용가능한 시간을 균등하게 할당할 때의 각 작업의 에너지 감소율을 계산하는 단계; 및 최대 에너지 감소율을 갖는 작업을 결정하고 이에 대해서만 추가 시간을 할당하는 단계를 모든 작업에 대해 더 이상 할당할 시간이 없을 때까지 반복함으로써 각 작업의 할당 시간()을 결정하도록 구성할 수도 있다.
In addition, the fourth step, the real-time operation ( ) 'S allocation time ( 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. 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는 각각의 실시간 작업()들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업()의 할당 시간()을 결정하는 과정 즉 단계(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 ( Each real-time task so that the sum of the energy consumptions of the ) 'S allocation time ( ) 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개의 실시간 작업() 각각에 대하여 각 작업의 데드라인() 이전에 수행해야 할 계산량을 예측하기 위한 확률적 계산량 모델()을 결정한다(S100). Referring to FIG. 1, the method according to the present embodiment firstly performs M real-time tasks ( ) For each task. A stochastic computational model to predict the amount of computation to perform before Determine (S100).
본 실시예에서, 실시간 작업(real-time Tasks)은 M개의 복수개로 구성되며, 이들 중에서 m번째의 작업을 으로 나타낸다. 각각의 작업()은 작업을 끝내야하는 자신의 데드라인(deadline)을 가지며 이를 으로 나타낸다. 각 작업()에 대해 종료시까지 소요되는 계산량은 정확히 알 수 없지만 즉, 불확실하지만 본 발명에서는 이를 확률적 계산량 모델에 의하여 온라인 또는 오프라인 프로파일링에 의해 추정하는 방법을 사용한다. In the present embodiment, real-time tasks are composed of M pieces, and among them, the m-th task is Respectively. Each task ( ) Has its own deadline to finish the job Respectively. Each action ( 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)에서의 확률은 로 나타낼 때, c번째 주기에서의 누적 확률(cumulative probability)은 이며 또한 c번째 주기에서의 테일 누적 확률은 이다. 따라서, 작업()의 c번째 주기에서의 테일 누적 확률을 으로 나타낼 수 있다. 이는 바꾸어 말하면 c번째 진행된 주기에서 작업()이 아직 수행되고 있을 확률을 의미한다. 2 and 3, the probability in the c th cycle is , The cumulative probability at the c-th cycle is And the cumulative probability of tail in cycle c to be. Therefore, ) In the c < th > . In other words, in the c-th progressive cycle, ) Is still being performed.
여기에서, 에 대해서 임을 유의해야 하는데, 이는 확률 함수의 누적 분포는 비감소(non-decreasing)이고 따라서 이들의 테일 분포는 비증가(non-increasing)이기 때문이다. From here, about Note that this is because the cumulative distribution of the probability function is non-decreasing and therefore their tail distribution is non-increasing.
작업()에 대한 요구되는 계산 주기의 최대값(worst-case number of required computation cycle)는 으로 나타낸다. 각각의 작업들은 서로 다른 을 갖는데 이들은 미리 스케줄러에게 알려져 있는 값이다. work( The worst-case number of required computation cycle for Respectively. Each task is different These are the values known to the scheduler in advance.
이상과 같은 방법에 의하여 단계(S100), 즉, M개의 실시간 작업() 각각에 대하여 각 작업의 데드라인() 이전에 수행해야 할 계산량을 예측하기 위한 확률적 계산량 모델()을 결정한다.By the above method, step S100, that is, M real-time tasks ( ) For each task. A stochastic computational model to predict the amount of computation to perform before Is determined.
본 발명에서 단일 코어 프로세서는 사용가능한 실행 속도 즉, 주파수(frequency)로서 K개의 이산 주파수(discrete frequency)를 갖는 것을 전제로 하며 이들은 각각 증가하는 순서대로 로 나타낸다. 이들의 에너지 소모량(power consumption)은 로 나타낸다. 여기에서, 이면 이다. 와 는 특별한 관계를 갖지는 않는다. 실행속도()에서의 각 주기(cycle)의 실행 시간(execution time)은 이다. 클럭 주파수의 전환의 오버헤드(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. Respectively. Their power consumption is Respectively. From here, If to be. Wow Does not have a special relationship. Running speed ( The execution time of each cycle in to be. The overhead of switching the clock frequency is assumed to be negligible.
작업()의 c번째 주기에 할당되는 실행속도 즉, 주파수는 으로 나타내는데 여기에서 이다. 이들의 에너지 소모량(power consumption)은 으로 나타내는데 여기에서 이다. work( The execution speed, or frequency, assigned to the c period of Which is represented by to be. Their power consumption is Which is represented by to be.
이러한 상태에서 주어진 데드라인 조건을 충족하면서 단일 작업()의 평균 에너지 소모량을 최소화하는 것은 다음과 같은 식으로 표현될 수 있다. In this state, a single task ( Minimizing the average energy consumption of) can be expressed as
[수학식 1][Equation 1]
Minimize Minimize
subject to subject to
M개의 작업들에 대해 상기 수학식 1의 문제를 확장하면 다음과 같이 표현할 수 있다. Expanding the problem of
[수학식 2]&Quot; (2) "
Minimize Minimize
subject to subject to
이러한 수학식에 대해 유도되는 해(solution)은 을 각각의 및 에 대하여 결정하게 된다. The solution derived for this equation is Each And Will be determined.
이를 위하여 각각의 실시간 작업()에 대해 상기 확률적 계산량 모델()에 의한 에너지 소모량을 추정하기 위하여 사용할 실행 속도 즉, 주파수(frequency)를 결정한다(S200).To do this, each real-time task ( For the stochastic computational model ( 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)를 제거하는 것에 이루어질 수 있다. 비효율적인 실행 속도는 의 관계를 만족하는 로 정의할 수 있는데, 이러한 를 주어진 실행 속도로부터 제거한다. 상기 수식은 에너지 소모량의 볼록 함수(convex function)에 부합하지 않는 주파수를 의미한다. 를 계산하면 모든 비효율적 실행 속도(주파수)를 선택할 수 있다. 이렇게 하면 에너지 소모량은 주파수의 볼록 함수 즉, 가 된다. 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 To satisfy the relationship of Can be defined as Remove from the given run rate. The above formula means a frequency that does not correspond to the convex function of energy consumption. By calculating, we can select all inefficient execution speeds (frequency). This way energy consumption is the convex function of the frequency, .
도 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.
전술한 바와 같은 과정을 통해 실행 속도 즉, 주파수들이 결정되면, 각각의 실시간 작업()에 대하여 주어진 데드라인()에 대해 상기 결정된 실행 속도들의 변환 시점(transition points)을 결정한다(S300). When the execution speed, i.e. frequencies, is determined through the above-described process, each real-time task ( Given deadline for In operation S300, transition points of the determined execution speeds are determined.
이는 의 관계에 의하여 이루어질 수 있는데, 이러한 정의에 의하여 낮은 주파수에서 높은 주파수로의 전환 시점(transition point)만을 고려하는 것으로 충분하게 된다.this is 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.
우선, 에서 로의 전환 시점(의 시작 주기(starting cycle))을 로 나타낸다. 에 의하여 을 의미한다. 이 대신 로 전환되면 가 된다. 가 사용되지 않는 경우에는 이 된다. 그러면 수학식 1은 다음과 같은 수학식 3으로 표현될 수 있다. first, in When to switch to ( Starting cycle of Respectively. By . this instead When switched to . Is not used .
[수학식 3]&Quot; (3) "
Minimize Minimize
subjecto to subjecto to
여기에서 은 최소 주파수이기 때문에 이다. From here Is the minimum frequency to be.
모든 들을 안다면 수학식 1의 해를 직접 구할 수 잇으나 들의 값은 주어진 데드라인()에 의존한다. 를 구하기 위하여 우선 들의 값 사이의 관계를 알아보고 이를 이용하여 데드라인()와 관련된 를 구하는데 사용한다.all If you know you can solve the
다음의 정리(theorem)은 들사이의 관계를 나타낸다.The following theorem It shows the relationship between them.
[정리 1][Theorem 1]
고정된 로부터 상기 정리 1의 관계를 만족시키는 를 구할 수 있다. 부터 까지에 대해 를 반복적으로 계산함으로써 데드라인()에 매칭되는 정확한 들을 구할 수 있게 된다. Fixed Satisfying the relationship of
값들을 찾는 과정은 다음과 같다. The process of finding the values is as follows.
우선, 을 할당하고, first, Respectively,
의 관계를 만족하는 전환 시점()를 찾는다. The transition point that satisfies the relationship between Find).
의 정의에 의해 이기 때문에 인 는 1로 설정된다. By the definition of Because sign Is set to one.
이는 검색되는 스케줄의 실행 시간을 계산하고 이를 주어진 데드라인()와 비교하게 된다. 검색된 스케줄의 실행 시간이 데드라인보다 작은 경우에는 의 값을 증가시키고 다시 에 대해 전환 시점()를 검색한다. This calculates the execution time of the retrieved schedule and returns it to the given deadline ( ). If the run time of the retrieved schedule is less than the deadline, Increase the value of The conversion point for ).
이지만 실행시간이 그래도 데드라인보다 작은 경우에는 를 로 고정한 후 의 값을 증가시키고 에 대해서 다시 나머지 전환 시점 를 검색한다. 마찬가지로, 이지만 실행 시간이 아직 데드라인보다 작은 경우에는 의 값을 로 고정한 후 대신 의 값을 증가시킨다. 이러한 과정을 검색되는 스케줄의 실행이 데드라인과 같아질때까지 반복한다. But if the runtime is still less than the deadline To After fixing with Increase the value of Remaining transition point again for . Likewise, But if the execution time is still less than the deadline The value of After fixing with instead Increase the value of. This process is repeated until the execution of the schedule being retrieved equals the deadline.
이러한 과정을 수행하게 되면 각각의 작업()에 대해 수학식 1, 즉 수학식 3을 만족시키는 값, 즉, 각 작업()에 대해 예상되는 에너지 소모량을 최소화할 수 있는 확률적 기대값을 계산할 수 있게 된다. When you do this, each task ( ) Is a value that satisfies
다음으로, 상기 결정된 변환 시점에 기초하여 각각의 실시간 작업()들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업()의 할당 시간()을 결정한다(S400). Next, based on the determined conversion time point, each real-time task ( Each real-time task so that the sum of the energy consumptions of the ) 'S allocation time ( Determine (S400).
전술한 바와 같이 단계(S300)까지를 수행하게 되면, 주어진 및 에 대하여 각 작업()에 대해 예상되는 에너지 소모량을 최소화할 수 있는 확률적 기대값을 계산할 수 있는데 이는 각각의 작업()에 대해 주어진 할당 시간(allocated time, )에 의존하는 값이다. 여기에서 이며 및 이다. As described above, if the step (S300) is performed, given And For each task ( ), You can calculate probabilistic expectations that can minimize the expected energy consumption for each task. Given allocated time for ) Depends on the value. From here And And to be.
주어진 할당 시간() 즉, 에 대해 전술한 수학식 3의 최소값을 얻으면 수학식 2의 결과는 전적으로 들의 결정에 의하여 이루어진다. Given allocation time ( ) In other words, If the minimum value of Equation 3 described above is obtained, the result of
결정된 dp 의해 수학식 3에서 유도된 최고값을 으로 나타내면, 수학식 2는 다음과 같이 표현할 수 있다. determined dp is the highest value derived from
[수학식 4]&Quot; (4) "
Minimize subject to Minimize subject to
할당 시간()이 증가함에 따라 에너지 소모량()은 감소하고 각 작업()에 대해 단위 시간 당 에너지 소모량의 감소비(decrement ratio of power consumption per unit time)()은 감소한다. 이 경우 상기 수학식 4의 최소값은, 에너지 소모량의 최대 감소를 발생시키는 추가 단위 시간을 작업에 증가적으로(incrementally) 할당함으로써 이루어질 수 있다. 수학식 4의 최소값은 일 때 발생한다. Allocated time ( ) Increases as energy consumption ( ) Decreases and each task ( Decrement ratio of power consumption per unit time ( 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 Occurs when
도 5는 각각의 실시간 작업()들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업()의 할당 시간()을 결정하는 과정 즉 단계(S400)을 나타낸 흐름도로서, 이하 도 5를 참조하여 단계(S400)을 설명한다.5 shows each real-time job ( Each real-time task so that the sum of the energy consumptions of the ) 'S allocation time ( ) 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개의 작업에 사용 가능한 시간을 할당하여 할당된 시간에 의해 획득되는 에너지 소모량의 전체 감소율을 최대화하는 과정으로서, 우선, 모든 계산에 대해 적어도 가장 빠른 주파수를 제공할 수 있도록 가 각각의 에 할당된다(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. Each of 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).
즉, 가 각 작업에 대해 동시에 또한 추가적으로 할당가능한 최대 시간이라고 하면, 이며 따라서 이다. In other words, Is the maximum amount of time that can be allocated for each job simultaneously and additionally, And therefore to be.
상기 식은 각 작업()에 대해 시간 을 할당할 때와 시간 를 할당할 때의 에너지 소모양 사이의 감소율을 계산한다. 그리고 최대 에너지 감소율을 갖는 작업을 선택하고 이 작업에 대해서만 추가 시간 를 할당한다(즉, )(S430). Where the expression Time for) And when to assign 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 (I.e., (S430).
이와 같은 과정을 모든 작업에 대해 더 이상 할당할 시간이 없을 때까지(즉, ) 반복한다.Until this process is no longer available for all tasks (ie ) Repeat.
이와 같은 과정을 수행함으로써 값을 점진적으로 증가시키면서 을 최소화, 즉 상기 수학식 4를 최소화할 수 있게 된다. 즉, 각각의 작업()에 대해 결정된 주파수들의 전환 시점에 따라 M개의 작업들의 확률적 에너지 소모량의 합을 최소화할 수 있도록 각각의 작업들의 할당 시간을 결정할 수 있게 되므로 결국 M개의 작업들의 전체 에너지 소모량의 합을 최소화할 수 있는 스케줄링 구조를 생성하게 된다.By doing this process Gradually increasing the value Minimize, that is, the equation (4) can be minimized. That is, each task ( 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.
이러한 스케줄링 구조에 의해 각각의 작업()에 대해 주파수()을 결정한다. 프로세서의 스케줄러는 복수개의 작업 중에서 가장 빠른 데드라인을 갖는 작업()를 우선적으로 실행하고 작업()의 종료시까지 결정된 주파수()를 할당하게 된다. This scheduling structure allows each job ( For frequency ( Is determined. The processor's scheduler is the one that has the fastest deadline among multiple jobs ( ) Will run first and Frequency determined by the end of ) 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개의 실시간 작업() 각각에 대하여 각 작업의 데드라인() 이전에 수행해야 할 계산량을 예측하기 위한 확률적 계산량 모델()을 결정하는 제1 단계;
각각의 실시간 작업()에 대해 상기 확률적 계산량 모델()에 의한 에너지 소모량을 추정하기 위하여 사용할 실행 속도를 결정하는 제2 단계;
각각의 실시간 작업()에 대하여 주어진 데드라인()에 대해 상기 결정된 실행 속도들의 변환 시점을 결정하는 제3 단계; 및
상기 결정된 변환 시점에 기초하여 각각의 실시간 작업()들의 에너지 소모량의 합이 최소값을 가지도록 각 실시간 작업()의 할당 시간()을 결정하는 제4 단계를 포함하고
상기 제1 단계에서, 상기 확률적 계산량 모델()은, m번째 작업()에 대하여 (여기서, 은 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 ( ) For each task. A stochastic computational model to predict the amount of computation to perform before Determining a first step;
Each real-time job ( For the stochastic computational model ( Determining a speed of execution to use for estimating energy consumption;
Each real-time job ( Given deadline for Determining a time of conversion of the determined execution speeds for < RTI ID = 0.0 > And
Based on the determined conversion time point, Each real-time task so that the sum of the energy consumptions of the ) 'S allocation time ( And a fourth step of determining
In the first step, the stochastic computational model ( ) Is the mth job ( )about (here, 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.
상기 제2 단계는, 사용가능한 K개의 이산 주파수(discrete frequency) 중에서 (여기서, 는 사용가능한 이산 주파수이고 는 각 주파수에 대응하는 에너지 소모량)의 수식을 만족하는 주파수()를 비효율적인 실행속도를 갖는 주파수로 결정하고 이들을 제거하는 것을 특징으로 하는 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법.
The method of claim 1,
The second step is to use one of the K discrete frequencies available. (here, Is the available discrete frequency Is a frequency that satisfies the formula of energy consumption corresponding to each frequency. 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.
상기 제3 단계에서 상기 변환 시점()들은
(여기서, 는 각각 에서의 확률적 계산량 모델이고, 은 각각 에서의 에너지 소모량이고, 는 각각 에서의 주파수임)의 수식에 의해 계산되는 것을 특징으로 하는 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법.
The method of claim 1,
The conversion point in the third step ( )
(here, Respectively Is a stochastic computational model at Respectively Energy consumption at, Respectively 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).
상기 제4 단계는,
각 실시간 작업()의 할당 시간()을 결정하기 위하여, 각 작업들에 대해 가장 빠른 실행 속도의 주파수에 대응하는 작업 시간을 할당하는 단계;
나머지 사용가능한 시간을 균등하게 할당할 때의 각 작업의 에너지 감소율을 계산하는 단계; 및
최대 에너지 감소율을 갖는 작업을 결정하고 이에 대해서만 추가 시간을 할당하는 단계
를 모든 작업에 대해 더 이상 할당할 시간이 없을 때까지 반복함으로써 각 작업의 할당 시간()을 결정하는 것을 특징으로 하는 변동하는 계산량을 갖는 실시간 작업을 위한 단일 코어 프로세서의 에너지 효율적 스케줄링 방법.
The method of claim 1,
In the fourth step,
Each real-time task ( ) 'S allocation time ( 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 ( Energy efficient scheduling method for a single-core processor for real-time work with varying computations.
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)
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)
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 |
-
2011
- 2011-12-15 KR KR1020110135518A patent/KR101341562B1/en not_active IP Right Cessation
Patent Citations (3)
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)
Title |
---|
한국 컴퓨터정보학회 논문지, 제16권 제6호 pp.11~20, 실시간 비디오 처리에 적합한 에너지 효율적인 멀티코어 스케쥴링 (2011.06.)* |
Cited By (2)
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 |