Bolt: Towards a Scalable Docker Registry via Hyperconvergence
Bolt: Towards a Scalable Docker Registry via Hyperconvergence
复制标题
Bolt:通过超融合实现可扩展的 Docker 注册表
DOI:
--
复制
发表时间:
2019
期刊:
影响因子:
--
通讯作者:
A. Butt
中科院分区:
文献类型:
--
作者:
Michael Littley;Ali Anwar;Hannan Fayyaz;Zeshan Fayyaz;Vasily Tarasov;Lukas Rupprecht;Dimitrios Skourtis;Mohamed Mohamed;Heiko Ludwig;Yue Cheng;A. Butt
Docker container images are typically stored in a centralized registry to allow easy sharing of images. However, with the growing popularity of containerized software, the number of images that a registry needs to store and the rate of requests it needs to serve are increasing rapidly. Current registry design requires hosting registry services across multiple loosely connected servers with different roles such as load balancers, proxies, registry servers, and object storage servers. Due to the various individual components, registries are hard to scale and benefits from optimizations such as caching are limited. In this paper we propose, implement, and evaluate BOLT-a new hyperconverged design for container registries. In BOLT, all registry servers are part of a tightly connected cluster and play the same consolidated role: each registry server caches images in its memory, stores images in its local storage, and provides computational resources to process client requests. The design employs a custom consistent hashing function to take advantage of the layered structure and addressing of images and to load balance requests across different servers. Our evaluation using real production workloads shows that BOLT outperforms the conventional registry design significantly and improves latency by an order of magnitude and throughput by up to 5x. Compared to state-of-the-art, BOLT can utilize cache space more efficiently and serve up to 35% more requests from its cache. Furthermore, BOLT scales linearly and recovers from failure recovery without significant performance degradation.