KR20060064438A - 플랫폼의 소비 전력 관리 방법 및 그 플랫폼 - Google Patents

플랫폼의 소비 전력 관리 방법 및 그 플랫폼 Download PDF

Info

Publication number
KR20060064438A
KR20060064438A KR1020050008932A KR20050008932A KR20060064438A KR 20060064438 A KR20060064438 A KR 20060064438A KR 1020050008932 A KR1020050008932 A KR 1020050008932A KR 20050008932 A KR20050008932 A KR 20050008932A KR 20060064438 A KR20060064438 A KR 20060064438A
Authority
KR
South Korea
Prior art keywords
job
period
scheduling
power consumption
platform
Prior art date
Application number
KR1020050008932A
Other languages
English (en)
Other versions
KR100661851B1 (ko
Inventor
최승민
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20060064438A publication Critical patent/KR20060064438A/ko
Application granted granted Critical
Publication of KR100661851B1 publication Critical patent/KR100661851B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3246Power saving characterised by the action undertaken by software initiated power-off
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

본 발명은 플랫폼의 소비 전력 관리 방법 및 그 플랫폼에 관한 것이다. 본 발명에 따르면, 작업 완료를 위해 디바이스에 주어지는 명령어의 집합인 잡(job)의 스케줄링을 통해 플랫폼이 소비 전력을 관리할 때, 소정의 이벤트가 발생하면, 상기 이벤트가 작업부하에 따라 분석된다. 그리고 상기 잡(job)의 작업 부하에 따라 상기 잡(job)이 실행 완료되어야 하는 시간 제약, 상기 잡(job)의 버퍼링에 사용되는 메모리 크기 및 상기 버퍼링에 소비되는 에너지 중 하나 이상을 고려하여, 해당 디바이스가 실행해야 할 잡(job)의 스케줄링 주기 T가 계산되고, 그 결과에 따른 잡(job) 스케줄을 기초로 각 디바이스의 파워상태가 조절된다. 따라서, 잡(job) 스케줄링을 통한 전력관리에 있어서 실질적인 에너지 절약 효과가 있다.
전력관리, job 스케줄, 모바일 플랫폼

Description

플랫폼의 소비 전력 관리 방법 및 그 플랫폼{POWER MANAGEMENT METHOD FOR PLATFORM AND THAT PLATFORM}
도 1은 작업부하(workload)가 없을 때 장치를 휴면(sleep) 시켰다가 작업부하 (workload)가 발생하면 장치를 다시 깨우는(wake-up) 과정에 대한 그림이다.
도 2a, 도 2b는 장치가 아이들(idle)상태일 때 전력상태를 계속 아이들 워킹(idle working)으로 유지하는 경우와 셧-다운(shutdown)으로 유지하는 경우의 전력 소모량에 대한 그래프이다.
도 3은 스케줄 방식에 따른 무선랜의 호출 패턴 및 전력상태 그림이다.
도 4는 S값에 따라 에너지 최적의 T를 선택하기 위한 그래프이다.
도 5a, 도 5b는 분할 방식과 버스트(burst) 스케줄에 따른 각 장치의 에너지 소모량을 나타낸 3차원 그래프이다.
도 6은 본 발명의 특징에 따라 잡(job) 스케줄링을 통해 소비 전력을 관리하는 플랫폼 구성도의 예이다
도 7은 본 발명의 특징에 따른 실시예로서 잡(job) 스케줄링을 통한 소비전력 관리 방법 흐름도이다.
도 8은 잡(job) 스케줄링을 위한 버스트주기(burst T)를 구하여 전력 관리에 사용하기 위한 수도 코드(pseudo code)의 예이다
본 발명은 플랫폼의 소비 전력 관리 방법 및 그 플랫폼에 관한 것으로, 보다 상세하게는 특정 작업 완료를 위한 명령어의 집합인 잡(job) 스케줄링을 통해 상기 플랫폼이 소비 전력을 관리하는 방법 및 그 플랫폼에 관한 것이다.
플랫폼, 특히 모바일 플랫폼들은 이동을 하면서 다양한 기능을 수행하므로 그 동작을 위한 전원을 전지로부터 공급받는다. 그러나, 제한된 용량의 전지로부터 모바일 플랫폼을 작동시킬 충분한 에너지를 공급받는 것에는 한계가 있으므로, 플랫폼 설계과정에서 전지의 용량을 증가시키는 노력과 함께 효율적인 전력관리에 대한 연구 또한 중요한 일이다.
시스템에서의 전력관리는 여러 단계에서 이루어질 수 있는데, 시스템 수준에서 OS를 통해 이루어지는 전력 관리는 특히 모바일 플랫폼과 같은 대화형 시스템에서 효과적이어서, OS 수준에서의 다양한 전력관리 기법들이 적용되어 왔다.
예를 들어, 시스템을 구성하는 장치들의 아이들(idle) 주기를 예측하여 셧-다운(shutdown)을 결정하는 기법으로서, 장치의 아이들(idle) 주기를 예측하여 셧-다운(shutdown)을 결정하는 방법이 사용되었다. 이 때, 장치가 앞으로 얼마동안 사용될 것인가에 대한 정보는 과거의 장치 사용 패턴 분석을 통해 예측된다. 따라서, 예측의 정확도에 따라 시스템의 성능과 에너지 절약 효율이 크게 변하게 된다.
또, 플랫폼의 특정 작업 완료를 위한 명령어의 집합(이하, '잡(job)'이라 한 다)스케줄링을 통해 불연속적 장치나 CPU등의 아이들(idle) 주기를 연속적으로 만들어 셧-다운(shutdown) 기회를 늘이는 기법이 있었다. 이 때 수행중인 잡(job)은 장치를 사용할 수 있고, 커널(kernel)의 스케줄러에 의해 그 수행순서가 정해지므로, 스케줄링 방식에 따라 장치의 사용시간대가 변하는 것을 이용한 기법이 있었다. 즉 장치를 사용하는 잡(job)을 스케줄링 하는 것이 장치의 아이들(idle) 주기 분포에 직접적인 영향을 주기 때문에, 스케줄을 통해 장치의 아이들(idle)주기를 가능한 연속적으로 만들어 셧-다운(shutdown) 기회를 늘리는 방법이다.
기타, 메모리 소비전력을 줄이기 위해 뱅크(bank)별로 다른 전력상태를 선택하는 기법등이 적용되어 왔다.
그러나, 실질적으로 장치들에 부과되는 잡(job)의 작업부하(workload)에 따라 버스트(burst) 주기 혹은 분할(split) 주기에 따른 전력 관리의 효율성이 달라진다. 또한 스케줄에 사용 가능한 버퍼의 크기가 시스템의 상황에 따라 시스템 실행중 변하므로, 시스템의 성능을 저하시키지 않으면서 에너지를 절약하기 위해서는 현재 사용 가능한 버퍼의 크기 또한 고려 해야 한다. 또, 잡(job) 스케줄링을 통해 잡(job)의 수행순서를 바꾸게 되면 사용자가 원하는 제한시간(deadline)을 만족하지 못할 가능성이 있으므로 시간 제약에 대한 고려도 필요하다.
그러나, 상술한 종래의 기법들은 장치를 사용하는 잡(job)의 작업부하(workload), 잡(job)의 버퍼링(buffering)에 사용가능한 메모리의 크기 , 버퍼링(buffering)으로 인해 발생하는 시간 지연등에 대한 고려가 없어 효율적인 전력 관리가 이루어지지 못했다. 또한, 잡(job)을 버스트(burst) 주기로 수행함에 있어서, 잡(job)이 대기하는 큐(queue)가 소모하는 에너지가 오히려 버스트(burst) 스케줄로 인해 얻어지는 전력 절감의 이익을 상쇄시킬 가능성도 있었다.
따라서, 본 발명이 이루고자 하는 기술적 과제는, 잡(job)의 작업부하(workload), 잡(job)의 버퍼링(buffering)에 사용 가능한 메모리의 크기, 버퍼링(buffering)에 의해 발생하는 시간 지연 및 버퍼(buffer)의 소모 에너지등을 고려하여, 시스템의 성능을 저하시키지 않고 실질적으로 에너지를 절약할 수 있도록 하는데 있다.
상기한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 플랫폼의 소비 전력을 관리하기 위한 방법은, 작업 완료를 위해 디바이스에 주어지는 명령어의 집합인 잡(job)의 스케줄링을 통해 플랫폼이 소비 전력을 관리하는 방법으로서, a) 소정의 이벤트가 발생하면, 상기 이벤트를 작업부하에 따라 분석하는 단계; b) 상기 잡(job)의 작업 부하에 따라 상기 잡(job)이 실행 완료되어야 하는 시간 제약, 상기 잡(job)의 버퍼링에 사용되는 메모리 크기 및 상기 버퍼링에 소비되는 에너지 중 하나 이상을 고려하여, 해당 디바이스가 실행해야 할 잡(job)의 스케줄링 주기 T를 계산하는 단계; c) 상기 b)단계의 결과를 기초로 한, 잡(job) 스케줄에 따라 각 디바이스의 파워상태를 조절하는 단계를 포함한다.
이 때, 상기 b) 단계는, 상기 메모리 크기로 인해 제약받는 스케줄 주기인 제1 주기 및 상기 시간 제약으로 인한 스케줄 주기인 제2 주기 중 하나 이상을 고 려하여, 스케줄링 주기 T를 계산하는 단계일 수 있다.
한편 본 발명의 특징에 따른 플랫폼은, 작업 완료를 위해 디바이스에 주어지는 명령어의 집합인 잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼으로서, 소정의 이벤트를 발생시키는 응용부 ; 및 상기 응용부로부터 상기 이벤트 발생정보를 전달받은 때, 상기 잡(job)의 작업부하에 따라 시간 제약, 메모리 크기 및 상기 버퍼링에 소비되는 에너지 중 하나 이상을 고려하여 최적 스케줄링 주기 T를 도출한 후 해당 디바이스의 파워 상태를 조절하는 운영체제부를 포함할 수 있다.
이 때 상기 운영체제부는, 작업 생성 정보를 전달받고, 현재 실행중인 작업에 대한 모니터링, 관리 및 작업 상태 정보 전달을 수행하는 프로세스 매니저; 스케줄 주기에 따라 상기 잡(job)을 스케줄링하는 스케줄러; 상기 잡(job)이 실행되는 디바이스의 구동을 조정하는 디바이스 드라이버; 및 작업 부하에 따라, 시간 제약, 메모리 크기 및 상기 버퍼링에 소비되는 에너지 중 하나 이상을 고려하여 최적 스케줄링 주기 T를 도출하고, 상기 프로세스 매니저로부터 전달받은 작업(task) 상태 정보 및 상기 스케줄러부터 전달받은 잡(job) 스케줄을 기초로 상기 디바이스 드라이버가 해당 디바이스의 파워상태를 조절하도록 하는 파워매니저를 포함할 수 있다.
이하 첨부도면을 참조하여 본 발명을 상세히 설명한다.
우선, 본 문서에서 정의한 symbol을 나타내면 다음 표와 같다.
Figure 112005005967860-PAT00001
< 표 1 > 본 문서에서 정의한 symbol.
또한, 본 발명에서 주기를 계산하는 각각의 경우를 이벤트라 하며, 이것은 주기 T를 계산하는 식이 호출되는 조건을 의미한다. 이벤트의 종류는 다음과 같다.
(1) add tasks to run queue
(2) remove tasks from run queue
(3) time constraint change
(4) memory constraint change
(5) task's S*N change
도 1은 작업부하(workload)가 없을 때 장치를 휴면(sleep) 시켰다가 작업부하(workload)가 발생하면 다시 깨우는(wake-up) 과정에 대한 그림이다.
도 1에서 장치가 처리해야 할 요청(request)가 있는 경우 장치의 동작상태는 비지(busy)이며, 처리해야 할 요청(request)가 없는 경우 장치의 동작상태는 아이들( idle)이다. 그림에서 아이들(idle)상태는
Figure 112005005967860-PAT00002
Figure 112005005967860-PAT00003
사이이며, 전력관리를 위해 이 구간을 휴면(sleep)상태로 만들 수 있다. 이 때, 전력 상태를 변화시킬때는 셧-다운 딜레이(shutdown delay,
Figure 112005005967860-PAT00004
)와 웨이크-업 딜레이(wakeup delay,
Figure 112005005967860-PAT00005
)라는 시간상의 지연뿐만 아니라 전력 상태의 천이과정에서 발생하는 추가적 에너지 소모가 발생한다. 따라서 일정시간 이상 장치가 아이들(idle) 상태로 있을 때 장치를 휴면(sleep) 시켜야 실질적인 에너지 이득을 볼 수 있다. 이렇게 셧-다운(shutdown)을 통한 전력관리로 에너지 이득을 볼 수 있는 최소의 아이들(idle) 길이를 브레이크-이븐 타임(break-even time,
Figure 112005005967860-PAT00006
)이라고 하는데, 이 시간은 장치가 가지고 있는 고유한 특성 상수이다.
도 2a 및 도 2b는 장치가 아이들(idle)일 때 전력상태를 계속 아이들 워킹 (idle working)으로 유지하는 경우와 셧-다운(shutdown)으로 유지하는 경우의 전력 소모량을 보여준다.
이 때,
Figure 112005005967860-PAT00007
는 (a)와 (b)에서, 각각 계산된 에너지의 소모량이 같을 때의 시간이다. 장치의 아이들 워킹(idle working)과 휴면(sleep)상태의 소모전력을 각각
Figure 112005005967860-PAT00008
,
Figure 112005005967860-PAT00009
(
Figure 112005005967860-PAT00010
??
Figure 112005005967860-PAT00011
)라 하고, 장치의 셧-다운(shutdown)과 웨이크-업(wakeup)에 소요되는 시간과 소모되는 에너지를 각각
Figure 112005005967860-PAT00012
,
Figure 112005005967860-PAT00013
라 하면,
Figure 112005005967860-PAT00014
는 다음과 같다.
Figure 112005005967860-PAT00015
즉, 식(1)에서
Figure 112005005967860-PAT00016
는 각 장치에 의존적인 값으로, 수행되는 프로그램이나 전력관리 정책과는 무관한 값이다. 장치가 최소한
Figure 112005005967860-PAT00017
이상의 시간을 아이들(idle) 상태로 있는 경우, 셧-다운(shutdown)을 통해 에너지 절약 효과를 얻을 수 있다.
도 3은 어느 모바일 플랫폼에서 fps가 10인 H.263 인코더의 출력값(output)을 호스트 PC로 전송하는 잡(job)이 분할(split)방식에 따라 스케줄링 될 때와 버스트(burst) 주기에 따라 스케줄링될 때, 무선랜이 호출되는 빈도와 무선랜의 전력상태를 보여준다. 이 때, 분할(split) 방식이란 잡(job)이 발생할 때 즉시 처리하는 방식을 가리키며, 버스트(burst)는 잡(job)이 특정 시간대로 모여서 수행되는 방식을 가리킨다.
도 3에 제시된 바와 같이, 분할(split) 스케줄의 경우 무선랜이 0.1초마다 호출되는데, 이것은 무선랜의
Figure 112005005967860-PAT00018
의 값인 0.67 보다 작은 값이므로, 정확하게 아이들(idle) 주기를 예측했다고 하더라도 아이들(idle) 주기에 따라 장치를 셧-다운(shutdown)하는 것은 오히려 에너지 소모를 증가하게 만든다. 반면, 버스트(burst) 스케줄의 경우 무선랜이 0.75초마다 호출되므로 셧-다운(shutdown)을 통해 에너지를 절약할 수 있다.
한편, 식 (2)~(4)은 도 3에서 분할(split) 방식 스케줄과 버스트(burst) 주기 T에 따른 스케줄 중 burst 주기동안 무선랜이 소모하는 에너지를 계산하는 식이다.
Figure 112005005967860-PAT00019
식 (2)~(4)의 첫항은 T시간 동안 리퀘스트(request)를 처리하는데 소모되는 에너지 값이다. 그리고, 식 (2)의 두번째 항은 무선랜이 아이들(idle)일 때 전력관리를 하지 않고 아이들(idle working) 상태로 유지할 때 소모하는 에너지이다. 그리고 식 (3)의 두번째 항은 휴면(sleep) 구간에서 소모되는 에너지이고,
Figure 112005005967860-PAT00020
는 셧- 다운(shutdown)과 웨이크-업(wakeup) 과정에서 소모되는 상태 천이 에너지이다. 이 때, 식 (3)의 마지막 항인
Figure 112005005967860-PAT00021
는 식 (4)으로 계산할 수 있다.
이 때,
Figure 112005005967860-PAT00022
는 버스트(burst) 스케줄을 위해 대기하는 리퀘스트(request)가 버퍼링(buffering)되는데 쓰이는 메모리의 소모 에너지이다. 따라서, 잡(job) 스케줄링을 통해 절약한 에너지와, 버퍼링(buffering)으로 소모되는 에너지의 트레이드-오프(trade-off) 관계를 식 (2),(3)을 통해 분석할 수 있다. 따라서, 버퍼 설계시 버퍼의 크기를 너무 작게 할 경우 전력 조절 회로를 구현하는데 많은 비용이 소모되며, 버퍼의 크기를 너무 크게 할 경우 버퍼의 저장공간과 소모되는 에너지가 비효율적으로 활용될 수 있으므로, 전력조절이 가능한 버퍼의 크기를 합리적으로 선택하는 작업 또한 필요할 것이다.
효율적 전력관리를 위한 최적의 잡(job) 스케줄을 찾기 위해서는 분할(split)스케줄과 버스트(burst) 스케줄이 각각 소모하는 에너지, 버스트(burst) 스케줄이 사용 가능한 버퍼 크기, 작업(task, process라고도 한다)의 제한시간(deadline)을 고려할 수 있으며, 이들은 각각 아래의 식 (5)~(7)의 관계식으로 나타낼 수 있다. 각각의 식에서 우변의 상수값(소문자)은 표 2로부터, 변수값(대문 자)는 각 작업실행시, 작업 특성 및 OS로부터 얻을 수 있다.
Figure 112005005967860-PAT00023
Figure 112005005967860-PAT00024
< 표 2 > 무선랜과 DSP의 특성 파라미터 측정치
예를 들어, 상기 < 표 2 >에서 측정한 무선랜의 특성 파라미터와 대역폭(Bandwidth) =5.5Mbps, fps=10, 제한시간(deadline)=4, 메모리크기(buffer limit)=1MB를 식 (5)~(7)에 대입하면, 아래의 식 (5')~(7')과 같은 결과가 나타난 다.
Figure 112005005967860-PAT00025
도 4는 이 식을 그래프로 나타낸 결과이다. 도 4에 도시된 바와 같이, T가 S값에 따라 I~III 의 세 영역으로 구별되어 나타난다.
즉, 도 4의 그래프에서 식 5' 영역은 분할(split) 스케줄에 따라 job을 실행할 때 소비되는 에너지와 동일한 에너지를 소비하는 버스트(burst) 스케줄 주기 그래프이다.
이 때, 식 5'의 왼쪽 상단영역에 속하는 I, II 영역에서는 버스트(burst) 스케줄 방식에 따를 경우 분할(split) 스케줄을 따를 때 보다 더 적은 에너지를 소비할 수 있다. 또, III의 경우는 분할(split) 스케줄 방식이 유리하다. 이것은 식(2) 및 식(3)을 상술한 무선랜 특성 파라미터 측정치 및 주어진 대역폭(Bandwidth), 시간제약(deadline) 및 메모리 크기(buffer limit) 값를 이용해 나타낸 그래프, 즉 스케줄별 에너지 소모량을 나타낸 삼차원 그래프인 도 5a에서, 두 평면의 교점의 그래프인 식(5)를 경계로 하여 결정된다.
다음, 버스트 스케줄 방식을 따르는 것이 유리한 영역에서 소비 에너지의 최적화가 실행되는 최적 버스트(burst) 주기 T는, 실행되는 작업에 의해 결정되는 S 값에 따라 달라지게 된다.
I의 경우 응용 프로그램이 S값을 0<S≤26KB 범위로 생성하는데, 이 때 식(6')를 근거로 T를 무한으로 설정할 수도 있다 그러나 식(7')에 의한 시간제약이 존재하므로, 결국 에너지 최적의 버스트(burst) 주기 T는 시간 제약 4초가 됨을 알 수 있다.
같은 방식으로 II의 경우 응용 프로그램이 S값을 26KB<S≤45.5KB 범위로 생성한다. 이 때에도 식(7')에 의한 시간 제약에 근거할 경우, T는 여전히 4초가 될 수 있다. 그러나, 식(6')에 의한 메모리 크기에 따른 제약이 존재하므로, 결국 T는 식(6')가 된다.
한편 III의 경우, 즉 S가 45.5KB보다 클 경우는 앞서 설명한 바와 같이 분할(split) 스케줄 방식을 따를 때 더 적은 에너지를 소비하게 되므로, 무선랜 사용을 요청(request)하는 잡(job)이 생성되는 즉시 해당 잡(job)을 수행하는 분할(split) 스케줄링이 선택된다.
상술한 예제는 <표2>의 DSP의 특성 파라미터 측정치, 식(5)~식(7) 및 DSP의 스케줄별 에너지 소모량을 나타낸 그래프인 도 5b를 이용하여 DSP에도 동일하게 적용된다. 또한 무선랜과 DSP를 동시에 사용하는 H.263 인코더 등의 작업( task, process라고도 한다)의 경우 잡(job)들 간 수행 순서의 제약이 존재하므로, 한 장치를 위해 구한 버스트(burst) 주기 T값을 다른 장치의 시간 제약(deadline)으로 대입하여 나머지 장치의 버스트(burst) 주기 T값을 구하는 순차적 방법을 이용할 수 있다.
이하 도 6을 참조하여 본 발명의 특징에 따른 플랫폼의 실시예에 대해 설명한다.
상기 플랫폼은 특정 작업 완료를 위한 명령어의 집합인 잡(job)의 스케줄링을 통해 소비 전력을 관리하는 플랫폼으로서, 응용부(100) 및 운영체제부(200)를 포함한다.
응용부(100)는 특정 작업을 수행하도록 설계된 프로그램을 포함하는 모듈로서, 상기 프로그램의 예로는 MP3 인코더, H.263 인코더등이 있으며 기타 다양한 응용 프로그램이 응용부(100)에 포함될 수 있다.
운영체제부(200)는 프로세스 매니저(210), 파워 매니저(220), 스케줄러(230) 및 디바이스 드라이버(240)를 포함하여, 상기 응용부(100)로부터 전달받은 이벤트(즉 특정 작업 생소멸 이벤트, S, N 시간 및 메모리 제약 변경등)를 기초로 최적의 버스트 주기 T를 계산하고, T에 따라 각 장치를 사용하는 잡(job)들을 스케줄링 한다.
보다 구체적으로 디바이스 드라이버(240)는 플랫폼에 포함된 디바이스, 즉 장치들과 상호작용을 하며, 장치나 특수 소프트웨어 인터페이스에 대한 정보를 포함하여 해당 장치 구동을 조정한다. 디바이스 드라이버(240)는 플랫폼이 포함하고 있는 다양한 디바이스들의 드라이버를 포함하며, 예를 들어 무선랜 디바이스 드라이버(240), DSP 디바이스 드라이버(240)를 포함할 수 있다.
프로세스 매니저(210)는 각 작업이 생성되면, 운영체제부(200)(예를 들면, linux 커널)로부터 작업 생성 정보를 전달받은 후, 현재 실행중인 작업을 모니터링 하고 관리한다. 그리고 현재 작업 진행 상태 정보를 파워 매니저(220)에게 전달한다.
스케줄러(230)는 계산된 스케줄 주기에 따라 특정 작업 완료를 위한 명령어들, 즉 잡(job)들을 스케줄링한다.
파워 매니저(220)는 T 계산부(221) 및 파워상태 셋팅부(223)를 포함하여, 잡(job) 스케줄링 주기를 계산하고 잡(job) 스케줄에 따라 각 장치들의 파워상태를 셋팅한다.
특히, T 계산부(221)는 소정의 이벤트가 발생하면 작업부하에 따라, 상기 잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00026
과 버스트(burst) 스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00027
가 같을 때의 주기를 기초로, 메모리 제약, 시간 제약 등을 고려하여 스케줄링 주기 T를 계산하여, 잡(job) 스케줄링 방식 및 그에 따른 최적 주기를 최종 결정하고 그 결과를 스케줄러에 전달한다.
보다 구체적으로 T 계산부(221)는 상기 잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00028
과 버스트(burst) 스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00029
가 같을 때의 스케줄 주기값이, 상기 제1 주기 혹은 상기 제2 주기의 값보다 크거나 같을 때는 분할(split) 스케줄링을 선택한다. 그리고, 상기 잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00030
과 버스트(burst) 스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00031
가 같을 때의 스케줄 주기값이, 상기 제1 주기 혹은 상기 제2 주기의 값보다 작을 때에는, 상기 제1 주기 및 상기 제2 주기 중 더 작은 주기 값에 따른 버스트(burst) 스케줄링을 선택한다.
그리고, 파워상태셋팅부(223)는 프로세스 매니저로부터 전달받은 작업 상태 정보 및 스케줄러로부터 전달받은 잡(job) 스케줄에 따라 디바이스 드라이버(240)를 통해 각 장치들의 파워상태를 셋팅한다.
이하 도 7 및 도 8을 참조하여 본 발명의 특징에 따른 플랫폼의 소비 전력을 관리하는 방법을 설명한다.
우선, 작업(task)의 생성 혹은 소멸, 메모리 제약 변경, 작업(task)의 S, N변경, 시간 제약 변경 등의 이벤트가 발생하면, 상기 이벤트 발생 사실이 응용부로부터 운영체제부로 전달된다(S100).
다음, T 계산부(221)는 소정의 이벤트가 발생하면 상기 잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00032
과 버스트(burst) 스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00033
가 같을 때의 주기를 기초로, 메모리 제약, 시간 제약 등을 고려하여 스케줄링 주기 T를 계산하여, 잡(job)의 최적 스케줄링 주기를 결정한다.
이 때, 도 8에 도시된 바와 같은 방법으로, T 계산부(221)는 상기 잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00034
과 버스트(burst) 스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00035
가 같을 때의 스케줄 주기값이, 상기 제1 주기 혹은 상기 제2 주기의 값보다 크거나 같을 때는 분할(split) 스케줄링을 선택한다. 그리고, 상기 잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00036
과 버스트(burst) 스케줄링 할 때의 소비 에너지
Figure 112005005967860-PAT00037
가 같을 때의 스케줄 주기값이, 상기 제1 주기 혹은 상기 제2 주기의 값보다 작을 때에는, 상기 제1 주기 및 상기 제2 주기 중 더 작은 주기 값에 따른 버스트(burst) 스케줄링을 선택하여, 잡(job)의 최적 스케줄링 주기 T를 결정할 수 있다.
이 때, 예를 들어, 무선랜에 할당되는 잡(job)의 최적 스케줄링 주기를 우선 계산하고, 플랫폼에 포함된 또 다른 장치인 DSP에 할당되는 잡(job)의 최적 스케줄링 주기를 계산할 때, 마찬가지로 작업의 S*N, 시간 제약 및 메모리 제약도 함께 고려된다. 이 경우 우선 계산된 무선랜의 최적 주기 값이 DSP에 할당되는 잡(job)에 대한 시간제약으로 고려될 수 있다(S101, S103).
스케줄러는 각 디바이스들의 최적 스케줄링 주기에 따라 작업 완료를 위한 잡(job)을 스케줄링하고, 파워상태셋팅부는 상기 스케줄에 따라 해당 장치의 파워 상태(power state)를 변화시켜, 작업 수행을 위해 상기 플랫폼에서 소비하는 전력을 효율적으로 관리한다(S105).
이상 설명한 바는 본 발명의 실시예에 불과한 것으로, 본 발명의 권리범위가 이에 한정되는 것은 아니며 기타 다양한 응용실시가 가능하며, 본 발명의 권리범위가 후술할 특허청구범위 기재사항 및 그 균등물로 해석되는 모든 사항을 포함하는 것은 당연하다.
예를 들어, 플랫폼에 포함된 장치로서 상술한 DSP, 무선랜 이외 기타 다양한 장치에 대해서도 적용될 수 있다. 이 때 하나의 파워매니저가 여러 장치에 적용될 경우, 각 장치마다 버퍼가 필요할 수 있고, 이 경우 시스템 전체에서 사용 가능한 버퍼를 장치별로 할당할 때, 전체장치에서 절약되는 에너지의 합을 최대로 만드는 비율로 버퍼를 할당할 수도 있다.
본 발명은 특히 로봇과 같은 모바일 플랫폼에서 유용하게 적용될 수 있다. 제한된 용량의 전지로부터 모바일 장치의 동작전원을 공급받는 것에는 한계가 있으므로, 장치 설계 과정에서 전지의 용량을 늘리는 것 못지 않게 효율적 전력 관리는 특히 중요하다. 따라서, 로봇의 운영체제(OS) 수준에서, 입출력장치를 사용하는 잡(job)들을 본 발명에 따라 스케줄링하는 경우, 입출력장치를 사용하는 잡(job)의 작업부하, 잡(job) 버퍼링에 사용하는 메모리 크기 및 시간 지연등이 고려되므로, 에너지를 절약하면서도 로봇 시스템의 성능 저하를 최소화 할 수 있다.
이 때, 모바일 플랫폼에서 현재 사용 가능한 전지의 용량에 따라 여러 단계의 전력 관리를 적용하는 방법도 가능하다. 즉 일반적으로 전력 관리기법을 적용하면 에너지가 절약되는 만큼 시스템 성능이 낮아지는 문제가 발생하는데, 따라서 남아있는 전지 용량에 따라 제공 가능한 QoS를 정의하고 전력상태에 따라 다른 전력 관리 기법을 적용할 수 있다.
이상 설명한 바와 같이 본 발명에 따르면, 플랫폼, 특히 전력관리의 필요성이 절실한 모바일 플랫폼에서 OS 수준의 전력관리를 할 때, 잡(job)의 작업 부하(workload), 잡(job)의 버퍼링에 사용 가능한 메모리의 크기, 버퍼링(buffering)에 의해 발생하는 시간 지연 및 버퍼(buffer)의 소모 에너지등이 고려되어 최적의 잡(job) 스케줄링 주기가 계산된다. 따라서, 시스템의 성능은 저하되지 않고 실질적으로 에너지를 절약할 수 있다.

Claims (26)

  1. 작업 완료를 위해 디바이스에 주어지는 명령어의 집합인 잡(job)의 스케줄링을 통해 플랫폼이 소비 전력을 관리하는 방법에 있어서,
    a)소정의 이벤트가 발생하면,상기 이벤트를 작업부하에 따라 분석하는 단계;
    b) 상기 잡(job)의 작업 부하에 따라 상기 잡(job)이 실행 완료되어야 하는 시간 제약, 상기 잡(job)의 버퍼링에 사용되는 메모리 크기 및 상기 버퍼링에 소비되는 에너지 중 하나 이상을 고려하여, 해당 디바이스가 실행해야 할 잡(job)의 스케줄링 주기 T를 계산하는 단계;
    c) 상기 b)단계의 결과를 기초로 한 잡(job) 스케줄에 따라 각 디바이스의 파워상태를 조절하는 단계를 포함하는 것을 특징으로 하는 플랫폼의 소비 전력 관리 방법.
  2. 제1항에 있어서,
    상기 b) 단계는,
    상기 메모리 크기로 인해 제약받는 스케줄 주기인 제1 주기 및 상기 시간 제약으로 인한 스케줄 주기인 제2 주기 중 하나 이상을 고려하여, 스케줄링 주기 T를 계산하는 단계인 플랫폼의 소비 전력 관리 방법.
  3. 제2항에 있어서,
    상기 b)단계는,
    작업 부하에 따라 상기 제1 주기 혹은 상기 제2 주기를 최적 스케줄링 주기 T 결정에 제약조건으로 고려하는 단계인 플랫폼의 소비 전력 관리 방법.
  4. 제3항에 있어서,
    상기 b) 단계는,
    상기 잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00038
    과 버스트(burst) 스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00039
    가 같을 때의 스케줄 주기를 기초로, 상기 제1 주기 혹은 상기 제2 주기를 제약조건으로 고려하여 스케줄링 주기 T를 계산하는 단계인 플랫폼의 소비전력 관리 방법.
  5. 제4항에 있어서,
    상기 b) 단계는,
    상기 잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00040
    과 버스트(burst) 스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00041
    가 같을 때의 스케줄 주기값이, 상기 제1 주기 혹은 상기 제2 주기의 값보다 크거나 같을 때, 분할(split) 스케줄링을 선택하는 단계인 플랫폼의 소비전력 관리 방법.
  6. 제4항에 있어서,
    상기 b) 단계는,
    상기 잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00042
    과 버스트(burst) 스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00043
    가 같을 때의 스케줄 주기값이, 상기 제1 주기 혹은 상기 제2 주기의 값보다 작을 때,
    상기 제1 주기 및 상기 제2 주기 중 더 작은 주기 값에 따른 버스트(burst) 스케줄링을 선택하는 단계인 플랫폼의 소비 전력 관리 방법.
  7. 제4항에 있어서,
    상기
    Figure 112005005967860-PAT00044
    Figure 112005005967860-PAT00045
    가 같을 때의 주기는
    Figure 112005005967860-PAT00046
    =
    Figure 112005005967860-PAT00047
    일 때의 스케줄 주기 T로부터 도출되며 상기
    Figure 112005005967860-PAT00048
    과 상기
    Figure 112005005967860-PAT00049
    는 각각
    Figure 112005005967860-PAT00050
    (S : 작업이 처리 요청하는 데이터 크기, N : 작업의 데이터 요청 횟수
    Figure 112005005967860-PAT00051
    : 전력상태천이 소모 에너지
    Figure 112005005967860-PAT00052
    : 전력상태 천이에 따른 지연시간
    BW : 장치의 자료 처리능력(bps, fps 등)
    Figure 112005005967860-PAT00053
    : 비지 워킹(busy working) 상태의 소모전력
    Figure 112005005967860-PAT00054
    : 아이들 워킹(idle working) 상태의 소모전력
    Figure 112005005967860-PAT00055
    : 슬리핑(sleeping) 상태의 소모전력
    Figure 112005005967860-PAT00056
    : n Kbyte 버퍼 메모리의 소모 전력)
    인 플랫폼의 소비 전력 관리 방법.
  8. 제4항에 있어서,
    상기
    Figure 112005005967860-PAT00057
    Figure 112005005967860-PAT00058
    가 같을 때의 주기는,
    Figure 112005005967860-PAT00059
    (S : 작업이 처리 요청하는 데이터 크기, N : 작업의 데이터 요청 횟수
    Figure 112005005967860-PAT00060
    : 전력상태천이 소모 에너지
    Figure 112005005967860-PAT00061
    : 전력상태 천이에 따른 지연시간
    BW : 장치의 자료 처리능력(bps, fps 등)
    Figure 112005005967860-PAT00062
    : 아이들 워킹(idle working) 상태의 소모전력
    Figure 112005005967860-PAT00063
    : 슬리핑(sleeping) 상태의 소모전력)
    인 플랫폼 소비 전력 관리 방법.
  9. 제2항에 있어서,
    상기 제1 주기는,
    Figure 112005005967860-PAT00064
    (S : 작업이 처리 요청하는 데이터 크기, N : 작업의 데이터 요청 횟수 )
    로부터 구해지는 것을 특징으로 하는 플랫폼 소비 전력 관리 방법.
  10. 제1항에 있어서,
    상기 메모리 크기는,
    상기 메모리가 버스트(burst) 스케줄에 따라 리퀘스트(request)를 버퍼링하는데 소비하는 에너지가 버스트(burst) 스케줄에 따라 절약되는 에너지보다 적을 때의 메모리 크기인 플랫폼 소비 전력 관리하는 방법.
  11. 제1항에 있어서,
    먼저 계산된 제1 디바이스의 최적 스케줄링 주기 T는 제2 디바이스의 상기 최적 스케줄링 주기 T를 구할 때의 상기 시간 제약으로 고려되는 플랫폼의 소비 전력 관리 방법.
  12. 제1항에 있어서,
    상기 이벤트는,
    상기 작업의 생성, 상기 작업의 소멸, 상기 메모리 크기의 변화, 상기 시간 제약의 변화, 상기 작업의 데이터 요청 횟수(N)의 변화 및 상기 작업의 처리 요청 데이터 크기(S)의 변화 중 하나 이상을 포함하는 플랫폼의 소비 전력 관리 방법.
  13. 제12항에 있어서,
    상기 작업 부하는
    해당 작업의 데이터 요청 횟수(N) 및 처리 요청 데이터 크기(S)로부터 결정되는 플랫폼의 소비 전력 관리 방법.
  14. 작업 완료를 위해 디바이스에 주어지는 명령어의 집합인 잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼에 있어서,
    소정의 이벤트를 발생시키는 응용부 ; 및
    상기 응용부로부터 상기 이벤트 발생정보를 전달받은 때, 상기 잡(job)의 작업부하에 따라 시간 제약, 메모리 크기 및 상기 버퍼링에 소비되는 에너지 중 하나 이상을 고려하여 최적 스케줄링 주기 T를 도출한 후 해당 디바이스의 파워 상태를 조절하는 운영체제부를 포함하는
    잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼.
  15. 제14항에 있어서,
    상기 운영체제부는,
    작업 생성 정보를 전달받고, 현재 실행중인 작업에 대한 모니터링, 관리 및 작업 상태 정보 전달을 수행하는 프로세스 매니저;
    스케줄 주기에 따라 상기 잡(job)을 스케줄링하는 스케줄러;
    상기 잡(job)이 실행되는 디바이스의 구동을 조정하는 디바이스 드라이버; 및
    작업 부하에 따라, 시간 제약, 메모리 크기 및 상기 버퍼링에 소비되는 에너지 중 하나 이상을 고려하여 최적 스케줄링 주기 T를 도출하고, 상기 프로세스 매니저로부터 전달받은 작업(task) 상태 정보 및 상기 스케줄러부터 전달받은 잡(job) 스케줄을 기초로 상기 디바이스 드라이버가 해당 디바이스의 파워상태를 조절하도록 하는 파워매니저를 포함하는
    잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼.
  16. 제15항에 있어서,
    상기 파워매니저는,
    잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00065
    과 버스트(burst) 스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00066
    가 같을 때의 스케줄 주기를 기초로,
    상기 메모리 크기로 인해 제약받는 스케줄 주기인 제1 주기 및 상기 시간 제 약으로 인한 스케줄 주기인 제2 주기 중 하나 이상을 고려하여 최적 스케줄링 주기 T를 도출하여 상기 스케줄러에 전달되도록 하는 T 계산부; 및
    상기 프로세스 매니저로부터 전달받은 작업(task) 상태 정보 및 상기 스케줄러부터 전달받은 잡(job) 스케줄을 기초로 상기 디바이스 드라이버가 해당 디바이스의 파워상태를 조절하도록 하는 파워상태셋팅부를 포함하는
    잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼.
  17. 제16항에 있어서,
    상기 T계산부는,
    작업 부하에 따라 상기 제1 주기 혹은 상기 제2 주기를 최적 스케줄링 주기 T 결정에 제약조건으로 고려하는
    잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼
  18. 제17항에 있어서,
    상기 T계산부는,
    상기 잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00067
    과 버스트(burst) 스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00068
    가 같을 때의 스케줄 주기값이, 상기 제1 주기 혹은 상기 제2 주기의 값보다 크거나 같을 때, 분할(split) 스케줄링을 선택하는
    잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼.
  19. 제17항에 있어서,
    상기 T계산부는,
    상기 잡(job)을 분할(split)스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00069
    과 버스트(burst) 스케줄링 할 때의 소비 에너지
    Figure 112005005967860-PAT00070
    가 같을 때의 스케줄 주기값이, 상기 제1 주기 혹은 상기 제2 주기의 값보다 작을 때,
    상기 제1 주기 및 상기 제2 주기 중 더 작은 주기 값에 따른 버스트(burst) 스케줄링을 선택하는
    잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼.
  20. 제16항에 있어서,
    상기
    Figure 112005005967860-PAT00071
    Figure 112005005967860-PAT00072
    가 같을 때의 주기는
    Figure 112005005967860-PAT00073
    =
    Figure 112005005967860-PAT00074
    일 때의 스케줄 주기 T로부터 도출되며 상기
    Figure 112005005967860-PAT00075
    과 상기
    Figure 112005005967860-PAT00076
    는 각각
    Figure 112005005967860-PAT00077
    (S : 작업이 처리 요청하는 데이터 크기, N : 작업의 데이터 요청 횟수
    Figure 112005005967860-PAT00078
    : 전력상태천이 소모 에너지
    Figure 112005005967860-PAT00079
    : 전력상태 천이에 따른 지연시간
    BW : 장치의 자료 처리능력(bps, fps 등)
    Figure 112005005967860-PAT00080
    : 비지 워킹(busy working) 상태의 소모전력
    Figure 112005005967860-PAT00081
    : 아이들 워킹(idle working) 상태의 소모전력
    Figure 112005005967860-PAT00082
    : 슬리핑(sleeping) 상태의 소모전력
    Figure 112005005967860-PAT00083
    : n Kbyte 버퍼 메모리의 소모 전력)
    인 잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼
  21. 제16항에 있어서,
    상기
    Figure 112005005967860-PAT00084
    Figure 112005005967860-PAT00085
    가 같을 때의 주기는,
    Figure 112005005967860-PAT00086
    (S : 작업이 처리 요청하는 데이터 크기, N : 작업의 데이터 요청 횟수
    Figure 112005005967860-PAT00087
    : 전력상태천이 소모 에너지
    Figure 112005005967860-PAT00088
    : 전력상태 천이에 따른 지연시간
    BW : 장치의 자료 처리능력(bps, fps 등)
    Figure 112005005967860-PAT00089
    : 아이들 워킹(idle working) 상태의 소모전력
    Figure 112005005967860-PAT00090
    : 슬리핑(sleeping) 상태의 소모전력)
    인 잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼.
  22. 제16항에 있어서,
    상기 제1 주기는,
    Figure 112005005967860-PAT00091
    (S : 작업이 처리 요청하는 데이터 크기, N : 작업의 데이터 요청 횟수 )
    인 잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼.
  23. 제14항에 있어서,
    상기 T계산부는,
    먼저 계산한 제1 디바이스의 최적 스케줄링 주기 T를, 제2 디바이스의 상기 최적 스케줄링 주기 T 계산에 있어서 시간 제약으로 고려하는
    잡(job)의 스케줄링을 통해 소비전력을 관리하는 플랫폼.
  24. 제14항에 있어서,
    상기 메모리 크기는,
    상기 메모리가 버스트(burst) 스케줄에 따라 리퀘스트(request)를 버퍼링하 는데 소비하는 에너지가 버스트(burst) 스케줄에 따라 절약되는 에너지보다 적을 때의 메모리 크기인
    잡(job) 스케줄링을 통해 소비전력을 관리하는 플랫폼.
  25. 제14항에 있어서,
    상기 이벤트는,
    상기 작업의 생성, 상기 작업의 소멸, 상기 메모리 크기의 변화, 상기 시간 제약의 변화, 상기 작업의 데이터 요청 횟수(N)의 변화 및 상기 작업의 처리 요청 데이터 크기(S)의 변화 중 하나 이상을 포함하는
    잡(job) 스케줄링을 통해 소비전력을 관리하는 플랫폼.
  26. 제25항에 있어서,
    상기 작업 부하는
    해당 작업의 데이터 요청 횟수(N) 및 처리 요청 데이터 크기(S)로부터 결정되는 잡(job) 스케줄링을 통해 소비전력을 관리하는 플랫폼.
KR1020050008932A 2004-12-08 2005-02-01 플랫폼의 소비 전력 관리 방법 및 그 플랫폼 KR100661851B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20040103023 2004-12-08
KR1020040103023 2004-12-08

Publications (2)

Publication Number Publication Date
KR20060064438A true KR20060064438A (ko) 2006-06-13
KR100661851B1 KR100661851B1 (ko) 2006-12-27

Family

ID=36578070

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050008932A KR100661851B1 (ko) 2004-12-08 2005-02-01 플랫폼의 소비 전력 관리 방법 및 그 플랫폼

Country Status (3)

Country Link
US (1) US20080141265A1 (ko)
KR (1) KR100661851B1 (ko)
WO (1) WO2006062270A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146984A1 (en) * 2007-05-30 2008-12-04 Kyungpook National University Industry-Academic Cooperation Foundation Power measurement system using etm interface and method thereof
WO2013022464A1 (en) * 2011-08-10 2013-02-14 Microsoft Corporation Suspension and/or throttling of processes for connected standby
US8788863B2 (en) 2011-08-10 2014-07-22 Microsoft Corporation System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state
US8930951B2 (en) 2011-08-10 2015-01-06 Microsoft Corporation Suspension and/or throttling of processes for connected standby

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2439104A (en) * 2006-06-15 2007-12-19 Symbian Software Ltd Managing power on a computing device by minimising the number of separately activated timer events such that the device is powering up less often.
KR101459140B1 (ko) 2007-12-26 2014-11-07 엘지전자 주식회사 전원관리 제어 장치 및 방법
US8566628B2 (en) * 2009-05-06 2013-10-22 Advanced Micro Devices, Inc. North-bridge to south-bridge protocol for placing processor in low power state
KR101075949B1 (ko) 2009-05-29 2011-10-25 중앙대학교 산학협력단 모바일 내장형 시스템을 위한 전력 관리 시스템 및 그 방법
US8291249B2 (en) * 2009-09-25 2012-10-16 Advanced Micro Devices, Inc. Method and apparatus for transitioning devices between power states based on activity request frequency
US20110112798A1 (en) * 2009-11-06 2011-05-12 Alexander Branover Controlling performance/power by frequency control of the responding node
US8776066B2 (en) * 2009-11-30 2014-07-08 International Business Machines Corporation Managing task execution on accelerators
JP4866470B2 (ja) * 2010-05-31 2012-02-01 株式会社エナリス 電力需要管理装置および電力需要管理システム
JP5585651B2 (ja) * 2010-06-29 2014-09-10 富士通株式会社 マルチコアシステム、スケジューリング方法およびスケジューリングプログラム
US8645723B2 (en) * 2011-05-11 2014-02-04 Apple Inc. Asynchronous management of access requests to control power consumption
US9195285B2 (en) * 2012-12-27 2015-11-24 Intel Corporation Techniques for platform duty cycling
JP6175980B2 (ja) * 2013-08-23 2017-08-09 富士通株式会社 Cpuの制御方法、制御プログラム、情報処理装置
CN105474173B (zh) * 2013-10-01 2019-08-06 英特尔公司 用于减少功率消耗的并行的网络应用调度
US9471130B2 (en) * 2013-10-25 2016-10-18 Advanced Micro Devices, Inc. Configuring idle states for entities in a computing device based on predictions of durations of idle periods
US9521562B2 (en) * 2014-10-16 2016-12-13 Qualcomm Incorporated Decoupling radio frequency (RF) and baseband processing

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6040866A (en) * 1997-08-19 2000-03-21 Chen; Meng-Chang Transmission of variable-bit-rate information data on constant-bit-rate channel
KR100248007B1 (ko) * 1997-12-03 2000-10-02 윤종용 이동통신단말장치및그소프트웨어플랫폼
US6170042B1 (en) * 1998-02-24 2001-01-02 Seagate Technology Llc Disc drive data storage system and method for dynamically scheduling queued commands
US6189106B1 (en) * 1998-05-08 2001-02-13 Gateway, Inc. Method and apparatus for operating an electronic device at an optimal power mode based upon a scheduled event
US6301640B2 (en) * 1998-07-02 2001-10-09 Lucent Technologies, Inc. System and method for modeling and optimizing I/O throughput of multiple disks on a bus
JP2001209685A (ja) * 2000-01-26 2001-08-03 Ntt Data Corp スケジュール管理方式
DE60002983T2 (de) * 2000-04-28 2003-12-04 Alcatel Sa Verfahren, mobiles Endgerät und Basisstation zur Zuteilung von Betriebsmitteln in einem geteilten Kanal
US7137117B2 (en) * 2000-06-02 2006-11-14 Microsoft Corporation Dynamically variable idle time thread scheduling
DE60139962D1 (de) * 2001-12-28 2009-10-29 Nokia Corp Verfahren und Vorrichtung zur Paketablaufsteuerung
US8032891B2 (en) * 2002-05-20 2011-10-04 Texas Instruments Incorporated Energy-aware scheduling of application execution
US7155617B2 (en) * 2002-08-01 2006-12-26 Texas Instruments Incorporated Methods and systems for performing dynamic power management via frequency and voltage scaling
KR100451213B1 (ko) * 2002-11-28 2004-10-13 엘지전자 주식회사 휴대 단말기 전원 관리 방법
AU2003300948A1 (en) * 2002-12-16 2004-07-22 Globespanvirata Incorporated System and method for scheduling thread execution
US7093141B2 (en) * 2002-12-18 2006-08-15 International Business Machines Corporation Power aware adaptive polling
JP2004240669A (ja) * 2003-02-05 2004-08-26 Sharp Corp ジョブスケジューラおよびマルチプロセッサシステム
EP1658554A1 (en) * 2003-08-20 2006-05-24 Koninklijke Philips Electronics N.V. Dynamic memory buffer
US20070201413A1 (en) * 2006-02-27 2007-08-30 Nokia Corporation Method and system to enhance energy savings in multicast transmissions in WLAN

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146984A1 (en) * 2007-05-30 2008-12-04 Kyungpook National University Industry-Academic Cooperation Foundation Power measurement system using etm interface and method thereof
WO2013022464A1 (en) * 2011-08-10 2013-02-14 Microsoft Corporation Suspension and/or throttling of processes for connected standby
US8677158B2 (en) 2011-08-10 2014-03-18 Microsoft Corporation System and method for assigning a power management classification including exempt, suspend, and throttling to an process based upon various factors of the process
US8788863B2 (en) 2011-08-10 2014-07-22 Microsoft Corporation System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state
US8930951B2 (en) 2011-08-10 2015-01-06 Microsoft Corporation Suspension and/or throttling of processes for connected standby
US8935697B2 (en) 2011-08-10 2015-01-13 Microsoft Corporation Suspension and/or throttling of processes for connected standby
US9671816B2 (en) 2011-08-10 2017-06-06 Microsoft Technology Licensing, Llc Suspension and/or throttling of processes for connected standby
KR20180030235A (ko) * 2011-08-10 2018-03-21 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 접속형 대기 상태를 프로세스의 일시 정지 및/또는 조절 기법

Also Published As

Publication number Publication date
US20080141265A1 (en) 2008-06-12
WO2006062270A1 (en) 2006-06-15
KR100661851B1 (ko) 2006-12-27

Similar Documents

Publication Publication Date Title
KR100661851B1 (ko) 플랫폼의 소비 전력 관리 방법 및 그 플랫폼
US11579934B2 (en) Scheduler for amp architecture with closed loop performance and thermal controller
US20080301474A1 (en) Performance Analysis Based System Level Power Management
US8639955B2 (en) Method and system for controlling power in a chip through a power performance monitor and control unit
KR101629155B1 (ko) 전력-인식 스레드 스케줄링 및 프로세서들의 동적 사용
US9086876B2 (en) Technique for selecting a frequency of operation in a processor system
AlEnawy et al. Energy-constrained scheduling for weakly-hard real-time systems
ul Islam et al. Hybrid DVFS scheduling for real-time systems based on reinforcement learning
JP2008165798A (ja) データ処理装置におけるプロセッサの性能管理
JPWO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
Raghunathan et al. Adaptive power-fidelity in energy-aware wireless embedded systems
Borghesi et al. Scheduling-based power capping in high performance computing systems
Zeng et al. Practical energy-aware scheduling for real-time multiprocessor systems
Ramesh et al. Energy aware proportionate slack management scheduling for multiprocessor systems
Zhang et al. Power-aware processor scheduling under average delay constraints
TWI387866B (zh) 頻率調整方法及使用此方法的電子裝置與電腦程式產品
Lin et al. Applying pinwheel scheduling and compiler profiling for power-aware real-time scheduling
Chen et al. Low power scheduling based on statistics
KR101075949B1 (ko) 모바일 내장형 시스템을 위한 전력 관리 시스템 및 그 방법
Chang et al. System-Level Power Management
Salah et al. Operating System Support for CPU Power Management in Mobile Devices
Krishnapura et al. A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption in I/O Devices
Naji et al. Operating System Support for CPU Power Management in Mobile Devices
Chu et al. A Novel Power-Aware Scheduling Mechanism for a Multicore-Based Smart Sensor
Peltonen Energy-aware scheduling

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee