{"title":"The Cost of Virtualizing Time in Linux Containers","authors":"X. Merino, Carlos E. Otero","doi":"10.1109/CloudSummit54781.2022.00016","DOIUrl":null,"url":null,"abstract":"Containerization has enabled applications to be deployed in ever-changing environments, restarted, updated, migrated, and frequently rolled back to earlier versions. Because host placement and scheduling are not guaranteed, an application may be restarted in a different host or at a later time, losing its sense of time and refusing service owing to incongruent states or network timeouts. Until now, process time was determined by the host. The most recent Linux time namespace allows for per-service timelines, regardless of the host. Because container engines do not yet support the time namespace, we offer a workflow for creating time-aware containers, as well as the first performance analysis of 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. Our findings show that time virtualization adds 2-4% overhead, in line with current containerization overhead.","PeriodicalId":106553,"journal":{"name":"2022 IEEE Cloud Summit","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE Cloud Summit","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CloudSummit54781.2022.00016","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Containerization has enabled applications to be deployed in ever-changing environments, restarted, updated, migrated, and frequently rolled back to earlier versions. Because host placement and scheduling are not guaranteed, an application may be restarted in a different host or at a later time, losing its sense of time and refusing service owing to incongruent states or network timeouts. Until now, process time was determined by the host. The most recent Linux time namespace allows for per-service timelines, regardless of the host. Because container engines do not yet support the time namespace, we offer a workflow for creating time-aware containers, as well as the first performance analysis of 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. Our findings show that time virtualization adds 2-4% overhead, in line with current containerization overhead.