Mengapa Docker mengurangi penggunaan daya pada perangkat Internet of Things di benchmark ini?

10

Saya tertarik pada aplikasi Docker pada perangkat IoT seperti Raspberry Pis.

Setelah membaca Evaluasi Kinerja Teknologi Kontainer di Internet of Things Devices , saya sedikit bingung dengan salah satu hasilnya. Dalam Tabel 1, konsumsi daya yang ditunjukkan di bawah Apache 2 Benchmarking (200 klien) menunjukkan bahwa menggunakan wadah Docker mengurangi konsumsi daya, meskipun overhead dari kontainerisasi menggunakan Docker.

Mengapa ini terjadi? Apakah ini cukup andal untuk digunakan untuk sedikit mengurangi konsumsi daya perangkat IoT, dan apakah akan ada kekurangan?

Aurora0001
sumber
1
Dengan membaca tabel di halaman terakhir Anda memiliki sedikit mundur. Konsumsi daya sebagian besar lebih tinggi untuk "Docker" daripada "Asli". Teks tersebut merujuk pada kasus di mana ada juga perbedaan kinerja (ada di kuadran kanan bawah Tabel I), mungkin karena peningkatan bottleneck jaringan untuk kontainer, yang akan berarti prosesor yang kurang aktif.
goldilocks
@delicateLatticeworkFever mungkin begitu, saya sedang mencari "5000 permintaan", "25000 permintaan" dan "100000 permintaan" di mana penggunaan daya ditampilkan masing-masing "-4,63%", "-3,84%", "-3,84%" dan "-5,29%" . Perbedaan kinerja tampaknya merupakan kemungkinan penyebab perbedaan kekuatan, yang mungkin layak dibahas dalam jawaban. Bagian dari pertanyaan saya adalah apakah Anda dapat memanfaatkan itu sebagai tradeoff jika Anda senang dengan kinerja yang sedikit menurun, karena itu sepertinya ide yang menarik bagi saya.
Aurora0001
1
Nah, jika itu karena 5000 permintaan itu memakan waktu lebih lama, itu berarti melakukan sesuatu dengan kurang dari 100% berarti lebih sedikit energi per tugas yang digunakan. Itu mungkin bentuk umum dari pertanyaan ini dan sebagai tebakan biasa saya bisa mengatakan itu ada hubungannya dengan energi yang hilang melalui disipasi panas. Apakah (setidaknya beberapa) prosesor kurang efisien saat diunggulkan? Bisa dengan mudah. Dalam hal ini, jika Anda menginginkan manfaatnya, Anda dapat menjalankan tes dengan CPU sedikit terkecoh dan melihat apakah itu menghasilkan keuntungan yang sama (itu pasti akan berjalan lebih lambat dan menggunakan lebih sedikit daya). Catatan pada perangkat 5W Saya tidak yakin apakah +/- <5% bermakna.
goldilocks
Note on a 5W device I'm not sure if +/- <5% is meaningful.- itu poin yang bagus, tetapi jika Anda menjalankan perangkat IoT pada skala, penghematan energi menjadi lebih signifikan (dan terlepas dari itu adalah eksperimen pemikiran yang menarik). Jika Anda ingin menyatukan pemikiran Anda menjadi sebuah jawaban, saya pikir Anda akan tepat dengan menjawab pertanyaan yang saya ajukan.
Aurora0001
1
Hmmm, tidak begitu yakin hipotesis cepat saya benar; melihat sekilas ini tampaknya hubungannya linier: stackoverflow.com/questions/6128960/ ... ... dan kemiringan pada grafik itu adalah <1, sehingga prosesor yang keluar harus lebih efisien.
goldilocks

Jawaban:

7

Setelah beberapa penyelidikan lebih lanjut, saya pikir masalah dalam pertanyaan ini adalah bahwa meskipun daya (tingkat transfer energi) berkurang, konsumsi energi keseluruhan ditingkatkan dengan menggunakan Docker, jadi tidak ada manfaat dalam hal mengurangi biaya listrik.

Berdasarkan angka-angka kertas untuk 100.000 permintaan, kita dapat menghitung penggunaan energi melalui rumus:

Energi = daya x waktu

Mengingat bahwa kode asli mengkonsumsi daya 2,4893 W, dan membutuhkan waktu sekitar 170 detik (lihat Gambar 3, Asli 200), kita tahu bahwa energi yang digunakan adalah:

2.4893 W * 170 dtk

= 423.181 Ws = 423.181 J (1 watt-detik setara dengan joule, atau, dengan kata lain, watt adalah joule per detik)

Untuk kode Docker, penggunaan daya adalah 2,3642 W, tetapi waktu yang dibutuhkan adalah 220 detik, jadi:

2.3642 W * 220 s

= 520.124 Ws = 520.124 J

Oleh karena itu, penggunaan energi secara keseluruhan untuk contoh adalah 96.943 J lebih tinggi, yang jelas tidak diinginkan jika penggunaan energi menjadi perhatian. Namun, menggunakan Docker memang memiliki keunggulan lain untuk penerapan dan manajemen, tetapi di lingkungan yang sangat terbatas (misalnya hanya baterai), tampaknya sebaiknya dihindari.

Aurora0001
sumber