Host Power Management for vSphere

아마 국내 환경의 대부분은 특별한 사유가 있지 않는 이상, 대부분 BIOS 에서 Power Policy 를 High Performance 같은걸로 쓰시고, vSphere 에서도 High Performance 로 설정하실 겁니다.

 

뭐 Dell 이라면 아마 Maximum Performance, 

HPE 라면 Static High Performance Mode 와 같은 이름으로 되어있죠. 

 

대부분 이렇게 설정하고, vSphere 에서도 High Performance 로 설정하는 것이 가장 좋은 성능을 낸다고 생각하실 겁니다.

 

그런데 꼭 그럴까요? 물론 아에 틀리다고 볼수도 없지만, 늘 항상 100% 로 맞다 라고 보기도 어렵습니다.

 

아래는 Dell 서버와 HPE 서버의 BIOS configuration 입니다.

 

 

 

물론 Generation 에 따라 일부 내용이 다를 수 있으니 그 점은 양해하여 주시구요.

 

위의 설정에서 보시면 맥시멈 퍼포먼스로 설정을 할때에는 Dell 와 HPE 모두, C-State 와 P-State 가 Disable 됩니다. 

이러한 설정은 아주 일관적인 성능을 낼때에는 효과적입니다만, 다양한 워크로드가 존재하는 가상화 환경에서는 득보다 실이 많을수도 있습니다. 그 이유는 Turbo Boost 로 인한 오버클러킹 효율이 떨어지기 때문입니다.

 

예를 들면 VM A,B 가 있는데 VM A 가 현재 바쁘게 돌고 있고, VM B 는 놀고 있다고 하면, VM B 가 동작하고 있는 Core 의 클럭과 전압을 다운시키고, 그 여유분을 VM A 가 사용중인 코어를 오버클러킹 하는데 쓴다면 더 나은 성능이 나올수도 있는 것이죠. 특히나 요새는 베이스 클럭와 터보부스트 클럭의 차이가 크게 나는 CPU 들이 많기 때문에 더더욱 그럴수도 있습니다. P-State 와 C-State 를 사용하지 않는다면, 그러한 작업들이 어려워 집니다.

 

그럼 P-State 는 뭐고 C-State 는 뭐냐, 제가 이해한 내용이 맞을지는 모르겠습니다만,

P-State 는 해당 코어 또는 CPU 의 전압과 클럭을 다운시켜 전력을 세이빙 하는 기능이고, Base Clock 인 경우는 P1, Turbo Boost 가 동작하는 상태는 P0 입니다. 

C-State 는 해당 코어 또는 CPU 를 Half(C1) 하거나 Shutdown (C3) 를 시켜 전력을 세이빙 하는 기능으로 이해하고 있습니다. C level 이 깊어질수록 셧다운 되는 종류가 늘어나며, 캐시가 플러시 되는 경우도 있습니다. 그리고 깨어나는데 걸리는 시간이 오래 걸립니다.

 

CPU 종류별로 P-State 와 C-State 의 레벨이 다르기 때문에 참조하시기 바랍니다.  아래 표는 E5-2630 v4 모델의 P-State 표입니다.

 

CPU 마다 TDP (Thermal Design Power) 라는게 있는데, 제품별로 다릅니다. 전력소비량으로 보일수도 있겠습니다만, 실제 전력소비량은 아니고, 해당 클럭으로 동작할 때 발생하는 열을 W 단위로 측정한 것이라고 보시면 되겠습니다. 즉 얼마만큼의 쿨링이 필요한지를 보여주는 지표라고 볼 수 있죠.  그럼 P1 일떄와 P11 일때를 비교하면 클럭이 느린것도 느리지만, 서버라면 쿨링을 위한 팬의 스피드도 느려질 것이라고 예상할수 있겠습니다. 전체적인 전력 소모량이 감소할 수 있겠죠.

 

아래 그림을 보시면 Active 한 코어수에 따라 터보부스트 효과가 어떻게 바뀌는지 아실 수 있을겁니다.

 

 

그렇다면 VMware 에서 권장하는 내용은 무엇이냐, 정리하면 다음과 같습니다.

  • BIOS 에서 Maximum Performance 로 설정하더라도, C-State / P-State 를 enabled 하거나, 아님 OS 에서 제어할 수 있도록 설정하라. ESXi 상에서 online 으로 설정할 수 있기 때문.
  • 만약 Low-latency 를 필요로 하고, 일관적인 응답속도가 필요할 경우 그리고 vSAN 을 사용하는 환경에서는 ESXI 의 Power Policy 를 High Performance 로 설정할 것을 권장. 그게 아니라면 Dynamic 으로 둘것 (Haswell or Later)
  • 일관적인 성능이 필요하다면 Turbo-boost 도 disable 할 것 (ESXi 자체적으로도 disable 할 수 있음 – Custom 세팅을 통해) 
  • BIOS 의 설정이 전력소모량이 초점을 둔다면, ESXi 의 설정은 성능이 첫번째, 그 뒤가 전력 소모량임
  • 호스트에서 러닝중인 VM 등이 이 늘 바쁘다면 터보부스트로 인한 효과는 별로 없을 수 있음.

 

DVD 3.0 테스트 결과 (4 x vCPU, E5-2630 v4)

 

위의 슬라이드와 표는 각각 VMworld breakout session #HBI2526BU 와 Host Resource Deep Dive 에서 발췌하였습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다