技術入門

パワーアウェア動的配置制御技術:PADAC 第2回

NIC ネットワーク制御ソフトウェアプロジェクト

菅原 風子(すがわら ふうこ)

#サーバ省電力化#ソフトウェア制御#PADAC

2025/4/25

はじめに

前回の第1回記事(パワーアウェア動的配置制御技術:PADAC 第1回)では、近年の課題やPADACの基本コンセプトについて紹介しました。今回は、第1回記事で紹介したPADAC要素技術のうちの一つである、リソースコントローラでの省電力制御技術であるCPUコア割り当て最適化技術について紹介します。

CPUコア割り当て最適化技術の概要

第1回記事では、CPUに備わる2つの省電力機能としてC-stateとP-stateを紹介しました。PADACの要素技術のひとつに、C-stateおよびP-stateの省電力効果を最大化する、CPUコア割り当て最適化技術があります。CPUコアの固定割り当ては、CPUピニングやCPUアフィニティとも呼ばれ、Linuxをはじめとする一般的なサーバ用OSがサポートしている機能です。この機能は、おもに仮想化された複数アプリケーションを同一サーバ上に実行する際のアプリケーション同士の干渉を防ぐために用いられますが、サーバの省電力機能と組み合わせて用いることで、CPUの省電力化が期待できます。
CPUコア割り当て最適化技術には、2つのコア割り当てポリシーがあり、P-stateが無効な場合と有効な場合に応じて、それぞれポリシーの使い分けを行います。P-stateが無効な場合は、アプリケーションに最小数のCPUコアを割り当てることで、C-stateの省電力効果を発揮させます。P-stateが有効な場合は、負荷に応じて周波数が増減するため、アプリケーションにすべてのCPUコアを割り当てることで、CPUコアの周波数を低く抑えることができ、P-stateの省電力効果が期待できます。CPUコア割り当て最適化技術の2つのポリシーである、P-stateが無効な場合の負荷片寄割り当てポリシーと、P-stateが有効な場合の負荷均等割り当てポリシーについて、それぞれ紹介します。

P-stateが無効な場合(負荷片寄割り当てポリシー)

まず、性能要件などを理由にP-stateが無効に設定されているサーバへの適用を想定した、負荷片寄割り当てポリシーについて説明します。このポリシーは、C-stateの省電力効果を最大化することを目的に、アプリケーションが使用するCPUコアを最小数に限定した割り当てを行います。

01.jpg
図1 負荷片寄割り当てポリシーの模式図

図1に、負荷片寄割り当てポリシーの模式図を示します。負荷片寄割り当てポリシーは、Sleep状態のCPUコアを多く作って必要最小限のCPUコア数で処理を実行し、CPUの消費電力の低減を狙います。また、割り込みによってCPUコアのSleep状態が強制的に解除されるのを防ぐため、IOや常駐プロセスを処理するコアを限定するように制御します。これにより、CPUの省電力化を図ります。

P-stateが有効な場合(負荷均等割り当てポリシー)

次に、P-stateが有効に設定されているサーバへの適用を想定した、負荷均等割り当てポリシーについて説明します。このポリシーは、複数アプリケーションが共存している環境下において、コア割り当てによる性能保証を行いながら、P-stateの省電力効果を最大化することを目的に、全てのCPUコアの使用を前提にアプリケーションごとの負荷に応じた数を占有させる割り当てポリシーです。

02.jpg
図2 負荷均等割り当てポリシーの模式図

負荷均等割り当てポリシーは、図2で示すようにアプリケーションごとのCPUコアの割り当て数を最適化することで省電力化を実現します。このポリシーは、P-stateが有効な場合にP-stateの省電力効果を最大限引き出せるようにCPUのコアを割り当てます。CPUの消費電力は周波数の2乗~3乗に比例すると言われています。よって、マルチコアCPUにおいては、少数のCPUコアに負荷が偏りそのCPUコアの周波数が高止まりすると、電力効率が悪くなります。反対に、複数のCPUコアに負荷が均等に分散すると、各CPUコアの周波数が一律に低い値に分布し、CPU全体の電力効率が高くなります。このため、負荷均等割り当てポリシーは、前項の負荷片寄割り当てポリシーとは異なり、負荷に関わらずすべてのCPUコアを使用します。アプリケーション実行中のCPUの周波数を監視し、動作周波数が低いCPUコアを持つアプリケーションが使用するCPUコアを、動作周波数が高いCPUコアを持つアプリケーションに譲渡することで、周波数の分散を均等にして、CPU全体の消費電力を削減します。

まとめ

今回は、PADAC要素技術のうちの一つである、CPUコア割り当て最適化技術について紹介しました。第1回記事で紹介したように、PADACは様々なアプローチで省電力制御を行い、将来的には、複数の制御方式を自律的に選択することで、汎用的に効果を発揮する技術の確立を目指しています。今後、第1回記事で紹介した他の要素技術についても、別の記事で紹介していきます。

関連するプロジェクト

プロジェクト一覧へ

採用情報

採用情報