{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/102816"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/102816","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Characterization of containers in emerging applications: Microservices, FAAS and GPUS","abstract":"Containers have enabled new computing paradigms such as Functions-as-a- Service in data centers today. Containers are inherently more lightweight than virtual machines. This is caused by the fact that containers share the kernel with the host system, removing the need for a two-dimensional page walk. Containers also do not require a hypervisor. They rely on thin management layers in container frameworks and existing Linux functionality. Linux process and resource management features such as cgroups and namespaces are tightly integrated to containers. This allows for simple management and isolation of containerized applications. Docker is currently the most prominent container framework. This thesis utilizes Docker containers to create data center use cases with databases, web servers, graph analytics, Functions-as-a-Service, and GPU-accelerated stencil, lower-upper decomposition, object tracking and neural network applications. Furthermore, this thesis analyzes Docker Engine performance by bringing up containers and breaks down bring-up overheads at function granularity. The virtual memory management aspects of Docker containers are also characterized with a focus on container infrastructure, page tables and page faults. This thesis reports on average 59.86% duplicated page table entries and 35.7% duplicated page faults across four containerized processes sharing a core. Additionally, this thesis identifies the source of 40% of container bring-up overhead and attributes it to memory allocation, garbage collection and process creation in Go and Linux. This thesis also identifies a 7% slowdown in containerized GPU applications with NVIDIA-Docker compared to native execution. Finally, this thesis provides guidance to architects for enabling container support in high-performance architectures, and identifies future work to be done in the area.","abstract_html":"Containers have enabled new computing paradigms such as Functions-as-a- Service in data centers today. Containers are inherently more lightweight than virtual machines. This is caused by the fact that containers share the kernel with the host system, removing the need for a two-dimensional page walk. Containers also do not require a hypervisor. They rely on thin management layers in container frameworks and existing Linux functionality. Linux process and resource management features such as cgroups and namespaces are tightly integrated to containers. This allows for simple management and isolation of containerized applications. Docker is currently the most prominent container framework. This thesis utilizes Docker containers to create data center use cases with databases, web servers, graph analytics, Functions-as-a-Service, and GPU-accelerated stencil, lower-upper decomposition, object tracking and neural network applications. Furthermore, this thesis analyzes Docker Engine performance by bringing up containers and breaks down bring-up overheads at function granularity. The virtual memory management aspects of Docker containers are also characterized with a focus on container infrastructure, page tables and page faults. This thesis reports on average 59.86% duplicated page table entries and 35.7% duplicated page faults across four containerized processes sharing a core. Additionally, this thesis identifies the source of 40% of container bring-up overhead and attributes it to memory allocation, garbage collection and process creation in Go and Linux. This thesis also identifies a 7% slowdown in containerized GPU applications with NVIDIA-Docker compared to native execution. Finally, this thesis provides guidance to architects for enabling container support in high-performance architectures, and identifies future work to be done in the area.","abstract_has_math":false,"creators":["Darbaz, Haldun Umur"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"M.S.","degree_level":"Thesis","degree_discipline":"Electrical & Computer Engr","degree_department":null,"school":null,"contributors":["Kim, Nam Sung"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2019,"date_issued":"2019-02-07T20:36:04Z","date_published":"2019-02-07T20:36:04Z","updated_at":"2026-07-22T22:24:42Z","subjects":["Docker","Containers","Microservices","FaaS","GPUs","TLB","Computer","Architecture","Operating","Systems","Page","Tables","Virtualization","Linux"],"languages":["en"],"rights":["Copyright 2018 Haldun Umur Darbaz"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/102816","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Kim, Nam Sung"]},{"key":"dc:creator","label":"Author","values":["Darbaz, Haldun Umur"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2019-02-07T20:36:04Z","2021-02-08T10:15:29Z","2018-11-29","2018-12"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Electrical & Computer Engr"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Docker","Containers","Microservices","FaaS","GPUs","TLB","Computer","Architecture","Operating","Systems","Page","Tables","Virtualization","Linux"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2018 Haldun Umur Darbaz"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/102816"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Containers have enabled new computing paradigms such as Functions-as-a- Service in data centers today. Containers are inherently more lightweight than virtual machines. This is caused by the fact that containers share the kernel with the host system, removing the need for a two-dimensional page walk. Containers also do not require a hypervisor. They rely on thin management layers in container frameworks and existing Linux functionality. Linux process and resource management features such as cgroups and namespaces are tightly integrated to containers. This allows for simple management and isolation of containerized applications. Docker is currently the most prominent container framework. This thesis utilizes Docker containers to create data center use cases with databases, web servers, graph analytics, Functions-as-a-Service, and GPU-accelerated stencil, lower-upper decomposition, object tracking and neural network applications. Furthermore, this thesis analyzes Docker Engine performance by bringing up containers and breaks down bring-up overheads at function granularity. The virtual memory management aspects of Docker containers are also characterized with a focus on container infrastructure, page tables and page faults. This thesis reports on average 59.86% duplicated page table entries and 35.7% duplicated page faults across four containerized processes sharing a core. Additionally, this thesis identifies the source of 40% of container bring-up overhead and attributes it to memory allocation, garbage collection and process creation in Go and Linux. This thesis also identifies a 7% slowdown in containerized GPU applications with NVIDIA-Docker compared to native execution. Finally, this thesis provides guidance to architects for enabling container support in high-performance architectures, and identifies future work to be done in the area.","Submission published under a 24 month embargo labeled 'U of I Access', the embargo will last until 2020-12-01","The student, Haldun Darbaz, accepted the attached license on 2018-11-29 at 12:25.","The student, Haldun Darbaz, submitted this Thesis for approval on 2018-11-29 at 12:34.","This Thesis was approved for publication on 2018-11-29 at 17:32.","DSpace SAF Submission Ingestion Package generated from Vireo submission #13147 on 2019-02-07 at 14:18:34","Made available in DSpace on 2019-02-07T20:36:04Z (GMT). No. of bitstreams: 2 DARBAZ-THESIS-2018.pdf: 509765 bytes, checksum: f7bd0f823895deba55489c8832c7cae6 (MD5) LICENSE.txt: 4208 bytes, checksum: c5bcbf65d34cc880764400f4b3401aeb (MD5) Previous issue date: 2018-11-29","Embargo set by: Seth Robbins for item 109840 Lift date: 2021-02-07T20:36:09Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","Embargo set by: Seth Robbins for item 109840 Lift date: 2021-02-07T20:39:46Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","Embargo set by: Seth Robbins for item 109840 Lift date: 2021-02-07T20:44:35Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","U of I Only Restriction Lifted for Item 109840 on 2021-02-08T10:15:29Z."]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Characterization of containers in emerging applications: Microservices, FAAS and GPUS"]}]}],"canonical_facts":{"dc:contributor":["Kim, Nam Sung"],"dc:creator":["Darbaz, Haldun Umur"],"dc:date":["2019-02-07T20:36:04Z","2021-02-08T10:15:29Z","2018-11-29","2018-12"],"dc:description":["Containers have enabled new computing paradigms such as Functions-as-a- Service in data centers today. Containers are inherently more lightweight than virtual machines. This is caused by the fact that containers share the kernel with the host system, removing the need for a two-dimensional page walk. Containers also do not require a hypervisor. They rely on thin management layers in container frameworks and existing Linux functionality. Linux process and resource management features such as cgroups and namespaces are tightly integrated to containers. This allows for simple management and isolation of containerized applications. Docker is currently the most prominent container framework. This thesis utilizes Docker containers to create data center use cases with databases, web servers, graph analytics, Functions-as-a-Service, and GPU-accelerated stencil, lower-upper decomposition, object tracking and neural network applications. Furthermore, this thesis analyzes Docker Engine performance by bringing up containers and breaks down bring-up overheads at function granularity. The virtual memory management aspects of Docker containers are also characterized with a focus on container infrastructure, page tables and page faults. This thesis reports on average 59.86% duplicated page table entries and 35.7% duplicated page faults across four containerized processes sharing a core. Additionally, this thesis identifies the source of 40% of container bring-up overhead and attributes it to memory allocation, garbage collection and process creation in Go and Linux. This thesis also identifies a 7% slowdown in containerized GPU applications with NVIDIA-Docker compared to native execution. Finally, this thesis provides guidance to architects for enabling container support in high-performance architectures, and identifies future work to be done in the area.","Submission published under a 24 month embargo labeled 'U of I Access', the embargo will last until 2020-12-01","The student, Haldun Darbaz, accepted the attached license on 2018-11-29 at 12:25.","The student, Haldun Darbaz, submitted this Thesis for approval on 2018-11-29 at 12:34.","This Thesis was approved for publication on 2018-11-29 at 17:32.","DSpace SAF Submission Ingestion Package generated from Vireo submission #13147 on 2019-02-07 at 14:18:34","Made available in DSpace on 2019-02-07T20:36:04Z (GMT). No. of bitstreams: 2 DARBAZ-THESIS-2018.pdf: 509765 bytes, checksum: f7bd0f823895deba55489c8832c7cae6 (MD5) LICENSE.txt: 4208 bytes, checksum: c5bcbf65d34cc880764400f4b3401aeb (MD5) Previous issue date: 2018-11-29","Embargo set by: Seth Robbins for item 109840 Lift date: 2021-02-07T20:36:09Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","Embargo set by: Seth Robbins for item 109840 Lift date: 2021-02-07T20:39:46Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","Embargo set by: Seth Robbins for item 109840 Lift date: 2021-02-07T20:44:35Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","U of I Only Restriction Lifted for Item 109840 on 2021-02-08T10:15:29Z."],"dc:format":["application/pdf"],"dc:identifier":["http://hdl.handle.net/2142/102816"],"dc:language":["en"],"dc:rights":["Copyright 2018 Haldun Umur Darbaz"],"dc:subject":["Docker","Containers","Microservices","FaaS","GPUs","TLB","Computer","Architecture","Operating","Systems","Page","Tables","Virtualization","Linux"],"dc:title":["Characterization of containers in emerging applications: Microservices, FAAS and GPUS"],"dc:type":["text"],"thesis:degree_discipline":["Electrical & Computer Engr"],"thesis:degree_level":["Thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:42Z"}