SearcharxivSearch

arXiv subjects

Qinyang Bao

Publications and source records attributed to Qinyang Bao.

2 recordsLinked to original sources

A Code Injection Method for Rapid Docker Image Building

Docker images are composed of multiple layers, each of which contains a set of instructions, and an archive of files. Layers allow Docker to separate a large build task into smaller ones, such that when a part of the program is changed, only the corresponding layer needs to be changed. Yet the current implementation has major inefficiencies that make the rebuilding of an image unnecessarily slow when changes in bottom layers are required: uneven content distribution amongst layers, the need to rebuild an entire layer during update, and the rebuild fall-throughs in many cases. In this paper, we propose a code injection method that overcomes these inefficiencies by targeting only the changed layer and then bypassing the layer's content checksum. This process is developed specifically for an interpreted language such as Python, where changes can be detected explicitly via text diff tools and run as-is without compilation. We then demonstrate that this method can accelerate the rebuild time, effectively reducing the O(n) where n = size of layer rebuild time to O(1). Whereas for compiled languages, literal code injection cannot guarantee integrity in compiled machine code. Expanding on the same code injection principle, multi-layer targeted code injection will be addressed in a future discussion.

cs.DC

Adapting a Container Infrastructure for Autonomous Vehicle Development

In the field of Autonomous Vehicle (AV) development, having a robust yet flexible infrastructure enables code to be continuously integrated and deployed, which in turn accelerates the rapid prototyping process. The platform-agnostic and scalable container infrastructure, often exploited by developers in the cloud domain, presents a viable solution addressing this need in AV development. Developers use tools such as Docker to build containers and Kubernetes to setup container networks. This paper presents a container infrastructure strategy for AV development, discusses the scenarios in which this strategy is useful and performs an analysis on container boundary overhead, and its impact on a Mix Critical System (MCS). An experiment was conducted to compare both operation runtime and communication delay of running a Gaussian Seidel Algorithm with I/O in four different environments: native OS, new container, existing container, and nested container. The comparison reveals that running in containers indeed adds a delay to signal response time, but behaves more deterministically and that nested container does not stack up delays but makes the process less deterministic. With these concerns in mind, the developers may be more informed when setting up the container infrastructure, and take full advantage of the new infrastructure while avoiding some common pitfalls.

cs.SE