大规模并行处理器上资源与性能优化的调度方法研究
摘要 | 第4-6页 |
ABSTRACT | 第6-7页 |
主要符号表 | 第19-20页 |
1 绪论 | 第20-32页 |
1.1 研究背景与意义 | 第20-21页 |
1.2 研究动机 | 第21-22页 |
1.3 国内外相关研究进展 | 第22-28页 |
1.3.1 硬件层次调度方法 | 第23-24页 |
1.3.2 软件层次调度方法 | 第24-26页 |
1.3.3 其他相关研究 | 第26-28页 |
1.4 主要研究思路与内容 | 第28-31页 |
1.4.1 资源分配调度优化研究 | 第29页 |
1.4.2 执行次序调度优化研究 | 第29-30页 |
1.4.3 并行度调度优化研究 | 第30-31页 |
1.5 本文结构 | 第31-32页 |
2 大规模并行处理器系统模型 | 第32-42页 |
2.1 并行计算与大规模并行处理器 | 第32-34页 |
2.1.1 并行计算概述 | 第32-33页 |
2.1.2 大规模并行处理器与GPGPU | 第33-34页 |
2.2 大规模并行处理器体系结构模型 | 第34-37页 |
2.3 大规模并行处理器编程模型 | 第37-39页 |
2.4 大规模并行处理器的调度系统模型 | 第39-42页 |
2.4.1 资源级调度 | 第39页 |
2.4.2 指令级调度 | 第39-40页 |
2.4.3 任务级调度 | 第40页 |
2.4.4 线程级调度 | 第40-42页 |
3 资源分配调度优化研究 | 第42-75页 |
3.1 资源分配优化概述 | 第42-43页 |
3.2 多地址空间数据管理 | 第43-47页 |
3.2.1 GPGPU多地址空间内存模型 | 第43-44页 |
3.2.2 数据实例及其运行时状态 | 第44-47页 |
3.3 多地址空间封装机制 | 第47-54页 |
3.3.1 地址空间封装 | 第47-49页 |
3.3.2 状态迁移操作 | 第49-50页 |
3.3.3 多地址空间封装 | 第50-53页 |
3.3.4 性能与内存开销分析 | 第53-54页 |
3.4 多地址空间封装实验与分析 | 第54-59页 |
3.4.1 实验方法 | 第54-55页 |
3.4.2 开发效率与性能分析 | 第55-56页 |
3.4.3 数据传输效率分析 | 第56-58页 |
3.4.4 资源开销分析 | 第58-59页 |
3.5 内存资源访问冲突 | 第59-64页 |
3.5.1 GPGPU特有内存 | 第59-60页 |
3.5.2 多线程资源访问冲突模型分析 | 第60-62页 |
3.5.3 多线程资源访问冲突实验分析 | 第62-64页 |
3.6 内存资源池技术 | 第64-68页 |
3.6.1 内存资源池设计 | 第64-68页 |
3.6.2 性能和内存开销分析 | 第68页 |
3.7 内存资源池实验与分析 | 第68-74页 |
3.7.1 实验方法 | 第68-70页 |
3.7.2 代码可维护性分析 | 第70页 |
3.7.3 性能分析 | 第70-72页 |
3.7.4 资源负载分析 | 第72-74页 |
3.7.5 多GPGPU可用性实验 | 第74页 |
3.8 本章小结 | 第74-75页 |
4 执行次序调度优化研究 | 第75-108页 |
4.1 执行次序优化概述 | 第75-76页 |
4.2 协同调度及其优化策略 | 第76-85页 |
4.2.1 GPGPU与协同调度 | 第76-77页 |
4.2.2 系统虚拟化 | 第77页 |
4.2.3 虚拟化环境的协同调度 | 第77-79页 |
4.2.4 协同调度优化建模分析 | 第79-82页 |
4.2.5 细粒度协同调度优化策略 | 第82-85页 |
4.3 协同调度优化实验与分析 | 第85-90页 |
4.3.1 实验方法 | 第85-86页 |
4.3.2 SPLASH2实验分析 | 第86-88页 |
4.3.3 NPB实验分析 | 第88页 |
4.3.4 GPGPU协同调度分析 | 第88-90页 |
4.4 GPGPU负载均衡 | 第90-94页 |
4.4.1 CTA调度与负载均衡 | 第90-92页 |
4.4.2 CTA负载不均衡分析 | 第92-94页 |
4.5 基于信用额度的CTA负载均衡调度优化 | 第94-99页 |
4.5.1 CLASO结构设计 | 第94-95页 |
4.5.2 信用度发放与消耗策略 | 第95-97页 |
4.5.3 案例分析 | 第97-98页 |
4.5.4 CLASO硬件开销分析 | 第98-99页 |
4.6 CTA负载均衡优化实验与分析 | 第99-106页 |
4.6.1 实验方法 | 第99-101页 |
4.6.2 负载均衡优化效果分析 | 第101-103页 |
4.6.3 多调度策略兼容性分析 | 第103-106页 |
4.6.4 参数敏感性分析 | 第106页 |
4.7 本章小结 | 第106-108页 |
5 并行度调度优化研究 | 第108-140页 |
5.1 并行度优化概述 | 第108-109页 |
5.2 源代码并行粒度调整技术 | 第109-117页 |
5.2.1 源代码并行粒度调整 | 第109-111页 |
5.2.2 GPGPU并行源代码建模 | 第111-112页 |
5.2.3 APR代码转换策略 | 第112-114页 |
5.2.4 APR正确性分析 | 第114-115页 |
5.2.5 案例分析 | 第115-117页 |
5.3 源代码并行粒度调整实验与分析 | 第117-121页 |
5.3.1 实验方法 | 第117-118页 |
5.3.2 语句类型支持范围分析 | 第118页 |
5.3.3 正确性实验分析 | 第118页 |
5.3.4 性能与效率分析 | 第118-121页 |
5.4 线程级并行与流水线 | 第121-128页 |
5.4.1 线程级并行度与性能 | 第121-123页 |
5.4.2 调度组切换 | 第123-125页 |
5.4.3 流水线执行效率 | 第125-127页 |
5.4.4 CTA调度与Warp调度 | 第127-128页 |
5.5 动态并行度调度优化策略 | 第128-133页 |
5.5.1 触发式并行度调整方法 | 第128-130页 |
5.5.2 SAWS调度策略设计 | 第130-132页 |
5.5.3 SAWS硬件复杂度分析 | 第132-133页 |
5.6 动态并行度优化实验与分析 | 第133-138页 |
5.6.1 实验方法 | 第133-135页 |
5.6.2 性能分析 | 第135页 |
5.6.3 并行度优化准确性分析 | 第135-136页 |
5.6.4 流水线执行效率分析 | 第136-137页 |
5.6.5 多层次组合调度分析 | 第137-138页 |
5.7 本章小结 | 第138-140页 |
6 结论与展望 | 第140-145页 |
6.1 结论 | 第140-143页 |
6.2 创新点 | 第143页 |
6.3 展望 | 第143-145页 |
参考文献 | 第145-158页 |
攻读博士学位期间科研项目及科研成果 | 第158-160页 |
致谢 | 第160-162页 |
作者简介 | 第162页 |