论文部分内容阅读
近年来,云计算逐渐成为工业界重要的发展趋势,同时也成为学术界研究的热点。而系统虚拟化则是云计算实现中的关键技术。借助系统虚拟化,不仅可以帮助云服务提供商减少服务器数量、优化资源利用率,还可以帮助用户实现弹性基础设施配置,从而降低成本、快速响应需求变化。系统虚拟化具备广泛应用场景,例如多租户云、虚拟机聚合等。当前主要的云服务提供商如Amazon,Microsoft等通常以虚拟机为单位为客户提供计算资源。然而,事物总有其双面性,虚拟化平台尽管带来了便利,其上仍然存在着不少亟待解决的问题。虚拟机内用户隐私数据的安全问题是其中较为突出的一个。在现有虚拟化平台中,虚拟机监控器处于系统最高权限运行,其能够接触到客户虚拟机运行时所有的内存和磁盘数据,并任意访问其中的用户隐私,给云平台上的数据安全造成威胁。除此之外,由于虚拟机监控器和客户虚拟机之间存在语义隔阂,虚拟机监控器做出的盲目调度行为会使得并行应用程序在多虚拟机整合运行情形下的性能严重降低。如何提升虚拟机整合运行时的系统运行效率,是另一个颇有实际意义的研究问题。本文针对上述虚拟化环境中安全性和性能方面的两个问题,深入剖析了其内在成因,提出并实现了可行的解决方案,修改或重新设计了现有系统,改善了虚拟化环境中操作系统的安全性和性能。具体而言,本文的主要贡献可以概括如下:?基于嵌套式虚拟化实现了Secure KVM系统。通过在原虚拟机监控器KVM下方添加安全嵌套式虚拟化层,Secure KVM将原先占据系统最高权限的KVM调整到非根模式运行,并在嵌套式虚拟化层中监视KVM做出的所有与客户虚拟机相关的操作。Secure KVM在保障了客户虚拟机正常运行的同时,避免其中的用户隐私数据遭到恶意虚拟机监控器窥探,以可以接受的性能开销增强了云环境中的数据安全。?在KVM虚拟化平台上实现了Flex Core,一个虚拟机动态调度系统。Flex Core系统利用v CPU Ballooning这种全新虚拟机调度策略,通过主动减少赋予虚拟机的v CPU数目来避免因多个v CPU竞争物理处理器而造成的性能损耗。该策略的雏形在Apsys’13中被简要描述,而本文在该策略初步构想的基础上,细致剖析了该策略奏效的内在原因,完善了具体的调度算法,并在KVM平台上给出了完整实现。测试结果表明,该调度算法给并行应用程序测试集带来了高达50%的平均性能提升。在本文最后,作者还就解决上述问题的可能新途径和系统虚拟化领域的未来发展方向提出了展望。