面向多核平台的通用异构操作系统内核研究

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:xyhanhui
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着集成电路的摩尔定律的继续发展,单个芯片内部集成的处理器核数量越来越多,未来一块芯片就可以容纳上千个核;另一方面,考虑到功耗和性能的平衡,这些核中的一些核的计算能力比较强大,可以更快地处理单线程任务,而更多的核则设计的比较简单,用来并行处理大量的小程序。硬件平台的变化导致软件结构必须做出相应的改变,特别是最基础的操作系统的结构必须能够适应多核和异构的趋势。但是,传统的SMP操作系统因为大量的锁竞争导致其无法高效地管理如此众多的计算资源,特别地,这种同构的操作系统完全无法有效利用异构多核带来的优势。   本文在详细分析同构SMP操作系统对应用程序性能影响的前提下,提出了一种异构操作系统内核的设计方法。该方法在逻辑上将操作系统分为三个部分:运行时环境、内核服务器和中断处理程序。运行时环境是一段轻量级的代码,与应用程序一起独占一个核,用来将应用程序对操作系统的请求转发到合适的内核服务器;内核服务器则包括很多个具备特定功能的单线程程序,每个程序提供一种操作系统的服务,包括文件系统、网络、内存管理和进程管理等;中断处理程序用来处理硬件发出的中断请求,如磁盘中断和网卡中断等。根据此方法实现了一个原型系统--GenerOS,它基于Linux-2.6.25内核,在确保兼容性的前提下,可以运行在任何x8664多核平台上。实验表明,两个典型的服务器程序在GenerOS上比在Linux上表现出更好的性能,其中,采用Oracle数据库的 TPC-H性能提升19.6%,采用Apache服务器的httperf性能提升42.8%。   运行时环境连接应用程序与内核服务器,在内核态实现则每次系统调用请求都需要从用户态切换到内核态进行转发,开销较大。本文提出一种通过修改lib库中各个系统调用的方法,使得它们可以在用户态直接转发到内核服务器,而不需要额外的用户态到内核态的切换开销。实验显示,不仅单个系统调用的执行时间可以减少,整个系统吞吐量也能够获得提高。   具有不同特征的应用程序对操作系统的需求可能不同,即便同一个应用程序,在执行过程的不同阶段对操作系统的需求也可能是不一样的,异构操作系统必须能够适应这种变化才能更好地发挥硬件的性能。本文提出了一种自适应的异构操作系统设计方法,通过动态探测应用程序对操作系统的需求,操作系统的结构可以进行自适应的调整。此方法实现在GenerOS中,实验显示,对于那些在不同阶段对操作系统有不同需求的应用程序,自适应调整的方法可以提升其性能。
其他文献
近红外光谱分析技术能够用于样品的定性和定量检测,是近十年来发展最快的高新技术之一。近红外光谱分析技术具有快速、高效、不消耗试剂、不产生污染和适合在线分析等优点,具有
幼儿教育是孩子教育的基石,幼儿的健康成长是家庭以及社会的殷切希望。目前国内的幼儿教育事业发展相当迅速,传统的幼教方式已经不能满足家长的期望,智慧幼儿园的概念应运而
网格计算是当前网络研究的热点,具有很好的发展潜力。网格中的任务调度是网格计算中的一个核心问题。由于网格系统本身的复杂性以及网格资源的异构性、动态性、自治性等特点,
在PCB板级设计中,信号完整性分析已经是必不可少的研究方法。除了需要解决高速信号的过冲,反射和串扰等问题之外,日益严峻的低电压、大电流供电趋势使得电源噪声的影响越来越不
近来,Skvline计算在集中式数据库、分布式数据库、数据流及分类属性数据集上的良好应用前景,使其成为当前数据库界研究的重点和热点之一,受到了学术界和工业界的广泛关注。作
学生成绩管理系统依据所开发的要求主要是应用在教育系统方面,它可以完成对日常的教育工作中学生成绩信息档案的数字化管理。开发本系统可使学校学院教职员工减轻工作负担,比
面向服务的架构(Service-Oriented Architecture,SOA)已经成为企业IT系统实施的一个时尚,无论是对现有信息系统的改造,还是对企业新IT架构的设计,面向服务的体系结构都往往成
随着信息技术的不断发展,信息安全问题越来越受到重视。传统的单一安全防护技术已经不能对保护目标进行有效防护,安全管理平台应运而生。它统一管理各类安全设备,协调各类安全技
由于在军事、医学、天文等方面的广泛应用,弱小目标检测成为了图像处理领域中一项重要的研究课题。对于实际的武器系统而言,如何充分发挥光电目标检测技术的优势,提高目标的检测
Applied pi-演算是用来表示和分析安全协议的演算。它从pi-演算中继承了通信,并发以及限制算子。它引入了原语函数和等值理论来表示安全协议中的相关操作。在applied pi-演算