论文部分内容阅读
随着现代应用程序对内存需求持续增加和处理器与内存之间速度差距不断扩大,处理器中的TLB失效已经成为影响性能的关键因素之一。本文在北大众志网络计算机和Linux操作系统的软硬件基础上,开展面向网络计算机的超页技术研究。针对网络计算机硬件系统的特点和应用程序的特征,在硬件TLB中提供对超页的支持,并在操作系统中对超页进行动态、透明的管理。本文的工作能够有效降低系统中TLB失效次数,提高系统性能,应用程序无需修改就能够得到性能上的改善。本文的主要创新点和贡献包括以下几个方面:
1、高端嵌入式平台在硬件方面有很强的多样性,其上的应用程序也跨越嵌入式和中低端桌面领域。为了能够细致、深入分析此类平台中应用程序和系统行为特征,本文提出并建立Unichos全系统模拟评测平台。该平台具有可重定向的指令模板和可扩展的设备模型,能够更好的支持多种体系结构和设备类型。同时,该平台采用面向对象的通用设计架构,完整支持图形显示、网络等核心功能,能够运行网络计算机上的Linux操作系统和现有各类应用程序。Unichos全系统模拟评测平台可用于系统验证、软件开发和性能评测等多个方面,是本文后续工作的基础,也是计算机系统相关研究工作的基础平台。
2、网络计算机中对处理器设计有低功耗、高集成度的要求,与传统的嵌入式系统相比,其上的应用程序种类更加丰富。针对实际应用需求,本文广泛选择性能评测基准程序,基于北大众志网络计算机对其d-TLB行为特征进行深入的分析和研究。通过定量分析不同页面大小对系统性能改善的实验结果,提出了支持4种页面大小超页技术的两级TLB设计改进方案,该方案已应用于600 MHz主频的北大众志第二代处理器中。
3、目前Linux操作系统的内存管理子系统设计缺乏对页面分配情况的详细描述,不支持对应用程序进行超页优化。本文提出了一种面向Linux的通用透明超页支持框架——GISP(基于全局信息的超页支持,Global Information basedSuperPage support)。GISP使用LMO(轻量级内存对象,Lightweight MemoryObject)和POPMAP(统计图,POPulation MAP)统一管理Linux中面向应用程序的页面分配情况,能够提供超页支持所需要的核心功能。GISP为Linux操作系统中透明超页支持的研究和优化工作提供了一个通用、开放的平台,是本文主要创新点之一。
4、现有面向Linux的透明超页支持设计方案LISP,没有记录超页优化过程所需要的管理信息,并且采用最为激进的超页升级策略而容易导致过高的代价。
本文在GISP框架中,基于LMO和POPMAP两个核心数据结构,设计并实现了一系列核心管理功能,包括基于预订的页面分配和页面延迟释放、渐进式主动升级和被动降级、重新设计的页失效处理流程等。GISP能够同时提供对匿名映射和文件映射的超页优化支持。本文在基于北大众志第二代处理器的Linux 2.4.17上实现了GISP,在实际网络计算机上的实验结果表明对不同评测程序的性能改进幅度为6.92%--24.0%。与LISP相比,即使GISP采用最保守的超页升级策略,绝大多数评测程序的性能仍能改进0.4%到4.6%,在最坏情况下相对LASP性能降低也不超过2.8%。
5、本文提出的GISP是一个更加实用的透明超页支持框架,能够在运行时刻根据LMO的特点动态采用不同的超页优化策略,无需改造应用程序;GISP设计方案运行时刻管理代价低,不仅适合科学计算类程序,还适合网络计算机上的日常应用程序。实验结果显示,在Linux中增加GISP框架,不但能够显著改善应用程序性能,对操作系统绝大部分基本操作的性能也有明显改善,仅对程序的启动过程造成有限的影响。