
拓海先生、最近部下が『CPUの電力を測ればソフトの環境負荷が分かる』と言ってましてね。費用対効果の観点で本当に現場で使えるものか、要点を教えていただけますか。

素晴らしい着眼点ですね!結論から言うと、CPUの消費電力はソフトで測れるが、測り方によって『正確さ・現場での使いやすさ・計測自体の影響』が変わるんですよ。大丈夫、一緒に見ていけば必ずできますよ。

要は、追加の機器を使わずに今のサーバーで電力を見られるという話ですか。現場の担当者が手軽に使えるなら投資判断もしやすいのですが。

その通りです。Intelが用意したRAPLという仕組みがあって、これはCPU内部のレジスタを読み取って消費電力を推定するものです。ただし読み出しの方法が複数あり、それぞれ一長一短なのです。

具体的にどんな読み出し方があるのですか。性能に影響が出たりはしませんか。

簡潔に三つに分けて説明します。まず低レベルで直接レジスタを読むMSRという方法、次にOSが提供するpowercapという枠組み、さらにperf-eventsを使う方法があり、それはユーザ空間での読み出しか、カーネル空間でeBPFを使うかの二通りがあります。

これって要するに〇〇ということ?

いい着眼点ですね!端的に言えば、計測は『知るためのコスト』を伴うということです。どの方法も一切影響がないわけではなく、計測方法によっては計測自体がシステムに負荷を与える場合があるため、現場では『オーバーヘッド』『使いやすさ』『再現性』の三つを天秤にかける必要がありますよ。

IntelとAMDで差はありますか。もし差があるなら我が社のサーバー選定に関わります。

良い問いです。論文はIntelとAMD両方を実験に入れており、機構ごとの差はあるものの、性能面で決定的に優れる機構はないと結論づけています。だからサーバー選定は他の要素と合わせて判断すべきで、計測方法は互換性や運用のしやすさで選ぶとよいですよ。

具体的には我々の現場でどのように導入すればいいか、要点を三つにまとめていただけますか。

もちろんです。要点は三つあります。第一に目標を明確にすること、第二に影響が小さい計測方法を選ぶこと、第三にオープンな実装を参照して運用ルールを決めることです。大丈夫、一緒に手順を作れば現場で使えるようになりますよ。

要するに、この論文は『計測手段を整理し、その影響と実用性を比較して、現場向けの指針を示した』ということですね。分かりました、社内会議で説明してみます。ありがとうございました。


