Почему Docker снижает энергопотребление на устройстве Интернета вещей в этом тесте?


10

Меня интересовали приложения Docker на устройствах IoT, таких как Raspberry Pis.

Прочитав «Оценку производительности контейнерных технологий на устройствах Интернета вещей» , я был слегка смущен одним из результатов. В Таблице 1 энергопотребление, показанное в соответствии с Apache 2 Benchmarking (200 клиентов), показывает, что использование контейнера Docker снижает энергопотребление, несмотря на издержки контейнера при использовании Docker.

Почему это происходит? Достаточно ли это надежно, чтобы его можно было использовать для небольшого снижения энергопотребления устройств IoT, и будут ли какие-либо недостатки?


1
Из-за того, что я прочитал таблицы на последней странице, вы немного отстали. Потребление энергии в большинстве случаев выше для «Докера», чем для «Родного». Текст ссылается на случай, когда есть также разница в производительности (она находится в нижнем правом квадранте таблицы I), предположительно из-за увеличения узкого места в сети для контейнера, что может привести к снижению активности процессора.
Златовласка

@delicateLatticeworkFever, может быть и так, я смотрю «5000 запросов», «25000 запросов» и «100000 запросов», где энергопотребление составляет «-4,63%», «-3,84%» и «-5,29%» соответственно , Разница в производительности, похоже, является вероятной причиной разницы в мощности, что, возможно, стоит обсудить в ответе. Отчасти мой вопрос заключается в том, можете ли вы использовать это в качестве компромисса, если вас устраивает слегка ухудшенная производительность, потому что это показалось мне интересной идеей.
Аврора0001

1
Что ж, если из-за того, что эти 5000 запросов заняли больше времени, это означает, что выполнение задач менее чем на 100% означает меньшую энергию для каждой задачи. Это может быть общая форма этого вопроса, и, как случайное предположение, я могу сказать, что это связано с энергией, теряемой при рассеивании тепла. Являются ли (по крайней мере, некоторые) процессоры менее эффективными при максимальном использовании? Может быть легко. В этом случае, если вы хотите получить выгоду, вы можете запустить тесты с немного замедленным ЦП и посмотреть, дает ли это то же преимущество (оно определенно будет работать медленнее и потреблять меньше энергии). Обратите внимание на устройство 5W, я не уверен, имеет ли значение +/- <5%.
Златовласка

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

1
Хммм, не уверен, что моя быстрая гипотеза верна; Взглянув на это, кажется, что связь линейная: stackoverflow.com/questions/6128960/… ... и наклон на этом графике равен <1, поэтому процессор с максимальной производительностью должен быть более эффективным.
Златовласка

Ответы:


7

После некоторого дальнейшего исследования, я думаю, что проблема в том, что, хотя мощность (скорость передачи энергии) была уменьшена, общее потребление энергии было увеличено с помощью Docker, поэтому нет никакой выгоды с точки зрения снижения затрат на электроэнергию.

Основываясь на цифрах бумаги для 100 000 запросов, мы можем рассчитать потребление энергии по формуле:

Энергия = мощность х время

Учитывая, что нативный код потреблял 2,44893 Вт энергии и занимал приблизительно 170 секунд (см. Рис. 3, Native 200), мы знаем, что использованная энергия была:

2,44893 Вт * 170 с

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

Для кода Docker энергопотребление составило 2,3642 Вт, но затраченное время составило 220 секунд, поэтому:

2,3642 Вт * 220 с

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.