原則: エネルギー効率

完了

ビデオの内容は現在でも有効ですが、グリーン ソフトウェア財団の原則の番号変更により、原則の番号が異なることがあります。

電力と炭素

ほとんどの人は、電力はクリーンだと思っています。 壁に何かを差し込むときに手が汚れることもなければ、ノート PC に排気管が必要になることもありません。 しかし、実際には、ほとんどの電力は化石燃料 (通常は石炭) の燃焼によって生成され、エネルギー供給は、それだけで最も重要な炭素排出の原因であるということです。

電力を炭素排出と直接関連付けることができるので、電力は炭素の代替指標の 1 つと見なすことができます。

スマートフォンで実行されるアプリケーションからデータ センターで実行される機械学習モデルのトレーニングまで、すべてのソフトウェアは、実行中に電力を消費します。 電力消費とソフトウェアによるその後の炭素排出による汚染を削減するための最善策の 1 つは、アプリケーションのエネルギー効率を高めることです。

この知識が、持続可能なソフトウェア エンジニアリングのこの原則が炭素効率の高いアプリケーションをビルドすることである理由です。

持続可能なエンジニアとして、私たちは、電力を理解する必要があります。 私たちの取り組みは、コンピューターから始まるのではなく、コンピューターに電力を供給する電気の生成方法から始まります。

エネルギーと電力

エネルギーで電気使用量が測定され、エネルギーの標準単位はジュールまたは J です。しかし、エネルギー消費量を表すもう 1 つの一般的な方法として、キロワット時 (kWh) があります。

多くの場合、電気は、電力またはエネルギーのいずれかとして報告されます。これらは 2 つの異なる概念です。

エネルギー = 電力 ✕ 時間

  • エネルギーは使用される電気の合計量であり、エネルギーの標準単位はジュールまたは J です。

  • 電力は、時間単位あたりに消費される電気の割合です。電力の標準単位はワットまたは W です。1 ワットは、1 ジュール/秒です。

エネルギー消費量を表す一般的な方法は、"ワット秒やキロワット時などの単位時間の電力量" です。 次に例を示します。

  • 20 ワット秒 (20 Ws) は、20 W を 1 秒間実行した場合に得られるエネルギー量です。 1 ワットは 1 ジュール/秒であるため、この値は 20 ジュールです。

  • 20 キロワット時 (20 kWh) は、1 時間に 20,000 ワットが実行された場合に得られるエネルギーです。

    Energy = 60 X 60 X 20,000 = 72,000,000 Joules = 72 Megajoules (72 MJ)

エネルギー比例性

使用率は、使用されているコンピューターのリソース量を測定し、通常はパーセンテージで表されます。 アイドル状態のコンピューターの使用率は低く、使用されていません。 最大の能力で実行されているコンピューターのパーセンテージは高く、フルに使用されています。

エネルギー比例性は、コンピューター システムで消費される電力と、有用な作業が行われる速度 (使用率) との関係を測定したものです。 全体的な電力消費量がコンピューターの使用率に比例している場合、エネルギー比例性があります。

エネルギー比例性のあるシステムでは、エネルギー効率は一定であり、どのような使用率であってもエネルギー効率は同じです。 しかし、ハードウェアのエネルギー効率は一定ではありません。 コンテキストによって異なります。 多数の異なるハードウェア デバイスには複雑な相互作用があるため、非線形になることがあります。これは、電力と使用率の関係が比例していないことを意味します。

Diagram showing power versus utilization.

使用率が 0% であっても、コンピューターは 100 Wを消費します。使用率 50% では 180 Wが消費され、使用率 100% で 200 Wが消費されます。 電力消費と使用率の関係は線形ではなく、原点を越えることはありません。

この関係により、コンピューターを利用するほど、電力を有用なコンピューティング操作に変換する効率が高まります。 使用率が最も高い、できるだけ少ない数のサーバー上で作業を実行すると、エネルギー効率が最も高くなります。

静的な電力消費

エネルギー比例性の欠如にはさまざまな理由がありますが、その 1 つは静的な電力消費です。

アイドル状態のコンピューターは、使用率が 0% であっても、電力を消費します。 この静的な電力消費は構成およびハードウェア コンポーネントによって異なりますが、すべてのコンポーネントに静的な電力消費があります。 この潜在的な電力消費は、PC、ノート PC、およびモバイル デバイスに省電力モードが用意されている理由の 1 つです。 デバイスがアイドル状態の場合は、最終的に休止モードがトリガーされ、ディスクと画面がスリープ状態になったり、CPU 周波数が変化することさえあります。 このような省電力モードで電力が節約されますが、他のトレードオフがあります。たとえば、デバイスがウェイクアップされたときの再起動が遅くなります。

通常サーバーの電力は、積極的または最小限にさえ節約する構成がされていません。 多くのサーバー ユースケースにおいては、急速に変化する需要に応じて可能な限り迅速に、最大キャパシティが要求されます。 このシナリオでは、要求の少ない期間に多くのサーバーがアイドル モードのままになる可能性があります。 アイドル状態のサーバーによって、内包炭素と非効率な使用率の両方のコストが発生します。

クロック速度

クロック速度 (周波数) は、コンピューターまたはマイクロプロセッサの動作速度であり、1 秒あたりのサイクル数 (メガヘルツ) で表されます。 コンシューマー デバイスでは、より高いエネルギー比例性を実現するために、コンピューティング デバイスのクロック速度を動的に調整することがあります。

クロック速度は、コンピューターが命令をどれだけ高速に実行できるかを表します。

マイクロプロセッサのエネルギー効率はクロック速度と共に変化し、クロック速度が高速になると、エネルギー効率が低クロック速度よりも低くなることがよくあります。 たとえば、I7-3770K システムでは、50 W の場合は 3.5 GHz175 W の場合は 5 GHz で実行できます。 クロック速度が約 40% 増加すると、電力を >3 倍に増やす必要があります。

使用率が低い時間帯にクロック速度を下げると、エネルギー効率が向上し、ハードウェアのエネルギー効率を最大化できる場合があります。