Resultados 1 a 2 de 2
  1. #1
    WHT-BR Top Member
    Data de Ingresso
    Dec 2010

    [EN] Power consumption: Docker containers vs bare metal servers

    Don't waste your energy on Docker.

    Thomas Claburn
    5 May 2017

    Docker may be the darling of DevOps, but it's something of a minor extravagance when it comes to energy consumption.

    Computer science boffins affiliated with the University of Alberta in Canada have spent some time comparing the energy used running software applications in Docker containers with power consumption on bare metal Linux servers.

    In a paper titled "How does Docker affect energy consumption? Evaluating workloads in and out of Docker containers," professor Abram Hindle and research colleagues Eddie Antonio Santos, Carson McLean and Christopher Solinas observe that the convenience of Docker comes at a cost.

    "This work suggests that there is no free lunch for containerization in terms of energy consumption," the paper states. "Containerization implies a trade-off between energy and maintainability, and it is up to the individuals or teams in charge of deployment to determine which is more costly in their particular scenario."

    In a phone interview with The Register, Hindle explained that, for I/O bound tasks, applications running in Docker containers use more energy than those same applications running on bare metal machines because they take longer. While it's admittedly an obvious problem, it's good to have the issue quantified.

    Energy consumption is power in watts multiplied by the time required to complete the job.

    "What we're finding with Docker is it uses more energy to do the same task because it's slightly inefficient in terms of I/O," said Hindle. "Basically you're taking a hit for the abstraction."

    Docker on its own is slightly inefficient, because the dockerd process uses power even when idle, something attributed to Docker's Go processes like garbage collection.

    "Simply running dockerd idle induces a 2 watt difference in average power, and thus an increase in energy over time," the paper explains. "However, the increase in energy consumption may mostly be attributed to runtime performance."

    For CPU-bound tasks, like in-memory Redis processing, Hindle said the loss is negligible. Where it matters, particularly at scale, is when there's file, disk, or network access, as there is when working with a PostgreSQL database, for example.

    According to Hindle, the energy trade-off between containerization and enabling TLS/SSL is comparable for PostgreSQL.

    Hindle stressed that Docker containers offer many benefits that may matter more to organizations than the efficiency of bare metal servers. "If your expenses are people, then Docker is probably worth the hit," he said.

  2. #2
    WHT-BR Top Member
    Data de Ingresso
    Dec 2010
    6 Discussion

    Figure 2 shows that having the Docker service running
    consumes significantly more energy at idle than
    without Docker. The dockerd background process
    explains the difference in energy consumption.
    Recall that Docker is not required for containerization;
    rather, Docker provides a convenient infrastructure
    for running containerized applications
    in Linux. However, dockerd, the Docker server,
    written in the Go programming language periodically
    wakes up to do work, even if it is managing
    zero active containers. Using perf top -p
    $(pgrep dockerd) we found that the dockerd was
    periodically calling functions related to scheduling
    and garbage collection in Go (e.g., runtime.findrunnable,
    runtime.scanobject, runtime.heapBitsForObject,


    8 Conclusion

    In this paper, we compared the energy consumption
    of various workloads running within Docker-managed
    containers and on “bare-metal” Linux. After almost
    2 days and 20 hours of total time collecting power
    measurements, we found that, in all cases, workloads
    running in Docker have a measurable energy overhead.
    Simply running dockerd idle induces a 2 watt
    difference in average power, and thus an increase in
    energy over time. However, the increase in energy
    consumption may mostly be attributed to runtime
    performance. In the case of Redis and WordPress,
    the increase in energy can be attributed to increase in
    runtime—thus the decrease in performance explains
    the increase in total energy consumption.
    Operations teams must decide which is more important:
    sustainability and energy consumption and
    run-time performance of reduced resource usage by
    employing bare-metal Linux, or the process isolation
    and maintainability of containerized applications of
    Docker. Saving on heat and energy is important for
    some scenarios, yet the human cost of maintenance
    can far exceed run time, energy, and heating costs of
    Docker’s minor inefficiency.

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens