Docker vs Xen vs KVN : comparatif de la performance énergétique

Les containers Docker sortent gagnants d'un comparatif d'Ericsson Research sur la consommation énergétique des grandes technologies de virtualisation open source.

Un ingénieur d'Ericsson Researcher, Roberto Morabito, a publié un benchmark technique comparant les niveaux de consommation d'énergie des principales technologies de virtualisation open source : Xen, KVM, Docker, ainsi que LXP (ou Linux Container). LXP est la brique du noyau Linux permettant de bâtir des containers. C'est d'ailleurs sur elle que les containers Docker s'adossent.

Résultat du comparatif : le code exécuté pour le test engendre une consommation en watts équivalente entre les différents environnements pour le CPU et la mémoire.  En revanche, il n'en va pas de même côté réseau et gestion du trafic TCP entrant et sortant du container ou de la VM. Sur ce plan, la performance énergétique du container est bien meilleure (voir les graphiques ci-dessous).

La gestion réseau plus consommatrice du côté des hyperviseurs

Pourquoi cette différence ? "Cela vient principalement de la présence d'une couche additionnelle dans les hyperviseurs pour exécuter les paquets réseau", estime Roberto Morabito. Quant à la différence de performance, moindre, constatée entre Xen et KVM sur ce même volet réseau, elle proviendrait d'opérations supplémentaires mises en œuvre par le second pour gérer le trafic, qui contribuerait à engendrer une consommation d'énergie supérieure.

Consommation énergétique de Xen, KVM, Docker et LXC pour un container ou une VM unique

Consommation électrique  d’un container ou une VM unique, recevant les frames de paquet TCP à 1500 et 9000 octets MTU (MTU pour Maximum Transmission Unit, taille maximale d'un paquet pouvant être transmis en une seule fois). © Ericsson Research

Consommation énergétique de Xen, KVM, Docker et LXC pour plusieurs containers ou VM

 
Consommation électrique de multiples containers et VM, recevant un trafic TCP (à 1500 octets le MTU).  © Ericsson Research
Consommation électrique de multiples containers et VM, envoyant un trafic TCP (à 1500 octets le MTU). © Ericsson Research

Virtualisation / Xen