计算机科学 ›› 2018, Vol. 45 ›› Issue (3): 102-107.doi: 10.11896/j.issn.1002-137X.2018.03.017

• 网络与通信 • 上一篇    下一篇

基于多核的共生虚拟机通信加速机制XenVMC的优化

游资奇,任怡,刘仁仕,管剑波,刘礼鹏   

  1. 国防科技大学计算机学院 长沙410073,国防科技大学计算机学院 长沙410073,国防科技大学计算机学院 长沙410073,国防科技大学计算机学院 长沙410073,国防科技大学计算机学院 长沙410073
  • 出版日期:2018-03-15 发布日期:2018-11-13
  • 基金资助:
    本文受国家自然科学基金项目(61502510)资助

Optimization of Co-resident Inter-VM Communication Accelerator XenVMC Based on Multi-core

YOU Zi-qi, REN Yi, LIU Ren-shi, GUAN Jian-bo and LIU Li-peng   

  • Online:2018-03-15 Published:2018-11-13

摘要: 在当前的虚拟化平台中,采用共享内存加速位于同一台物理机上的共生虚拟机间的通信是一种被普遍采用的通信加速思路。XenVMC是这些优化方案中的一种,具有效率高、多层透明、支持在线迁移的特点。多核技术的发展为XenVMC提供了进一步的改进空间。基于XenVMC特殊的通信场景,设计了一种多核优化方法,通过设计多核场景下XenVMC的环形共享内存缓冲区,并调度接收方的多个CPU运行,使接收方可以多核并发地接收数据。实验结果表明,使用多核优化后,XenVMC显著地提高了通信事务的吞吐率,并在一定条件下提高了数据的吞吐率。

关键词: 虚拟机通信,多核,环形缓冲区

Abstract: Nowadays,on virtualized platform,using shared memory channels to accelerate communication between virtualmachines(VMs) located on the same physical machine is a wildly used solution.XenVMC is such a project,which is implemented with high efficiency,full transparency and VM live migration supported.With the development of multi-core technology,XenVMC can be improved further.This paper proposed a multi-core optimization solution on XenVMC based on its individual communication model.By scheduling other CPUs in receiving VM,and updating the design of shared memory channels,XenVMC can receive data concurrently with mutli-cores.Experiment results illustrate that connection transaction throughout is improved obviously and communication throughout is also improved in some cases with multi-core optimization.

Key words: Inter-VM communication,Multi-core,Ring buffer

[1] REN Y,LIU L,ZHANG Q,et al.Shared-Memory Optimizations for Inter-Virtual-Machine Communication[J].ACM Computing Surveys,2016,8(4):1-42.
[2] REN Y,LIU L,LIU X J,et al.A Fast and Transparent Communication Protocol for Co-Resident Virtual Machines[C]∥International Conference on Collaborative Computing:Networking.IEEE,2012:70-79.
[3] REN Y,LIU L,ZHANG Q,et al.Residency-Aware Virtual Machine Communication Optimization:Design Choices and Techniques[C]∥2013 IEEE Sixth International Conference on Cloud Computing (CLOUD).IEEE,2013:823-830.
[4] KIM K,KIM C,JUNG S I,et al.Inter-domain Socket Communication Supporting High Performance and Full Binary Compatibility on Xen[C]∥Proceedings of the Fourth ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments.ACM,2008:11-20.
[5] ZHANG X L,SUZANNE M,PANKAJ R,et al.XenSocket:Ahigh-throughput interdomain transport for virtual machines[C]∥Middleware 2007.Springer,2007:184-203.
[6] WANG J,KWAME-LANTE W,KARTIK G.XenLoop:a transparent high performance inter-vm network loopback[C]∥Proceedings of the 17th International Symposium on High Perfor-mance Distributed Computing.ACM,2008:109-118.
[7] XenVMC Source Code.https://github.com/XenVMC-Group/XenVMC.
[8] LAMPORT L.Proving the Correctness of Multiprocess Pro-grams[J].IEEE Transaction on Software Engineering,IEEE,1977,3(2):125-143.
[9] GIACOMONI J,MOSELEY T,VACHHARAJANI M.Fast Forward for Efficient Pipeline Parallelism-A Cache-Optimized Concurrent Lock-Free Queue[C]∥ACM SIGPLAN Symposiumon Principles and Practice of Parallel Programming(PPoPP).ACM,2008:43-52.
[10] LEE P P C,BU T,CHANDRANMENON G.A Lock-Free,Cache-Efficient Multi-Core Synchronization Mechanism for Line-Rate Network Traffic Networking[C]∥Proceedings of International Parallel and Distributed Processing Symposium.IEEE,2010:1-12.
[11] TSIGAS P,ZHANG Y.A Simple,Fast and Scalable Non-Blocking Concurrent FIFO queue for Shared Memory Multiprocessor Systems[C]∥3rd ACM Symposium on Parallel Algorithms and Architecture.ACM,2001:134-143.
[12] LIU R S,REN Y,YOU Z Q,et al.XenVMC:a Co-location Aware Inter Virtual Machine Communication Optimization[C]∥HPC China.2015.(in Chinese) 刘仁仕,任怡,游资奇,等.XenVMC:一种共生关系感知的虚拟机域间通信优化机制[C]∥HPC China.2015.
[13] 石磊,等.Xen虚拟化技术[M].武汉:华中科技大学出版社,2009.

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!