KR101384311B1 - Apparatus and method for reducing power consumption in wireless communication system - Google Patents
Apparatus and method for reducing power consumption in wireless communication system Download PDFInfo
- Publication number
- KR101384311B1 KR101384311B1 KR1020070131297A KR20070131297A KR101384311B1 KR 101384311 B1 KR101384311 B1 KR 101384311B1 KR 1020070131297 A KR1020070131297 A KR 1020070131297A KR 20070131297 A KR20070131297 A KR 20070131297A KR 101384311 B1 KR101384311 B1 KR 101384311B1
- Authority
- KR
- South Korea
- Prior art keywords
- task
- workload
- performance level
- twf
- communication system
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 이동 통신 시스템에서 전력소모를 감소시키기 위한 장치 및 방법에 관한 것으로 구체적으로는 데이터 처리 시 필요한 하드웨어의 동작을 최소화면서도 성능은 유지하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for reducing power consumption in a mobile communication system, and more particularly, to an apparatus and method for maintaining performance while minimizing operation of hardware required for data processing.
이동통신 시스템, 데이터 처리, 작업 시간 간격(TTI), 시스템 호출 Mobile communication system, data processing, work time interval (TTI), system call
Description
본 발명은 이동 통신 시스템에서 전력소모를 감소시키기 위한 장치 및 방법에 관한 것으로 구체적으로는 데이터 처리 시 필요한 하드웨어의 동작을 최소화면서도 성능은 유지하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for reducing power consumption in a mobile communication system, and more particularly, to an apparatus and method for maintaining performance while minimizing operation of hardware required for data processing.
이동 통신 시스템은 매우 복잡한 시스템으로 많은 처리 프로세스들에 의해서 동작되며, 상기 프로세스들은 다양한 레벨의 공급전압과 클럭 주파수에 의해 작업을 수행하게 된다.A mobile communication system is a very complex system operated by many processing processes, which perform operations at various levels of supply voltage and clock frequency.
프로세서 설계의 가장 큰 목적은 개선된 성능을 제공하면서도, 전력 소비를 줄이는 것이다. 현대의 프로세서들은 이를 위해 수행되는 응용프로그램의 요구사항에 때라 수개의 다른 성능레벨을 가지는 것도 있다. 그러한 프로세서들은 클럭 주파수와 이에 따른 동작전압의 감소로 전력소비를 상당히 줄일 수 있다. 그러나 이러한 프로세서 성능 감소는 사용자에 의해 정해진 성능에 영향을 끼치지 않거나 거 의 영향을 주지 않는 선에서 받아들여질 수 있다. 그런데 전력소비를 줄이기 위해 동작 주파수를 감소시키거나 동작 전압을 감소시키는 처리속도의 지연이나 오동작에 따른 시스템 성능 저하를 야기할 수 있으며, 더욱이 이러한 프로세서의 성능 수준을 감소로 인해 소프트웨어가 실행 한계시간을 넘겨서는 안 된다. 또한 실행 한계 시간 전에 작업 수행을 끝내고 휴지모드로 진입하는 것 보다, 실행 한계시간에 맞게 천천히 작업을 수행하는 것이 전력절감에 보다 효과적이다.The primary purpose of processor design is to reduce power consumption while providing improved performance. Modern processors may have several different levels of performance, depending on the requirements of the application being run for them. Such processors can significantly reduce power consumption by reducing the clock frequency and hence the operating voltage. However, this reduction in processor performance can be accepted without affecting or hardly affecting performance as determined by the user. However, in order to reduce the power consumption, it may cause a reduction in the operating frequency or a decrease in the operating voltage, or a decrease in the performance of the system due to a malfunction. Moreover, due to the decrease in the performance level of such a processor, You should not hand it over. Also, it is more effective to save power by performing the task slowly to the execution time limit, rather than ending the task execution time and entering the idle mode.
종래 전력절감 방법은 수행되는 작업의 부하를 일정한 시간 동안 평균을 취하여 다음 수행되는 작업의 성능레벨을 예측하거나, 이를 개선하여 작업별로 정해진 작업 시간 간격(task time interval)사이에 수행된 작업의 프로세스 사용 율을 반영해 부하를 측정하고, 이를 바탕으로 수행된 작업의 성능레벨을 설정하는 방법이 있다.Conventional power saving methods average the load of the work being performed for a certain period of time to predict the performance level of the next job to be performed, or improve it to use the process of the work performed between task time intervals defined for each job. There is a method to measure the load by reflecting the rate and to set the performance level of the work performed based on the rate.
하지만 이동통신 시스템의 프로토콜스택(protocol stack) 소프트웨어는 같은 작업이라 하더라도 과거의 작업부하가 앞으로 수행될 작업부하와 연관성이 떨어져 기존과 같이 이전에 수행된 작업에 대해 수립한 정책을 그대로 이용하는 방법을 적용할 경우에, 시스템의 정해진 성능 요구사항을 만족하지 못하게 된다.However, even if the protocol stack software of mobile communication system is the same task, the past workload is not related to the workload to be performed in the future, and thus the method that uses the policy established for the previously performed task is applied as it is. If you do, the system will not meet the performance requirements.
예를 들어 같은 작업이지만 이전에는 데이터양이 적어 부하가 작았으나, 순간적으로 큰 데이터가 들어오는 경우에 이를 예측하지 못하여 성능레벨을 낮게 설정하게 되고, 이럴 경우 요구사항을 만족하지 못하여 실행한계시간을 넘어가는 경우가 발생하게 된다. 반대의 경우에는 실제보다 큰 성능레벨을 설정하여 전력절감 효과가 없어진다.For example, the same task, but the load was small due to the small amount of data in the past, but when large data is instantaneously received, the performance level is set lower because it is not predicted, and in this case, the execution time is exceeded because the requirement is not satisfied. Will occur. In the opposite case, the power saving effect is lost by setting a higher performance level than the actual one.
따라서 상기와 같이 동작하는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명은, 이동 통신 시스템의 특성을 고려한 작업의 성능레벨을 설정함으로써 전력절감 효율 및 시스템의 안정성을 높이는 방법 및 장치를 제시하고자 한다.Accordingly, the present invention, which was devised to solve the problems of the prior art operating as described above, proposes a method and apparatus for increasing power saving efficiency and system stability by setting a performance level of a task considering the characteristics of a mobile communication system. .
구체적으로는 작업 부하에 영향을 끼치는 인자를 추출하고 이들에 따른 작업의 프로세스 사용율을 이용하여 최적으로 계획된 작업의 부하를 예측함으로써 기존의 작업의 성능레벨을 잘 못 예측함으로써 발생하는 상기의 문제점을 개선하여 전력절감 성능을 향상시키는 장치 및 방법을 제시하고자 한다.Specifically, the above problems caused by incorrectly predicting the performance level of the existing work are improved by extracting the factors affecting the work load and predicting the optimally planned work load by using the process utilization rate of the work accordingly. The present invention proposes an apparatus and method for improving power saving performance.
또한 프로토콜스택(protocol stack)의 전송단위인 전송시간간격(Transmission Time Interval, 이하 TTI로 칭한다)내 수행될 작업들을 감안하여 실행 한계 시간을 정하는 방법을 적용, 시스템의 안정성을 증가시켜 잘못된 예측으로 인한 시스템 오류의 발생을 개선하는 장치 및 방법을 제시하고자 한다.In addition, we apply the method of setting the execution time limit considering the tasks to be performed in the transmission time interval (hereinafter referred to as TTI), which is the transmission unit of the protocol stack. An apparatus and method for improving the occurrence of system errors are presented.
이동 통신 시스템에서 전력소모를 감소시키기 위한 장치 및 방법을 제공함에 있다.An apparatus and method for reducing power consumption in a mobile communication system are provided.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 의하면, 이동 통신 시스템에서 task의 workload에 영향을 끼치는 factor를 추출하고 또한 task의 처리한계시점을 전송시간간격을 고려하여 성능레벨을 설정함으로써 전력절감 효율 및 시스템의 안정성을 높이게 된다.According to the present invention operating as described above in detail, by extracting the factors affecting the workload of the task in the mobile communication system and setting the performance level in consideration of the transmission time interval of the task processing time limit, power saving efficiency and This increases the stability of the system.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐를 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, the operation principle of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unnecessary. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.
도 1은 본 발명에 따른 데이터 처리 시스템의 전력 관리 장치의 구성도이다.1 is a configuration diagram of a power management apparatus of a data processing system according to the present invention.
상기 도 1을 참조하면, 기본적인 기능을 수행하는 커널모듈(이하 ‘Kernel Module’이라 한다)(110)과 시스템 호출(이하 ‘System call’이라 한다), 스케쥴러(이하 ‘Scheduler’라 한다), 그리고 슬립/웨이크(Sleep/Wake)와 같은 전력관리 등의 기능을 수행하는 OS커널(145)로 구분할 수 있다.Referring to FIG. 1, a kernel module (hereinafter, referred to as a 'kernel module') 110 that performs basic functions, a system call (hereinafter, referred to as a 'system call'), a scheduler (hereinafter, referred to as a 'scheduler'), and The
본 발명에 따라 제안된 에이피엠(Advance Power Management 이하 ‘APM’이라 함)(115)는 커널의 내부에 구성되며 메인 콘트롤러(이하 ‘main controller’라 한다)(140), 작업부하측정기(이하 ‘workload estimator’라 한다)(130), 정책 스택 관리기(이하 ‘policy stack manager’라 한다)(120), 정책 스택(이하 ‘policy stack’라 한다)(125), 성능레벨 제어기(이하 ‘performance level controller’라 한다)(135)의 5개 블록으로 구성된다. APM(115)는 OS 커널(145)에서 태스크가 변경되는 시점에 호출(call)되며, 이전 작업부하와 작업완료 시한(이하 ‘deadline’이라 한다.) 정보, 작업 부하 인자 (Task Workload Factor, 이하 ‘TWF’라 한다) 정보, 정책(이하 ‘policy’라 한다) 정보 등을 이용하여 다음 실행할 태스크의 성능 레벨을 결정하고 이를 동적전압주파수비례기(Dynamic Voltage Frequency Scaling 이하 ‘DVFS’라 한다) 장치 제어기(150)로 전달한다.According to the present invention, the proposed APM (hereinafter referred to as 'APM') 115 is configured inside the kernel and is referred to as a main controller (hereinafter referred to as 'main controller') 140 and a workload meter (hereinafter referred to as 'workload'). estimator ') (130), policy stack manager (hereinafter referred to as' policy stack manager') 120, policy stack (hereinafter referred to as' policy stack ') 125, performance level controller (hereinafter referred to as' performance level controller') It consists of five blocks of 135). The
Main controller(140)는 OS 커널(145)에서 task 시작 시 수행되는 후킹 기능(이하 ‘hooking function'이라 한다)에 의해 호출된다. Main controller(140)는 IEM SW 전체 흐름을 관장하는 블록으로써 필요에 따라 workload estimator(130)와 performance level controller(135)를 호출한다. 또한 수행된 태스크(이하 ‘task’라 한다)의 상태 정보 및 task 식별자 등을 OS커널(145)로부터 전달받고 task 동작 시간을 계산하는 등 task 정보를 수집하여 각 블록으로 전달한다. The
Workload estimator(130)는 task가 수행되고 난 뒤 해당 기간 동안의 작업부하를 계산하는 블록이다. 현재의 작업부하 값과 이전 값을 이용하여 다음에 수행할 작업부하 평균 값을 계산하고 아이들의 평균값을 계산하며, 그 값들을 policy stack(125)의 task별 TWF 위치에 저장한다.
Performance level controller(135)는 protocol stack manager(120)로부터 수신한 TWF를 이용하여 task의 평균 작업부하 값 및 deadline 정보를 policy stack(125)으로부터 가져온다. 수행할 task에 대한 작업부하 및 deadline을 이용하여 최종 성능 레벨을 계산하여 DVFS controller(150)에 전달한다. The
Policy stack manager(120)는 policy stack(125)에 저장된 task관련 정보들의 입출력을 관리한다. policy stack(125)은 각 task의 TWF에 따라 이전에 수행된 작업부하의 평균값 및 deadline 값을 저장한다.The
이하에서 이동통신 시스템에서 데이터를 수신하는 경우에 대하여 본 발명의 장치 및 방법을 적요한 예에 대하여 설명한다.Hereinafter, an example of the apparatus and method according to the present invention will be described with respect to a case of receiving data in a mobile communication system.
이동통신 시스템은 데이터의 처리를 위해 계층적(Layer) 구조로 되어 있어 각 계층에서의 처리에 따라 다음 계층에 데이터를 전달하게 된다.The mobile communication system has a hierarchical (Layer) structure for data processing, and delivers data to the next layer according to the processing in each layer.
각 layer를 task라 가정할 때, Assuming each layer is a task,
먼저 1. 각 Task의 workload를 TWF별로 측정하여 저장한다. 이때 TWF는 task의 workload에 주요한 영향을 끼치는 요소들로, 미디어 접근제어(Media Access Control, 이하 ‘MAC’) 계층의 처리해야 할 MAC 서비스 데이터 유닛(Service Data Unit, 이하 ‘SDU’라 한다)개수와 크기, 무선 접속 제어(Radio Link Control, 이하 ‘RLC’라 한다) SDU의 개수와 크기, 패킷데이터 수렴 프로토콜(Packet Data Convergence Protocol, 이하 ‘PDCP’라 한다) SDU의 개수 등을 예로 들 수 있다.First 1. Measure and save the workload of each task by TWF. At this time, TWF is a factor that has a major influence on the workload of the task, and the number of MAC Service Data Units (SDUs) to be processed in the Media Access Control (MAC) layer. And the number and size of radio link control (RLC) SDUs and the number of packet data convergence protocol (PDCP) SDUs. .
2. System call 또는 task 발생 이벤트를 통해 수행될 task수와 TWF들을 추출한다.2. Extract TWF and number of tasks to be executed through system call or task occurrence event.
3. 추출된 TWF들에 대응하여 저장된 workload를 읽어온다.3. Read the stored workload corresponding to the extracted TWFs.
4. 수행될 task의 성능레벨을 결정하기 위한 idle time은 하기 <수학식 1>과 같이 계산된다.4. The idle time for determining the performance level of the task to be performed is calculated as shown in
여기서, I는 idle time, telapse는 수행될 task가 실행되기 전까지 해당 TTI내에서 소비된 시간(0~1ms), tptask 는 수행이 예상되는 task들과 그 TWF에 대응하는 부하(workload)로 CPU Full speed로 수행 시 예상되는 시간들의 합을 나타낸다.Where I is the idle time, t elapse is the time spent in the TTI before the task to be executed (0 to 1 ms), and tp task is the tasks that are expected to run and the workload corresponding to that TWF. Shows the sum of the expected times when running at CPU full speed.
또한, taptask는 비주기적으로 수행되는 task가 trigger되었을 경우 해당 task를 CPU Full speed로 수행 시 예상되는 시간. 비주기적인 task가 trigger되지 않았을 경우에는 '0'으로 설정함. tISR는 TTI내에 주기적으로 발생하는 ISR 수행시간의 합.In addition, the tap task is the expected time when the task is executed at CPU full speed when a task that is executed aperiodically is triggered. Set to '0' if non-periodic task is not triggered. t ISR is the sum of the ISR execution times occurring periodically in the TTI.
5. 상기 <수학식 1>에 따라 계산된 idle time에 따라 수행될 task의 성능레 벨을 하기 <수학식 2>를 이용하여 계산할 수 있다.5. The performance level of the task to be performed according to the idle time calculated according to
여기서, P는 performance level, W는 수행될 task의 workload (full speed equivalent work), D는 수행될 task의 deadline, I는 상기에서 <수학식 1>에 따라 계산된 idle time을 나타낸다.Where P is the performance level, W is the workload (full speed equivalent work) of the task to be performed, D is the deadline of the task to be performed, and I is the idle time calculated according to
6. 또한 Task가 preemption될 경우 task의 재수행시 성능레벨은 하기 <수학식 3> 내지 하기 <수학식 4>를 이용하여 계산할 수 있다.6. In addition, when the task is preemption, the performance level when the task is re-executed can be calculated using the following Equations 3 to 4.
여기서, W'는 재수행될 task의 부하(workload), W''는 이미 수행된 부하( workload)를 나타낸다.Here, W 'denotes a workload of a task to be re-executed, and W' 'denotes a workload already performed.
여기서, I'는 재수행시 idle time, t'elapse: TTI내에 소비된 시간, tp'task는 수행될 task들의 예측시간, tap'task는 비주기적인 task의 예측 수행시간, tISRa'는 ISR의 수행 시간을 고려하여 재설정되는 시간을 나타낸다.Where I 'is the idle time upon rerun , t' elapse : the time spent in the TTI, tp ' task is the estimated time of the tasks to be performed, tap' task is the predicted execution time of the aperiodic task, and t ISRa 'is the ISR of the ISR. Represents the time to be reset in consideration of the execution time.
6. 만일 task가 TTI 경계점을 초과하는 경우 panic workload를 설정하여 다음 TTI에서 성능레벨 설정 시 하기 <수학식 5>를 반영한다.6. If the task exceeds the TTI boundary point, set the panic workload to reflect the following Equation 5 when setting the performance level in the next TTI.
여기서, 는 다음 TTI에서의 수정 workload, W는 수행될 task의 workload (full speed equivalent work), W_p는 panic workload, deadline시까지 수행완료 되지 못한 task의 workload, 안정성을 위하여 수행되지 못하고 남은 workload 보다 많은 값이나, 고정값을 적용할 수 있다.here, Is the modified workload at the next TTI, W is the workload (full speed equivalent work) of the task to be performed, W_p is the panic workload, the workload of the task that has not been completed until deadline, or more than the remaining workload that has not been performed for stability. A fixed value can be applied.
I = TTI - telapse - tptask - taptask - tISR (수학식1)I = TTI-telapse-tptask-taptask-tISR (Equation 1)
7. 다른 실시예로 상기 Idle time 계산식을 사용할 경우 성능레벨이 TTI의 후반부에 높게 설정되는 경향을 개선하기 위하여 하기 <수학식 6>을 이용하여 계산할 수 있다.7. In another embodiment, when the idle time calculation equation is used, the following equation (6) may be calculated to improve the tendency of the performance level to be set higher in the second half of the TTI.
여기서, a는 0~1사이의 임의의 값(실험결과나 적용되는 application에 따라 최적의 값을 선택)을 나타낸다.Here, a represents an arbitrary value between 0 and 1 (the optimal value is selected depending on the experimental results or the application to be applied).
8. 또한 시스템의 안정성을 고려하여, deadline이 일정하지 않은 비주기적인 task의 트리거링(triggering)을 OS 레벨에서 후킹(hooking)하여 성능레벨을 최대로 설정하며, 비주기적인 task의 수행이 끝날 때까지 유지하는 방법을 적용할 수 있다.8. Also, considering the stability of the system, hook the triggering of non-periodic tasks whose deadline is not constant at the OS level to set the performance level to the maximum, and when the execution of the non-periodic task is finished. How to keep up to you can apply.
도 2는 본 발명에 따른 데이터 처리 시스템에서의 태스크(Task)의 부하 및 아이들(Idle) 시간을 이용한 성능 레벨을 설정하는 방법에 관한 일 실시 예를 나타내는 도면이다.FIG. 2 is a diagram illustrating an embodiment of a method of setting a performance level using a load and an idle time of a task in a data processing system according to the present invention.
상기 도 2를 참조하면, 먼저 task와 연관된 system call_1이 발생하면 system call처리 시 연관된 task에 따른 TWF를 추출한다. 도(2)에 적용되는 예에서는 system call_1이 task A 와 B 모두와 연관된 것으로 가정하며, 연관된 TWF를 각각 TWF_A, TWF_B로 한다.Referring to FIG. 2, first, when system call_1 associated with a task occurs, a TWF according to the associated task is extracted during system call processing. In the example applied to FIG. 2, it is assumed that system call_1 is associated with both task A and B, and the associated TWF is referred to as TWF_A and TWF_B, respectively.
Task A의 Workload는 system call_1 처리시 추출된 TWF_A, TWF_B를 이용하여 policy stack에 저장된 TWF_A, TWF_B에 따른 workload를 설정한다. 그리고 이들을 합을 성능레벨의 설정에 이용될 workload(W)로 한다. 만약 이전에 TWF_A에 대한 workload의 history가 없다면, performance level이 최대로 설정하도록 한다. Task A가 수행된 후에는 TWF_A에 따른 수행된 workload를 policy stack저장하여 이후 TWF_A에 따른 task A workload 예측에 이용하도록 한다.Workload of Task A sets the workload according to TWF_A and TWF_B stored in the policy stack using TWF_A and TWF_B extracted during system call_1 processing. The sum is the workload (W) to be used for setting the performance level. If there is no history of the workload for TWF_A before, set the performance level to maximum. After Task A is executed, save the policy stack stored in TWF_A and use it for future task A workload estimation according to TWF_A.
Task A와 B의 Idle time(I)은 앞서 설명한 바와 같이 <수학식 1>에 의해 계 산된다. 즉 TTI의 전체 시간에서 Task A가 수행되기 전 지나간 시간인 telapse, 상기의 System call에서 수행될 것으로 예측된 task들의 수행 시간인 tptask, TTI내에 수행될 것이 예상되는 interrupt에 대한 수행 시간인 tap'task을 제외한 나머지 시간을 말한다. 이렇게 계산된 W, I를 이용하여 <수학식 2>을 이용하여 performance level을 설정하게 된다.Idle time (I) of Tasks A and B is calculated by
도 3은 작업이 프리엠션(Preemption)될 경우 태스크의 성능레벨을 설정하는 방법에 관한 일 실시 예시도이다.3 is an exemplary diagram illustrating a method of setting a performance level of a task when a job is preemulated.
상기 도 3을 참조하면, system call_2가 task C와 연관된 것으로 가정하며, 연관된 TWF를 각각 TWF_C라 한다. 또한 task B에 비해 task C의 우선순위가 높아 task preemption이 발생하게 된다고 가정한다. 이러한 경우에는 Task C의 Workload는 system call_2 처리 시 추출된 TWF_C를 이용하여 policy stack에 저장된 TWF_C에 따른 workload로 설정한다. 그리고 task B가 수행되고 남은 workload와 task C의 workload합을 성능레벨의 설정에 이용될 workload(W)로 한다. 마찬가지로 만약 이전에 TWF_C에 대한 workload의 history가 없다면, performance level이 최대로 설정하도록 한다.Referring to FIG. 3, it is assumed that system call_2 is associated with task C, and the associated TWFs are referred to as TWF_C, respectively. It is also assumed that task C has a higher priority than task B, causing task preemption. In this case, Workload of Task C uses TWF_C extracted during system call_2 processing to set the workload according to TWF_C stored in the policy stack. Task B is executed, and the remaining workload and task C's workload sum are the workloads (W) to be used for setting the performance level. Likewise, if there is no history of the workload for TWF_C before, set the performance level to maximum.
이 후의 과정은 즉, idle time의 계산하고 이를 이용하여 성능레벨을 설정하는 과정은 상기 도 2의 설명에서 과정과 동일하다.The subsequent process, that is, the process of calculating the idle time and setting the performance level using the same is the same as the process in the description of FIG.
도 4는 작업이 프리엠션(Preemption)될 경우 태스크의 성능레벨을 설정하는 방법에 관한 다른 일 실시 예시도이다.4 is another exemplary embodiment of a method for setting a performance level of a task when a job is preemulated.
상기 도 4를 참조하면, system call_2가 task C와 연관된 것으로 가정하며, 연관된 TWF를 각각 TWF_C라 한다. 또한 task B에 비해 task C의 우선순위가 높아 task preemption이 발생하게 된다고 가정할 때, Task C가 preemption되어 수행된 이후 task B가 재 수행되는 경우에는 Task B의 예측된 workload중 수행되고 남은 workload를 성능레벨 설정에 이용하는 workload(W)로 한다. 이를 이용하여 성능레벨을 설정하는 과정은 상기 도 2의 설명에서 과정과 동일하다.Referring to FIG. 4, it is assumed that system call_2 is associated with task C, and the associated TWF is called TWF_C, respectively. In addition, assuming task C has a higher priority than task B, and task preemption occurs, if task B is re-executed after task C has been preemptiond and executed, the remaining workload will be executed. The workload (W) used to set the performance level. The process of setting the performance level using this is the same as the process in the description of FIG.
도 5는 정해진 시스템 호출(Call)의 경우에 대해서 태스크가 프리엠션되지 않더라도 성능레벨을 재설정하는 다른 일 실시 예시도이다.FIG. 5 is another exemplary diagram of resetting a performance level even if a task is not pre-empted in a case of a predetermined system call.
상기 도 5를 참조하면, system call_3가 task D와 연관된 것으로 가정하며, 연관된 TWF를 각각 TWF_D라 한다. 여기서는 task B에 비해 task D의 우선순위가 낮아 task preemption이 발생하지 않게 된다. 이 경우에 task preemption이 발생하지 않아 task C에 대한 workload 예측이 반영되지 못하게 될 수 있으므로, 특정한 system call에 대해서는 task scheduling이 없는 경우에도 성능레벨을 재설정할 수 있도록 하는 것이다.Referring to FIG. 5, it is assumed that system call_3 is associated with task D, and the associated TWFs are referred to as TWF_D, respectively. In this case, task D has a lower priority than task B so that task preemption does not occur. In this case, since the task preemption does not occur and the workload prediction for task C may not be reflected, the performance level can be reset even if there is no task scheduling for a specific system call.
즉 system call_3가 발생하면 연관된 task D와 수행되고 있는 task B의 우선순위를 검사하여, task preemption이 일어나지 않는 경우라면 성능레벨을 재설정할 수 있도록 한다.That is, when system call_3 occurs, the priority of the task D and the task B being executed is checked, and if the task preemption does not occur, the performance level can be reset.
이때 예측된 task D와 Task B의 예측된 workload중 수행되고 남은 workload의 합을 성능레벨 설정에 이용하는 workload(W)로 함에 있어 <수학식 3>을 적용한다.In this case, Equation 3 is applied to set the sum of the remaining workloads performed in the predicted task D and the predicted workload of Task B as the workload (W) used to set the performance level.
동일하게 이후의 과정은 상기 도 2의 설명에서 과정과 동일하다.Likewise, subsequent processes are the same as those in the above description of FIG. 2.
도 6은 테스크 수행시간이 의사_전송시간간격경계(Pseudo_TTI, TTI : Transmission Time Interval Boundary)을 넘어가는 경우 패닉 작업부하(panic workload)를 설정하여 다음 TTI에서 성능레벨 설정 시 반영하는 다른 일 실시 예.FIG. 6 illustrates another example of setting a panic workload when a task execution time exceeds a Pseudo_TTI (Transmission Time Interval Boundary) to reflect when setting a performance level in the next TTI. .
상기 도 6을 참조하면, Task D는 이전 TTI에서 시작되어 TTI boundary를 초과하게 되었고, 새로운 TTI의 boundary에서 system call_1이 발생한 경우이다.Referring to FIG. 6, Task D starts at the previous TTI and exceeds the TTI boundary, and system call_1 occurs at the boundary of the new TTI.
system call_1은 task A 와 B 모두와 연관된 것으로 가정하며, 연관된 TWF를 각각 TWF_A, TWF_B로 한다. 그리고 task A, B보다 모두 task D가 우선 순위가 높은 경우이다. 이 때 예측된 task A, B와 Task D의 예측된 workload중 수행되고 남은 workload의 합을 성능레벨 설정에 이용하는 workload(W)로 하는데 이 경우 workload의 계산은 <수학식 5>을 이용한다. It is assumed that system call_1 is associated with both task A and B. The associated TWF is assumed to be TWF_A and TWF_B, respectively. Task D has a higher priority than task A or task B. In this case, the sum of the remaining workloads performed among the predicted workloads of Tasks A, B, and Task D is used as the workload (W) used to set the performance level. In this case, the calculation of the workload is performed using Equation (5).
이 후의 과정은 도 2의 설명에서 과정과 동일하다.The subsequent process is the same as the process in the description of FIG.
또한 시스템의 안정성을 위하여 TTI boundary를 초과하는 task가 생길 경우 해당 task가 완료 될 때까지 성능레벨을 최대로 설정하는 방법도 적용가능하다. 예를들어 task A, B가 모두 task D보다 우선 순위가 높은 경우는 상기 도 4의 설명과 같이 처리될 수 있다.Also, if the task exceeds the TTI boundary for the stability of the system, it is also applicable to set the performance level to the maximum until the task is completed. For example, when tasks A and B both have a higher priority than task D, they may be processed as described in FIG. 4.
도 1은 본 발명에 따른 데이터 처리 시스템의 전력 관리 장치의 구성도,1 is a configuration diagram of a power management apparatus of a data processing system according to the present invention;
도 2는 본 발명에 따른 데이터 처리 시스템에서의 태스크(Task)의 부하 및 아이들(Idle) 시간을 이용한 성능 레벨을 설정하는 방법에 관한 일 실시 예를 나타내는 도면,2 is a view showing an embodiment of a method for setting a performance level using a load and an idle time of a task in a data processing system according to the present invention;
도 3은 작업이 프리엠션(Preemption)될 경우 태스크의 성능레벨을 설정하는 방법에 관한 일 실시 예,3 is a diagram for describing a method of setting a performance level of a task when a job is preemulated;
도 4는 작업이 프리엠션(Preemption)될 경우 태스크의 성능레벨을 설정하는 방법에 관한 다른 일 실시 예,4 is another embodiment of a method of setting a performance level of a task when a job is preemulated;
도 5는 정해진 시스템 호출(Call)의 경우에 대해서 태스크가 프리엠션되지 않더라도 성능레벨을 재설정하는 다른 일 실시 예 및,FIG. 5 illustrates another embodiment of resetting a performance level even if a task is not pre-empted for a case of a predetermined system call;
도 6은 테스크 수행시간이 의사_전송시간간격경계(Pseudo_TTI, TTI : Transmission Time Interval Boundary)을 넘어가는 경우 패닉 작업부하(panic workload)를 설정하여 다음 TTI에서 성능레벨 설정 시 반영하는 다른 일 실시 예.FIG. 6 illustrates another example of setting a panic workload when a task execution time exceeds a Pseudo_TTI (Transmission Time Interval Boundary) to reflect when setting a performance level in the next TTI. .
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070131297A KR101384311B1 (en) | 2007-12-14 | 2007-12-14 | Apparatus and method for reducing power consumption in wireless communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070131297A KR101384311B1 (en) | 2007-12-14 | 2007-12-14 | Apparatus and method for reducing power consumption in wireless communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090064488A KR20090064488A (en) | 2009-06-19 |
KR101384311B1 true KR101384311B1 (en) | 2014-04-10 |
Family
ID=40993104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070131297A KR101384311B1 (en) | 2007-12-14 | 2007-12-14 | Apparatus and method for reducing power consumption in wireless communication system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101384311B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005521336A (en) | 2002-03-25 | 2005-07-14 | ノキア コーポレイション | Method, device and process for distributing tasks over time in mobile terminals |
KR20060001509A (en) * | 2004-06-30 | 2006-01-06 | 재단법인서울대학교산학협력재단 | Dynamic voltage scaling system and method for real-time multi-task scheduling using buffers |
KR100753469B1 (en) | 2006-02-28 | 2007-08-31 | 연세대학교 산학협력단 | Power management method based on chemical characteristics of portable battery |
-
2007
- 2007-12-14 KR KR1020070131297A patent/KR101384311B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005521336A (en) | 2002-03-25 | 2005-07-14 | ノキア コーポレイション | Method, device and process for distributing tasks over time in mobile terminals |
KR20060001509A (en) * | 2004-06-30 | 2006-01-06 | 재단법인서울대학교산학협력재단 | Dynamic voltage scaling system and method for real-time multi-task scheduling using buffers |
KR100753469B1 (en) | 2006-02-28 | 2007-08-31 | 연세대학교 산학협력단 | Power management method based on chemical characteristics of portable battery |
Also Published As
Publication number | Publication date |
---|---|
KR20090064488A (en) | 2009-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2227727B1 (en) | Data processor performance prediction | |
US8775838B2 (en) | Limiting the number of unexpected wakeups in a computer system implementing a power-saving preemptive wakeup method from historical data | |
JP3507822B2 (en) | Computer device and power saving control method thereof | |
EP2073097B1 (en) | Transitioning a processor package to a low power state | |
US7197654B2 (en) | Method and apparatus for managing low power processor states | |
Audsley et al. | Real-time system scheduling | |
US8112644B2 (en) | Dynamic voltage scaling scheduling mechanism for sporadic, hard real-time tasks with resource sharing | |
JPWO2005106623A1 (en) | CPU clock control device, CPU clock control method, CPU clock control program, recording medium, and transmission medium | |
US20120192200A1 (en) | Load Balancing in Heterogeneous Computing Environments | |
US20020007387A1 (en) | Dynamically variable idle time thread scheduling | |
JP2009025939A (en) | Task control method and semiconductor integrated circuit | |
WO2014186294A1 (en) | Method and system for power management | |
WO2012128817A2 (en) | Obtaining power profile information with low overhead | |
Kim et al. | An event-driven power management scheme for mobile consumer electronics | |
Mochocki et al. | Transition-overhead-aware voltage scheduling for fixed-priority real-time systems | |
KR101384311B1 (en) | Apparatus and method for reducing power consumption in wireless communication system | |
Guan et al. | A Design That Incorporates Adaptive Reservation into Mixed‐Criticality Systems | |
Wu et al. | Utility accrual real-time scheduling under the unimodal arbitrary arrival model with energy bounds | |
US8607232B2 (en) | Identifying a transient thread and excluding the transient thread from a processor load calculation | |
US9223641B2 (en) | Multicore processor system, communication control method, and communication computer product | |
CN115454592A (en) | Task scheduling method and device | |
Chen et al. | Adaptive dynamic power management for hard real-time pipelined multiprocessor systems | |
Altmeyer et al. | Pre-emption cost aware response time analysis for fixed priority pre-emptive systems | |
JP4798445B2 (en) | Power saving control method, image forming apparatus, and program | |
JP2010224853A (en) | Vector computer and scheduling method for microprocessor in vector computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170330 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180329 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |