Reg: An Ultra-Lightweight Container That Maximizes Memory Sharing and Minimizes the Runtime Environment

The rise of container technology has brought about profound changes in the data center, and many software have 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 a 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 reviewed the development 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 sharing of library files on the maximum number of containers that can be launched. We present an ultra-lightweight container design that minimizes the container runtime environment that supports 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 carried out a series of comparative experiments on mirror volume, startup speed, memory usage and container startup storm, verified the effectiveness of proposed method in the large-scale container environment.