GPU集群调度管理系统关键技术的研究

GPU集群调度管理系统关键技术的研究

论文摘要

人类面临的许许多多重要科技问题的数据规模已经达到TB甚至PB量级,往往需要万亿次以上的计算能力。我们日常生活应用中(如游戏、高清视频播放)面临的图形和数据计算也越来越复杂,对计算速度提出了严峻的挑战。过去二十年,Intel和AMD等厂家推出的CPU的性能提高速度越来越慢,CPU向多核方向发展也存在多方面的问题。NVIDIA公司的支持CUDA技术的GPU因为具有更多的执行单元数量和便利的开发条件,在高性能计算方面具有无可比拟的优势。借助网络把多个GPU连接起来紧密协作而形成GPU集群更是满足需求日益增长的高性能计算的明智选择。结合GPU程序计算的特点,探讨了一种综合分层式调度和集中式调度的GPU集群调度管理系统的设计方案,具体阐述了方案的层次结构,系统的工作流程,各个模块的设计思路和模块之间的交互等。该系统方案的目的是在多机器多GPU的高密度计算中充分利用GPU资源,有效组织GPU执行计算任务,保证在GPU数量线性增长的情况下系统总体计算能力也作线性增长。为了验证调度管理方案的可行性,接着设计了某种哈希算法,在一定的硬件软件和网络通信接口的平台上,对调度管理系统的设计方案进行实验。在实验中,还根据具体的计算任务做了相应的计算优化,结果表明,系统具有高效性、良好的可扩展性、友好的可操作性。在实验的基础上,为了优化系统的性能,还列举了一些可能影响系统性能的因素,然后修改了系统的部分参数对系统性能进行了简单的测试。结合理论分析和参数修改前后的测试结果,可以验证列举的因素的影响作用。最后针对实验结果提出设计方案下一步的工作方向,希望能够提升系统的容错性和故障恢复能力,以及集群调度管理系统适应多种类的计算方式的能力。

论文目录

  • 摘要
  • Abstract
  • 目录
  • 1 绪论
  • 1.1 引言
  • 1.2 国内外研究现状
  • 1.3 本文主要内容及章节安排
  • 2 CUDA 编程技术简介
  • 2.1 基于主机和设备的编程模型
  • 2.2 内核函数与线程结构
  • 2.3 编程模型与底层硬件的关系
  • 2.4 本章小结
  • 3 集群调度管理简介
  • 3.1 集群任务调度问题的分类
  • 3.2 集群任务调度的组织结构
  • 3.3 集群资源管理的过程
  • 3.4 集群调度任务的选择
  • 3.5. 集群任务分配算法概述
  • 3.6 基于表调度的静态调度算法
  • 3.7 集群调度管理的负载平衡问题
  • 3.8 集群调度管理的性能评价
  • 3.9 本章小结
  • 4 GPU 集群调度管理系统的设计方案
  • 4.1 调度管理系统的设计原则
  • 4.2 调度管理系统的整体设计
  • 4.3 调度管理系统的调度层次
  • 4.4 分发服务器的调度原理
  • 4.5 工作集群的逻辑结构
  • 4.6 工作集群的任务划分
  • 4.7 服务器程序和客户端程序的交互方式
  • 4.8 工作集群的适应性问题
  • 4.9 工作集群的外部操作
  • 4.10 GPU 内部的计算任务调度
  • 4.11 本章小结
  • 5 集群调度管理系统对某种哈希算法的实验
  • 5.1 实验的硬件软件环境
  • 5.2 网络通信接口的选择
  • 5.3 实验的算法介绍
  • 5.4 实验过程
  • 5.5 工作集群的 CPU 协同计算
  • 5.6 工作集群的计算能力与 CPU 的比较
  • 5.7 集群中 GPU 数量与计算时间的关系
  • 5.8 本章小结
  • 6 关于系统性能的讨论和实验测试结果
  • 6.1 block 和 thread 数量对 GPU 程序性能的影响
  • 6.2 工作集群中客户端数量的限制
  • 6.3 客户端程序突然崩溃的处理
  • 6.4 本章小结
  • 7 全文总结与展望
  • 7.1 全文总结
  • 7.2 下一步工作展望
  • 致谢
  • 参考文献
  • 相关论文文献

    标签:;  ;  ;  ;  ;  ;  ;  

    GPU集群调度管理系统关键技术的研究
    下载Doc文档

    猜你喜欢