Download PDFOpen PDF in browserThe Cost of Time Virtualization in Linux ContainersEasyChair Preprint 773310 pages•Date: April 6, 2022AbstractWith the advent of containerization, applications are subjected to a dynamic operating model that requires them to be deployed in ever-changing environments, restarted, updated, migrated, and even rolled back to previously working versions on a frequent basis. Because there are no strict guarantees on host placement or scheduling, an application may be restarted in a new host or at a later time, thereby losing their sense of time and refusing service owing to incongruent states. Until now, process time has been linked to a server. With the recent introduction of the Linux time namespace, it is now feasible to link time to a service. Processes under a time namespace can obtain a timeline of their own, irrespective of the host. Support for the time namespace is currently lacking in the most popular container engines. In this work, we present a workflow for building containers that leverage the time namespace, as well as the first analysis on the performance cost incurred by virtualizing time in Linux containers using this namespace. We consider 11 time-related system calls and their vDSO variants, making this one of the most comprehensive studies on the overhead of time virtualization in the literature. Keyphrases: Containers, Microservices, Virtualization, namespaces, virtual time
|