스마트 튜닝으로 면도 전기료 절약.

로보틱스 및 머신러닝 엔지니어 한 명이 스마트 플러그를 통해 전력 사용량을 모니터링하고, 이를 전력 요금 체계에 따라 활용하여 시스템 성능을 조정하는 명령줄 인터페이스(CLI) 도구를 개발했습니다. 'WattWise'라는 이름의 이 간단한 프로그램은 Naveen이 4개의 GPU를 추가할 계획으로 듀얼 소켓 EPYC 워크스테이션을 구축하는 과정에서 탄생했습니다. 전력 소모가 큰 시스템이었기에, 그는 Kasa 스마트 플러그를 이용해 전력 소비를 모니터링할 방법을 필요로 했습니다. 개발자는 현재 프로젝트의 모니터링 기능만 공개했으며, 클럭 및 전력 관리 기능은 추후 공개할 예정입니다. 기존에 사용하던 Kasa Smart 앱이나 Home Assistant 대시보드로는 원하는 모든 기능을 구현하는 데 한계가 있었습니다. Naveen은 이미 htop, nvtop, nload와 같은 모니터링 도구를 구동하는 터미널 환경에 익숙했기에, 또 다른 별도의 애플리케이션을 사용하는 대신 직접 문제를 해결하기로 결정했습니다.
Naveen은 Home Assistant와 TP-Link 통합 기능을 활용하여 전력 소비 데이터를 표시하는 터미널 기반 UI를 구축했습니다. 이 앱은 실시간으로 전력 사용량(와트 및 암페어)을 모니터링할 뿐만 아니라, 과거 소비 패턴 차트도 제공합니다. 특히 중요한 기능은 CPU 및 GPU 성능을 자동으로 스로틀링(throttle)하여 관리한다는 점입니다. Naveen의 전력 공급업체가 시간대별(Time-of-Use, ToU) 요금을 적용하므로, 피크 시간대에 전력을 많이 사용할 경우 비용이 급격히 증가할 수 있기 때문입니다. 이 워크스테이션은 최대 부하 시 1400와트(watts)까지 전력을 끌어올릴 수 있지만, CPU 주파수를 3.7GHz에서 1.5GHz로 낮춤으로써 소비 전력을 약 225와트 절감할 수 있었습니다. (참고로 GPU 스로틀링은 언급되지 않았으나, 이는 쿼드-GPU 구성의 경우 더욱 큰 전력 절감을 가능하게 할 수 있습니다.) 물론 실제 결과는 사용되는 하드웨어에 따라 달라지며, 서버는 일반 데스크톱—심지어 게이밍 전용으로 설계된 데스크톱보다 훨씬 많은 전력을 소비할 수 있습니다.

WattWise는 현재 시스템 부하, 스마트 플러그가 보고하는 전력 소비량, 그리고 시간 정보를 종합하여 시스템 클럭 속도를 최적화합니다. 이때 시간 정보는 피크 시간대의 가격을 반영합니다. 이후 프로그램은 비례-적분(Proportional-Integral, PI) 제어기(controller)를 사용하여 전력을 관리하고, 이 세 가지 변수를 기반으로 시스템 매개변수를 조정합니다. 현재 이 앱은 한 번에 하나의 스마트 플러그만 지원하며 Kasa 브랜드 전용으로 작동합니다. 하지만 Naveen은 다수의 플러그 지원, 더 많은 스마트 플러그 브랜드 통합, 다른 전력 관리 도구와의 통합 및 기능 확장을 계획하고 있다고 밝혔습니다. 이 앱은 현재 형태로 매우 단순한 도구이지만, 때로는 문제가 발생했을 때 단순함이 가장 효과적인 해결책이 되기도 합니다.
Naveen은 WattWise를 MIT 라이선스 하에 오픈 소스화했으며 GitHub에서 직접 다운로드할 수 있습니다. 관심 있는 사용자는 피드백이나 기여를 남기거나, 코드를 포크(fork)하여 다른 시스템에 맞게 수정할 수 있습니다. 다만, 현재 버전에는 실제 전력 최적화 로직이 포함되어 있지 않고 대시보드만 구현되어 있어 추가적인 작업이 필요하다는 점을 알려드립니다.