Carlos H.Z. Nicodemus, Cristina Boeres, Vinod E. F. Rebello
{"title":"管理容器中的垂直内存弹性","authors":"Carlos H.Z. Nicodemus, Cristina Boeres, Vinod E. F. Rebello","doi":"10.1109/UCC48980.2020.00032","DOIUrl":null,"url":null,"abstract":"The adoption of container technology to deploy a diverse variety of applications in clusters, cloud data centers, and even cloudlets at the edge has steadily increased. Efficient resource utilization and throughput maximization are just two important objectives for service providers trying to reduce operating costs. While containers consume CPU, memory, and I/O resources elastically, orchestration frameworks must still allocate containers according to resource availability and limit the amount of resources that each can use to avoid interference. While the practice of reserving the maximum amount of required memory for the entire execution of a container is prevalent, this paper investigates the benefits of managing container memory allocations dynamically. By frequently adjusting the amount of memory reserved for each container during execution, this autonomous approach aims to increase the average number of containers that can be hosted on a server. Results show that through careful adjustments of container limits, manipulation of pages between memory and swap, and container preemption, improvements in memory utilization, cloud costs, and job throughput can be achieved without prejudicing container performance.","PeriodicalId":125849,"journal":{"name":"2020 IEEE/ACM 13th International Conference on Utility and Cloud Computing (UCC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"Managing Vertical Memory Elasticity in Containers\",\"authors\":\"Carlos H.Z. Nicodemus, Cristina Boeres, Vinod E. F. Rebello\",\"doi\":\"10.1109/UCC48980.2020.00032\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The adoption of container technology to deploy a diverse variety of applications in clusters, cloud data centers, and even cloudlets at the edge has steadily increased. Efficient resource utilization and throughput maximization are just two important objectives for service providers trying to reduce operating costs. While containers consume CPU, memory, and I/O resources elastically, orchestration frameworks must still allocate containers according to resource availability and limit the amount of resources that each can use to avoid interference. While the practice of reserving the maximum amount of required memory for the entire execution of a container is prevalent, this paper investigates the benefits of managing container memory allocations dynamically. By frequently adjusting the amount of memory reserved for each container during execution, this autonomous approach aims to increase the average number of containers that can be hosted on a server. Results show that through careful adjustments of container limits, manipulation of pages between memory and swap, and container preemption, improvements in memory utilization, cloud costs, and job throughput can be achieved without prejudicing container performance.\",\"PeriodicalId\":125849,\"journal\":{\"name\":\"2020 IEEE/ACM 13th International Conference on Utility and Cloud Computing (UCC)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 IEEE/ACM 13th International Conference on Utility and Cloud Computing (UCC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/UCC48980.2020.00032\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE/ACM 13th International Conference on Utility and Cloud Computing (UCC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/UCC48980.2020.00032","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
The adoption of container technology to deploy a diverse variety of applications in clusters, cloud data centers, and even cloudlets at the edge has steadily increased. Efficient resource utilization and throughput maximization are just two important objectives for service providers trying to reduce operating costs. While containers consume CPU, memory, and I/O resources elastically, orchestration frameworks must still allocate containers according to resource availability and limit the amount of resources that each can use to avoid interference. While the practice of reserving the maximum amount of required memory for the entire execution of a container is prevalent, this paper investigates the benefits of managing container memory allocations dynamically. By frequently adjusting the amount of memory reserved for each container during execution, this autonomous approach aims to increase the average number of containers that can be hosted on a server. Results show that through careful adjustments of container limits, manipulation of pages between memory and swap, and container preemption, improvements in memory utilization, cloud costs, and job throughput can be achieved without prejudicing container performance.