KR101340118B1 - 소비전력 추정 장치 및 그 방법 - Google Patents

소비전력 추정 장치 및 그 방법 Download PDF

Info

Publication number
KR101340118B1
KR101340118B1 KR1020110130492A KR20110130492A KR101340118B1 KR 101340118 B1 KR101340118 B1 KR 101340118B1 KR 1020110130492 A KR1020110130492 A KR 1020110130492A KR 20110130492 A KR20110130492 A KR 20110130492A KR 101340118 B1 KR101340118 B1 KR 101340118B1
Authority
KR
South Korea
Prior art keywords
power consumption
cpu
server
information
field
Prior art date
Application number
KR1020110130492A
Other languages
English (en)
Other versions
KR20130063882A (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 펌킨네트웍스(주)
Priority to KR1020110130492A priority Critical patent/KR101340118B1/ko
Publication of KR20130063882A publication Critical patent/KR20130063882A/ko
Application granted granted Critical
Publication of KR101340118B1 publication Critical patent/KR101340118B1/ko

Links

Images

Classifications

    • 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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • 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/329Power 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 Sources (AREA)

Abstract

본 발명은 소비전력 추정 장치 및 그 방법에 관한 것으로, 본 발명의 일 실시예에 따른 소비전력 추정 장치는 복수의 서버로부터 각각의CPU(Central Processing Unit)의 필드 정보 및 CPU 모델 정보룰 주기적으로 수집하는 수집부, CPU모델 별로CPU의 필드의 최대 소비전력 정보가 매칭된 에너지 소모 모델 DB, 상기 수집부가 수집한 CPU 모델 정보 및 CPU의 필드 정보에 매칭된 최대 소비전력 정보와, 상기 수집부가 수집한 CPU의 필드 정보에 수록된 사용량을 이용하여 서버의 소비전력을 추정하는 추정부를 포함한다.
이와 같이, 본 발명의 실시예에서는 각 CPU의 필드별 전력 추정 모델을 사용함으로써 다양한 컴퓨팅 환경에서 정밀한 전력 추정이 가능하다.

Description

소비전력 추정 장치 및 그 방법{APPATARUS AND METHOD FOR ESTIMATING POWER CONSUMPTION}
본 발명은 소비전력 추정 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 전력 정보 기반의 동적 서버 부하 분산을 위한 서버의 소비전력을 추정하는 기술에 관한 것이다.
데이터 센터는 ‘전기 먹는 하마’로 불릴 정도로 전력소비량이 많은 곳이다. 데이터 센터 IT 장비의 전력 소비 중 서버가 80%를 차지하는데 이를 낮추는 것이 그린 IT 실현을 위해 절실히 필요하다. 이를 해결하는 방법 중의 하나가 서버들 전력 소모를 최소화하도록 하기 위해, 필요한 경우 일부 서버를 일정시간 오프시키는 부하 분산기를 구현하여 사용하는 것이다.
일반적으로 사용할 수 있는 부하 분산기로서 리눅스 가상 서버를 고려해 볼 수 있다. 리눅스 가상 서버(LVS: Linux Virtual Server)는 리눅스를 기반으로 독립된 여러 서버들을 하나의 클러스터로 구성하여 뛰어난 확장성과 가용성을 제공한다. 가상 서버의 구조는 서버 외부에서는 마치 클러스터 서버가 하나의 고성능 서버인 것처럼 보이도록 하고, 실제 서버 내부에서는 사용자의 요청을 스케줄링을 이용하여 처리한다.
LVS는 사용자(Client)로부터 받은 요청을 처리하는 방식(Packet Forwarding Methods)에 따라 세 가지 방식(NAT: Network Address Translation, Direct Routing, IP Tunneling)이 존재한다. 이러한 방식은 서버가 처리한 요청을 LVS를 통해 사용자에게 전송하는 방식(NAT)과 서버가 직접 사용자에게 보내는 방식(Direct Routing, IP Tunneling)으로 나눌 수 있다.
또한 LVS는 사용자 요청을 실제 서버들로 스케줄링 하는 방식에 따라 8가지 방식(RR: Round-Robin, WRR: Weighted Round-Robin, LC: Least Connection, WLC: Weighted Least Connection, LBLC: Locality-Based Least Connection, LBLCR: Locality-Based Least Connection with Replication, SH: Source Hash, DH: Destination Hash)이 존재한다.
스케줄링 방식은 실제 서버들로 요청을 분산할 때, 순서대로 분산하는 방식(RR, WRR), 가상 서버와 실제 서버와의 연결 개수를 이용해서 분산하는 방식(LC, WLC), 실제 서버들을 몇 개의 단위의 묶어서 분산하는 방식(LBLC, LBLCR) 및 해시를 이용하는 방식(SH, DH)으로 나눌 수 있다.
종래의 부하 분산 장치는 클러스터의 앞단에서 클라이언트로부터 받은 요청을 스케쥴링 알고리즘을 통해 실제 서버에게 분산한다. 하지만, 이러한 방식은 서버의 처리 능력을 다양한 측면으로 고려하지 않기에 큰 에너지 절감 효과를 가져올 수 없다.
또한, L4/L7 스위치의 확장형인 웹 가속기는 부하 분산 기능에 지역 캐시, 콘텐츠 전송망(CDN) 등의 기능을 활용하여 요청에 대한 응답 속도를 높이고 실제 서버의 워크로드(workload)를 줄여주는 역할을 수행한다. 서버의 워크로드가 줄어듬에 따라 약간의 에너지 절감효과가 발생할 수 있지만, 큰 에너지 절감효과는 기대할 수 없다.
또한, 부하 분산 장치에서 이용하는 종래의 전력 추정 모델은 CPU(CentralProcessing Unit)의 아이들(idle) 사용량만을 활용하여 전력을 추정하기 때문에 현재의 컴퓨팅 상황에 대해 정확한 이해가 불가능하고 소비전력의 추정에 오차가 발생한다는 문제점이 있다.
본 발명의 배경이 되는 기술은 대한민국 공개특허공보 제10-2010-0138354호(2010. 12. 31)에 기재되어 있다.
본 발명이 이루고자 하는 기술적인 과제는, 서버의 전력 소모가 최소화되도록 부하를 분산시키고, 서버의 처리 능력과 트래픽 정보를 고려하여 서버를 구성하는 각 장치를 부하에 따라 동적으로 조절하기 위해 각 서버의 소비 전력을 정확히 추정하는 소비전력 추정 장치 및 그 방법을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 복수의 서버에 대한 소비전력 추정 장치에 있어서, 상기 복수의 서버로부터 각각의CPU(Central Processing Unit)의 필드 정보 및 CPU 모델 정보를 주기적으로 수집하는 수집부와, CPU모델 별로CPU의 필드의 최대 소비전력 정보가 매칭된 에너지 소모 모델 DB와, 상기 수집부가 수집한 CPU 모델 정보 및 CPU의 필드 정보에 매칭된 최대 소비전력 정보와, 상기 수집부가 수집한 CPU의 필드 정보에 수록된 사용량을 이용하여 서버의 소비전력을 추정하는 추정부를 포함한다.
또한, 상기 CPU의 필드 정보는, SYS 필드, USER 필드, I/O WAIT 필드를 포함하고, 상기 추정부는, 하기 수학식을 이용하여 상기 복수의 서버 각각의 소비전력을 추정할 수 있다:
Figure 112011097319656-pat00001
여기서, Pi = i번째 서버의 소비전력, Bi = i번째 서버의 유휴 상태 소비전력, Mr ,f = i번째 서버 CPU 필드 f의 최대 소비전력, Rr ,f = i번째 서버 CPU 필드 f의 사용량을 나타낸다.
또한, 상기 추정부는, 상기 복수의 서버 각각의 CPU 필드별 사용량을 수집하고, 상기 에너지 소모 모델 데이터베이스로부터 획득한 최대 소비전력 정보를 이용하여 상기 복수의 서버 각각의 소비전력을 추정할 수 있다.
또한, 상기 수집부는, 새로 정의된 프로토콜 또는 표준화 된 형태의 SNMP(Simple Network Management Protocol), 마이크로 소프트 윈도우의 WMI(Windows Management Interface) 프로토콜 중에서 선택된 하나 이상의 프로토콜을 이용하여 상기 복수의 서버 각각으로부터 상기 CPU의 필드 정보 및 모델 정보를 수집할 수 있다.
또한, 상기 추정부가 추정한 소비전력을 토대로 각 서버의 가중치를 조절하여 부하 분산을 수행하는 부하 분산부와, 상기 복수의 서버 각각의 트래픽 량을 확인하고, 상기 추정부가 추정한 소비전력과 상기 트래픽 량을 이용하여 상기 복수의 서버 각각의 부하 상태가 미리 정해진 부하 임계치를 초과하는지 판단하여 서버의 성능을 높이거나 낮추는 서버 제어부를 더 포함할 수 있다.
또한, 상기 서버 제어부는, 클라이언트가 요청한 트래픽 타입 및 상기 서버의 부하 상태를 토대로 CPU, HDD, LAN, RAM을 포함하는 서버 장치 중 하나 이상의 장치를 선택하여 성능 제어 정보를 생성하고, 상기 복수의 서버는, 상기 성능 제어 정보를 수신하여 서버의 성능을 조절하는 서버 제어 모듈을 포함하며, 상기 서버 제어 모듈은, CPU의 성능 조정은 DVFS(Dynamic Voltage and Frequency Scailing), DVS(Dynamic Voltage Scaling) 중 하나 이상의 방법을 사용하고, HDD의 성능 조정은 Spin-down, Multi-Spin 중 하나 이상의 방법을 사용하며, LAN의 성능 조정은 네트워크 전송 속도 조절을 사용하고, RAM의 성능 조정은 Power-down, Self-Refresh 모드 전환 중 하나 이상의 방법을 사용할 수 있다.
본 발명의 또 다른 실시예에 클라이언트 단말과 복수의 서버 사이에 위치한 소비전력 추정 장치에서 서버의 소비전력 추정 방법에 있어서, 상기 복수의 서버로부터 각각의CPU(Central Processing Unit)의 필드 정보 및 CPU 모델 정보룰 주기적으로 수집하는 단계와, 에너지 소모 모델 DB로부터 상기 수집부가 수집한 CPU 모델 정보 및 CPU의 필드 정보에 매칭된 최대 소비전력 정보를 확인하는 단계와, 상기 매칭된 최대 소비전력 정보 및 상기 수집부가 수집한 CPU의 필드 정보에 수록된 사용량을 이용하여 서버의 소비전력을 추정하는 단계를 포함한다.
이와 같은 본 발명의 실시예에 따르면, 전력 정보를 이용한 동적 서버 부하 분산과 서버 장치들의 전력 제어를 통해 에너지 소모를 최대한 줄이면서 가능한 빠른 시간 내에 대규모 작업을 마치도록 소비전력 추정 장치를 개발 할 수 있고, 에너지 절감 효과를 높일 수 있다.
또한, 에너지 절감형 부하 분산에 대한 연구 단계 작업을 제품화에 성공함으로써 기술 개발 측면에서 한 단계 업그레이드할 수 있다.
또한, 각 CPU의 필드별 전력 추정 모델을 사용함으로써 다양한 컴퓨팅 환경에서 정밀한 전력 추정이 가능하도록 소비전력 추정 모델을 설계할 수 있다.
또한, 서버 에너지 소모를 최소화함으로써 그린 데이터 센터 및 그린 IT 구현에 공헌하게 되며, 비용 대비 운영이 효율적인 데이터 센터 구축을 가능하게 함으로써 향후 클라우드 컴퓨팅 활성화에 기여하게 된다.
또한, L4/L7 스위치의 새로운 부가가치를 창출하여 기존 시장을 새로운 시장으로 대체하는 파급 효과가 예상된다.
도 1은 본 발명의 일 실시예에 따른 소비전력 추정 장치를 포함하는 부하 분산 시스템의 구성도,
도 2는 도 1에 따른 부하 분산 시스템에 포함되는 소비전력 추정 장치의 세부적인 구성을 나타낸 블록도,
도 3은 본 발명의 실시예에 따른 소비전력 추정 방법을 나타낸 순서도,
도 4a, 도 4b, 도 5a 및 도 5b는 종래의 소비전력 추정 모델과 본 발명의 실시예에 따른 소비전력 추정 모델의 실제 실험 결과를 나타낸 그래프이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세하게 설명한다. 사용되는 용어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 사용자, 운용자의 의도 또는 판례 등에 따라 달라질 수 있다. 그러므로 후술하는 실시예들에서 사용된 용어의 의미는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 소비전력 추정 장치를 포함하는 부하 분산 시스템의 구성도이다.
도 1을 참조하면, 부하 분산 시스템은 복수의 클라이언트 단말(100), 소비전력 추정 장치(200) 및 복수의 서버(300)를 포함한다.
복수의 클라이언트 단말(100)은 네트워크를 통해 복수의 서버(300)로 서비스 연결을 요청한다. 복수의 클라이언트 단말(100)과 복수의 서버(300) 간에 네트워크가 형성되어 데이터가 전송되는 과정에서 트래픽이 발생한다. 이 경우, 소비전력 추정 장치(200)는 클라이언트 단말(100)로부터 서버(300)에 대한 서비스 연결 요청을 수신하여 복수의 서버(300)에 부하를 분산한다. 이러한 소비전력 추정 장치(200)는 하드웨어 감지, 메인보드 및 장치 구성, 전원 관리를 담당하는 인터페이스를 정의하는 ACPI(Advanced Configuration and Power Interface) 기술 및 대규모로 들어오는 요청을 여러 대의 서버에 적절히 분산시켜 주는 Load Balancing 기술을 구현한다.
여기서, 소비전력 추정 장치(200)는 서버(300)의 CPU(Central Processing Unit), I/O(Input/Output), Memory 장치의 사용량을 모니터링하여 전력 소모량을 추정하며 전력 수치를 기반으로 서버의 가중치를 조절하여 가중치가 적용된 스케쥴링 알고리즘으로 클라이언트 단말(100)로부터 요청받은 트래픽을 각 서버(300)의 에너지 소모 상태에 따라 부하가 균등하도록 분배한다. 즉, 각 서버(300)에서 CPU(Central Processing Unit)의 필드별 사용 정보를 수집하여 소비전력을 추정하고, 이를 기초로 서버(300)의 전력 소모가 최소화되도록 부하를 분산시킨다. 그리고 전력 소모 상태를 고려하여 각 서버(300)의 CPU(Central Processing Unit), I/O(Input/Output), Memory 장치의 동작 방식을 변경하도록 서버(300)의 동작을 제어한다.
이때, 각 서버(300)는 정보 전송 모듈(301) 및 서버 제어 모듈(303)을 포함한다.
정보 전송 모듈(301)은 주기적으로 CPU의 필드별 사용 정보를 수집하고, 수집한 사용 정보와 CPU 모델명을 소비전력 추정 장치(200)로 전송한다. 여기서, 사용 정보 수집은 IPMI(Intelligent Platform Management Interface)를 통하여 이루어질 수 있다.
서버 제어 모듈(303)은 소비전력 추정 장치(200)의 제어에 따라 서버(300)의 성능을 조절한다.
이때, 서버의 CPU 성능 조정은 DVFS(Dynamic Voltage and Frequency Scailing), DVS(Dynamic voltage scaling) 방법을 사용할 수 있다. 또한, HDD의 성능 조정은 Spin-down, Multi-Spin방법을 사용할 수 있다. 또한, LAN의 성능 조정은 네트워크 전송 속도 조절 방법을 사용할 수 있다. 또한, RAM의 성능 조정은 Power-down, Self-Refresh 모드 전환 방법을 사용할 수 있다.
이제, 부하 분산 시스템에 포함되는 소비전력 추정 장치에 관하여 자세히 설명하면 다음과 같다.
도 2는 도 1에 따른 부하 분산 시스템에 포함되는 소비전력 추정 장치의 세부적인 구성을 나타낸 블록도이다.
도 2를 참조하면, 소비전력 추정 장치(200)는 수집부(201), 에너지 소모 모델 DB(203), 추정부(205), 부하 분산부(207) 및 서버 제어부(209)를 포함한다.
수집부(201)는 각 서버(300)의 정보 전송 모듈(301)과 통신하여 각 서버(300)의 사용 정보를 주기적으로 수집한다.
이때, 후술하겠지만, 각 서버(300)의 사용 정보는 CPU의 세가지 필드를 통해 수집되고, 수집부(201)는 각 서버(300)로부터 CPU의 세가지 필드 및 CPU 모델명을 수집한다.
또한, 수집부(201)는 각 서버(300)의 트래픽 량을 모니터링할 수 있다.
수집부(201)는 각 서버(300)의 사용 정보를 제공할 목적으로 새로 고안된 별도의 소프트웨어 프로토콜을 이용하여 각 서버(300)의 정보 전송 모듈(301)과 통신할 수 있다.
수집부(201)는 표준화 된 형태로 각 서버(300)의 사용 정보를 출력할 수 있는 SNMP(Simple Network Management Protocol), 마이크로 소프트 윈도우의 WMI(Windows Management Interface) 프로토콜을 이용하여 각 서버(300)의 정보 전송 모듈(301)과 통신할 수 있다.
에너지 소모 모델 DB(203)는 각 서버(300)의 에너지 소모 정도를 측정 및 모델화하기 위한 사전 정보가 데이터베이스화되어 있다. 구체적으로, CPU 장치의 모델별로 하나 이상의 CPU 필드 각각의 최대 소비전력이 매칭된 에너지 소모 모델 정보를 저장하며, 표 1과 같이 구성된다.
장치 모델명 CPU 필드 최대 소비전력
CPU Intel P4.. USR 60W
SYS 65W
WAIT 55W
Dual core.. USR 40W
SYS 50W
WAIT 45W
Linux의 stress 툴을 활용하여 CPU, RAM, I/O 장치에 부하를 가하는 방식으로 각 필드의 사용량을 최대치로 설정하고, 그 때의 소비전력을 전력 측정기를 통해 측정하여 표 1에 적용하였다.
여기서, CPU의 USER, SYS, I/O WAIT의 3가지 필드는 각 서버(300)가 현재 어떤 컴퓨팅 환경에 처해있는지 알려주는 지표가 될 수 있으며, 각 필드의 기능은 표 2와 같이 정리된다.
필드 기능
USER(us) CPU가 사용자 수준 코드를 실행한 시간(단위: 백분율)
SYS(sy) CPU가 시스템 수준 코드를 실행한 시간(단위: 백분율
I/O WAIT(wa) 입출력 대기(단위: 백분율)
표 2의 각 필드의 기능을 좀 더 세부적으로 설명하면 다음과 같다.
USER 필드는 user space에서 코드 수행으로 CPU가 구동된다. 하지만, I/O가 실행되는 경우에는 system call을 통해 kernel space에서 수행해야 하므로 SYS에 대한 점유율이 나타난다. 그러므로 실질적으로 USER 모드는 user space에서 코드 수행만을 수행할 뿐이며, CPU 사용에 대한 전력만 계산될 뿐이다.
SYS 필드는 kernel space에서 시스템 수준 코드를 실행하는 시간으로써 코드 수행으로 CPU가 구동되며, 이를 통해 각종 I/O까지 구동된다. 두 경우(I/O 장치의 실행 혹은 커널 레벨의 실행) 모두 kernel space에서 실행되기 때문에 SYS에 대한 점유율만 나타난다.
I/O WAIT 필드는 I/O에 일을 시켜놓고 대기 중인 상태이다. 즉 I/O가 작동하고 있는 시간으로써 실질적으로 CPU 자원은 적게 소모된다. 이로 인해 전력 소비량은 동일한 사용량 대비 위의 세가지 필드 중 가장 적게 나타난다.
추정부(205)는 수집부(201)가 각 서버(300)의 정보 전송 모듈(301)로부터 각 서버(300)의 소비전력 정보를 획득하지 못하는 경우, 각 서버(300)로부터 수집한 표 2와 같은 CPU의 필드를 활용하여 각 서버(300)의 에너지 소모 정도를 나타내는 소비전력을 추정한다.
추정부(205)는 에너지 소모 모델 DB(120)로부터 수집부(201)가 수집한 서버(300)의 CPU 모델명에 해당하는 CPU 필드 별 소비전력 정보를 획득하여 각 서버(300)의 소비전력을 추정하는데 수학식 1과 같은 소비전력 추정 모델이 사용된다.
Figure 112011097319656-pat00002
Pi = i번째 서버의 소비전력
Bi = i번째 서버의 유휴 상태 소비전력
Mr ,f = i번째 서버 CPU 필드 f의 최대 소비전력
Rr ,f = i번째 서버 CPU 필드 f의 사용량
이처럼, 추정부(205)는 서버(300) CPU의 SYS, USER, I/O WAIT 필드의 최대 사용량(100%)에서의 소비전력과, 수집부(201)가 수집한 서버(300)의 SYS, USER, I/O WAIT 필드에 수록된 현재 사용량을 각각 곱하여 합산함으로써, 해당 서버(300)의 소비전력을 추정한다.
부하 분산부(207)는 추정부(205)가 추정한 각 서버(300)의 소비전력을 토대로 각 서버(200)의 가중치를 할당하고, 가중치가 적용된 스케쥴링 알고리즘을 통해 에너지 소모가 최소화 되도록 각 서버(300)의 부하를 분산시킨다.
이때, 부하 분산부(207)는 가중치에 비례하여 부하를 분산시킨다. 따라서, 추정된 소비전력이 기 정의된 임계치보다 크다면, 해당 서버(300)에게 가중치를 적게 할당하고 추정된 소비전력이 기 정의된 임계치보다 작다면, 해당 서버(300)에게 가중치를 크게 할당한다.
서버 제어부(209)는 추정된 소비전력에 따른 에너지 소모 상태를 고려하여 에너지를 절감할 수 있도록 서버(300)의 성능을 조절한다.
서버 제어부(209)는 수집부(201)를 통해 수집한 각 서버(300)의 트래픽양 또는 추정된 소비전력을 토대로 각 서버(300)의 부하가 기 정의된 임계치보다 큰지 또는 작은지에 따라 클라이언트 단말(100)이 요청한 트래픽의 타입에 따라 성능을 조절할 장치를 선택하고, 해당 장치의 성능을 조절한다. 기 정의된 임계치보다 많은 부하가 요청되면, 해당 서버(300)의 장치 성능을 높이고, 기 정의된 임계치보다 적은 부하가 요청되면, 해당 서버(300)의 장치 성능을 낮춘다. 예를 들어, CPU를 위주로 사용하는 트래픽의 경우 다른 장치들의 조절보다 CPU의 조절이 전체적인 성능과 전력에 큰 영향을 미치므로 CPU를 선택하여 성능을 조절한다.
이처럼, 서버 제어부(209)는 서버(300)의 에너지 절감을 위해 CPU, Memory, I/O, HDD, LAN, RAM의 동작 방식을 변경하는 성능 제어 정보를 각 서버(300)의 서버 제어 모듈(303)로 전달하여 각 서버(300)의 성능을 제어한다.
이상 설명한 소비전력 추정 장치(200)의 동작은 다음과 같다.
도 3은 본 발명의 실시예에 따른 소비전력 추정 방법을 나타낸 순서도로서, 도 2의 구성과 동일한 도면 부호를 사용하여 설명한다.
도 3을 참조하면, 수집부(201)가 각 서버(300)의 사용 정보를 수집(S101)하는데, 사용 정보는 CPU의 세가지 필드를 통해 수집된다. 즉 CPU의 세가지 필드 및 CPU 모델명을 수집한다.
다음, 추정부(205)가 에너지 소모 모델 DB(203)로부터 S101 단계에서 수집한 CPU 모델명에 매칭된 각 CPU 필드의 소비전력 즉 최대 소비전력을 확인한다(S103).
다음, 추정부(205)가 S103 단계에서 확인한 최대 소비전력과, S101 단계에서 수집한 CPU의 세가지 필드에 수록된 사용 정보를 이용하여 해당 서버(300)의 소비전력을 추정한다(S105).
다음, 부하 분산부(207)가 S105 단계에서 추정된 소비전력에 따라 가중치를 할당한다(S107). 이때, 소비전력이 기 정의된 임계치보다 높으면 가중치를 낮게 할당하고 소비전력이 기 정의된 임계치보다 낮으면 가중치를 높게 할당한다.
다음, 부하 분산부(207)가 S107 단계에서 할당된 가중치에 비례하여 부하를 분산한다(S109). 즉 가중치가 낮게 할당되어 있으면, 상대적으로 부하를 적게 분산시키고, 가중치가 높게 할당되어 있으면, 상대적으로 부하를 많이 분산시킨다.
다음, 서버 제어부(209)는 수집부(201)를 통해 사전에 수집한 각 서버(300)의 트래픽 양, S105 단계에서 추정된 소비전력, 클라이언트 단말(100)이 요청한 트래픽의 종류(또는 타입)을 확인(S111)하고, 성능 조절이 필요한 장치를 선택한다(S113). 즉 서버(300)의 에너지 소모를 절감할 수 있고, 최적의 에너지 소모 상태를 유지할 수 있기 위한 성능 조절을 수행한다.
다음, 서버 제어부(209)는 S113 단계에서 선택한 장치의 성능을 높이거나 낮추도록 동작 방식을 변경(S115)하여 이러한 변경 정보가 포함된 서버의 성능 제어 정보를 각 서버(300)의 서버 제어 모듈(303)로 전송한다(S117).
한편, 상기한 것처럼, CPU 필드 별 컴퓨팅 환경의 차이로 인해 각 CPU필드의 최대 사용량에서의 전력 소비 정도는 모두 다르다. 그런데, 종래의 전력 추정 모델은 CPU의 아이들(idle) 사용량만을 활용하여 전력을 추정하기 때문에 현재의 컴퓨팅 상황에 대해 정확한 이해가 불가능하고 소비전력의 추정에 오차가 발생한다.
하지만, 본 발명의 실시예에서는 각 CPU의 필드별 전력 추정 모델을 사용함으로써 다양한 컴퓨팅 환경에서 정밀한 전력 추정이 가능하며, 이는 도 4 및 도 5를 통해 확인된다.
도 4a, 도 4b, 도 5a 및 도 5b는 본 발명의 실시예에 따른 실제 실험 결과를 나타낸 그래프로서, 종래의 전력 추정 모델과 본 발명의 실시예에 따른 전력 추정 모델을 실제 컴퓨팅 환경에서 비교 실험하였다.
이때, 실험 환경은 표 3과 같다.
Number PC 전력 측정기 Benchmark tool
CPU (Hz) RAM OS
1 P-4 1.8G 512 MB Fedora 13 HPM-100A Stress
2 P-4 2.26G 2 GB
이때, Linux에서 제공하는 Stress 툴을 사용하여 실험 PC에 CPU와 RAM 그리고 I/O 장치에 부하를 가하여 다양한 컴퓨팅 상황을 만들어 주고, 이러한 상황에서 전력계의 측정값과 소비전력 추정 모델을 통해 추정된 값을 비교하였다.
실제 실험 결과, 도 4a, 도 5a에 보인 종래의 소비전력 추정 모델과 측정값과의 비교 결과에 비해 도 4b, 도 5b에 보인 본 발명의 실시예에 따른 소비전력 추정 모델과 측정값과의 비교 결과가 월등한 소비전력 추정 능력을 나타냄을 알 수 있다.
이러한 결과를 토대로 평균 오차율을 산출하면 표 4와 같다.
1번 PC 2번 PC
기존 알고리즘 제안 알고리즘 기존 알고리즘 제안 알고리즘
21% 3% 11% 2%
표 4에 보인 것처럼, 도 2~ 도 3에서 설명한 소비전력 추정 모델을 사용하는 경우, 종래에 비해 그 오차율이 현격히 줄어듦을 알 수 있다.
이상에서 본 발명은 도면을 참조하면서 기술되는 바람직한 실시예를 중심으로 설명되었지만 이에 한정되는 것은 아니다. 따라서 본 발명은 기재된 실시예로부터 도출 가능한 자명한 변형예를 포괄하도록 의도된 특허청구범위의 기재에 의해 해석되어져야 한다.
100 : 클라이언트 단말 200 : 소비전력 추정 장치
201 : 수집부 203 : 에너지 소모 모델
205 : 추정부 207 : 부하 분산부
209 : 서버 제어부 300 : 서버

Claims (11)

  1. 복수의 서버에 대한 소비전력 추정 장치에 있어서,
    상기 복수의 서버로부터 각각의 CPU(Central Processing Unit)의 필드 정보 및 CPU 모델 정보를 주기적으로 수집하는 수집부;
    CPU모델 별로 CPU의 필드의 최대 소비전력 정보가 매칭된 에너지 소모 모델 DB;
    상기 수집부가 수집한 CPU 모델 정보 및 CPU의 필드 정보에 매칭된 최대 소비전력 정보와, 상기 수집부가 수집한 CPU의 필드 정보에 수록된 사용량을 이용하여 서버의 소비전력을 추정하는 추정부;
    상기 추정부가 추정한 소비전력을 토대로 각 서버의 가중치를 조절하여 부하 분산을 수행하되, 추정한 소비전력이 임계치보다 낮은 경우 가중치를 기준값보다 많이 할당하고, 추정한 소비전력이 임계치보다 높은 경우, 가중치를 상기 기준값보다 적게 할당하고, 상기 가중치에 비례하여 부하를 분산시키는 부하 분산부; 및
    상기 복수의 서버 각각의 트래픽 량을 확인하고, 상기 추정부가 추정한 소비전력과 상기 트래픽 량을 이용하여 상기 복수의 서버 각각의 부하 상태가 미리 정해진 부하 임계치를 초과하는지 판단하여 서버의 성능을 높이거나 낮추는 서버 제어부를 포함하며,
    상기 CPU의 필드 정보는, SYS 필드, USER 필드, I/O WAIT 필드를 포함하고,
    상기 수집부는,
    새로 정의된 프로토콜 또는 표준화 된 형태의 SNMP(Simple Network Management Protocol), 마이크로 소프트 윈도우의 WMI(Windows Management Interface) 프로토콜 중에서 선택된 하나 이상의 프로토콜을 이용하여 상기 복수의 서버 각각으로부터 상기 CPU의 필드 정보 및 모델 정보를 수집하며,
    상기 추정부는,
    상기 복수의 서버 각각의 CPU 필드별 사용량을 수집하고, 상기 에너지 소모 모델 데이터베이스로부터 획득한 최대 소비전력 정보를 이용하여 하기 수학식을 통해 상기 복수의 서버 각각의 소비전력을 추정하는 소비전력 추정 장치:
    Figure 112013064428372-pat00011

    여기서, Pi = i번째 서버의 소비전력, Bi = i번째 서버의 유휴 상태 소비전력, Mr,f = i번째 서버 CPU 필드 f의 최대 소비전력, Rr,f = i번째 서버 CPU 필드 f의 사용량을 나타낸다.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 서버 제어부는,
    클라이언트가 요청한 트래픽 타입 및 상기 서버의 부하 상태를 토대로 CPU, HDD, LAN, RAM을 포함하는 서버 장치 중 하나 이상의 장치를 선택하여 성능 제어 정보를 생성하고,
    상기 복수의 서버는,
    상기 성능 제어 정보를 수신하여 서버의 성능을 조절하는 서버 제어 모듈을 포함하며,
    상기 서버 제어 모듈은,
    CPU의 성능 조정은 DVFS(Dynamic Voltage and Frequency Scailing), DVS(Dynamic Voltage Scaling) 중 하나 이상의 방법을 사용하고,
    HDD의 성능 조정은 Spin-down, Multi-Spin 중 하나 이상의 방법을 사용하며,
    LAN의 성능 조정은 네트워크 전송 속도 조절을 사용하고,
    RAM의 성능 조정은 Power-down, Self-Refresh 모드 전환 중 하나 이상의 방법을 사용하는 소비전력 추정 장치.
  7. 클라이언트 단말과 복수의 서버 사이에 위치한 소비전력 추정 장치에서 서버의 소비전력 추정 방법에 있어서,
    상기 복수의 서버로부터 각각의 CPU(Central Processing Unit)의 필드 정보 및 CPU 모델 정보를 주기적으로 수집하는 단계;
    에너지 소모 모델 DB로부터 상기 CPU 모델 정보 및 CPU의 필드 정보에 매칭된 최대 소비전력 정보를 확인하는 단계;
    상기 매칭된 최대 소비전력 정보 및 상기 CPU의 필드 정보에 수록된 사용량을 이용하여 서버의 소비전력을 추정하는 단계;
    추정한 상기 소비전력을 토대로 각 서버의 가중치를 조절하여 부하 분산을 수행하되, 추정한 소비전력이 임계치보다 낮은 경우 가중치를 기준값보다 많이 할당하고, 추정한 소비전력이 임계치보다 높은 경우, 가중치를 상기 기준값보다 적게 할당하고, 상기 가중치에 비례하여 부하를 분산시키는 단계; 및
    상기 복수의 서버 각각의 트래픽 량을 확인하고, 추정한 상기 소비전력과 상기 트래픽 량을 이용하여 상기 복수의 서버 각각의 부하 상태가 미리 정해진 부하 임계치를 초과하는지 판단하여 서버의 성능을 높이거나 낮추는 단계를 포함하며,
    상기 CPU의 필드 정보는, SYS 필드, USER 필드, I/O WAIT 필드를 포함하고,
    상기 수집하는 단계는,
    새로 정의된 프로토콜 또는 표준화 된 형태의 SNMP(Simple Network Management Protocol), 마이크로 소프트 윈도우의 WMI(Windows Management Interface) 프로토콜 중에서 선택된 하나 이상의 프로토콜을 이용하여 상기 복수의 서버 각각으로부터 상기 CPU의 필드 정보 및 모델 정보를 수집하며,
    상기 추정하는 단계는,
    상기 복수의 서버 각각의 CPU 필드별 사용량을 수집하고, 상기 에너지 소모 모델 데이터베이스로부터 획득한 최대 소비전력 정보를 이용하여 하기 수학식을 통해 상기 복수의 서버 각각의 소비전력을 추정하는 소비전력 추정 방법:
    Figure 112013064428372-pat00012

    여기서, Pi = i번째 서버의 소비전력, Bi = i번째 서버의 유휴 상태 소비전력, Mr,f = i번째 서버 CPU 필드 f의 최대 소비전력, Rr,f = i번째 서버 CPU 필드 f의 사용량을 나타낸다.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 제7항에 있어서,
    상기 서버의 성능을 높이거나 낮추는 단계는,
    상기 복수의 서버 각각의 트래픽 량 및 상기 추정한 소비전력을 토대로 서버의 부하 상태를 확인하여 미리 정해진 부하 임계치와 비교하는 단계; 및
    상기 미리 정해진 부하 임계치를 초과하는 경우, CPU, HDD, LAN, RAM을 포함하는 서버 장치 중 하나 이상의 장치를 선택하여 성능을 높이고, 상기 미리 정해진 부하 임계치 이하인 경우, CPU, HDD, LAN, RAM을 포함하는 서버 장치 중 하나 이상의 장치를 선택하여 성능을 낮추는 단계를 포함하는 소비전력 추정 방법.
KR1020110130492A 2011-12-07 2011-12-07 소비전력 추정 장치 및 그 방법 KR101340118B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110130492A KR101340118B1 (ko) 2011-12-07 2011-12-07 소비전력 추정 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110130492A KR101340118B1 (ko) 2011-12-07 2011-12-07 소비전력 추정 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20130063882A KR20130063882A (ko) 2013-06-17
KR101340118B1 true KR101340118B1 (ko) 2013-12-10

Family

ID=48861073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110130492A KR101340118B1 (ko) 2011-12-07 2011-12-07 소비전력 추정 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101340118B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102166935B1 (ko) * 2013-11-11 2020-10-16 삼성전자주식회사 동적 전압 주파수 스케일링을 수행하기 위한 동작 주파수 변경 방법, 시스템 온-칩 및 이를 구비하는 모바일 기기

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100089345A (ko) * 2009-02-03 2010-08-12 서울대학교산학협력단 동작 모니터링 유닛 및 동작 모니터링 유닛을 이용한 시스템의 소비 전력 추정 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100089345A (ko) * 2009-02-03 2010-08-12 서울대학교산학협력단 동작 모니터링 유닛 및 동작 모니터링 유닛을 이용한 시스템의 소비 전력 추정 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
서버클러스터환경에서 에너지절약을 위한 전력정보기반의 동적서버부하분산, 제35회한국정보처리학회춘계학술대회논문집 제18권제1호 *
서버클러스터환경에서 에너지절약을 위한 전력정보기반의 동적서버부하분산, 제35회한국정보처리학회춘계학술대회논문집 제18권제1호*

Also Published As

Publication number Publication date
KR20130063882A (ko) 2013-06-17

Similar Documents

Publication Publication Date Title
Boru et al. Energy-efficient data replication in cloud computing datacenters
US9632839B2 (en) Dynamic virtual machine consolidation
US9183024B2 (en) Computer system with a cluster load balancer for graphics processing and graphics processing method thereof
EP2494443B1 (en) Balancing server load according to availability of physical resources
US9927857B2 (en) Profiling a job power and energy consumption for a data processing system
US9201486B2 (en) Large scale dynamic power budget adjustments for optimizing power utilization in a data center
Yadav et al. MeReg: managing energy‐SLA tradeoff for green mobile cloud computing
US20090106571A1 (en) Systems and Methods to Adaptively Load Balance User Sessions to Reduce Energy Consumption
US7467291B1 (en) System and method for calibrating headroom margin
US10397131B2 (en) Method and system for determining bandwidth demand
US20110119514A1 (en) Power control apparatus and method for cluster system
KR101941282B1 (ko) 가상 데스크톱 서비스 제공 방법 및 장치
CN109388488B (zh) 计算机系统中的功率分配
KR20170041526A (ko) 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 방법
US20120166825A1 (en) Controlling the Power Consumption of Computers
CN107220108B (zh) 一种实现云数据中心负载均衡的方法和系统
Takouna et al. Communication-aware and energy-efficient scheduling for parallel applications in virtualized data centers
Kliazovich et al. Energy consumption optimization in cloud data centers
CN112711479A (zh) 服务器集群的负载均衡系统、方法、装置和存储介质
KR101340118B1 (ko) 소비전력 추정 장치 및 그 방법
Tesfatsion et al. PerfGreen: performance and energy aware resource provisioning for heterogeneous clouds
Pahlevan et al. Exploiting CPU-load and data correlations in multi-objective VM placement for geo-distributed data centers
Alsbatin et al. Efficient virtual machine placement algorithms for consolidation in cloud data centers
Wang Online work distribution to clouds
WO2024089792A1 (ja) 負荷分散装置、負荷分散システム、負荷分散方法、および、負荷分散プログラム

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181203

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191203

Year of fee payment: 7