このベンチマークでDockerがモノのインターネットデバイスの電力使用量を削減するのはなぜですか?


10

Raspberry PisなどのIoTデバイスでのDockerのアプリケーションに興味があります。

モノのインターネットデバイスでのコンテナーテクノロジーのパフォーマンス評価を読んだ後、その結果の1つに少し混乱しました。表1では、Apache 2ベンチマーク(200クライアント)で示される消費電力は、Dockerを使用するコンテナーのオーバーヘッドにもかかわらず、Dockerコンテナーを使用すると消費電力が削減されることを示しています

なぜこれが起こるのですか?これは、IoTデバイスの消費電力をわずかに削減するために使用するのに十分な信頼性がありますか?また、欠点はありますか?


1
私が最後のページの表を読んでいると、少し後ろ向きになっています。「Docker」の方が「ネイティブ」よりも消費電力が高い。このテキストは、おそらくコンテナーのネットワークボトルネックの増加が原因でパフォーマンスが低下している(表Iの右下の象限にある)ケースを示していますが、これはプロセッサーのアクティブ性が低下するためです。
goldilocks 16

@delicateLatticeworkFever多分そう、私は「5000リクエスト」、「25000リクエスト」、「100000リクエスト」を見て、電力使用量がそれぞれ「-4.63%」、「-3.84%」、「-5.29%」であることが示されています。 。パフォーマンスの違いが電力の違いの原因である可能性が高いと思われますが、回答で議論する価値があるかもしれません。私の質問の一部は、パフォーマンスのわずかな低下に満足していれば、それをトレードオフとして悪用できるかどうかです。
Aurora0001

1
まあ、それはそれらの5000リクエストがより長くかかったため、100%未満で物事を行うことを意味し、使用されるタスクごとのエネルギーが少なくなることを意味します。それはこの質問の一般的な形かもしれませんが、さりげない推測として、私はそれが熱放散によって失われるエネルギーに関係していると言うかもしれません。(少なくとも一部の)プロセッサは、使い尽くされると効率が低下しますか?簡単にできます。その場合、利点が必要な場合は、CPUを少し絞ってテストを実行し、同じ利点が得られるかどうかを確認できます(実行速度が遅くなり、消費電力が少なくなります)。5Wデバイスに関する注意事項+/- <5%が意味があるかどうかはわかりません。
goldilocks 2016

Note on a 5W device I'm not sure if +/- <5% is meaningful.-それは良い点ですが、IoTデバイスを大規模に実行すると、エネルギー節約がより重要になります(そして、それは興味深い思考実験です)。考えをまとめて回答にしたい場合は、私が提起した質問に対処するのが適切だと思います。
Aurora0001

1
うーん、私の仮説が正しいかどうかはわかりません。:このちらっと見、関係が直線的であるようだstackoverflow.com/questions/6128960/... ...とそのグラフの傾きは、<1であるので、大変疲れプロセッサがあるべきより効率的。
goldilocks 2016

回答:


7

さらに調査した結果、問題は電力(エネルギー伝達率)は削減されましたが、Dockerを使用することで全体のエネルギー消費量が増加したため、電気代の削減という点ではメリットがないということです。

100,000リクエストのペーパーの数値に基づいて、次の式でエネルギー使用量を計算できます。

エネルギー=パワーx時間

ネイティブコードが2.4893 Wの電力を消費し、約170秒かかったとすると(図3、ネイティブ200を参照)、使用されたエネルギーは次のとおりでした。

2.4893 W * 170秒

= 423.181 Ws = 423.181 J(1ワット秒はジュールに相当します。つまり、ワットは1秒あたりのジュールです)

Dockerコードの場合、電力使用量は2.3642 Wでしたが、所要時間は220秒でした。

2.3642 W * 220秒

= 520.124 Ws = 520.124 J

したがって、この例の全体的なエネルギー使用量は96.943 J高くなり、エネルギー使用量が懸念される場合は明らかに望ましくありません。ただし、Dockerを使用すると、展開と管理に関して他の利点がありますが、厳しい制約のある環境(たとえば、バッテリーのみ)では、回避するのが最善のようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.