论文部分内容阅读
近年来,云计算作为一个新的技术趋势己经得到了迅速的发展。云计算已经彻底改变了一个前所未有的工作方式,也改变了传统软件工程企业。同时,伴随着大数据,人工智能,物联网等大规模的分布式业务在云数据中心的部署,网络系统的压力越来越大。因此,提升网络系统的性能成为云计算中亟待解决的问题。本论文针对公有云对高性能网络平台的迫切需求,从优化已有网络平台的虚拟化后端、设计和实现基于RDMA的高性能公有云网络平台、提供高性能的网络协议栈三个方面展开研究。论文的主要工作和创新点如下:1.零拷贝的虚拟包I/O系统:针对虚拟化引入的额外开销,导致后端的CPU消耗增加的问题,我们提出了零拷贝虚拟包I/O系统。该方案在半虚拟化网络I/O中采用页面重映射的方法消除了数据拷贝,并结合使用一系列的优化技术降低了页面重映射引入的开销。使得单核的I/O速度得到了2-4倍的提升,节省了CPU资源,进一步为服务商节省了成本。2.公有云中可靠的网络传输平台:针对公有云中越来越高的网络需求,我们基于RDMA为虚拟机构建了高性能的网络传输平台。提出基于连接虚拟化的RDMA半虚拟化方案,解决RDMA硬件虚拟化方案难以满足网络隔离、性能隔离等公有云需求的诸多难题,并消除了RDMA半虚拟化方案中所需的设备和驱动的维护开销。相比于传统的传输平台,该平台具有更低的延迟和更高的吞吐,并且为上层提供可靠的传输服务。3.超轻量级协议栈:云计算中传统的协议栈处理过于复杂,占用大量的CPU,基于软件的方案难以消除复杂的TCP处理过程,并且高性能的用户态协议栈在提供原生BSD Socket接口时也面临着困难。我们在基于RDMA的公有云后端传输平台上构建了超轻量级协议栈vSocket,提出了重用内核协议栈控制面、仅加速数据面的设计思想,不仅消除了数据通路上的巨大开销,还保持了内核协议栈的功能,并与原生的BSD Socket接口相兼容。本文为云计算中的网络性能问题提出了若干方案,提升了当前云环境中网络的性能,并为虚拟机构建了可靠的网络传输平台。我们期望这些方案能为云计算中网络问题的研究提供新的思路与可能性。