Please wait a minute...
Frontiers of Computer Science

ISSN 2095-2228

ISSN 2095-2236(Online)

CN 10-1014/TP

邮发代号 80-970

2019 Impact Factor: 1.275

Frontiers of Computer Science  2023, Vol. 17 Issue (1): 171204   https://doi.org/10.1007/s11704-022-1201-y
  本期目录
UCat: heterogeneous memory management for unikernels
Chong TIAN, Haikun LIU(), Xiaofei LIAO, Hai JIN
National Engineering Research Center for Big Data Technology and System, Services Computing Technology and System Lab/Cluster and Grid Computing Lab, School of Computing Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, China
 全文: PDF(4434 KB)   HTML
Abstract

Unikernels provide an efficient and lightweight way to deploy cloud computing services in application-specialized and single-address-space virtual machines (VMs). They can efficiently deploy hundreds of unikernel-based VMs in a single physical server. In such a cloud computing platform, main memory is the primary bottleneck resource for high-density application deployment. Recently, non-volatile memory (NVM) technologies has become increasingly popular in cloud data centers because they can offer extremely large memory capacity at a low expense. However, there still remain many challenges to utilize NVMs for unikernel-based VMs, such as the difficulty of heterogeneous memory allocation and high performance overhead of address translations.

In this paper, we present UCat, a heterogeneous memory management mechanism that support multi-grained memory allocation for unikernels. We propose front-end/back-end cooperative address space mapping to expose the host memory heterogeneity to unikernels. UCat exploits large pages to reduce the cost of two-layer address translation in virtualization environments, and leverages slab allocation to reduce memory waste due to internal memory fragmentation. We implement UCat based on a popular unikernel--OSv and conduct extensive experiments to evaluate its efficiency. Experimental results show that UCat can reduce the memory consumption of unikernels by 50% and TLB miss rate by 41%, and improve the throughput of real-world benchmarks such as memslap and YCSB by up to 18.5% and 14.8%, respectively.

Key wordsunikernel    virtualization    non-volatile memory    heterogeneous memory    large page    slab allocation
收稿日期: 2021-04-26      出版日期: 2022-08-02
Corresponding Author(s): Haikun LIU   
 引用本文:   
. [J]. Frontiers of Computer Science, 2023, 17(1): 171204.
Chong TIAN, Haikun LIU, Xiaofei LIAO, Hai JIN. UCat: heterogeneous memory management for unikernels. Front. Comput. Sci., 2023, 17(1): 171204.
 链接本文:  
https://academic.hep.com.cn/fcs/CN/10.1007/s11704-022-1201-y
https://academic.hep.com.cn/fcs/CN/Y2023/V17/I1/171204
Fig.1  
Fig.2  
Fig.3  
Fig.4  
Docker Unikernel
DNS Server 9.82 MB 3.3 MB
Web Server 10.1 MB 3.5 MB
Tab.1  
Fig.5  
Fig.6  
Fig.7  
Fig.8  
Fig.9  
Workload Description Ratio of operations
A Update heavy 50% reads and 50% writes
B Read mostly 95% reads and 5% writes
C Read only 100% reads
D Read latest workload 95% reads and 5% inserts
E Range-query intensive 95% scans and 5% inserts
F Read-modify-write 50% reads and 50% read-modify-writes
Tab.2  
Fig.10  
Fig.11  
Mechanism Memory consumed Memory wasted
OSv 19.7 GB 13.5 GB
UCat 9.8 GB 3.6 GB
Tab.3  
Fig.12  
Fig.13  
Fig.14  
  
  
  
  
1 P F, Yuan Y, Guo L, Zhang X Q, Chen H Mei . Building application-specific operating systems: a profile-guided approach. Science China Information Sciences, 2018, 61( 9): 092102
2 A, Madhavapeddy R, Mortier C, Rotsos D, Scott B, Singh T, Gazagnaire S, Smith S, Hand J Crowcroft . Unikernels: library operating systems for the cloud. ACM SIGARCH Computer Architecture News, 2013, 41( 1): 461– 472
3 A, Kivity D, Laor G, Costa P, Enberg N, Har’El D, Marti V Zolotarov. Osv—optimizing the operating system for virtual machines. In: Proceedings of USENIX ATC ’14: 2014 USENIX Annual Technical Conference. 2014, 61– 72
4 P, Olivier D, Chiba S, Lankes C, Min B Ravindran. A binary-compatible unikernel. In: Proceedings of the 15th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 2019, 59– 73
5 D Merkel . Docker: lightweight Linux containers for consistent development and deployment. Linux Journal, 2014, 2014( 239): 2
6 J, Martins M, Ahmed C, Raiciu V, Olteanu M, Honda R, Bifulco F Huici. Clickos and the art of network function virtualization. In: Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation. 2014, 459– 473
7 V, Cozzolino A Y, Ding J Ott. FADES: fine-grained edge offloading with unikernels. In: Proceedings of the Workshop on Hot Topics in Container Networking and Networked Systems. 2017, 36– 41
8 F, Manco C, Lupu F, Schmidt J, Mendes S, Kuenzer S, Sati K, Yasukata C, Raiciu F Huici. My VM is lighter (and safer) than your container. In: Proceedings of the 26th Symposium on Operating Systems Principles. 2017, 218– 233
9 N, Dragoni S, Giallorenzo A L, Lafuente M, Mazzara F, Montesi R, Mustafin L Safina. Microservices: yesterday, today, and tomorrow. In: Mazzara M, Meyer B, eds. Present and Ulterior Software Engineering. Cham: Springer, 2017, 195− 216
10 B, Duncan A, Happe A Bratterud. Enterprise IoT security and scalability: how unikernels can improve the status Quo. In: Proceedings of the 9th International Conference on Utility and Cloud Computing. 2016, 292– 297
11 B, Tan H K, Liu J, Rao X F, Liao H, Jin Y Zhang. Towards lightweight serverless computing via unikernel as a function. In: Proceedings of the 28th IEEE/ACM International Symposium on Quality of Service. 2020, 1– 10
12 H, Fingler A, Akshintala C J Rossbach. USETL: unikernels for serverless extract transform and load why should you settle for less? In: Proceedings of the 10th ACM SIGOPS Asia-Pacific Workshop on Systems. 2019, 23– 30
13 O, Zilberberg S, Weiss S Toledo . Phase-change memory: an architectural perspective. ACM Computing Surveys, 2013, 45( 3): 29
14 J, Yang J, Kim M, Hoseinzadeh J, Izraelevitz S Swanson. An empirical guide to the behavior and use of scalable persistent memory. In: Proceedings of the 18th USENIX Conference on File and Storage Technologies. 2020, 169– 182
15 S, Wu F, Zhou X, Gao H, Jin J L Ren . Dual-page checkpointing: An architectural approach to efficient data persistence for in-memory applications. ACM Transactions on Architecture and Code Optimization, 2018, 15( 4): 57
16 T T, Chen H K, Liu X F, Liao H Jin . Resource abstraction and data placement for distributed hybrid memory pool. Frontiers of Computer Science, 2021, 15( 3): 153103
17 M, Cai H Huang . A survey of operating system support for persistent memory. Frontiers of Computer Science, 2021, 15( 4): 154207
18 X Y, Wang H K, Liu X F, Liao J, Chen H, Jin Y, Zhang L, Zheng B S, He S Jiang . Supporting superpages and lightweight page migration in hybrid memory systems. ACM Transactions on Architecture and Code Optimization, 2019, 16( 2): 11
19 T W, Barr A L, Cox S Rixner . Translation caching: skip, don’t walk (the page table). ACM SIGARCH Computer Architecture News, 2010, 38( 3): 48– 59
20 A, Basu J, Gandhi J C, Chang M D, Hill M M Swift. Efficient virtual memory for big memory servers. In: Proceedings of the 40th Annual International Symposium on Computer Architecture. 2013, 237– 248
21 Y, Du M, Zhou B R, Childers D, Mossé R Melhem. Supporting superpages in non-contiguous physical memory. In: Proceedings of the 21st IEEE International Symposium on High Performance Computer Architecture. 2015, 223– 234
22 F Schmidt. Uniprof: a unikernel stack profiler. In: Proceedings of the SIGCOMM Posters and Demos. 2017, 31– 33
23 A, Bratterud A A, Walla H, Haugerud P E, Engelstad K Begnum. Includeos: a minimal, resource efficient unikernel for cloud services. In: Proceedings of the 7th IEEE International Conference on Cloud Computing Technology and Science. 2015, 250– 257
24 Z M, Shen Z, Sun G E, Sela E, Bagdasaryan C, Delimitrou Renesse R, Van H Weatherspoon. X-containers: breaking down barriers to improve performance and isolation of cloud-native containers. In: Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems. 2019, 121– 135
25 T, Merrifield H R Taheri. Performance implications of extended page tables on virtualized x86 processors. In: Proceedings of the 12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 2016, 25– 35
26 R, Bhargava B, Serebrin F, Spadini S Manne. Accelerating two-dimensional page walks for virtualized systems. In: Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems. 2008, 26– 35
27 F, Guo S, Kim Y, Baskakov I Banerjee. Proactively breaking large pages to improve memory overcommitment performance in VMware ESXi. In: Proceedings of the 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 2015, 39– 51
28 K Chodorow. MongoDB: the Definitive Guide: Powerful and Scalable data Storage. 2nd ed. Sebastopol, California, USA, O’Reilly Media, Inc., 2013
29 B, Pham J, Veselý G H, Loh A Bhattacharjee. Large pages and lightweight memory management in virtualized environments: Can you have it both ways? In: Proceedings of the 48th International Symposium on Microarchitecture. 2015, 1– 12
30 Y, Kwon H C, Yu S, Peter C J, Rossbach E Witchel. Coordinated and efficient huge page management with ingens. In: Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation. 2016, 705– 721
31 Intel. ndctl. See Github.com/pmem/ndctl, 2020
32 Intel. ipmctl. See Github.com/intel/ipmctl, Dec. 03, 2020
33 B Fitzpatrick. Distributed caching with memcached. Linux Journal, 2004, 2004(124): 1– 5
34 B Aker. Memslap–load testing and benchmarking a server. See Docs.libmemcached.org/bin/memslap, 2013
35 B F, Cooper A, Silberstein E, Tam R, Ramakrishnan R Sears. Benchmarking cloud serving systems with YCSB. In: Proceedings of the 1st ACM Symposium on Cloud Computing. 2010, 143– 154
36 A Kantee. Rump file systems: Kernel code reborn. In: Proceedings of the USENIX Annual Technical Conference. 2009, 1– 14
37 K, Stengel F, Schmaus R Kapitza. EsseOS: haskell-based tailored services for the cloud. In: Proceedings of the 12th International Workshop on Adaptive and Reflective Middleware. 2013, 4: 1– 6
38 F J Ballesteros . Structured I/O streams in Clive: a toolbox approach for wide area network computing. Journal of Internet Services and Applications, 2017, 8( 1): 1–16
39 D, Yang H K, Liu H, Jin Y Zhang . HMvisor: dynamic hybrid memory management for virtual machines. Science China Information Sciences, 2021, 64( 9): 1−16
40 S, Kannan A, Gavrilovska V, Gupta K Schwan. HeteroOS: OS design for heterogeneous memory management in datacenter. In: Proceedings of the 44th Annual International Symposium on Computer Architecture. 2017, 521– 534
41 T, Hirofuchi R Takano. RAMinate: hypervisor-based virtualization for hybrid main memory systems. In: Proceedings of the 7th ACM Symposium on Cloud Computing. 2016, 112– 125
42 V, Gupta M, Lee K Schwan. HeteroVisor: Exploiting resource heterogeneity to enhance the elasticity of cloud platforms. In: Proceedings of the 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 2015, 79– 92
[1] FCS-21201-OF-CT_suppl_1 Download
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed