KR102437625B1 - 전자 장치 및 전자 장치의 전력 관리 방법 - Google Patents
전자 장치 및 전자 장치의 전력 관리 방법 Download PDFInfo
- Publication number
- KR102437625B1 KR102437625B1 KR1020200075325A KR20200075325A KR102437625B1 KR 102437625 B1 KR102437625 B1 KR 102437625B1 KR 1020200075325 A KR1020200075325 A KR 1020200075325A KR 20200075325 A KR20200075325 A KR 20200075325A KR 102437625 B1 KR102437625 B1 KR 102437625B1
- Authority
- KR
- South Korea
- Prior art keywords
- power mode
- network
- processor
- processed
- packets
- 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
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/22—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Small-Scale Networks (AREA)
Abstract
전자 장치 및 전자 장치의 전력 관리 방법이 개시된다. 전자 장치의 전력 관리 방법은 전자 장치의 프로세서를 일반 전력 모드로 구동시키는 단계, 외부 장치로부터 데이터 패킷을 수신하는 단계, 수신된 데이터 패킷을 폴링으로 처리하는 단계, 네트워크 인터럽트가 발생되는 경우, 폴링으로 처리한 데이터 패킷의 제1 처리 패킷 수를 획득하는 단계 및 제1 처리 패킷 수가 제1 임계 값을 초과하는 경우, 일반 전력 모드를 네트워크 집중 전력 모드로 전환하는 단계를 포함한다.
Description
본 개시는 전자 장치 및 전자 장치의 전력 관리 방법에 관한 것으로, 더욱 상세하게는 네트워크 부하에 기초하여 프로세서의 전력을 관리하는 전자 장치 및 전자 장치의 전력 관리 방법에 관한 것이다.
전자 및 통신 기술의 발전에 따라 전자 장치는 복잡한 프로그램을 처리하고 많은 데이터를 처리해야 한다. 특히, 데이터 센터의 서버는 많은 데이터를 처리해야 할 뿐만 아니라 높은 에너지 효율과 클라이언트에게 빠른 응답 시간(낮은 꼬리 대기 시간(low tail latency))를 제공하는 것이 필수적이다.
이러한 요구에 따라 동적 전압 및 주파수 변환 기술이 제안되었다. 동적 전압 및 주파수 변환 기술(Dynamic Voltage and Frequency Scaling, DVFS)은 동적으로 프로세서(CPU)의 동작 속도 및 그에 따른 전압을 조절함으로써, 동적으로 에너지 소모량을 조절할 수 있는 기술을 의미한다. 동적 전압 및 주파수 변환 기술은 프로세서의 동작 속도와 전압에 따른 여러 성능 상태(P-state)를 정의하여 프로세서의 성능을 단계적으로 조절할 수 있다. 리눅스(Linux)와 같은 운영체제는 기본적으로 프로세서의 요구가 크면 주파수 및 전압을 높이고, 요구가 작으면 주파수 및 전압을 낮춤으로써 에너지 효율을 높이기 위한 전력 관리 기법(governor)을 사용하고 있다.
한편, 대규모 서버 환경에서는 멀티 코어 프로세서가 사용되는데, 현재 서버 프로세서는 각 코어가 다른 성능 상태를 가질 수 있어 각 서비스들의 프로세서 요구량에 맞춰 더 유연하게 조절할 수 있다. 그러나, 기존의 시스템에서 제공하던 프로세서 요구량에 기반한 전력 관리 기법은 네트워크로 요청을 받는 서비스, 즉, 지연 시간에 민감한 서비스들의 지연 시간을 증가시키거나 원하는 수준의 지연시간을 달성하기 어려운 점이 있다.
이러한 문제를 해결하기 위해, 네트워크 인터페이스 카드가 네트워크 패킷의 정보를 분석하고 각 코어들의 처리 능력을 미리 증가시키도록 요청하는 방법이 제안되었다. 이러한 전력 관리 방법은 지연 시간에 민감한 서비스들이 높은 네트워크 부하로 인해 지연 시간이 길어질 수 있는 상황을 사전에 탐지하고 코어의 처리 능력을 미리 증가시킴으로써 낮은 지연 시간 및 에너지 효율성을 제공할 수 있다.
그러나, 이러한 전력 관리 방법은 네트워크 패킷의 정보를 분석하기 위해 네트워크 인터페이스 카드의 하드웨어 수정이 필요하고, 코어 당 동적 전압 및 주파수 변환을 고려하지 않은 문제점이 있다.
또한, 다른 전력 관리 방법으로 지연 시간에 민감한 서비스들의 큐잉된 요청 수에 따라 프로세서들의 성능 상태를 조절하는 통계학적 모델이 제안되었다. 이러한 전력 관리 방법은 지연 시간에 민감한 서비스들의 성능 저하 없이 에너지 소모량을 줄일 수 있다.
그러나, 이러한 전력 관리 방법은 네트워크 패킷에 의한 요청의 큐잉 상태가 변경될 때마다 프로세서의 처리 능력을 변경해야 하므로 너무 빈번한 프로세서의 처리 능력 상태 변경이 요구되는 문제점이 있다.
따라서, 별도의 하드웨어 추가나 어플리케이션의 수정없이 지연 시간에 민감한 서비스를 처리하는데 필요한 에너지 소비량을 줄이고 서비스의 성능 저하없이 높은 에너지 효율을 유지할 수 있는 전력 관리 기술에 대한 필요성이 존재한다.
본 개시는 상술한 문제점을 해결하기 위한 것으로, 본 개시의 목적은 하드웨어나 어플리케이션 수정없이 지연 시간에 민감한 서비스 처리에 대한 전력 소비를 줄이고, 성능 저하없이 전력의 효율을 높일 수 있는 전자 장치 및 전자 장치의 전력 관리 방법을 제공하는 것이다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치의 전력 관리 방법은 상기 전자 장치의 프로세서를 일반 전력 모드로 구동시키는 단계, 외부 장치로부터 데이터 패킷을 수신하는 단계, 상기 수신된 데이터 패킷을 폴링으로 처리하는 단계, 네트워크 인터럽트가 발생되는 경우, 상기 폴링으로 처리한 데이터 패킷의 제1 처리 패킷 수를 획득하는 단계 및 상기 제1 처리 패킷 수가 제1 임계 값을 초과하는 경우, 상기 일반 전력 모드를 네트워크 집중 전력 모드로 전환하는 단계를 포함할 수 있다.
또한, 전자 장치의 전력 관리 방법은 상기 전자 장치의 프로세서를 기 설정된 시간 동안 상기 네트워크 집중 전력 모드로 구동시키는 단계, 상기 기 설정된 시간 동안 발생된 네트워크 인터럽트 횟수 및 폴링으로 처리한 데이터 패킷의 제2 처리 패킷 수를 획득하는 단계 및 상기 네트워크 인터럽트 횟수 대비 상기 제2 처리 패킷 수의 비율이 제2 임계 값 미만인 경우, 상기 네트워크 집중 전력 모드를 상기 일반 전력 모드로 전환하는 단계를 더 포함할 수 있다.
여기서, 전자 장치의 전력 관리 방법은 상기 네트워크 인터럽트 횟수 및 상기 제2 처리 패킷 수를 주기적으로 리셋하는 단계를 더 포함할 수 있다.
한편, 상기 네트워크 집중 전력 모드로 전환하는 단계는 상기 프로세서의 전력을 관리하는 관리자를 비활성화시키고, 상기 일반 전력 모드로 전환하는 단계는 상기 관리자를 활성화시켜 상기 관리자에 의해 상기 프로세서의 전력을 관리할 수 있다.
그리고, 상기 네트워크 집중 전력 모드는 상기 프로세서의 전압 및 주파수가 최대 값으로 설정되는 모드일 수 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 일반 전력 모드로 구동되는 프로세서 및 외부 장치로부터 데이터 패킷을 수신하는 통신기를 포함하고, 상기 프로세서는 상기 수신된 데이터 패킷을 폴링으로 처리하고, 네트워크 인터럽트가 발생되는 경우 상기 폴링으로 처리한 데이터 패킷의 제1 처리 패킷 수를 획득하며, 상기 제1 처리 패킷 수가 제1 임계 값을 초과하는 경우 상기 일반 전력 모드를 네트워크 집중 전력 모드로 전환할 수 있다.
그리고, 상기 프로세서는 기 설정된 시간 동안 상기 네트워크 집중 전력 모드로 구동되고, 상기 기 설정된 시간 동안 발생된 네트워크 인터럽트 횟수 및 폴링으로 처리한 데이터 패킷의 제2 처리 패킷 수를 획득하며, 상기 네트워크 인터럽트 횟수 대비 상기 제2 처리 패킷 수의 비율이 제2 임계 값 미만인 경우 상기 네트워크 집중 전력 모드를 상기 일반 전력 모드로 전환할 수 있다.
또한, 상기 프로세서는 상기 네트워크 인터럽트 횟수 및 상기 제2 처리 패킷 수를 주기적으로 리셋할 수 있다.
그리고, 상기 프로세서는 상기 네트워크 집중 전력 모드로 전환하는 경우 상기 프로세서의 전력을 관리하는 관리자를 비활성화시키고, 상기 일반 전력 모드로 전환하는 경우 상기 관리자를 활성화시켜 상기 관리자에 의해 상기 프로세서의 전력을 관리할 수 있다.
한편, 상기 네트워크 집중 전력 모드는 상기 프로세서의 전압 및 주파수가 최대 값으로 설정되는 모드일 수 있다.
또는, 상기 프로세서는 복수의 코어를 포함하고, 상기 복수의 코어 각각은 일반 전력 모드로 구동되고, 상기 수신된 데이터 패킷을 폴링으로 처리하며, 상기 프로세서는 네트워크 인터럽트가 발생된 코어에 대해 상기 폴링으로 처리한 데이터 패킷의 제1 처리 패킷 수를 획득하며, 상기 제1 처리 패킷 수가 제1 임계 값을 초과하는 경우 상기 네트워크 인터럽트가 발생된 코어에 대해 상기 일반 전력 모드를 네트워크 집중 전력 모드로 전환할 수 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치의 전력 관리 방법을 수행하는 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록매체는 상기 전자 장치의 프로세서를 일반 전력 모드로 구동시키는 단계, 외부 장치로부터 데이터 패킷을 수신하는 단계, 상기 수신된 데이터 패킷을 폴링으로 처리하는 단계, 네트워크 인터럽트가 발생되는 경우, 상기 폴링으로 처리한 데이터 패킷의 제1 처리 패킷 수를 획득하는 단계 및 상기 제1 처리 패킷 수가 제1 임계 값을 초과하는 경우, 상기 일반 전력 모드를 네트워크 집중 전력 모드로 전환하는 단계를 포함하는 전자 장치의 전력 관리 방법을 수행하는 프로그램이 기록될 수 있다.
이상 설명한 바와 같이, 본 개시의 다양한 실시 예에 따르면, 전자 장치 및 전자 장치의 전력 관리 방법은 별도의 하드웨어 추가나 어플리케이션을 수정하지 않고 지연 시간에 민감한 서비스를 처리할 수 있다.
그리고, 전자 장치 및 전자 장치의 전력 관리 방법은 성능 저하없이 전력 소비를 줄임으로써 전력의 효율을 높일 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 프로세서의 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 모드 전환 모니터가 패킷 처리 상태를 관찰하기 위한 알고리즘을 설명하는 도면이다.
도 4는 본 개시의 일 실시 예에 따른 모드 결정 엔진이 전력 모드를 선택하기 위한 알고리즘을 설명하는 도면이다.
도 5는 기존 전력 관리 방법과 본 개시의 전력 관리 방법의 패킷 처리 수를 나타내는 도면이다.
도 6은 기존 전력 관리 방법과 본 개시의 전력 관리 방법의 패킷 대기 시간을 나타내는 도면이다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 전력 관리 방법의 흐름도이다.
도 8은 본 개시의 일 실시 예에 따른 네트워크 인터럽트 수와 폴링 처리 패킷 수에 기초한 전력 관리 방법의 흐름도이다.
도 2는 본 개시의 일 실시 예에 따른 프로세서의 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 모드 전환 모니터가 패킷 처리 상태를 관찰하기 위한 알고리즘을 설명하는 도면이다.
도 4는 본 개시의 일 실시 예에 따른 모드 결정 엔진이 전력 모드를 선택하기 위한 알고리즘을 설명하는 도면이다.
도 5는 기존 전력 관리 방법과 본 개시의 전력 관리 방법의 패킷 처리 수를 나타내는 도면이다.
도 6은 기존 전력 관리 방법과 본 개시의 전력 관리 방법의 패킷 대기 시간을 나타내는 도면이다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 전력 관리 방법의 흐름도이다.
도 8은 본 개시의 일 실시 예에 따른 네트워크 인터럽트 수와 폴링 처리 패킷 수에 기초한 전력 관리 방법의 흐름도이다.
이하에서는 첨부된 도면을 참조하여 다양한 실시 예를 보다 상세하게 설명한다. 본 명세서에 기재된 실시 예는 다양하게 변형될 수 있다. 특정한 실시 예가 도면에서 묘사되고 상세한 설명에서 자세하게 설명될 수 있다. 그러나, 첨부된 도면에 개시된 특정한 실시 예는 다양한 실시 예를 쉽게 이해하도록 하기 위한 것일 뿐이다. 따라서, 첨부된 도면에 개시된 특정 실시 예에 의해 기술적 사상이 제한되는 것은 아니며, 발명의 사상 및 기술 범위에 포함되는 모든 균등물 또는 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이러한 구성요소들은 상술한 용어에 의해 한정되지는 않는다. 상술한 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
한편, 본 명세서에서 사용되는 구성요소에 대한 "모듈" 또는 "부"는 적어도 하나의 기능 또는 동작을 수행한다. 그리고, "모듈" 또는 "부"는 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합에 의해 기능 또는 동작을 수행할 수 있다. 또한, 특정 하드웨어에서 수행되어야 하거나 적어도 하나의 제어부에서 수행되는 "모듈" 또는 "부"를 제외한 복수의 "모듈들" 또는 복수의 "부들"은 적어도 하나의 모듈로 통합될 수도 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 "A 또는 B"라고 기재한 것은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
그 밖에도, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그에 대한 상세한 설명은 축약하거나 생략한다. 한편, 각 실시 예는 독립적으로 구현되거나 동작될 수도 있지만, 각 실시 예는 조합되어 구현되거나 동작될 수도 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 블록도이다.
도 1을 참조하면, 전자 장치(100)는 통신기(110) 및 프로세서(120)를 포함할 수 있다.
통신기(110)는 외부 장치와 유선 또는 무선 방식으로 연결되고, 외부 장치로부터 데이터 패킷을 수신할 수 있다. 또는, 통신기(110)는 외부 장치로 데이터 패킷을 전송할 수 있다. 예를 들어, 무선 통신 방식은 GSM, CDMA, LTE, LTE-A, 5G, WLAN, 와이-파이, 블루투스, 무선랜 등의 방식을 포함할 수 있다. 유선 통신 방식은 UART, RS-232, RS-485, 유선랜 등의 방식을 포함할 수 있다.
프로세서(120)는 통신기(110)를 통해 수신된 데이터 패킷을 처리할 수 있다. 그리고, 프로세서(120)는 수신된 데이터 패킷의 양에 따라 일반 전력 모드 또는 네트워크 집중 전력 모드 중 하나의 모드로 프로세서(120)의 전력을 관리할 수 있다. 프로세서(120)는 일반적으로 일반 전력 모드로 프로세서(120)를 구동시킬 수 있다. 예를 들어, 일반 전력 모드는 복수의 단계를 포함할 수 있다(예, P1, P2, P3 등). 프로세서(120)는 처리해야 하는 수신된 데이터 패킷의 양이나 어플리케이션의 부하 등에 따라 복수의 단계 중 하나의 단계로 설정된 일반 전력 모드로 프로세서(120)를 구동시킬 수 있다.
한편, 프로세서(120)는 수신된 데이터 패킷을 폴링(Polling)으로 처리할 수 있다. 폴링은 프로세서가 외부 장치로부터 알림이 있는지 계속 확인하면서 외부 장치로부터 수신된 데이터 패킷을 처리하는 방식을 의미한다. 폴링 방식은 I/O 작업의 성능을 향상시킬 수 있지만, 고성능의 프로세서(120)가 느린 I/O 장치의 폴링에만 활용되기 때문에 다른 작업을 수행하지 못할 수 있고 에너지 소모량이 늘어나는 단점이 있다.
데이터 패킷을 처리하는 다른 방식으로는 인터럽트 방식이 있다. 인터럽트는 외부 장치로부터 알림을 받는 경우, 다른 작업을 수행 중이던 프로세서(120)가 수행 중인 작업을 잠시 중단하고 발생된 인터럽트를 처리한 뒤 중단된 작업을 재개하는 방식을 의미한다. 인터럽트 방식은 다른 작업을 처리하면서 외부 장치와의 통신을 지원하는 장점이 있지만, 외부 장치와의 통신이 증가하면 프로세서의 인터럽트 처리로 인해 과도한 부하가 발생하여 다른 작업의 수행을 방해할 수 있는 단점이 있다.
네트워크 인터럽트가 발생되는 경우, 프로세서(120)는 폴링으로 처리한 데이터 패킷의 처리 패킷 수를 획득할 수 있다. 그리고, 프로세서(120)는 폴링으로 처리한 데이터 패킷의 처리 패킷 수가 제1 임계 값을 초과하는 경우, 일반 전력 모드를 네트워크 집중 전력 모드로 전환할 수 있다. 예를 들어, 네트워크 집중 전력 모드는 프로세서(120)의 전압 및 주파수(V/F)를 최대 값으로 설정(P0 상태)한 프로세서(120)의 최대 성능 상태를 의미할 수 있다. 폴링으로 처리한 데이터 패킷의 처리 패킷 수의 증가는 보류중인 패킷의 수가 증가한다는 것을 의미할 수 있다. 따라서, 폴링 이벤트 값이 제1 임계 값을 초과한다는 것은 프로세서(120)가 현재 전압 및 주파수로 네트워크 데이터 패킷을 충분히 빨리 처리하기 어렵다는 의미일 수 있다. 따라서, 프로세서(120)는 전압 및 주파수를 최대 값으로 높여서 네트워크 데이터 패킷을 처리할 수 있다. 제1 임계 값은 전자 장치의 처리 속도 및 성능에 따라 적절하게 설정될 수 있다. 그리고, 프로세서(120)는 네트워크 인터럽트 횟수 및 폴링으로 처리한 데이터 패킷의 처리 패킷 수를 주기적으로 리셋할 수 있다. 즉, 프로세서(120)는 특정 이벤트가 발생할 때마다 네트워크 인터럽트 횟수 및 폴링으로 처리한 데이터 패킷의 처리 패킷 수를 리셋할 수 있다.
프로세서(120)는 일정한 시간 동안 네트워크 집중 전력 모드로 구동될 수 있다. 즉, 프로세서(120)는 일정한 시간 동안 네트워크 집중 전력 모드로 데이터 패킷을 처리할 수 있다. 프로세서(120)는 일정한 시간 동안 발생된 네트워크 인터럽트 횟수 및 폴링으로 처리한 데이터 패킷의 처리 패킷 수를 획득할 수 있다. 그리고, 프로세서(120)는 일정한 시간 동안 발생된 네트워크 인터럽트 횟수 대비 일정한 시간 동안 폴링으로 처리한 데이터 패킷의 처리 패킷 수의 비율을 산출할 수 있다. 프로세서(120)는 네트워크 인터럽트 횟수 대비 폴링으로 처리한 데이터 패킷의 처리 패킷 수의 비율이 제2 임계 값 미만인 경우, 네트워크 집중 전력 모드를 일반 전력 모드로 전환할 수 있다. 폴링으로 처리한 데이터 패킷의 처리 패킷 수의 감소는 보류중인 패킷의 수가 감소한다는 것을 의미할 수 있다. 따라서, 발생된 네트워크 인터럽트 횟수 대비 폴링으로 처리한 데이터 패킷의 처리 패킷 수의 비율이 제2 임계 값 미만이라는 것은 일반적은 프로세서(120)의 처리 속도로 네트워크 데이터 패킷을 충분히 처리할 수 있다는 것을 의미할 수 있다. 따라서, 프로세서(120)는 전력 소비의 효율을 위해 일반 전력 모드로 전환할 수 있다. 제2 임계 값은 전자 장치의 처리 속도 및 성능에 따라 적절하게 설정될 수 있다. 또한, 제2 임계 값은 제1 임계 값과 동일한 값일 수도 있다.
아래에서는 프로세서(120)의 구조 및 동작 과정에 대해 설명한다.
도 2는 본 개시의 일 실시 예에 따른 프로세서의 블록도이고, 도 3은 본 개시의 일 실시 예에 따른 모드 전환 모니터가 패킷 처리 상태를 관찰하기 위한 알고리즘을 설명하는 도면이며, 도 4는 본 개시의 일 실시 예에 따른 모드 결정 엔진이 전력 모드를 선택하기 위한 알고리즘을 설명하는 도면이다. 도 2 내지 도 4를 참조하여 설명한다.
도 2를 참조하면, 프로세서(120)는 전력 관리자(121), 모드 결정 엔진(Decision Engine)(122), 모드 전환 모니터(Mode Transition Monitor)(123) 및 복수의 코어(124-1, 124-2, 124-n)를 포함할 수 있다.
프로세서(120)는 복수의 코어(124-1, 124-2, 124-n)를 포함하고, 각 코어는 개별적으로 네트워크 데이터 패킷을 처리할 수 있다. 즉, 각 코어는 폴링 방식 또는 인터럽트 방식으로 전달된 데이터 패킷을 처리할 수 있다. 이 경우, 프로세서(120)는 각 코어에 대한 폴링으로 처리한 데이터 패킷의 제1 처리 패킷 수를 획득하고, 제1 처리 패킷 수가 제1 임계 값을 초과하는 경우, 해당하는 코어에 대해 일반 전력 모드를 네트워크 집중 전력 모드로 전환할 수 있다. 또한, 프로세서(120)는 일정 시간 동안 네트워크 집중 전력 모드로 데이터 패킷을 처리한 코어에 대해 발생된 네트워크 인터럽트 횟수 및 폴링으로 처리한 데이터 패킷의 제2 처리 패킷 수를 획득할 수 있다. 그리고, 프로세서(120)는 네트워크 인터럽트 횟수 및 제2 처리 패킷 수의 비율을 산출하고, 산출된 비율이 제2 임계 값 미만이면 해당하는 코어에 대해 네트워크 집중 전력 모드를 일반 전력 모드로 전환할 수 있다.
전력 관리자(121)는 일반 전력 모드에서 각 코어(124-1, 124-2, 124-n)의 전력을 관리하는 모듈일 수 있다. 일반 전력 모드는 코어의 전압 및 주파수에 따른 복수의 단계를 포함할 수 있다. 전력 관리자(121)는 처리해야 하는 데이터 패킷의 양이나 어플리케이션의 부하 등에 따라 각 코어(124-1, 124-2, 124-n)가 적절히 부하를 처리할 수 있도록 일반 전력 모드의 복수의 단계 중 하나의 단계로 설정하여 각 코어(124-1, 124-2, 124-n)의 전력을 관리할 수 있다.
모드 전환 모니터(123)는 인터럽트와 폴링 사이의 모드 전환을 모니터링하고 각 코어(124-1, 124-2, 124-n)의 패킷 처리 상태를 관찰할 수 있다. 그리고, 모드 전환 모니터(123)는 각 코어의 패킷 처리 상태를 모드 결정 엔진(122)에게 알려줄 수 있다.
도 3에는 모드 전환 모니터(123)가 패킷 처리 상태를 관찰하기 위한 알고리즘의 일 실시 예가 도시되어 있다. 도 3을 참조하면, 모드 전환 모니터(123)는 두 개의 카운터(미도시)를 포함하고, 두 개의 카운터를 유지 및 관리할 수 있다. 두 개의 카운터는 폴링 카운터와 인터럽트 카운터일 수 있다. 두 개의 카운터는 각각 폴링 및 인터럽트 모드에서 처리된 네트워크 데이터 패킷 수를 산출할 수 있다(라인 2-3). 모드 전환 모니터(123)는 네트워크 강도 감지 모듈(Network Intensity Detector)을 포함할 수 있다. 네트워크 강도 감지 모듈은 폴링 카운터를 확인하고 네트워크 강도를 검사할 수 있다. 폴링 이벤트의 증가는 보류 중인 패킷 수가 증가한다는 것을 의미할 수 있다. 따라서, 폴링 이벤트 수가 기 설정된 임계 값을 초과하는 경우 모드 전환 모니터(123)는 코어가 현재 전압 및 주파수로 패킷을 충분히 처리할 수 없으므로 코어의 전압 및 주파수를 올려야 한다는 알림을 모드 결정 엔진(122)으로 전달할 수 있다(라인 4-6). 그리고, 모드 전환 모니터(123)는 카운터의 이벤트 횟수를 모드 결정 엔진(122)으로 전달하고 두 개의 카운터를 주기적으로 리셋할 수 있다(라인 7-10).
모드 결정 엔진(122)은 전달된 모드 전환 모니터(123)의 관찰 결과(예, 코어의 네트워크 데이터 패킷 처리 상태)에 따라 네트워크 집중 전력 모드와 일반 전력 모드 중에서 전력 모드를 선택할 수 있다. 모드 결정 엔진(122)은 코어가 현재 전력 모드(예, 현재 전압 및 주파수 상태)에서 네트워크 데이터 패킷을 충분히 빨리 처리할 수 없다고 판단하면 적시에 현재 전력 모드를 네트워크 집중 전력 모드(예, 최대 전압 및 주파수 상태)로 전환할 수 있다. 또한, 모드 결정 엔진(122)은 네트워크 집중 전력 모드로 구동중인 코어가 네트워크 데이터 패킷을 충분히 빠르게 처리할 수 있다고 판단하면 현재 전력 모드를 일반 전력 모드(예, P 상태)로 설정하여 지연 시간없이 에너지 소비를 줄일 수 있다.
도 4에는 모드 결정 엔진(122)이 전력 모드를 선택하기 위한 알고리즘의 일 실시 예가 도시되어 있다. 도 4를 참조하면, 모드 전환 모니터(123)로부터 알림을 수신할 때 네트워크 집중 전력 모드를 선택할 수 있다. 즉, 모드 전환 모니터(123)는 전력 관리자(121)를 비활성화시키고 코어의 현재 전압 및 주파수를 최대 값으로 설정할 수 있다(라인 3-4). 반대로, 모드 결정 엔진(122)은 주기적으로 폴링 비율을 산출하고 산출된 비율이 기 설정된 임계 값 미만인 경우 일반 전력 모드를 선택할 수 있다(라인 8-12). 즉, 모드 결정 엔진(122)은 모드 전환 모니터(123)로부터 일정 시간 동안 발생된 네트워크 인터럽트 이벤트 횟수 및 폴링 이벤트 횟수를 전달받을 수 있다. 그리고, 모드 결정 엔진(122)은 네트워크 인터럽트 이벤트 횟수 대비 폴링 이벤트 횟수의 비율을 산출하고, 산출된 비율이 기 설정된 임계 값 미만인 경우 코어의 전력 모드를 일반 전력 모드로 전환할 수 있다. 폴링 이벤트의 감소는 코어가 패킷을 충분히 처리할 수 있으므로 대기 열에 보류 중인 패킷 수가 적다는 것을 의미할 수 있다. 모드 결정 엔진(122)이 코어의 전력 모드를 일반 전력 모드로 전환하면, 전력 관리자(121)를 활성화시킬 수 있다(라인 9-10). 전력 관리자(121)는 P0보다 낮게 코어의 전압 및 주파수 상태를 적절히 설정할 수 있으므로 코어에서 소비되는 에너지를 줄일 수 있다.
본 개시의 전자 장치의 전력 관리 방법은 데이터 센터 서버의 SLO(Service Level Objectives)를 만족시키면서 에너지 소비를 줄일 수 있다. 본 개시의 전력 관리 방법은 C 상태 및 패킷 컨텍스트에 중점을 두지는 않지만, 하드웨어 변경없이 패킷 부하 뿐만 아니라 현재 특정 P 상태(일반 전력 모드)에서 동작하는 각 코어의 패킷 처리 상태를 고려할 수 있다. 또한, 본 개시의 전력 관리 방법은 각 코어가 개별적으로 동시에 패킷을 처리하기 때문에 코어별 DVFS(Dynamic Voltage and Frequency Scaling) 처리를 지원할 수 있다.
도 5는 기존 전력 관리 방법과 본 개시의 전력 관리 방법의 패킷 처리 수를 나타내는 도면이고, 도 6은 기존 전력 관리 방법과 본 개시의 전력 관리 방법의 패킷 대기 시간(packet latency)을 나타내는 도면이다. 도 5 및 도 6을 참조하여 설명한다.
도 5(a)에는 기존 전력 관리 방법으로 처리된 패킷 수가 도시되어 있고, 도 5(b)에는 본 개시의 전력 관리 방법으로 처리된 패킷 수가 도시되어 있다. 도 5(a)에 도시된 바와 같이, 기존 전력 관리 방법은 대부분 패킷 버스트(busrt)의 중간 또는 그 이후부터 V/F를 상승시켜 패킷의 레이턴시(latency)를 손상시킨다. 또한, 기존 전력 관리 방법은 P2, P3 또는 P6와 같이 P0보다 V/F를 낮게 설정하기 때문에 SLO 제약 조건에서 패킷 버스트를 처리하기에 충분하지 않을 수 있다.
반면에, 도 5(b)에 도시된 바와 같이, 본 개시의 전력 관리 방법은 패킷 버스트 초기에 현재 V/F의 상태를 최대로 설정할 수 있다. 또한, 본 개시의 전력 관리 방법은 폴링 비율이 감소할 때 현재 V/F를 빠르게 낮춤으로써 에너지 소비를 줄일 수 있다.
도 6에는 전력 관리 방식이 P95 및 P99 대기 시간 각각에 대해 2ms, 3ms로 주어진 경우, 패킷의 대기 시간을 표시한 도면이 도시되어 있다. x축은 20 개의 클라이언트 스레드에서 집계된 각 요청의 응답 도착 시간을 나타내고, y축은 대기 시간을 나타낸다. 도 6(a)에는 기존 전력 관리 방법의 패킷 대기 시간이 도시되어 있고, 도 6(b)에는 본 개시의 전력 관리 방법의 패킷 대기 시간이 도시되어 있다.
도 6(a)를 참조하면, P95 및 P99에 대한 SLO를 만족시키기 위해 2ms 및 3ms보다 긴 대기 시간을 가진 패킷은 각각 5% 및 1% 미만이어야 한다. 그러나, 도 6(a)에는 패킷의 24.6% 및 12.4%는 2ms 및 3ms보다 긴 대기 시간이 나타난다.
반면에, 도 6(b)에 도시된 바와 같이, 본 개시의 전력 관리 방법은 2.3% 및 0.5% 패캣만이 2ms 및 3ms보다 긴 대기 시간을 나타내며, 각각 P95 및 P99 대기 시간의 SLO를 만족시킬 수 있다.
지금까지 전력 관리를 수행하는 전자 장치의 다양한 실시 예를 설명하였다. 아래에서는 전력 관리 방법의 흐름도를 설명한다.
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 전력 관리 방법의 흐름도이다.
도 7을 참조하면, 전자 장치는 프로세서를 일반 전력 모드로 구동시킬 수 있다(S710). 예를 들어, 일반 전력 모드는 P1, P2, P3와 같이 다양한 V/F로 설정되는 복수의 단계를 포함할 수 있다. 일반 전력 모드에서는 전력 관리자에 의해 프로세서의 전력이 관리될 수 있다.
전자 장치는 외부 장치로부터 데이터 패킷을 수신할 수 있다(S720). 전자 장치는 수신된 데이터 패킷을 폴링으로 처리할 수 있다(S730). 폴링은 프로세서가 외부 장치로부터 알림이 있는지 계속 확인하면서 외부 장치로부터 수신된 데이터 패킷을 처리하는 방식을 의미한다. 전자 장치는 네트워크 인터럽트가 발생되는 경우, 폴링으로 처리한 데이터 패킷의 제1 처리 패킷 수를 획득할 수 있다(S740).
전자 장치는 제1 처리 패킷 수가 제1 임계 값을 초과하는 경우, 일반 전력 모드를 네트워크 집중 전력 모드로 전환할 수 있다(S750). 예를 들어, 네트워크 집중 전력 모드는 프로세서의 전압 및 주파수가 최대 값으로 설정되는 모드(P0)일 수 있다. 전자 장치는 프로세서의 전력을 관리하는 전력 관리자를 비활성화시킬 수 있다.
도 8은 본 개시의 일 실시 예에 따른 네트워크 인터럽트 수와 폴링 처리 패킷 수에 기초한 전체적인 전력 관리 방법의 흐름도이다.
도 8을 참조하면, 전자 장치는 기존 전력 관리 방법을 사용하여 전력을 관리할 수 있다(S810). 예를 들어, 기존 전력 관리 방법은 일반 전력 모드로 설정되어 전력을 관리하는 방법일 수 있다.
전자 장치는 네트워크 인터럽트 발생을 감지하고(S820), 폴링으로 처리한 패킷 수를 수집할 수 있다(S830). 전자 장치는 폴링으로 처리한 패킷 수가 제1 임계 값의 초과 여부를 판단할 수 있다(S840). 예를 들어, 제1 임계 값은 전자 장치의 성능 등에 따라 다양하게 설정될 수 있다. 전자 장치는 폴링으로 처리한 패킷 수가 제1 임계 값 이하인 경우 기존 전력 관리 방법을 사용하여 전력을 관리할 수 있다.
전자 장치는 폴링으로 처리한 패킷 수가 제1 임계 값을 초과하는 경우, 최대 프로세서(예, CPU) 성능 상태로 전력을 사용할 수 있다(S850). 예를 들어, 최대 프로세서 성능 상태는 네트워크 집중 전력 모드일 수 있다. 전자 장치는 최대 프로세서 성능 상태를 일정 시간 동안 유지시킬 수 있다(S860). 즉, 전자 장치는 기 설정된 시간 동안 네트워크 집중 전력 모드로 프로세서를 구동시킬 수 있다.
일정 시간이 경과되면, 전자 장치는 일정 시간 동안 발생된 네트워크 인터럽트 수 및 폴링으로 처리한 패킷 수를 수집할 수 있다(S870). 전자 장치는 인터럽트 대비 폴링 비율이 제2 임계 값 미만인지 판단할 수 있다(S880). 전자 장치는 인터럽트 대비 폴링 비율이 제2 임계 값 이상인 경우, 최대 프로세서 성능 상태를 계속 유지할 수 있다. 한편, 전자 장치는 인터럽트 대비 폴링 비율이 제2 임계 값 미만인 경우, 최대 프로세서 성능 상태(P0)에서 기존 전력 관리 방법으로 전환하여 전력을 관리할 수 있다. 즉, 전자 장치는 인터럽트 대비 폴링 비율이 제2 임계 값 미만인 경우, 네트워크 집중 전력 모드를 일반 전력 모드로 전환할 수 있다. 전자 장치는 일반 전력 모드로 전환되는 경우, 전력 관리자를 활성화시킬 수 있다. 일반 전력 모드에서 전력 관리자는 전자 장치의 전력을 관리할 수 있다.
상술한 다양한 실시 예에 따른 전력 관리 방법은 컴퓨터 프로그램 제품으로 제공될 수도 있다. 컴퓨터 프로그램 제품은 S/W 프로그램 자체 또는 S/W 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)를 포함할 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 전자 장치 110: 통신기
120: 프로세서 121: 전력 관리자
122: 모드 결정 엔진 123: 모드 전환 모니터
123-1, 124-2, 124-n: 코어
120: 프로세서 121: 전력 관리자
122: 모드 결정 엔진 123: 모드 전환 모니터
123-1, 124-2, 124-n: 코어
Claims (12)
- 전자 장치의 전력 관리 방법에 있어서,
상기 전자 장치의 프로세서를 일반 전력 모드로 구동시키는 단계;
외부 장치로부터 데이터 패킷을 수신하는 단계;
상기 수신된 데이터 패킷을 폴링으로 처리하는 단계;
네트워크 인터럽트가 발생되는 경우, 상기 폴링으로 처리한 데이터 패킷의 제1 처리 패킷 수를 획득하는 단계;
상기 제1 처리 패킷 수가 제1 임계 값을 초과하는 경우, 상기 일반 전력 모드를 네트워크 집중 전력 모드로 전환하는 단계;
상기 일반 전력 모드를 네트워크 집중 전력 모드로 전환되면, 상기 전자 장치의 프로세서를 기 설정된 시간 동안 상기 네트워크 집중 전력 모드로 구동시키는 단계;
상기 네트워크 집중 전력 모드로 구동 중에 상기 기 설정된 시간 동안 발생된 네트워크 인터럽트 횟수 및 폴링으로 처리한 데이터 패킷의 제2 처리 패킷 수를 획득하는 단계; 및
상기 네트워크 집중 전력 모드로 구동 중에 상기 제2 처리 패킷 수를 획득하면, 상기 네트워크 인터럽트 횟수 대비 상기 제2 처리 패킷 수의 비율이 제2 임계 값 미만인 경우, 상기 네트워크 집중 전력 모드를 상기 일반 전력 모드로 전환하는 단계;를 포함하는 전자 장치의 전력 관리 방법. - 삭제
- 제1항에 있어서,
상기 제2 처리 패킷 수를 획득하는 단계는,
상기 네트워크 인터럽트 횟수 및 상기 제2 처리 패킷 수를 주기적으로 리셋하는 전자 장치의 전력 관리 방법. - 제1항에 있어서,
상기 네트워크 집중 전력 모드로 전환하는 단계는,
상기 프로세서의 전력을 관리하는 관리자를 비활성화시키고,
상기 일반 전력 모드로 전환하는 단계는,
상기 관리자를 활성화시켜 상기 관리자에 의해 상기 프로세서의 전력을 관리하는, 전자 장치의 전력 관리 방법. - 제1항에 있어서,
상기 네트워크 집중 전력 모드는,
상기 프로세서의 전압 및 주파수가 최대 값으로 설정되는 모드인, 전자 장치의 전력 관리 방법. - 일반 전력 모드로 구동되는 프로세서; 및
외부 장치로부터 데이터 패킷을 수신하는 통신기;를 포함하고,
상기 프로세서는,
상기 수신된 데이터 패킷을 폴링으로 처리하고, 네트워크 인터럽트가 발생되는 경우 상기 폴링으로 처리한 데이터 패킷의 제1 처리 패킷 수를 획득하며, 상기 제1 처리 패킷 수가 제1 임계 값을 초과하는 경우 상기 일반 전력 모드를 네트워크 집중 전력 모드로 전환하고,
상기 프로세서는,
기 설정된 시간 동안 상기 네트워크 집중 전력 모드로 구동되고, 상기 기 설정된 시간 동안 발생된 네트워크 인터럽트 횟수 및 폴링으로 처리한 데이터 패킷의 제2 처리 패킷 수를 획득하며, 상기 네트워크 인터럽트 횟수 대비 상기 제2 처리 패킷 수의 비율이 제2 임계 값 미만인 경우 상기 네트워크 집중 전력 모드를 상기 일반 전력 모드로 전환하는, 전자 장치. - 삭제
- 제6항에 있어서,
상기 프로세서는,
상기 네트워크 인터럽트 횟수 및 상기 제2 처리 패킷 수를 주기적으로 리셋하는, 전자 장치. - 제6항에 있어서,
상기 프로세서는,
상기 네트워크 집중 전력 모드로 전환하는 경우 상기 프로세서의 전력을 관리하는 관리자를 비활성화시키고, 상기 일반 전력 모드로 전환하는 경우 상기 관리자를 활성화시켜 상기 관리자에 의해 상기 프로세서의 전력을 관리하는, 전자 장치. - 제6항에 있어서,
상기 네트워크 집중 전력 모드는,
상기 프로세서의 전압 및 주파수가 최대 값으로 설정되는 모드인, 전자 장치. - 제6항에 있어서,
상기 프로세서는 복수의 코어를 포함하고,
상기 복수의 코어 각각은,
일반 전력 모드로 구동되고, 상기 수신된 데이터 패킷을 폴링으로 처리하며,
상기 프로세서는,
네트워크 인터럽트가 발생된 코어에 대해 상기 폴링으로 처리한 데이터 패킷의 제1 처리 패킷 수를 획득하며, 상기 제1 처리 패킷 수가 제1 임계 값을 초과하는 경우 상기 네트워크 인터럽트가 발생된 코어에 대해 상기 일반 전력 모드를 네트워크 집중 전력 모드로 전환하는, 전자 장치. - 전자 장치의 프로세서를 일반 전력 모드로 구동시키는 단계;
외부 장치로부터 데이터 패킷을 수신하는 단계;
상기 수신된 데이터 패킷을 폴링으로 처리하는 단계;
네트워크 인터럽트가 발생되는 경우, 상기 폴링으로 처리한 데이터 패킷의 제1 처리 패킷 수를 획득하는 단계;
상기 제1 처리 패킷 수가 제1 임계 값을 초과하는 경우, 상기 일반 전력 모드를 네트워크 집중 전력 모드로 전환하는 단계;
상기 일반 전력 모드를 네트워크 집중 전력 모드로 전환되면, 상기 전자 장치의 프로세서를 기 설정된 시간 동안 상기 네트워크 집중 전력 모드로 구동시키는 단계;
상기 네트워크 집중 전력 모드로 구동 중에 상기 기 설정된 시간 동안 발생된 네트워크 인터럽트 횟수 및 폴링으로 처리한 데이터 패킷의 제2 처리 패킷 수를 획득하는 단계; 및
상기 네트워크 집중 전력 모드로 구동 중에 상기 제2 처리 패킷 수를 획득하면, 상기 네트워크 인터럽트 횟수 대비 상기 제2 처리 패킷 수의 비율이 제2 임계 값 미만인 경우, 상기 네트워크 집중 전력 모드를 상기 일반 전력 모드로 전환하는 단계;를 포함하는 전자 장치의 전력 관리 방법을 수행하는 컴퓨터 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200075325A KR102437625B1 (ko) | 2020-06-19 | 2020-06-19 | 전자 장치 및 전자 장치의 전력 관리 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200075325A KR102437625B1 (ko) | 2020-06-19 | 2020-06-19 | 전자 장치 및 전자 장치의 전력 관리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210157254A KR20210157254A (ko) | 2021-12-28 |
KR102437625B1 true KR102437625B1 (ko) | 2022-08-29 |
Family
ID=79178303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200075325A KR102437625B1 (ko) | 2020-06-19 | 2020-06-19 | 전자 장치 및 전자 장치의 전력 관리 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102437625B1 (ko) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9958932B2 (en) * | 2014-11-20 | 2018-05-01 | Apple Inc. | Processor including multiple dissimilar processor cores that implement different portions of instruction set architecture |
WO2016101099A1 (en) * | 2014-12-22 | 2016-06-30 | Intel Corporation | Techniques for power management associated with processing received packets at a network device |
-
2020
- 2020-06-19 KR KR1020200075325A patent/KR102437625B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20210157254A (ko) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11662801B2 (en) | Supervisory control of power management | |
US7318164B2 (en) | Conserving energy in a data processing system by selectively powering down processors | |
US10261818B2 (en) | Optimizing virtual machine synchronization for application software | |
US9618997B2 (en) | Controlling a turbo mode frequency of a processor | |
US10897832B2 (en) | Fan control based on a time-variable rate of current | |
US7739527B2 (en) | System and method to enable processor management policy in a multi-processor environment | |
US9348656B2 (en) | Apparatus and method for managing power among a plurality of processors sharing a thermal platform | |
US8775838B2 (en) | Limiting the number of unexpected wakeups in a computer system implementing a power-saving preemptive wakeup method from historical data | |
US8484495B2 (en) | Power management in a multi-processor computer system | |
US10031574B2 (en) | Apparatus and method for controlling multi-core processor of computing system | |
US10599207B2 (en) | Management of core power state transition in a microprocessor | |
US20110286130A1 (en) | Energy-saving operation of a storage device | |
US20230199049A1 (en) | Modifying content streaming based on device parameters | |
KR102437625B1 (ko) | 전자 장치 및 전자 장치의 전력 관리 방법 | |
US11886364B2 (en) | Adaptive hybrid polling based on outstanding input/output (I/O) determination | |
US9195514B2 (en) | System and method for managing P-states and C-states of a system | |
Hayamizu et al. | Application-aware power saving for online transaction processing using dynamic voltage and frequency scaling in a multicore environment | |
KR102333391B1 (ko) | 전자 장치 및 이의 전력 제어 방법 | |
KR20120061583A (ko) | 서버의 전력을 감소시키는 컴퓨터 시스템 | |
US20230205301A1 (en) | Dynamic adjustment of power modes | |
US20240086088A1 (en) | Dynamic voltage and frequency scaling for memory in heterogeneous core architectures | |
KR101628376B1 (ko) | 우선순위 기반의 저전력 프로세서 스케줄링 방법 및 시스템 | |
JP2019212274A (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 |
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 |