KR102181065B1 - A Power Controlling Apparatus for Efficient Computer Power Management Based on Discrete Event System Specification - Google Patents
A Power Controlling Apparatus for Efficient Computer Power Management Based on Discrete Event System Specification Download PDFInfo
- Publication number
- KR102181065B1 KR102181065B1 KR1020200033637A KR20200033637A KR102181065B1 KR 102181065 B1 KR102181065 B1 KR 102181065B1 KR 1020200033637 A KR1020200033637 A KR 1020200033637A KR 20200033637 A KR20200033637 A KR 20200033637A KR 102181065 B1 KR102181065 B1 KR 102181065B1
- Authority
- KR
- South Korea
- Prior art keywords
- model
- power
- policy
- discrete event
- discrete
- 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
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- 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/16—Constructional details or arrangements
- G06F1/18—Packaging or power distribution
- G06F1/189—Power distribution
-
- 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
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
Abstract
Description
본 발명은 컴퓨터의 효율적인 전원 관리를 위한 이산사건시스템명세 (Discrete Event System Specification; DEVS) 형식론 기반 전력제어 장치에 관한 것으로서, 더 상세하게는 CPU(Central Processing Unit), 하드디스크, 마우스, 키보드 등에서 발생하는 1)시계열적 이벤트를 입력 받아 순수 전원 관리 정책에 관련 된 것과 CPU 수행에 관련 된 것으로 나누어, 2)이산사건시스템 형식론으로 모델링 된 전력모델과 프로세스 모델로 각 입력한 후, 3)전력모델과 프로세스모델의 요구사항을 최대한 반영할 수 있도록 최적화된 제어명령을 운영체제에게 전달하는 것을 기본으로 하고, 4)긴급성을 요하는 프로세스모델의 요구사항은 전력모델과 상관없이 바로 운영체제에게 전달하는 전력제어 장치에 관한 것이다. The present invention relates to a discrete event system specification (DEVS) formalism-based power control device for efficient power management of a computer, and more specifically, occurs in a CPU (Central Processing Unit), a hard disk, a mouse, a keyboard, etc. 1) Time-series events are received and divided into those related to pure power management policy and CPU performance. 2) After inputting each into a power model and a process model modeled in the form of a discrete event system, 3) the power model and It is based on the delivery of optimized control commands to the operating system to reflect the requirements of the process model as much as possible, and 4) the requirements of the process model requiring urgency are power control that is delivered directly to the operating system regardless of the power model. It relates to the device.
4차산업혁명 시대가 도래하면서 인공지능, 빅테이터, 블록체인 기술에 대한 수요가 늘고 있는데, 위 기술들의 공통점은 빠른 계산속도와 많은 계산량을 필요로 한다는 점이다. 이를 뒷받침하기 위해 고사양의 CPU와 GPU가 등장하게 되었고 개인이 운용하는 컴퓨터의 전기세만 월 수백만원에서 수천만원까지 이르는 시대가 도래하였다. With the advent of the 4th industrial revolution era, the demand for artificial intelligence, big data, and blockchain technology is increasing, and the commonality of the above technologies is that they require fast calculation speed and large amount of calculation. To support this, high-end CPUs and GPUs appeared, and the era of electricity bills for personal computers ranging from millions of won to tens of millions of won per month has arrived.
이로 인하여 컴퓨터의 전력을 효과적으로 관리하는 필요성이 어느 때보다 대두되고 있으며 하드웨어의 전력 효율성을 높이거나 사용자의 입력이 없음을 감지하여 절전모드에 진입하는 것뿐만 아니라, 소프트웨어적으로 소비전력을 제어할 수 있는 방법을 모색하고 있다. 예를 들어, 컴퓨터를 이루는 장치의 수를 줄이고 외부환경에 따라 일시적으로 전력을 차단하거나(10-1833992, 10-1890672) 별도의 하드웨어를 활용하여 대기전력을 절감하는(10-1759345, 10-2017-0054616) 전통적인 방식을 넘어서서 소프트웨어로 CPU의 사용량을 모니터링하고 추가작업이 없을 경우에는 절전모드로 진입시키는 방법 등이 제시되고 있다(10-1927872).For this reason, the need to effectively manage the power of the computer is emerging more than ever, and it is possible to increase the power efficiency of the hardware or enter the power saving mode by detecting the absence of user input, as well as to control the power consumption by software. I am looking for a way to be there. For example, reducing the number of devices constituting a computer, temporarily shutting off power according to the external environment (10-1833992, 10-1890672), or reducing standby power by using separate hardware (10-1759345, 10-2017) -0054616) Beyond the traditional method, a method of monitoring CPU usage with software and entering the power saving mode when there is no additional work have been proposed (10-1927872).
종래의 컴퓨터 전력 관리 방법은 컴퓨터 장치에서 소비되는 전력량을 줄이기 위하여 특정 상황(예: CPU 또는 메모리 사용량, 키보드·마우스 입력)을 감지하여 적절한 대응을 하게 하는 것이다. 그러나 현재의 컴퓨팅 환경을 살펴보면 컴퓨터에 설치되어 운용되는 소프트웨어 종류와 특성이 다변화되고 있고 장치 상호 간에도 유기적인 의존관계를 띄게 되므로, 단순히 CPU, 메모리 등 자원의 사용량에 따라 전력을 관리하는 전통적인 방식에 대한 한계가 드러나고 있다.The conventional computer power management method detects a specific situation (eg, CPU or memory usage, keyboard/mouse input) to reduce the amount of power consumed by the computer device and makes an appropriate response. However, looking at the current computing environment, the types and characteristics of software installed and operated on computers are diversifying, and devices have an organic dependence. Therefore, it is difficult to understand the traditional method of managing power according to the usage of resources such as CPU and memory. Limits are being revealed.
예를 들어, 요즘 출시되는 CPU나 GPU는 멀티코어에 기반한 다중 스레드(multi-thread) 작업을 할 수 있으므로 컴퓨팅 자원을 사용하는 상황에 따라 빠른 처리 속도가 필요없는 백그라운드용 프로세스들은 하나의 코어에 몰아서 수행시키는 것이 전체 소비전력을 낮출 수 있는 방법이 될 수 있는데, CPU나 메모리의 사용량만 감지하여 처리하는 기존의 방식으로는 이와 같은 유동적이고 고차원적인 제어를 할 수 없다.For example, CPUs and GPUs on the market today can perform multi-threaded tasks based on multi-cores, so background processes that do not require fast processing speed depending on the situation of using computing resources are driven into one core. Performing this can be a way to lower the total power consumption, but the conventional method of detecting and processing only the CPU or memory usage cannot provide such a flexible and high-level control.
본 발명의 과제는 복합다단한 최신 컴퓨팅 환경에서도 효율적인 전력관리를 수행할 수 있도록 프로그래밍 가능한 전력제어 장치를 제공하는 것이다. An object of the present invention is to provide a programmable power control device to perform efficient power management even in a complex multi-stage computing environment.
컴퓨터는 하나의 시스템이고 시스템 작동은 현재의 상태(state)와 상태 간의 천이(transition)로 기술될 수 있다. 컴퓨터가 작동하는 과정에서 각종 장치로부터 발생하는 이벤트(event)에 의한 외부 천이와 더불어 이벤트가 없을 경우라도 현재 상태의 조건(condition)에 따른 내부 천이가 동시다발적으로 일어나게 된다. 또한 시스템의 상태 천이는 CPU 수행을 필요로 하는 프로세스 관련 천이와 그렇지 않은 천이로 구별할 수도 있다.The computer is a system and the operation of the system can be described as the current state and the transition between states. In addition to external transitions due to events occurring from various devices while the computer is operating, even when there is no event, internal transitions according to the conditions of the current state occur simultaneously. In addition, the state transition of the system can be divided into a transition related to a process that requires CPU execution and a transition that does not.
이처럼 복합적이고 동시다발적으로 상태변이를 일으키는 시스템의 전력을 효율적으로 제어하기 위해서는,In order to efficiently control the power of a system that causes state transitions in such a complex and simultaneous manner,
첫째, 시스템의 현재 상태를 정확하게 표현할 수 있고, First, it can accurately express the current state of the system,
둘째, 시스템을 이루는 장치로부터 발생되는 각종 이벤트를 놓치지 않고 대응할 수 있으며, Second, it is possible to respond without missing out on various events generated from the devices constituting the system,
셋째, 다양한 시나리오의 전력절감 정책을 반영하면서도 CPU에서 작업을 수행하고 있는 프로세스의 상황에 따라 최적화된 방식으로 시스템의 상태를 변화시키고, Third, while reflecting the power-saving policies of various scenarios, the state of the system is changed in an optimized manner according to the situation of the process performing work in the CPU.
넷째, 운영체제를 통해 각 장치를 제어하기에 앞서 미리 그 결과를 분석하고 성능을 예측해 볼 수 있는 소프트웨어적인 도구가 필요하다. Fourth, before controlling each device through the operating system, a software tool is needed that can analyze the results and predict the performance in advance.
이를 위해 본 발명은 이산사건시스템명세(Discrete Event System Specification; DEVS) 형식론에 기반한 프로그래밍 가능한 전력제어 장치를 제공한다. 이산사건시스템이란 시스템 내부조건 혹은 외부요인으로 인하여 불규칙적인 시간 간격으로 일어나는 이산사건 발생 시점에서만 상태를 천이하게 되는 시스템을 말하고 이를 명세하는 방법을 이산사건시스템명세라 한다. 이산사건시스템의 정의에 따르면 컴퓨터는 이산사건시스템에 해당하며 컴퓨터에서 실행되는 프로세스들은 이산사건시스템 내에서 동작하는 또 다른 이산사건시스템이다. 이산사건시스템의 상태(state)와 상태 간의 천이(transition) 규칙은 이산수학에 기초를 둔 집합론을 이용하면 표현이 용이한데, 이산사건시스템의 상태 방정식을 집합론으로 기술하는 수학적 틀이 이산사건시스템 형식론이다. To this end, the present invention provides a programmable power control device based on the Discrete Event System Specification (DEVS) formalism. Discrete event system refers to a system that changes state only at the time of occurrence of discrete events occurring at irregular time intervals due to internal conditions or external factors of the system, and the method of specifying this is called a discrete event system specification. According to the definition of a discrete event system, a computer corresponds to a discrete event system, and the processes running on the computer are another discrete event system running within the discrete event system. The state and transition rules of a discrete event system can be easily expressed by using a set theory based on discrete mathematics, but the mathematical framework for describing the state equation of a discrete event system as a set theory is a discrete event system formal theory. to be.
본 발명은 소프트웨어 발명으로서 컴퓨터를 이루는 CPU, 하드디스크, 마우스, 키보드 등의 장치에 발생한 이벤트를 입력받아 전원 관리 정책에 필요한 정책관련 이벤트목록과 실행되는 프로세스의 CPU 수행관련 이벤트목록을 각 생성하는 ‘이산사건시뮬레이션 엔진’, 위 이벤트목록을 바탕으로 이산사건시스템 형식론에 따라 프로그래밍 된 정책모델과 프로세스모델을 중심으로 최적화된 전력제어 사항을 도출하고 이를 운영체제에게 전달하는 ‘이산사건시뮬레이션 모델’로 구성된다.The present invention is a software invention that receives events occurring in devices such as CPU, hard disk, mouse, keyboard, etc. that make up a computer, and generates a policy-related event list required for a power management policy and a CPU execution-related event list of the executed process. It consists of'Discrete Event Simulation Engine' and'Discrete Event Simulation Model' that derives optimized power control items based on the policy model and process model programmed according to the discrete event system formalism based on the above event list and delivers it to the operating system. .
하드웨어와의 결합 관점에서 살펴보면, 본 발명은 컴퓨터의 CPU와 메모리(RAM) 내부에서 실현되는데 구체적으로, 이산사건시뮬레이션 엔진은 발생 가능한 이벤트의 종류가 정리된 테이블을 실시간 참조하므로 코드(code)영역 메모리 또는 CPU의 레지스터(register) 내에서 동작하고, 이벤트목록은 런타임(run-time)에 유동적으로 생성되므로 합(heap)영역 메모리를 사용하며, 이산사건시뮬레이션 모델은 함수(function) 형태로 프로그래밍 되기 때문에 호출된 함수와 그 매개변수를 푸시(push), 팝(pop)할 수 있는 스택(stack)영역 메모리에서 실행된다. From the viewpoint of combination with hardware, the present invention is realized within the CPU and memory (RAM) of a computer. Specifically, the discrete event simulation engine refers to a table in which the types of events that can occur in real time, so that the code area memory Or, because it operates within a register of the CPU, and the event list is dynamically created at run-time, it uses the heap area memory, and the discrete event simulation model is programmed in the form of a function. Executed in stack memory that can push or pop the called function and its parameters.
위와 같이 이산사건시스템 형식론을 도입함으로써 복합적인 컴퓨팅 환경을 정교하게 기술할 수 있는 도구가 마련되었을 뿐만 아니라 이산상태 방정식은 소프트웨어로 프로그래밍되고 컴퓨팅 환경의 상황과 전원관리 정책에 따라 교체될 수 있으므로 전력제어에 관한 다양한 시나리오를 검증·분석하고 그 성능을 예측할 수 있다.By introducing the discrete event system formalism as above, not only did a tool to describe complex computing environments elaborately, but also the discrete state equations are programmed with software and can be replaced according to the circumstances of the computing environment and power management policies. You can verify and analyze various scenarios for and predict its performance.
본 발명인 이산사건시스템 형식론 기반 전력제어 장치를 이용하면, 다양한 전력정책 시나리오를 기본으로 CPU 프로세스 상황이 고려된 최적의 전력제어 결과를 도출해 냄으로써 복합다단한 컴퓨팅 환경에서도 효율적인 전력관리가 이루어져 녹색에너지(Green Energy) 생태계에 기여할 수 있다.When the power control device based on the discrete event system formalism of the present inventor is used, the optimal power control result in consideration of the CPU process situation is derived based on various power policy scenarios, resulting in efficient power management even in a complex multi-stage computing environment. Energy) can contribute to the ecosystem.
도1은 이산사건시스템 형식론의 원자모델 이다.
도2는 이산사건시스템 형식론의 결합모델 이다.
도3은 절전 정책을 이산사건시스템 형식론으로 표현한 예이다.
도4은 스풀링 프로세스를 이산사건시스템 형식론으로 표현한 예이다.
도5는 진행 중인 다운로드 프로세스를 유지하기 위해 모니터만 절전하게 하는 최적화를 이산사건시스템 형식론으로 표현한 예이다.
도6는 본 발명의 구성도 이다.
도7는 이산사건시스템 엔진이 저장하고 있는 이벤트 테이블 이다.
도8는 이산사건시스템 엔진이 이산사건시스템 모델로 전송하는 이벤트 목록 이다.
도9는 본 발명이 사용하는 컴퓨터의 메모리 영역을 나타낸 개념도 이다.1 is an atomic model of the formal theory of a discrete event system.
2 is a combined model of a discrete event system formal theory.
3 is an example of a power saving policy expressed in the form of a discrete case system.
4 is an example in which the spooling process is expressed in the form of a discrete case system.
5 is an example in which the optimization of power saving only the monitor to maintain the ongoing download process is expressed in the form of a discrete case system.
6 is a block diagram of the present invention.
7 is an event table stored by the discrete event system engine.
8 is a list of events transmitted by the discrete event system engine to the discrete event system model.
9 is a conceptual diagram showing a memory area of a computer used in the present invention.
본 발명은 이산사건시스템 형식론에 기반하여 전력관련 정책모델, CPU 관련 프로세스모델, 전력예측모델을 구현하고 있으므로, 아래와 같이 이산사건시스템 형식론의 배경지식인 상태방정식과 기본모델을 설명한 후 본 발명의 구성요소를 구체적으로 설명한다(도6).Since the present invention implements a power-related policy model, a CPU-related process model, and a power prediction model based on the discrete event system formalism, after explaining the state equation and the basic model, which are background knowledge of the discrete event system formalism, components of the present invention It will be described in detail (Fig. 6).
1. 이산사건시스템의 상태방정식1. State Equation of Discrete Event System
이산사건시스템의 상태 변수는 q = (s, r)로 표현되며, s는 이산상태 변수를, r은 이산상태 s에서 경과한 시간을 나타내는 실수 값이다. 예를 들면 CPU 상태를 나타내는 상태 변수 q = (CPU_Busy, 5.3초)는 CPU가 Busy 상태에서 5.3초 머물고 있었다는 것을 의미한다. 이산사건시스템의 상태를 천이시키는 이산사건은 외부 이벤트에 따라 발생하는 외부사건과 내부 조건이 만족될 경우 발생하는 내부사건으로 구분될 수 있으며 예를 들어, 프로토콜 시스템의 경우 외부사건은 ‘메시지 도착’, 내부사건은 ‘Time out’이 된다.The state variable of the discrete event system is expressed as q = (s, r), s is the discrete state variable, and r is a real value representing the elapsed time in the discrete state s. For example, the state variable q = (CPU_Busy, 5.3 seconds) representing the CPU state means that the CPU was staying in the busy state for 5.3 seconds. Discrete events Discrete events that change the state of the system can be divided into external events that occur according to external events and internal events that occur when internal conditions are satisfied.For example, in the case of a protocol system, external events are'message arrival'. , Internal event becomes'Time out'.
이산사건시스템의 상태 변수와 상태 간 천이는 다음과 같은 상태방정식으로 표현할 수 있다.The state variable of the discrete event system and the transition between states can be expressed as the following state equation.
q’ = δint * δext(q,x)q'= δ int * δ ext (q,x)
q’= δint(q)는 입력 없는 경우 내부적인 상태 천이를 나타내며,q'= δ int (q) represents the internal state transition when there is no input,
q’= δext(q,x)는 x가 입력된 외부사건 발생 시의 상태 천이를 나타낸다.q'= δ ext (q,x) represents the state transition when an external event in which x is input occurs.
위 방정식에 사용된 * 기호는 두 개의 함수 δint(q)와 δext(q,x)를 모두 적용하여 상태 천이를 수행하되, 이들을 동시에 수행해야 할 경우가 발생하면 미리 정해진 우선순위에 따라 순차적으로 수행함을 의미한다. 본 발명은 컴퓨터의 효율적인 전력 관리를 위한 구체적인 내용을 위와 같은 이산사건시스템의 상태방정식의 틀 안에서 구현하고 있다.The * symbol used in the above equation performs state transition by applying both functions δ int (q) and δ ext (q,x), but if there is a case to perform these simultaneously, they are sequentially determined according to a predetermined priority. It means performing as. The present invention implements specific details for efficient power management of a computer within the framework of the state equation of the discrete event system as described above.
2. 이산사건시스템의 기본모델2. Basic Model of Discrete Case System
이산사건시스템 형식론은 원자모델(atomic model)과 결합모델(coupled model)을 이산사건시스템의 기본모델로 정하고 있다. 원자모델은 더 이상 분해할 수 없는 요소로서 이산사건시스템의 상태방정식으로 표현되며 결합모델은 2개 이상의 원자모델이나 결합모델로 이루어진 기본모델의 결합체이다.The discrete event system formal theory sets the atomic model and the coupled model as the basic models of the discrete event system. The atomic model is an element that cannot be decomposed any more, and is expressed by the equation of state of the discrete event system. The bond model is a combination of two or more atomic models or basic models consisting of bond models.
기본모델에서 내부천이는 점선으로 된 화살표로 나타내며, 외부천이는 실선으로 된 화살표로 나타낸다. 굵은 실선으로 된 상태는 해당 모델의 시작 상태를 나타낸다. ‘?’은 외부 이벤트가 발생한 것을 의미하고 ‘!’은 이산사건시스템에서 외부로 메시지가 전달되는 것을 나타낸다. In the basic model, the internal transition is indicated by a dotted arrow, and the external transition is indicated by a solid arrow. The state in bold solid line indicates the starting state of the model. '?' means that an external event has occurred, and'!' means that a message is transmitted from the discrete case system to the outside.
원자모델의 내부천이에는 조건이 붙을 수 있다. 도1의 원자모델에서 조건1이 만족하면 ‘상태정보’를 내보내고 원래 상태로 돌아가고, 조건2가 만족되면 아무런 메시지를 전달하지 않고 원래 상태로 천이된다. Conditions can be attached to the internal transitions of the atomic model. In the atomic model of Fig. 1, when
결합모델은 2개 이상의 원자모델이 결합된 것이 기본인데, 도2에서 대기상태에 있는 컴퓨터가 외부로부터 기동명령을 받으면, 대기상태에서 기동 상태로 외부천이가 이루어지고, 기동상태에서는 현재 상태정보를 출력하는 내부천이가 계속된다. 기동상태에서 중단명령을 받으면 다시 대기상태로 천이된다.The combined model is a combination of two or more atomic models. In Fig. 2, when the computer in the standby state receives a start command from the outside, an external transition is made from the standby state to the starting state, and the current state information is displayed in the starting state. The output internal transition continues. When a stop command is received in the starting state, it transitions back to the standby state.
3. 본 발명의 구성요소3. Components of the present invention
가. 이산사건시스템 엔진(100)end. Discrete Case System Engine (100)
이산사건시스템 엔진은 운영체제로부터 CPU, 메모리, 마우스, 키보드 등의 발생시각이 표시된 이벤트를 전달받아, 전력관리와 관련성이 있는 이벤트만을 가려낸다. 이를 위해 코드영역 메모리나 CPU 내의 레지스터 내에 컴퓨터에서 발생 가능한 각종 이벤트를 정리해둔 테이블을 로딩하고 실시간으로 참조한다(도7). The discrete event system engine receives events indicating the occurrence time of CPU, memory, mouse, keyboard, etc. from the operating system, and selects only events related to power management. To this end, a table listing various events that can occur in a computer is loaded into the code area memory or a register in the CPU and referred to in real time (Fig. 7).
전력관리와 관련된 이벤트들은 다시 같은 테이블(도7)을 참조하여 순수 정책관련 이벤트와 CPU 수행에 관련된 이벤트로 나누어, 정해진 주기(예: 2초) 내에 발생된 이벤트를 시간 순으로 연결한 ‘정책모델 관련 이벤트목록’과 ‘프로세스모델 관련 이벤트목록’을 각 생성한다(도8). 위 이벤트목록들은 런타임(run-time)에 유동적으로 발생되고 소멸되므로 메모리 영역 중 힙(heap)영역과 결합하여 처리된다. The events related to power management are divided into pure policy related events and events related to CPU execution by referring to the same table (Fig. 7), and a'policy model that connects events occurring within a predetermined period (eg, 2 seconds) in chronological order. A related event list' and a'process model related event list' are respectively generated (Fig. 8). The event lists above are generated and destroyed dynamically at run-time, so they are processed in conjunction with the heap area of the memory area.
나. 정책모델(300)I. Policy Model (300)
이산사건시스템 형식론을 이용하면 컴퓨터 절전을 위한 기본적인 정책(policy)들을 쉽게 모델링할 수 있다. 도3에서 대기상태에 있는 컴퓨터가 출근 메시지를 받으면 일과시작 상태로 외부천이를 하게 되고 그 즉시 최고성능을 발휘하도록 전력 제어하면서 오전업무 상태로 천이한다. 오전업무상태로 3시간이 흐르면 자동으로 전력을 최대한 절전하는 최대절전 상태로 천이한다. 최대절전 상태에서 1시간이 흐르면 다시 최고성능을 발휘할 수 있도록 전력제어를 하여 오후업무 상태로 진입하고, 그 상태로 5시간이 흐르면 컴퓨터는 최대절전을 하면서 대기상태로 회기하게 된다.Using discrete event system formalism, basic policies for computer power saving can be easily modeled. In Fig. 3, when the computer in the standby state receives the attendance message, it makes an external transition to the daily start state, and immediately transitions to the morning business state while controlling power to exert the highest performance. After 3 hours of working in the morning, it automatically transitions to the hibernation state, which saves power as much as possible. After 1 hour in hibernation state, power is controlled so that the highest performance can be achieved again, and it enters the afternoon business state, and after 5 hours in that state, the computer resumes hibernation while in standby state.
다. 프로세스 모델(400)All. Process Model (400)
프로세스(process)는 일반적으로 CPU에 의해 처리되는 사용자 프로그램, 시스템 프로그램 즉 실행 중인 프로그램을 의미하며, 작업(job) 또는 태스크(task)라고도 한다. 프로세스 상태천이는 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것을 의미하며, 프로세스의 상태를 적절히 스케쥴링하는 방식으로 컴퓨터의 전력을 효율적으로 관리할 수 있다.A process generally refers to a user program, a system program, that is, a running program processed by a CPU, and is also referred to as a job or task. The process state transition means that the state of the process changes while the process is in the system, and the power of the computer can be efficiently managed by properly scheduling the state of the process.
프로세스와 관련된 전력제어의 한 예로 스풀링(spooling)을 들 수 있는데, 스풀링이란 입출력 장치의 공유 및 상대적으로 느린 입출력 장치의 처리속도를 보완하고 다중 프로그래밍 시스템의 성능을 향상시키기 위해 입출력할 데이터를 직접 입출력장치에 보내지 않고 나중에 한꺼번에 입출력하기 위해 디스크에 저장하는 과정을 말한다. 출력하고 싶은 정보가 있을 때 한 줄씩 프린터에 접속하여 출력하는 것 보다 하드디스크에 출력하고 싶은 정보를 한꺼번에 저장한 후 처리속도가 느린 프린터를 작동시킴으로서 처리시간 줄여 소비되는 전력을 줄일 수 있다.An example of process-related power control is spooling. Spooling is a direct input/output of data to be input/output to complement the sharing of input/output devices and the processing speed of relatively slow input/output devices and improve the performance of multiple programming systems. It is the process of saving to disk for later input/output without sending to the device. Rather than connecting to a printer line by line when there is information to be printed, it is possible to save the information to be printed on the hard disk at once and operate the printer with a slow processing speed, reducing processing time and reducing power consumption.
도4에서 대기 상태에 있는 컴퓨터가 데이터출력 요청 이벤트를 받으면 스풀링 상태로 천이되고 하드디스크 저장을 하면서 마칠 때까지 내부천이가 계속된다. 하드디스크 저장이 완료되었다는 이벤트가 발생되면 다시 대기상태로 돌아오고, CPU 프로세스는 데이터출력 상태로 천이한다.In Fig. 4, when the computer in the standby state receives the data output request event, it transitions to the spooling state, and the internal transition continues until the end of storing the hard disk. When an event indicating that the hard disk storage has been completed occurs, it returns to the standby state again, and the CPU process transitions to the data output state.
라. 전력예측 모델(500)la. Power prediction model (500)
복합적인 컴퓨팅 환경에서는 정책모델(300)과 프로세스모델(400)을 종합적으로 검토하여 가능한 최대한의 요구사항이 만족되도록 최적화된 전력제어를 해야 하는데, 본 발명에서는 전력예측 모델(500)이 그 기능을 수행한다.In a complex computing environment, it is necessary to comprehensively review the policy model 300 and the process model 400 to perform optimized power control to satisfy the maximum possible requirements. In the present invention, the power prediction model 500 performs its function. Perform.
예를 들어 인터넷으로 대용량의 파일을 다운로드 하는 중이라면, 키보드나 마우스와 같은 사용자 입력이 일정시간 들어오지 않았다고 해서 바로 컴퓨터를 절전상태로 천이하면 안된다. 그렇다고 데이터 다운로드 외에는 아무런 작업을 하고 있지 않는데도 컴퓨터의 모든 장치를 활성화 둔다면 전력의 낭비라고 볼 수 있다. 이런 경우에는 인터넷 다운로드에 필요한 통신부나 하드디스크는 활성화 해두고 모니터만 절전하는 것이 필요하다. For example, if you are downloading a large file over the Internet, you should not immediately put your computer to sleep just because a user input such as a keyboard or mouse has not been received for a certain period of time. That said, it's a waste of power if you keep all the devices on your computer active even though you're not doing anything other than downloading data. In this case, it is necessary to activate the communication unit or the hard disk required for Internet download and save power only on the monitor.
도5에서 대기상태에 있는 컴퓨터가 데이터 다운로드 이벤트를 받으면 CPU 수행과 관련 있는 작업이므로 프로세스모델(400)을 통해 인터넷 다운로드 상태로 진입하게 되고 데이터를 다운로드 받는 동안 같은 상태로의 내부천이는 계속된다. 이와 별개로 만약 10분 동안 마우스나 키보드 등의 사용자 입력이 없으면 정책모델(300)은 절전모드 상태로 천이하게 된다. 전력예측모델(500)은 위와 같이 프로세스 모델과 정책모델의 요구사항을 복합적으로 고려하여 다운로드 프로세스에 지장을 주지 않도록 모니터만 절전하는 최적화된 전력제어 상태로 천이한다.In FIG. 5, when the computer in the standby state receives the data download event, it is a task related to CPU execution, so it enters the Internet download state through the process model 400, and the internal transition to the same state continues while the data is being downloaded. Separately, if there is no user input such as a mouse or keyboard for 10 minutes, the policy model 300 transitions to the power saving mode. The power prediction model 500 transitions to an optimized power control state in which only the monitor saves power so as not to interfere with the download process by considering the requirements of the process model and the policy model as described above.
마. 전력관리 모델(600)hemp. Power management model (600)
프로세스모델(400)이나 전력예측모델(500)로부터 결정된 전력제어 조치를 운영체제의 시스템 함수를 호출하거나 시스템 변수를 직접 설정하는 역할을 담당한다. 예를 들어 ‘최대성능’을 내기 위해서는 윈도우즈(Windows) SDK(software development kit)를 통해 각 프로세스에 BasePriority를 설정할 수 있는 시스템 함수를 호출 하고 ‘최대절전’을 위해서 BasePriority를 IDLE 상태로 설정할 수 있다. 또한, 멀티코어 CPU 내에서 복잡한 전력관리 정책으로 코어 간 프로세스 분산을 위해서 SetAffinity 시스템 함수를 호출하여 모든 프로세스를 하나의 코어로 이동시키고 프로세스 우선순위를 낮게 하여 컴퓨팅 환경의 전력을 절감할 수 있다. The power control action determined from the process model 400 or the power prediction model 500 is responsible for calling a system function of an operating system or setting a system variable directly. For example, in order to achieve'maximum performance', a system function that can set BasePriority for each process can be called through the Windows SDK (software development kit), and BasePriority can be set to IDLE for'maximum power saving'. In addition, it is possible to save power in the computing environment by calling the SetAffinity system function to distribute processes between cores with a complex power management policy within the multi-core CPU, moving all processes to one core and lowering the process priority.
프로세스모델(400)의 요구사항 중에 긴급성을 요하는 것은 정책모델(300)의 고려없이 바로 전력관리모델(600)로 전송되고, 정책모델(300)과의 최적화가 필요한 경우에는 전력예측모델(500)을 거친 결과가 전력관리모델(600)로 입력된다.Among the requirements of the process model 400, those requiring urgency are directly transmitted to the power management model 600 without consideration of the policy model 300, and when optimization with the policy model 300 is required, the power prediction model ( 500) is input to the power management model 600.
바. 하드웨어와의 결합에 관하여 bar. About the combination with hardware
본 발명의 이산사건시뮬레이션 모델(200)은 정책모델(300), 프로세스모델(400), 전력예측모델(500), 전력관리모델(600)로 구성되며, The discrete event simulation model 200 of the present invention is composed of a policy model 300, a process model 400, a power prediction model 500, and a power management model 600,
정책모델(300)과 프로세스모델은(400)은 이산사건시스템 형식론에 맞게 다수의 함수 형태로 각 프로그램 되고 호출된 함수와 매개변수를 푸시(push), 팝(pop)할 수 있는 스택(stack)영역 메모리에서 수행되고,The policy model 300 and the process model 400 are each programmed in the form of a number of functions according to the discrete case system formalism, and a stack capable of pushing and popping the called functions and parameters. Is done in local memory,
전력예측모델(500)과 전력관리모델(600)은 이산사건시스템 형식론에 맞게 함수 형태로 각 프로그램 되고 호출된 함수와 매개변수를 푸시(push), 팝(pop)할 수 있는 스택(stack)영역 메모리에서 수행된다. The power prediction model 500 and the power management model 600 are each programmed in the form of a function in accordance with the formal theory of the discrete case system, and a stack area in which the called function and parameter can be pushed and popped. Run in memory.
결국 이산사건시스템 엔진(100)은 코드(code)영역 메모리나 CPU 내의 레지스터에서 실행되면서 정책모델(300)과 프로세스모델(400)로 입력되는 이벤트목록을 힙(heap)영역 메모리에 생성하고, 함수 형태로 구현된 이산사건시스템 모델(200)은 스택(stack)영역 메모리 상에서 수행된다(도9).Eventually, the discrete
100 : 이산사건시뮬레이션 엔진
200 : 이산사건시뮬레이션 모델
300 : 정책 모델
400 : 프로세스 모델
500 : 전력예측 모델
600 : 전력관리 모델100: Discrete event simulation engine
200: Discrete event simulation model
300: policy model
400: process model
500: power prediction model
600: power management model
Claims (8)
운영체제로부터 컴퓨터를 이루는 장치의 시계열적 이벤트를 입력받아 정해진 주기마다 이벤트목록을 생성하는 이산사건시뮬레이션 엔진(100); 및
상기 이벤트목록을 바탕으로 컴퓨터의 상태와 상태 간 천이로 규정된 프로그램에 의해 전력관련 제어할 내용을 계산하고 이를 운영체제에게 전달하는 이산사건시뮬레이션 모델(200);로 구성되되,
상기 이산사건시뮬레이션 모델(200)은,
정책관련 시나리오에 따라 전력제어할 장치의 종류와 내용을 결정하는 정책모델(300);
CPU 수행과 관련된 전력제어 사항을 계산하는 프로세스모델(400);
상기 정책모델(300)과 프로세스모델(400)을 종합적으로 검토하여 최적화된 전력제어를 기능하는 전력예측모델(500); 및
상기 전력예측모델(500)의 결과를 반영하기 위해 운영체제의 시스템 함수를 호출하거나 시스템 변수를 설정하는 전력관리모델(600);로 이루어지고,
상기 프로세스모델(400)은,
CPU에 의해 처리되는 실행 중인 프로그램인 프로세스의 상태를 스케쥴링하는 방식으로 컴퓨터의 전력을 효율적으로 관리하며,
상기 전력예측모델(500)은,
컴퓨터가 인터넷으로 파일을 다운로드 하는 중이라면, 인터넷 다운로드에 필요한 구성은 활성화 해두고 모니터만 절전하고,
상기 전력관리모델(600)은,
‘최대성능’을 내기 위해서 윈도우즈(Windows) SDK(software development kit)를 통해 각 프로세스에 BasePriority를 설정할 수 있는 시스템 함수를 호출하고, ‘최대절전’을 위해서 BasePriority를 IDLE 상태로 설정하며, 멀티코어 CPU 내에서 코어 간 프로세스 분산을 위해서 SetAffinity 시스템 함수를 호출하여 모든 프로세스를 하나의 코어로 이동시키고 프로세스 우선순위를 낮게 하여 컴퓨팅 환경의 전력을 절감하는, 전력제어 장치
In a power control device based on a discrete case system formalism for efficient power management of a computer,
A discrete event simulation engine 100 that receives time-series events of a device constituting a computer from an operating system and generates an event list every predetermined period; And
Consists of; a discrete event simulation model 200 that calculates power-related control contents by a program defined as a transition between the state of the computer and the state based on the event list and delivers it to the operating system,
The discrete event simulation model 200,
A policy model 300 for determining the types and contents of devices to be controlled according to policy-related scenarios;
A process model 400 for calculating power control items related to CPU performance;
A power prediction model 500 that comprehensively reviews the policy model 300 and the process model 400 to perform optimized power control; And
Consists of; a power management model 600 for calling a system function of an operating system or setting a system variable to reflect the result of the power prediction model 500,
The process model 400,
It manages the power of the computer efficiently by scheduling the state of the process, which is a running program processed by the CPU.
The power prediction model 500,
If your computer is downloading files over the Internet, you can activate the configuration required for Internet download and save only the monitor.
The power management model 600,
In order to achieve'maximum performance', a system function that can set BasePriority for each process is called through the Windows SDK (software development kit), and BasePriority is set to IDLE for'maximum power saving', and a multi-core CPU A power control device that saves power in the computing environment by moving all processes to one core by calling the SetAffinity system function to distribute processes between cores within, and lowering the process priority.
상기 이산사건시뮬레이션 엔진(100)이 운영체제로부터 입력받는 이벤트는 발생 장치와 발생 시각이 특정되어 있으며, 상기 이산사건시뮬레이션 엔진(100)은 입력된 이벤트 중에 전력관련성이 있는 이벤트만을 가려낸 후 순수 전력정책에 관련 된 것과 CPU 수행에 관련된 것으로 구분하여, 정해진 주기 내에 시간 순으로 나열된 정책관련 이벤트목록과 프로세스관련 이벤트목록을 각 생성하는 전력제어 장치
In claim 1,
In the event that the discrete event simulation engine 100 receives from the operating system, the device and time of occurrence are specified, and the discrete event simulation engine 100 selects only events related to power among the input events, Power control device that generates a list of policy-related events and process-related events listed in chronological order within a specified period by dividing into those related to and CPU performance
상기 이산사건시뮬레이션 엔진은 메모리의 코드영역이나 CPU 내 레지스터에 미리 저장된 이벤트 테이블을 참조하여 전력관련성이 있는 이벤트를 가려낸 후 메모리의 힙영역에서 전력정책과 관련된 이벤트목록을 생성하여 정책모델(300)로 전달하고, 메모리의 힙영역에서 CPU 수행에 관련된 이벤트목록을 생성하여 프로세스모델(400)로 전달하는 전력제어 장치
In paragraph 2,
The discrete event simulation engine selects an event related to power by referring to an event table stored in advance in a code area of memory or a register in the CPU, and then generates an event list related to power policy in the heap area of the memory, and the policy model 300 Power control device that transmits to the memory, generates a list of events related to CPU execution in the heap area of the memory, and delivers it to the process model 400
상기 프로세스모델(400)은 긴급하게 전력제어를 해야 할 사항은 상기 전력관리모델(600)로 바로 전달하여 운영체제의 즉각적인 대응을 요청할 수 있고, 전력정책에 따라 상기 정책모델(300)이 결정한 사항을 함께 고려하는 방식으로 전력제어의 최적화가 필요한 사항은 상기 전력예측모델(500)로 전달하는 전력제어 장치
In claim 1,
The process model 400 can directly transmit the matters to be urgently controlled to the power management model 600 to request an immediate response of the operating system, and the matters determined by the policy model 300 according to the power policy Power control device that transfers matters that need to be optimized for power control in a way that is considered together to the power prediction model 500
상기 정책모델(300)과 상기 프로세스모델(400)은 이산사건시스템 형식론에 따라 전력제어할 사항을 하나 이상의 함수로 프로그래밍 하여 구현하고, 상기 전력예측모델(500)은 상기 정책모델(300)과 상기 프로세스모델(400) 사이의 우선순위를 정하거나 각 요구사항을 최대한 만족시킬 수 있는 적용규칙을 함수로 프로그래밍 하여 구현하는 전력제어 장치
In claim 1,
The policy model 300 and the process model 400 are implemented by programming matters to be controlled by one or more functions according to the discrete event system formalism, and the power prediction model 500 includes the policy model 300 and the A power control device that sets priorities between process models 400 or implements programming rules that can satisfy each requirement as much as possible
상기 정책모델(300), 상기 프로세스모델(400), 상기 전력예측모델(500) 및 상기 전력관리모델(600)은 메모리의 스택영역에서 실행되는 전력제어 장치
In claim 1,
The policy model 300, the process model 400, the power prediction model 500, and the power management model 600 are a power control device executed in a stack area of a memory.
상기 정책모델(300), 상기 프로세스모델(400), 상기 전력예측모델(500)의 실행하는 과정에서 새로운 함수를 추가하거나 기존 함수를 교체 또는 삭제할 수 있도록 플러그인-플러그아웃 기능이 구현된 전력제어 장치In claim 1,
A power control device with a plug-in-plug-out function implemented to add a new function or replace or delete an existing function in the process of executing the policy model 300, the process model 400, and the power prediction model 500
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200033637A KR102181065B1 (en) | 2020-03-19 | 2020-03-19 | A Power Controlling Apparatus for Efficient Computer Power Management Based on Discrete Event System Specification |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200033637A KR102181065B1 (en) | 2020-03-19 | 2020-03-19 | A Power Controlling Apparatus for Efficient Computer Power Management Based on Discrete Event System Specification |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102181065B1 true KR102181065B1 (en) | 2020-11-19 |
Family
ID=73679001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200033637A KR102181065B1 (en) | 2020-03-19 | 2020-03-19 | A Power Controlling Apparatus for Efficient Computer Power Management Based on Discrete Event System Specification |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102181065B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117972687A (en) * | 2024-04-02 | 2024-05-03 | 汉华智能科技(佛山)有限公司 | Block chain-based intelligent power monitoring system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120105901A (en) * | 2011-03-17 | 2012-09-26 | 한국과학기술원 | Simulation method, system based on event-oriented for hierarchical devs model, recording medium for the same |
KR20150092590A (en) * | 2014-02-05 | 2015-08-13 | 한국전자통신연구원 | Device for management of the power/energy based on time information of policy enforcement and method thereof |
-
2020
- 2020-03-19 KR KR1020200033637A patent/KR102181065B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120105901A (en) * | 2011-03-17 | 2012-09-26 | 한국과학기술원 | Simulation method, system based on event-oriented for hierarchical devs model, recording medium for the same |
KR20150092590A (en) * | 2014-02-05 | 2015-08-13 | 한국전자통신연구원 | Device for management of the power/energy based on time information of policy enforcement and method thereof |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117972687A (en) * | 2024-04-02 | 2024-05-03 | 汉华智能科技(佛山)有限公司 | Block chain-based intelligent power monitoring system |
CN117972687B (en) * | 2024-04-02 | 2024-06-11 | 汉华智能科技(佛山)有限公司 | Block chain-based intelligent power monitoring system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101624765B1 (en) | Energy-aware server management | |
CN102866903B (en) | Background work and foreground work are separated to coupling | |
US7137117B2 (en) | Dynamically variable idle time thread scheduling | |
US6986068B2 (en) | Arithmetic processing system and arithmetic processing control method, task management system and task management method | |
EP2342612B1 (en) | Conserving power using predictive modelling and signaling | |
US7849463B2 (en) | Dynamically variable idle time thread scheduling | |
JP5763168B2 (en) | Reduction of power consumption by masking processing from processor performance management system | |
US20120144219A1 (en) | Method of Making Power Saving Recommendations in a Server Pool | |
Dutot et al. | Towards energy budget control in HPC | |
KR20130062991A (en) | Virtual server control system and program | |
JP2018517202A (en) | Event processing system paging | |
CN110795238B (en) | Load calculation method and device, storage medium and electronic equipment | |
EP2817717A2 (en) | Method and system for scheduling requests in a portable computing device | |
CN115373835A (en) | Task resource adjusting method and device for Flink cluster and electronic equipment | |
KR102181065B1 (en) | A Power Controlling Apparatus for Efficient Computer Power Management Based on Discrete Event System Specification | |
CN112231073A (en) | Distributed task scheduling method and device | |
EP2778836A2 (en) | Power consumption simulator for multi-function devices | |
Santriaji et al. | MERLOT: Architectural support for energy-efficient real-time processing in GPUs | |
Goubaa et al. | Scheduling periodic and aperiodic tasks with time, energy harvesting and precedence constraints on multi-core systems | |
CN118034886A (en) | Big data platform scheduling management method and system | |
CN117251269A (en) | Jenkins resource management method, device, equipment and storage medium | |
CN115480924A (en) | Method and device for processing job data, storage medium and electronic equipment | |
CN115658261A (en) | Task scheduling system based on directed acyclic graph | |
KR101082347B1 (en) | Power management system by user patterns | |
Chetto et al. | Real-Time Scheduling of DAG Tasks in Self-Powered Sensors with Scavenged Energy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |