Bare-Metal Container --- Direct execution of a container image on a remote machine with an optimized kernel --- 1 National Institute of Advanced Industrial Science and Technology(AIST) Kuniyasu Suzaki, Hidetaka Koie, Ryousei Takano IEEE International Conferences on High Performance Computing and Communications (HPCC) 2016, Sydney
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Bare-Metal Container--- Direct execution of a container image on a remote machine with an optimized kernel ---
1
National Institute of Advanced Industrial Science and Technology(AIST)
Kuniyasu Suzaki, Hidetaka Koie, Ryousei TakanoIEEE International Conferences on High Performance Computing and Communications (HPCC) 2016, Sydney
Contents
• Background of BMC– Drawbacks of container, general kernel, and
accounting.• What is BMC?• Current implementation• Evaluation• Conclusions
2
Background of BMC 1/3Drawback of Container
• Container technology (Docker) becomes popular. – Docker offers an environment to customize an application easily.– It looks like to be good for an application, but it is a server centric.
• It does not allow to change the kernel.– Kernel options passed through /sys are not effective because Docker
uses union file system (AUFS or DeviceMapper), which prevents options from reaching to the kernel.
• Some applications cannot run on Docker.– DPDK on Docker does not work on some machines, because it
depends on “igb_uio” and “rte_kni” kernel modules.• Some provider offers the kernel which can treat DPDK on Docker,
but it is case by case solution. It is not fundamental solution.
3
Background of BMC 1/3Drawback of Container
• Container technology (Docker) becomes popular. – Docker offers an environment to customize an application easily.– It looks like to be good for an application, but it is a server centric.
• It does not allow to change the kernel.– Kernel options passed through /sys are not effective because Docker
uses union file system (AUFS or DeviceMapper), which prevents options from reaching to the kernel.
• Some applications cannot run on Docker.– DPDK on Docker does not work on some machines, because it
depends on “igb_uio” and “rte_kni” kernel modules.• Some provider offers the kernel which can treat DPDK on Docker,
but it is case by case solution. It is not fundamental solution.
4
Container is a jail for a kernel optimizer.
Background of BMC 1/3Drawback of Container
• Container technology (Docker) becomes popular. – Docker offers an environment to customize an application easily.– It looks like to be good for an application, but it is a server centric.
• It does not allow to change the kernel.– Kernel options passed through /sys are not effective because Docker
uses union file system (AUFS or DeviceMapper), which prevents options from reaching to the kernel.
• Some applications cannot run on Docker.– DPDK on Docker does not work on some machines, because it
depends on “igb_uio” and “rte_kni” kernel modules.• Some provider offers the kernel which can treat DPDK on Docker,
but it is case by case solution. It is not fundamental solution.
5
Container is a jail for a kernel optimizer.
HPC users want to optimize the kernel for theirapplications. Kernel is a servant.Container way is not fit for them.
Background of BMC 2/3General kernel leads weak performance• Arrakis[OSDI’14] showed that nearly 70% of network latency
was spent in the network stack in a Linux kernel. • Many DB applications (e.g., Oracle, MongoDB) reduce the
performance by THP (Transparent Huge Pages) which is enabled on most Linux distributions.
6
Background of BMC 2/3General kernel leads weak performance• Arrakis[OSDI’14] showed that nearly 70% of network latency
was spent in the network stack in a Linux kernel. • Many DB applications (e.g., Oracle, MongoDB) reduce the
performance by THP (Transparent Huge Pages) which is enabled on most Linux distributions.
7
It is not fundamental solution.HPC users want to optimize the kernel for their
applications. Kernel is a servant.
Background of BMC 3/3Power consumption for each application• Current power measurement is coarse.
– PUE only shows usage of data-center scale.– Current power consumption is theme for vender and
administrators• Users have no incentive for low power.
– Current accounting is based on time consumption
8
Background of BMC 3/3Power consumption for each application• Current power measurement is coarse.
– PUE only shows usage of data-center scale.– Current power consumption is theme for vender and
administrators• Users have no incentive for low power.
– Current accounting is based on time consumption
9
There is no good method to measure power consumption “for an application”.No accounting which considers power consumption.
What is BMC?• BMC(Bare-Metal Container) runs a container
(Docker) image with a suitable Linux kernel on a remote physical machine.– Application on Container can change kernel settings and
machine which fit for application and extract the full performance.
– It means the power is almost used for an application.
10
Application Centric Architecture
machine
kernel
container manager
Server Centric Architecture
Traditional Style(Ex: container)
Invoke app.
Power always up
Admin’sSpace
User’sSpace
appcontainer
appcontainer
appcontainer
Comparison
Pros:• Multi Tenant•Quick Response (No Rebooting)
Cons:• Kernel is not replaced.
Pros:• Apps can select a kernel & hardware.• Apps occupy the machine and extract the performance.