众核结构的基于块的硬件调度器设计研究
发布时间:2022-07-04 20:37
为了让CPU更快,人们设计的CPU变得越来越复杂且不规整,如增加乱序执行单元、超流水线、分支预测和投机等等技术;不幸的是,这些技术已经基本没有潜力可挖掘,而且也无法很好的控制功耗。至少在近几年摩尔定律始终还在起作用,如何来利用单位面积上不断增加的晶体管呢?现在的一个主要技术是在片上设计更多的相对简单的核(众核)来取代较少的相对复杂的核(多核)。另一方面,当前的主流应用程序基本上是单线程的,或者是不能很好地扩展的多线程程序。这意味着这些应用程序并不能有效地利用额外的核,因为他们并不含有很多的并行来扩展。所以,与复杂的大核比较,他们基本上只能在简单的小核上较慢的运行。基于这些原因,研究者从两方面提出了很多方案来解决这个问题:一方面是通过编译技术的支持来创建更小单元的线程单元,如OpenMP技术、投机线程和软件流水等;另一方面是通过体系结构的支持,如事务cache、核融合(core fusion)和复杂的指令级分发器(多核的指令级平行挖掘)等。本文在调研了多核、众核的体系架构和在编译技术支持的并行技术上,提出了一种基于分段的块级硬件调度众核体系结构。本技术的两个主要特征是:一是编译支持的基于...
【文章页数】:85 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
第1章 绪论
1.1 研究背景
1.1.1 多核与众核的新起
1.1.2 平行技术的发展
1.1.3 编译技术的影响
1.1.4 体系结构的影响
1.1.5 解决方案和调度器方案
1.2 来源
1.3 目标
1.4 重点与难点
1.5 本文的研究成果与创新
1.6 论文结构
第2章 程序的并行特征与分段
2.1 并行执行中的执行模型与开销分析
2.1.1 执行模型
2.1.2 各种开销分析
2.1.3 行为总结
2.2 并行的粒度
2.2.1 程序中并行的粒度
2.2.2 粒度分析与测量
2.2.3 编译中并行代价的处理方式
2.2.4 人为干预法中并行代价的处理方式
2.2.5 并行开销与性能提升
2.3 程序段的划分
2.3.1 程序中的事件与样式
2.3.2 事件间的可并行元素
2.3.3 事件中根据样式成立的并行模式
2.3.4 段的获得
2.3.5 结论
2.4 本章小结
第3章 微架构的设计与实现
3.1 硬件线程与软件线程
线程
3.1.1 硬件执行流
3.1.2 优缺点比较
3.2 基于段的块调度器的设计考虑
3.2.1 段:挖掘更多的块并行性
3.2.2 执行流控制
3.2.3 调度单位:块
3.2.4 块控制:PC值指引
3.2.5 整体设计与折中
3.3 微架构的一种实现
3.3.1 本地微架构
3.3.2 调度器的实现
3.3.3 众核上的架构
3.4 段信息设计
3.4.1 段的来源
3.4.2 设计考虑
3.4.3 一种具体实现方式
3.5 段信息的获取(编译支持)
3.5.1 程序员的指示
3.5.2 编译器的分析
3.6 实施流程
3.6.1 归类
3.6.2 根据并行的特征得出段信息SI
3.6.3 调度器调度并行程序块的执行
3.7 执行过程
3.8 示例
3.9 本章小结
第4章 众核与其他并行的挖掘与扩展
4.1 众核
4.1.1 众核的概念
4.1.2 众核的结构特征
4.1.3 众核的前景
4.2 程序在众核上的运行
4.2.1 程序执行模型
4.2.2 异构、通讯、映射
4.2.3 本设计方案的利用
4.2.4 模拟超线程方法(更高的硬件资源使用率)
4.3 本章小结
第5章 实验结果与分析
5.1 与OpenMP的比较
5.1.1 并行粒度的可用性
5.1.2 开销对比分析
5.2 系统模拟与性能分析
5.2.1 性能
5.2.2 片上与执行开销
5.2.3 硬件使用率
5.3 总结与改进
第6章 总结与展望
参考文献
攻读硕士期间发表论文与参加项目
致谢
本文编号:3655885
【文章页数】:85 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
第1章 绪论
1.1 研究背景
1.1.1 多核与众核的新起
1.1.2 平行技术的发展
1.1.3 编译技术的影响
1.1.4 体系结构的影响
1.1.5 解决方案和调度器方案
1.2 来源
1.3 目标
1.4 重点与难点
1.5 本文的研究成果与创新
1.6 论文结构
第2章 程序的并行特征与分段
2.1 并行执行中的执行模型与开销分析
2.1.1 执行模型
2.1.2 各种开销分析
2.1.3 行为总结
2.2 并行的粒度
2.2.1 程序中并行的粒度
2.2.2 粒度分析与测量
2.2.3 编译中并行代价的处理方式
2.2.4 人为干预法中并行代价的处理方式
2.2.5 并行开销与性能提升
2.3 程序段的划分
2.3.1 程序中的事件与样式
2.3.2 事件间的可并行元素
2.3.3 事件中根据样式成立的并行模式
2.3.4 段的获得
2.3.5 结论
2.4 本章小结
第3章 微架构的设计与实现
3.1 硬件线程与软件线程
线程
3.1.1 硬件执行流
3.1.2 优缺点比较
3.2 基于段的块调度器的设计考虑
3.2.1 段:挖掘更多的块并行性
3.2.2 执行流控制
3.2.3 调度单位:块
3.2.4 块控制:PC值指引
3.2.5 整体设计与折中
3.3 微架构的一种实现
3.3.1 本地微架构
3.3.2 调度器的实现
3.3.3 众核上的架构
3.4 段信息设计
3.4.1 段的来源
3.4.2 设计考虑
3.4.3 一种具体实现方式
3.5 段信息的获取(编译支持)
3.5.1 程序员的指示
3.5.2 编译器的分析
3.6 实施流程
3.6.1 归类
3.6.2 根据并行的特征得出段信息SI
3.6.3 调度器调度并行程序块的执行
3.7 执行过程
3.8 示例
3.9 本章小结
第4章 众核与其他并行的挖掘与扩展
4.1 众核
4.1.1 众核的概念
4.1.2 众核的结构特征
4.1.3 众核的前景
4.2 程序在众核上的运行
4.2.1 程序执行模型
4.2.2 异构、通讯、映射
4.2.3 本设计方案的利用
4.2.4 模拟超线程方法(更高的硬件资源使用率)
4.3 本章小结
第5章 实验结果与分析
5.1 与OpenMP的比较
5.1.1 并行粒度的可用性
5.1.2 开销对比分析
5.2 系统模拟与性能分析
5.2.1 性能
5.2.2 片上与执行开销
5.2.3 硬件使用率
5.3 总结与改进
第6章 总结与展望
参考文献
攻读硕士期间发表论文与参加项目
致谢
本文编号:3655885
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3655885.html