초록
기존의 서버 클러스터 환경에서는 모든 서버가 항상 On된다. 만일 서버 요청 부하가 최대가 되면 서버 클러스터에서 얻을 수 있는 가능한 최대 성능을 얻게 되며, 그렇지 않으면 가능한 최대 성능의 일부만을 사용하게 되면서 서버 전력 소비의 효율성은 떨어지게 된다. 부하 상황에 따라 서버의 전력 모드를 제어함으로써 전력 소비의 효율성을 높일 수 있다. 다시 말하면 현재 부하를 처리하는데 필요한 대수의 서버들만 On하고 나머지 서버들은 Off 한다. 기존의 서버 전원 모드 제어 방법에서는 고정된 주기로 서버 전원 모드를 제어하는 정적인 정책을 적용함으로써 동적으로 변하는 부하 환경에 잘 적응하지 못한다. 이를 개선하기 위해 본 논문에서는 동적 서버 전원 제어 알고리즘을 제안한다. 제안 방법에서는 서버 소비 전력의 이력을 갖고서 가까운 장래에 서버 소비 전력이 증가할 것인가를 예측한다. 이 예측에 따라 서버 모드 제어 주기를 동적으로 변경한다. 30대의 PC 클러스터를 이용하여 실험을 수행하였다. 실험을 통하여 일반적인 클러스터링 환경과 비교하여 제안된 방법은 동일한 성능을 유지하면서 29%까지 소비 전력을 절감했다. 또한, 서버 클러스터에서 서버 CPU 사용률 평균은 66% 증가하였다.
All the servers in a traditional server cluster environment are kept On. If the request load reaches to the maximum, we exploit its maximum possible performance, otherwise, we exploit only some portion of maximum possible performance so that the efficiency of server power consumption becomes low. We can improve the efficiency of power consumption by controlling power mode of servers according to load situation, that is, by making On only minimum number of servers needed to handle current load while making Off the remaining servers. In the existing power mode control method, they used a static policy to decide server power mode at a fixed time interval so that it cannot adapt well to the dynamically changing load situation. In order to improve the existing method, we propose a dynamic server power control algorithm. In the proposed method, we keep the history of server power consumption and, based on it, predict whether power consumption increases in the near future. Based on this prediction, we dynamically change the time interval to decide server power mode. We performed experiments with a cluster of 30 PCs. Experimental results show that our proposed method keeps the same performance while reducing 29% of power consumption compared to the existing method. In addition, our proposed method allows to increase the average CPU utilization by 66%.