基于模块的调度策略及其对多处理器系统的支持

基于模块的调度策略及其对多处理器系统的支持

论文摘要

处理器高速缓存(Cache)的利用对系统性能起着关键性影响。随着计算机技术的进步,中央处理器的性能迅速提升,与系统内存的性能差距越来越大,Cache缺失所带来的性能损失十分可观,因此降低Cache的缺失率有着极其重要的意义。同时多处理器体系结构被提出并飞速发展,已成为现代处理器研究的热点。另一方面,软件系统的设计与实现日趋庞大和复杂,构件化软件架构因其良好的结构特性从而成为发展的主流趋势。构件化系统中的任务的基本构成是构件,但传统的调度策略忽视了任务的结构性,从而使构件化软件中各个构件之间产生不受控的切换,致使Cache缺失严重。为了尽量减少构件化系统运行时的Cache缺失率,进而提高其性能,十分有必要针对构件化系统的特征设计相应的调度策略。同时这种调度策略还必须要适应多处理器体系结构的发展趋势。论文以一种新型的针对构件化系统的调度策略为研究目标,所作的主要研究工作包括:1.对Cache缺失所带来的负面影响进行了细致的分析,说明了降低Cache缺失率的重要意义。通过介绍近年来一些主要的研究成果,论证了操作系统的调度策略对系统的Cache缺失率具有极其重要的影响。进而分析了构件化系统的特征,指出传统的调度策略不能很好的适应构件化系统,揭示了构件化系统中调度策略的一种新的设计思路,即考虑任务的结构特征——构件;2.提出了一种新型的基于模块的调度策略MBS,对其进行了理论分析,并给出了MBS的详细设计方案,包括调度段相关的概念及其定义;优先级的制定与调整方式;优先级抢占策略;调度段的控制;多处理器系统上扩展等。同时描述了实现MBS时的关键技术;3.基于Linux操作系统实现了支持MBS的原型操作系统MBS-Linux,详细论述了其中的设计与实现要点,并对涉及的数据结构和关键实现例程作了详尽的描述;4.作为MBS在构件化操作系统中的实现,以基于服务体/执行流模型的操作系统Minicore为基础实现了支持MBS的构件化操作系统原型MBS-Minicore,详细描述了其中所使用的关键技术、MBS调度服务体的设计与实现要点,以及其中的数据结构、消息接口和关键例程;5.对MBS-Linux和MBS-Minicore进行了性能评测,分别对比了MBS-Linux与Linux以及MBS-Minicore与Minicore的Cache缺失数和系统吞吐量,并对评测结果进行了详细分析。论文研究中所取得的具有创新特色的贡献如下:1.在分析了传统调度策略的局限性和构件化系统的特征之后,提出并设计了一种基于模块进行调度的新型调度策略MBS,并对其进行了理论分析、设计实现和实验验证,论证了其可行性和有效性。MBS在调度时考虑任务的内部结构,显著改善了传统的以任务为最小粒度的调度策略因Cache缺失频繁而导致的性能问题,提高了构件化软件运行时的Cache利用率,从而极大地提升了系统吞吐量,同时MBS还对多处理器系统提供了良好的支持;2.设计并实现了基于传统进程模型的支持MBS的操作系统原型MBS-Linux。它以直接明了的方式将MBS融入Linux操作系统中,并验证了MBS的可实现性;3.基于具有典型构件化特征的服务体/执行流模型,设计并实现了支持MBS的构件化原型操作系统MBS-Minicore,有效降低了构件化系统运行时的Cache缺失率,进而大幅提高了其性能。它提供了一种新颖的在构件化操作系统中设计和实现高性能调度器的解决方案。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 处理器的发展历程
  • 1.1.1 处理器高速缓存的发展
  • 1.1.2 处理器体系结构的发展
  • 1.2 操作系统的变革与挑战
  • 1.3 本论文的工作
  • 1.3.1 研究目标
  • 1.3.2 研究工作内容
  • 1.4 文章的组织结构
  • 第二章 研究背景及现状
  • 2.1 Cache对系统性能的影响
  • 2.2 多处理器上的操作系统
  • 2.2.1 Linux操作系统对多处理器结构的支持
  • 2.2.2 L4操作系统对多处理器结构的支持
  • 2.2.3 问题的焦点——调度
  • 2.3 操作系统中的调度策略
  • 2.3.1 基于优先级的时间片轮转调度(PriorityBasedRoundRobinSchedule)
  • 2.3.2 缓存亲和性调度(Cache Affinity Schedule)
  • 2.3.3 群调度(Gang Schedule)
  • 2.3.4 连续工作型与断续工作型调度(Work-Conserving and Non-Work-Conserving Schedule)
  • 2.3.4.1 有上限的处理器分配(ASP-MAX:Adaptive Static Partitioning with a Maximum)
  • 2.3.4.2 自适应处理器预留(PSA:Processor Saving Adaptive)
  • 2.3.5 基于处理器划分的方法(Processor Partitioning)
  • 2.3.5.1 进程控制调度(Process Control Schedule)
  • 2.3.5.2 调度器激活(Scheduler Activations)
  • 2.3.6 基于分析模型的调度策略
  • 2.3.6.1 SMT体系结构上基于概率理论的分析模型
  • 2.3.6.2 Cache缺失率的分析模型
  • 2.3.6.3 协同作业调度(Symbiotic Job Scheduling)
  • 2.3.6.4 基于Cache冲突分析模型的调度策略
  • 2.4 发展趋势
  • 2.5 本章小结
  • 第三章 基于模块的调度策略(MBS——the Module-Based Scheduling)
  • 3.1 现存的问题与研究动机
  • 3.2 MBS调度策略
  • 3.2.1 MBS调度策略概述
  • 3.2.2 MBS调度策略的理论分析
  • 3.2.2.1 基本情况分析
  • 3.2.2.2 考虑模块的运行概率
  • 3.2.2.3 考虑模块的Cache影响
  • 3.2.3 优先级和响应时间
  • 3.2.3.1 线程优先级与调度段优先级
  • 3.2.3.2 优先级的动态调整
  • 3.2.3.3 优先级抢占
  • 3.2.4 调度段的形成
  • 3.2.4.1 调度段的线程数目
  • 3.2.4.2 模块的执行时间
  • 3.2.4.3 调度段标示原语
  • 3.2.5 默认调度段
  • 3.2.6 MBS策略的多处理器扩展
  • 3.2.6.1 多处理器系统的体系结构
  • 3.2.6.2 处理器组内调度
  • 3.2.6.3 处理器组间的负载均衡
  • 3.3 实现MBS调度策略的要点
  • 3.4 本章小结
  • 第四章 基于进程模型的操作系统上MBS策略的实现
  • 4.1 Linux原有的调度策略
  • 4.2 MBS调度策略的设计与实现要点
  • 4.2.1 调度段对象
  • 4.2.2 调度队列
  • 4.2.3 调度段优先级
  • 4.2.4 调度段标示原语
  • 4.2.5 对多处理器系统的支持
  • 4.3 MBS调度策略相关的关键数据结构
  • 4.4 MBS调度策略相关的关键例程
  • 4.4.1 进程管理类例程
  • 4.4.2 优先级管理类例程
  • 4.4.3 调度段标示原语
  • 4.4.4 调度例程
  • 4.4.5 负载平衡类例程
  • 4.5 本章小结
  • 第五章 基于服务体/执行流模型的操作系统上MBS策略的实现
  • 5.1 服务体/执行流模型(SEFM)
  • 5.1.1 SEFM的基本抽象
  • 5.1.2 服务体地址空间
  • 5.1.2.1 服务体的地址空间结构
  • 5.1.2.2 服务体地址空间的构成
  • 5.1.3 服务体间通信机制
  • 5.1.3.1 端口和小端口
  • 5.1.3.2 端口变换
  • 5.1.3.3 消息
  • 5.1.3.4 消息传递接口
  • 5.1.3.5 微消息
  • 5.1.4 SEFM中的并发与调度
  • 5.1.4.1 SEFM对并发的支持
  • 5.1.4.2 SEFM的中断/异常处理模型
  • 5.1.4.3 SEFM中的调度机制
  • 5.1.5 SEFM的本质特征
  • 5.2 SEFM上支持MBS调度策略的操作系统——MBS-Minicore
  • 5.3 MBS-Minicore设计与实现中的关键技术
  • 5.3.1 多处理器系统支持
  • 5.3.2 服务体/端口/小端口管理
  • 5.3.3 端口授权机制
  • 5.3.4 服务体间通信机制
  • 5.3.5 任务管理机制
  • 5.3.6 同步/互斥机制
  • 5.3.7 中断/异常机制
  • 5.4 MBS调度服务体的设计与实现
  • 5.4.1 Minicore原有的调度策略
  • 5.4.2 MBS调度策略的设计与实现要点
  • 5.4.2.1 调度对象
  • 5.4.2.2 调度段对象
  • 5.4.2.3 优先级与调度队列
  • 5.4.2.4 调度段标示原语
  • 5.4.2.5 对多处理器系统的支持
  • 5.4.2.6 MBS调度服务体与其它服务体的交互
  • 5.4.3 关键数据结构
  • 5.4.4 关键消息接口及其实现
  • 5.4.4.1 操作调度对象的消息接口
  • 5.4.4.2 操作调度段对象的消息接口
  • 5.4.4.3 调度段标示原语的消息接口
  • 5.4.4.4 中断处理通知消息接口
  • 5.4.4.5 关键内部实现例程
  • 5.5 本章小结
  • 第六章 MBS调度策略的性能评测
  • 6.1 评测方案
  • 6.1.1 软硬件环境
  • 6.1.2 处理器提供的硬件支持
  • 6.1.3 评测程序
  • 6.1.4 Linux与MBS-Linux上的评测方案
  • 6.1.5 Minicore与MBS-Minicore上的评测方案
  • 6.2 评测结果
  • 6.2.1 Linux和MBS-Linux的对比测试结果
  • 6.2.2 Minicore上的对比实验结果
  • 6.2.3 评测结果分析
  • 6.3 本章小结
  • 第七章 总结
  • 7.1 本论文的主要工作
  • 7.2 本论文的贡献
  • 7.3 进一步工作的展望
  • 参考文献
  • 附录一 实验数据
  • 致谢
  • 在读期间撰写的学术论文
  • 相关论文文献

    • [1].利用数据冗余性的高速缓存压缩校验技术[J]. 小型微型计算机系统 2018(09)
    • [2].利用哈希函数提高高速缓存的性能[J]. 数码世界 2018(09)
    • [3].高速缓存优化的并行连接算法[J]. 计算机工程与设计 2009(20)
    • [4].一种降低末级高速缓存污染的软件控制插入策略[J]. 电子学报 2012(12)
    • [5].采用分区域管理的软硬件协作高能效末级高速缓存设计[J]. 计算机辅助设计与图形学学报 2013(11)
    • [6].嵌入式系统的高速缓存管理[J]. 电脑知识与技术 2008(12)
    • [7].高速缓存为金融业带来新“春天”[J]. 金融电子化 2013(06)
    • [8].一种降低末级高速缓存污染的分阶段自适应动态插入策略[J]. 北京大学学报(自然科学版) 2014(02)
    • [9].高速缓存设备应用及其性能分析[J]. 中国教育网络 2014(04)
    • [10].基于高速缓存负荷均衡的动态二进制翻译研究[J]. 计算机研究与发展 2015(09)
    • [11].LSI推出CacheVault Flash高速缓存保护技术[J]. 电子与电脑 2011(08)
    • [12].LSI推出MegaRAID CacheCade Pro2.0SSD高速缓存软件[J]. 电子与电脑 2011(09)
    • [13].LSI推出MegaRAID CacheCade Pro 2.0 SSD高速缓存软件[J]. 计算机与网络 2011(16)
    • [14].基于高速缓存资源共享的TLB设计方法[J]. 浙江大学学报(工学版) 2011(03)
    • [15].一种适用于FPGA应用的高效高速缓存压缩方法[J]. 复旦学报(自然科学版) 2019(05)
    • [16].DBCC-Join:一种新的高速缓存敏感的磁盘连接算法[J]. 计算机学报 2010(08)
    • [17].计算机高速缓存相关概念的案例教学[J]. 计算机教育 2018(09)
    • [18].卷烟高速缓存区机器人智能巡检系统研究[J]. 物流技术与应用 2018(02)
    • [19].面向非写分配高速缓存的一致性协议及实现[J]. 浙江大学学报(工学版) 2015(02)
    • [20].迪普科技发布DeepCache高速缓存加速系统[J]. 电信技术 2014(07)
    • [21].结合流行度选择的集群网络高速缓存优化仿真[J]. 计算机仿真 2020(09)
    • [22].勘误[J]. 计算机辅助设计与图形学学报 2014(02)
    • [23].QLogic FabricCache获STORAGE Magazine 2013年度“One to Watch”奖[J]. 计算机与网络 2013(13)
    • [24].Memcached和Redis在高速缓存方面的应用[J]. 无线互联科技 2012(09)
    • [25].基于邻行链接访问的低功耗指令高速缓存[J]. 浙江大学学报(工学版) 2013(07)
    • [26].浅谈高速缓存技术在网站建设中的应用[J]. 黑河学院学报 2013(03)
    • [27].基于循环的指令高速缓存访问预测方法[J]. 计算机应用研究 2012(07)
    • [28].CWLP:一种在GPU中协同的线程束调度和局部性保护的高速缓存分配策略(英文)[J]. Frontiers of Information Technology & Electronic Engineering 2018(02)
    • [29].面向MPSoC性能评估的高速缓存建模技术[J]. 浙江大学学报(工学版) 2015(07)
    • [30].ARM指令执行速度影响因素的实验研究[J]. 计算机工程 2011(12)

    标签:;  ;  ;  ;  ;  ;  ;  ;  

    基于模块的调度策略及其对多处理器系统的支持
    下载Doc文档

    猜你喜欢