back to article How much do containers thrash VMs in power usage? Thiiiis much

Ericsson researcher Roberto Morabito has compared the power consumption requirements of virtual machines and containers, and found the latter more economical. Power Consumption of Virtualization Technologies: an Empirical Investigation put Xen, KVM, Docker and LXC through their paces on a series of tasks and measured how many …

  1. Lusty

    What a pointless thing to say. In other news lorries use more diesel than bicycles.

    These technologies do very different things. The only benefit here is that those people presently using virtual machines for something containers could do better might finally decide to make the change. It's unlikely, as most of those to whom power is a concern will already have made the move where relevant.

    1. Anonymous Coward
      Anonymous Coward

      Well, I guess it confirms what we already knew...

      The trouble for researchers of all disciplines is that it's really difficult to find a topic on which to publish that a) hasn't been done before, b) stands a chance of being a positive result. At least in the technology / computing arena someone is prepared to do the obvious.

      In the biomedical research world no one ever publishes a we-tried-this-but-it-doesn't-work results (unless they're doing it to discredit previous publications). It's a cut throat, badly run discipline as a result.

    2. Voland's right hand Silver badge

      ERR.. NO...

      It is not pointless. I actually pointed the same thing a while back in an el-reg.

      When you do Full Virtualization regardless of it being Type 1 or Type 2 you _ALWAYS_ trade low power cost IO operations such as DMA for high power cost memory operations such as memory copying or page descriptor changes or tlb manipulation. The sole exemption is if you have low level hardware virtualization support such as SR-IOV.

      If you do Lightweight Virtualization (LXC/Docker/BSD Jail/etc) you namespace a particular device into your container. As a result you usually continue to use DMA which is low power cost. Additionally, you can leverage the overall power saving methodologies in the system such as dynamic frequency scaling, tickless idle, etc 100%. This provides additional power savings on top which you do not get in heavy virtualization environments.

      Mentioning this particular distinction between classic virtualization and container based technologies is not pointless because it is never taken into account when doing the cost/benefit and economic cases for virtualization. I have not seen a single time when someone has done this math in the last 15 years. So mentioning it is not pointless - it actually makes people finally start doing this math as well.

      1. Lusty

        Re: ERR.. NO...

        But you're ignoring the central issue that containers are not a replacement for virtualisation in most scenarios and therefore cost comparison is utterly pointless. A biro is cheaper than a laptop, but most of the use cases for a laptop are not met by a biro so regardless of TCO and marketing I can't always choose a biro. This is the same with containers, they are excellent for certain workloads and use cases but they suck at quite a lot of infrastructure scenarios.

        1. Voland's right hand Silver badge

          Re: ERR.. NO...

          But you're ignoring the central issue that containers are not a replacement for virtualisation in most scenarios

          Container IS a replacement for Vmware in most scenarios in a Linux shop. The sole reason you are virtualizing is because the Vendor and or IT OPS are incompetent to package something correctly so you cannot run the apps on a shared platform and you need to reuse servers for multiple apps for cost reasons.

          This use case does not require IO isolation, different kernels, etc. All you need is to application isolation and some level of resource management which containers are perfectly capable to deliver. Even the most basic container environments like LXC can manage IO limits, memory limits and if you know what you are doing you can manage network limits and network QoS on the platform.

          Typical example - 7 slightly different build environments for 7 releases/branches of an app using something broken that refuses to play ball to share its toys like java/maven + OSGI. Sure - you can VM it. That is both stupid and incompetent as all it needs is 7 containers. Web apps - even more obvious example. Databases - same story. And so on. It is only when you reach the point where you need to run the company firewall in a VM where you need VM level of isolation.

  2. Anonymous Coward
    Anonymous Coward

    Nice paper and really nice references in the bibliography. [ It's missing a chunk of @II A.] It did teach me one thing though. I so seriously need 10 Gbps ethernet here!

  3. This post has been deleted by its author

  4. AMBxx Silver badge
    Paris Hilton

    Like with like?

    Are we really comparing like with like? Feels like the old argument of NAS vs SAN. Eventually, everyone realised that neither was right in all circumstances.

    Right tool for the right job.

    Paris because she knows which tool to use.

    1. Lusty

      Re: Like with like?

      That's what I was saying above, but then a bunch of people who don't know the difference downvoted me :( Always the same around here though.

  5. Velv
    Boffin

    So what happens when your host running containerised apps is itself a VM?

    1. grantmasterflash

      That's how virtually all containers are run which means you'll be using the electricity of the hypervisor AND the container. I don't know of any large scale provider running containers on bare metal.

  6. Ogi

    And in other news....

    An investigation into running a process in a container, vs running it as a user on the system directly, results in even lower power consumption.

    It makes sense, because adding layers of abstraction reduces computational efficiency (more CPU cycles go to the system, vs the computation you want). It is the same reason some people forgo the OS and program the hardware directly, or even develop their own hardware (e.g. FPGAs).

    The question is, whether the loss in computational efficiency is worth any benefits in management and automatic scaling out of resources. If you lose 20% of a nodes efficiency due to using virtualisation, but then you make it trivial to scale out to multiple nodes, then for some it is worth it (generally, Compute/electric power is cheaper than a persons time to manage it).

    What the research does here, is give some numbers to the options, so people can actually work out whether it makes sense for them to go one way or another. It is useful to those who have to sit down and architect some large-scale infrastructure.

  7. toughluck

    Would it kill you if both graphs had the same scale on vertical axes?

    The post is required, and must contain letters.

    1. Anonymous Coward
      Anonymous Coward

      Re: Would it kill you if both graphs had the same scale on vertical axes?

      And look at the range. The difference is only 10%.

      Indeed, hyperscale operations may care about 10%. I don't. I get a lot more mileage from cutting code bloat.

  8. Terry Cloth
    Thumb Down

    It would be nice if they weren't ``Gee Whiz'' graphs.

    A ``Gee Whiz'' graph is one designed to exaggerate the difference, and is usually done by starting the relevant axis (here, Y) at something other than zero. Here they start at 160/165 for a maximum reading of 200/205, thus turning a 10% savings into (for the unwary observer) a 50% savings).

    I suspect this wasn't el Reg's doing; I expect they picked the graphs out of TFA.

    (The ``Gee Whiz'' name comes from How to Lie with Statistics, by Darrell Huff (1954, and still worth a read).) [Note: I know nothing of the identically-titled book by Jordan Conner, out this year.]

    1. AdamWill

      Re: It would be nice if they weren't ``Gee Whiz'' graphs.

      Yup. The OP has a graph with a sane Y axis (starting at 0) sandwiched between three 'gee whiz' graphs, for no apparent reason (figs 7, 8, 9, and 10).

      Also note that the network tests were the *only* ones which showed any significant difference in power consumption. So El Reg pulled out the most misleadingly presented graph from the most extreme of the conditions tested.

      As the OP's conclusion says:

      "The results show that the power consumption of hypervisors and containers is similar when challenged with heavy CPU and memory workloads. Some differences can be observed in the case of network performance analysis, where, for most of the cases, both of the container solutions introduce lower power consumption."

  9. Gordan

    Energy Consumption Inversely Proportional to Performance on Same Hardware

    Additionally, it is worth pointing out that increased power usage directly correlates to increased overheads. If the machine is burning more power to perform the same task, then it is running that much harder and more busily.

    But people get very uppity when somebody points out to them that full fat virtualization results in 25-30% peak computational throughput reduction compared to bare metal.

  10. De Facto
    Unhappy

    True hyperscale operations do not use virtualization

    In large scale clusters from hundreds to few thousands of servers hosting the same very large data corpus nobody is going to use virtualization due to dramatic efficiency loss for distributed computing tasks. When multi-node networking should be done among multiple servers for a single search or analytics query, computing efficiency loss because of virtualization can run up to 40%, compared to bare metal. The culprit is pure signaling physics in packetized digital networks. Virtualization needs to encapsulate network data packets. It can easily double the total traffic to be processed and that increases data nanagement workload across many computing stack layers. Neither Google, nor Facebook use virtualization in their inhouse computing kingdoms when doing very large hyperscale computing.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like