Чому Docker зменшує споживання електроенергії на пристрої Internet of Things у цьому еталоні?


10

Мене цікавили додатки Docker на таких пристроях IoT, як Raspberry Pis.

Прочитавши Оцінку продуктивності контейнерних технологій на пристроях Інтернету речей , мене трохи збентежив один із результатів. У таблиці 1 споживання електроенергії, показане в Apache 2 Benchmarking (200 клієнтів), показує, що використання контейнера Docker зменшило споживання електроенергії, незважаючи на накладні витрати контейнера на Docker.

Чому це відбувається? Чи достатньо цього надійного, щоб використовувати його для зменшення споживання електроенергії пристроїв IoT, і чи будуть недоліки?


1
По моєму читанню таблиць на останній сторінці у вас це трохи відстало. Споживання електроенергії здебільшого вище для "Докера", ніж для "Рідного". У цьому тексті йдеться про випадок, коли також є різниця в продуктивності (це в нижньому правому квадранті таблиці I), імовірно, через збільшене вузьке вузьке місце для контейнера, що може означати менш активний процесор.
золотинок

@delicateLatticework Якщо можливо, я дивлюсь на "5000 запитів", "25000 запитів" та "100000 запитів", де показник споживання енергії "-4,63%", "-3,84%" та "-5,29%" відповідно . Різниця в продуктивності, здається, є ймовірною причиною різниці в потужності, про яку варто обговорити у відповіді. Частина мого питання полягає в тому, чи можете ви використати це як компроміс, якщо ви були задоволені дещо погіршеною роботою, бо мені це здалося цікавою ідеєю.
Aurora0001

1
Що ж, якщо це тому, що ці 5000 запитів зайняли більше часу, це означає, що робити щось менше, ніж 100%, означає менше енергії на кожне використане завдання. Це може бути загальною формою цього питання, і, як випадковий здогад, я можу сказати, що це стосується енергії, втраченої в результаті тепловіддачі. Чи є (принаймні деякі) процесори менш ефективними, коли їх розміщують? Легко було. У такому випадку, якщо ви хочете отримати перевагу, ви можете запустити тести з утиснутою процесором і побачити, чи це дає ту саму перевагу (вона, безумовно, буде працювати повільніше і використовувати менше енергії). Примітка на пристрої потужністю 5 Вт, я не впевнений, чи має значення +/- <5%.
goldilocks

Note on a 5W device I'm not sure if +/- <5% is meaningful.- це хороший момент, але якщо ви запускаєте пристрої IoT в масштабі, економія енергії стає більш значною (і це цікавий продуманий експеримент незалежно). Якщо ви хочете об'єднати свої думки у відповідь, я думаю, ви б вирішили звернутися до питань, які я порушив.
Aurora0001

1
Гммм, не дуже впевнений, що моя швидка гіпотеза правильна; Поглянувши на це, здається, що зв'язок лінійний: stackoverflow.com/questions/6128960/… ... і нахил на цьому графіку <1, тому процесор, що змішується, повинен бути більш ефективним.
goldilocks

Відповіді:


7

Після деякого подальшого дослідження, я думаю, що питання в тому, що хоча потужність (швидкість передачі енергії) була знижена, загальне споживання енергії було збільшено за допомогою Докера, тому користі в плані зменшення витрат на електроенергію немає.

Спираючись на дані паперу для 100 000 запитів, ми можемо обчислити споживання енергії за формулою:

Енергія = потужність х час

Зважаючи на те, що нативний код споживав 2 483 Вт енергії та зайняв приблизно 170 секунд (див. Малюнок 3, Native 200), ми знаємо, що використана енергія:

2,4893 Вт * 170 с

= 423,181 Вт = 423,181 Дж (1 ват-секунда еквівалентна джоулю, або, іншими словами, ват - джоуль в секунду)

Для коду Докера витрата електроенергії становила 2,3642 Вт, але зайнятий час становив 220 секунд, отже:

2.3642 Вт * 220 с

= 520,124 Вт = 520,124 Дж

Отже, загальне споживання енергії на прикладі було на 96,943 Дж більше, що явно небажано, якщо використання енергії викликає занепокоєння. Однак використання Docker має й інші переваги для розгортання та управління, але у жорстко обмежених умовах (наприклад, лише для акумуляторів), здається, що цього найкраще уникати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.