An Ultra Lightweight Container that Maximizes Memory Sharing and Minimizes the Runtime Environment
Zhang Liqing, Guo Dong, Wu Shaoling, Cui Haibo, Wang Wei
Related Articles |
The rise of container technology has brought about profound changes in the data center, and a large number of software has been transferred to micro-service deployment and delivery. Therefore, it is of a broad practical significance to optimize the startup, operation and maintenance of large-scale containers in massive user environment. At present, the mainstream container technology represented by Docker has achieved great success, but there is still much room for improvement in image volume and resource sharing. We comb the development process of virtualization technology, and clarify that lightweight virtualization technology is the future research direction, which is very important for data-sensitive applications. By establishing a library file sharing model, we explored the impact of the degree of library files sharing on the maximum number of containers that can be launched. We present an ultra-lightweight container design that minimizes the container runtime environment supporting application execution by refining the granularity of operational resources. At the same time, we extract the library files and the executable binary files into a single layer, which realizes the maximum sharing of the host’s memory resources among containers. Then, according to the above scheme, we implement an ultra-lightweight container management engine: REG (runtime environment generation), and a REG-based workflow is defined. Finally, we carry out a series of comparative experiments on mirror volume, startup speed, memory usage, container startup storm, etc., and verify the effectiveness of the proposed method in the large-scale container environment.