IT 기술/Operating System

[소개] Linux 전력 소비량 줄이기 Part 1, 2

ㅇㅔ ㄷㅡ 2009. 11. 9. 18:52
 요즘 친환경 IDC관련 글이 꽤 많습니다. IBM으로부터 받은 메일 중에는 친환경 IDC 구축에 관한 글도 다수 있더군요. IDC에 설치하는 랙의 문짝에 냉각 기능을 넣는 것도 소개되어있었구요. 음... 그외에 기타등등...
그런데 여러가지 요소 중에서 실제로 전기를 많이 소비하는 서버 장비의 OS에서 전력 소모량을 줄일 수 있다면 참 좋을것 같죠. 여기에 관한 글을 소개합니다. 물론... 저도 OS쪽 전문가가 아니라서 이 글의 내용에 대해서 자신있게 말씀드릴 수는 없습니다. 앞으로 실 서버에 적용을 해보고 비교해볼만한 환경이 갖춰지면 꼭 한번 비교 분석해보고 싶긴합니다. 그날이 곧... 다가올까요? 로또라도 한번 해야겠네요.

  IBM DeveloperWorks 한국 사이트에서 Linux server에서의 전력 소비량 줄이기에 대한 글이 올라와있네요. 원래 시리즈로 세편의 글이 영문으로 올라와있는데, 한글로 번역된 문서는 2편까지 올라와있습니다.


글 보러가기
Linux 전력 소비량 줄이기 Part 1 : CPUfreq 서브시스템
Linux 전력 소비량 줄이기 Part 2 : 일반 및 거버너 관련 설정

세 편의 기사로 구성된 이 시리즈에서는 전력 효율 향상을 위해 시스템을 조정하는 방법에 대해 설명합니다. 먼저 Part 1에서는 전력 효율 향상을 위해 Linux 기반 System x 서버를 미세 조정하는 데 필요한 구성 요소와 개념을 간단히 살펴본 후 Linux CPUfreq 서브시스템을 활성화하는 방법, C 및 P 상태에 대한 지침을 가져오는 방법 및 다섯 가지 커널 내 거버너(governor) 중에서 시스템의 전력 효율 향상을 위해 필요한 거버너를 결정하는 방법에 대해 설명합니다.

의견 나누기:  회사에서 절전이 얼마나 중요한지에 대한 의견을 추가해주기 바랍니다.

이 시리즈의 정보

이 시리즈에서는 전력 효율을 높이기 위해 Linux 기반 IBM System x 서버를 조정하는 방법에 대해 살펴본다. 커널 내 거버너 및 관련 설정과 거버너의 사용 방법에 대해 알아본 후 조정된 거버너가 전력 성능 및 전자 상거래 워크로드에 미치는 효과를 살펴본다. 예제는 RHEL 5.2(Red Hat Enterprise Linux 버전 5.2)가 실행 중인 System x 서버를 기반으로 하지만 모든 2.6.x 커널과 주파수 배율 조정을 지원하는 모든 유형의 프로세서에도 동일한 지침이 적용된다.

Part 1에서는 전력 효율 향상을 위해 시스템을 조정하는 데 필요한 Linux CPUfreq 서브시스템, C 및 P 상태, 다섯 가지 커널 내 거버너 등을 포함한 구성 요소와 개념에 대해 설명한다.

Part 2에서는 Linux CPUfreq 서브시스템의 일반 설정과 다섯 가지 커널 내 거버너 즉, 성능, 절전, 사용자 공간, 온디맨드일반 거버너와 해당 설정에 대해 자세히 살펴본다.

Part 3에서는 조정된 상태와 조정되지 않은 상태에서 다섯 가지 커널 내 거버너의 성능을 비교하여 시스템에 대한 전력 조정을 통해 얻을 수 있는 결과를 확인한다.

전력 효율은 사업 비용이나 환경 문제와 관련된 모든 사람에게 중요한 고려 사항이다. 이 기사에서는 Linux CPUfreq 서브시스템과 커널 내 거버너를 사용하여 프로세서의 작동 주파수를 변경하여 성능에 큰 영향을 주지 않으면서 시스템의 전력 효율을 향상시키는 방법에 대해 설명한다. 하지만 전력 효율 조정은 실제 하드웨어에 의존하게 된다는 한계가 있다. (이 시리즈의 Part 2에서 이에 대해 자세히 설명한다.)

Linux CPUfreq 서브시스템

2.6.0 Linux 커널부터는 CPUfreq 서브시스템을 통해 프로세서 주파수 배율을 동적으로 제어할 수 있다. 낮은 클럭 속도로 작동하는 프로세서는 속도에 비례하여 전력 소비량과 발열량이 낮다. 이처럼 클럭 속도를 동적으로 제어하는 기능을 사용하면 시스템이 많이 사용되지 않을 때 전력을 적게 소비하도록 시스템을 조절할 수 있다.

CPUfreq 구조에서는 거버너와 데몬을 사용하여 시스템의 정적 또는 동적 전력 정책을 설정한다. 이 기사의 뒷부분에서 설명할 동적 거버너는 CPU 사용률에 따라 CPU 주파수를 전환하여 성능에 영향을 주지 않으면서 전력 소비를 줄일 수 있다. 이러한 거버너에서는 사용자 조정 기능도 제공되므로 주파수 배율을 쉽게 변경하고 사용자 정의할 수 있다. 또한 sched_mc_power_savingssched_smt_power_savings 설정은 스레드 통합을 통해 전력을 절약할 수 있다.