论文部分内容阅读
随着数据中心计算的不断发展,数据中心应用面临了不同的挑战。数据中心应用需要定制化的资源管理服务以适应应用的多样性和不断丰富的硬件资源。为了提升数据中心资源利用率、降低成本,将多个应用负载部署到同一个服务器进行负载聚合成为主流的方法,但却带来了应用间性能干扰的问题。同时,随着数据中心服务器处理器核数的快速增长,操作系统因为共享资源和内核数据结构带来了严重的可扩展性问题。而操作系统在数据中心软件栈中处于核心地位,因此如何定位现有操作系统问题,有效优化改进操作系统内核,已成为增强数据中心性能、可扩展性、性能隔离的重要研究领域,具有重要的理论和现实意义。 针对以上问题,本文对操作系统行为进行量化分析,根据量化分析所得到的指导意见,提出了一种新的面向数据中心的应用定义操作系统模型,详细设计实现了第一个应用定义操作系统XOS,并基于XOS实现了用户态的内存管理和消息式系统调用。 本文的主要贡献和创新如下: (1)量化分析了操作系统对数据中心应用执行性能的影响。为了分析操作系统对数据中心应用的影响,我们通过微体系结构层的性能行为分析整个数据中心软件栈的执行特征。在研究中我们发现,操作系统内核是造成数据中心应用执行效率低下的主要原因。我们通过微体系结构指标和上层软件行为的对应分析,定位发现了数据中心场景下操作系统的核心瓶颈函数行为。通过对这些核心瓶颈函数行为的量化分析,我们为数据中心操作系统指明了潜在的优化方向。此外,我们依据这些优化建议,通过更改Linux系统策略来优化数据中心应用,虽然有所提升,但是并不显著,更进一步证明了对操作系统架构改进的必要性。 (2)提出了一种新的操作系统模型——应用定义操作系统模型。该模型基于三个基本设计原则:“资源管理绕过内核”、“应用定制用户态内核子系统”和“弹性划分物理和内核资源”。模型将资源管理功能从操作系统内核中分离出来,使应用可以直接绕过内核直接管理物理资源。操作系统内核作为资源的供给者,应用作为资源的管理者。应用通过定制用户态的内核子系统,独立地访问、控制、和管理资源。模型将物理和内核资源通过时空复用的方式,弹性划分给不同的用户态子系统。 (3)设计并实现了第一个遵循应用定义操作系统模型三个基本原则的操作系统XOS。XOS基于虚拟化硬件Intel VT-x安全的绕过内核实现了用户态的资源定制管理。并通过一组动态加载的内核模块和XOS runtime构成了完整的执行环境。其主要功能包括:对Intel VT-x硬件的初始化和设置;向用户态定制子系统“暴露”物理资源的初始化、分配、以及调度;为XOS“提权”进程提供中断异常管理。 (4)设计并实现了一套基于XOS原型系统的用户态内存管理系统。其主要功能包括:两级物理内存池的资源供给,弹性的物理内存资源分配,灵活的虚拟内存管理,以及用户态缺页异常处理等。通过定制用户态内存管理系统,以便使XOS系统对当前数据中心典型负载进行加速。 (5)设计并实现了一套基于XOS原型系统的消息式系统调用方法。通过将传统的同步系统调用改变为基于消息的异步系统调用,使得XOS系统满足不同的数据中心硬件平台,并将I/O服务与应用执行解耦合,进一步保证了XOS系统的性能和稳定性。其主要功能包括:内核服务线程池的建立,消息通讯管道、内核服务线程的动态负载均衡、以及轻量级XOS线程池等功能。 (6)全面分析评测了应用定义操作系统原型XOS的性能。通过使用包含BigDataBench在内的大量微基准测试程序和应用级测试程序,我们评测了XOS原型针对六个设计目标的达成情况,并且与State-of-the-Practice的Linux原生系统和State-of-the-Art的Dune进行了对比评测和分析。实验结果显示:1)XOS系统兼容现有Linux典型应用;2)XOS可以显著提升数据中心中的典型大数据类应用的执行性能,例如,XOS运行Wordcount负载时,相较于Linux系统性能增加了1.6倍。3)XOS因内存管理操作提供了用户态定制优化,尤其对内存分配等数据中心计算场景下的典型操作,有显著性能提升,其中XOS对于malloc()/free()操作的性能比Linux和Dune一次提高了53倍和68倍。4)XOS提供了绕过内核,直接访问控制特权资源的接口。5)在数据中心应用混合部署在同一节点时,XOS相对于Linux系统表现了更好的性能隔离。6)XOS提供了良好的可扩展性。