GPU cluster computing technology is a research hotspot in the community of high performance computing nowadays. It is playing an important role in biology, finance, meteorology and any other areas which need large-scale data processing. Although the general parallel computing architecture such as CUDA can effectively exert the computing power of GPUs, the usage of these accelerators also brings new problems, such as CPU-GPU and GPU-GPU communication, data storage, and so on. The whole computing power of GPU cluster cannot be used efficiently. The project builds a performance model suitable for the GPU clusters from three aspects: computation, communication and data storage, regarding the architecture factors that affect performance. Then, the project proposes a hybrid-grained task model for the heterogenous GPU clusters by analyzing the computing model of typical applications executed on GPU clusters, including the concurrency in and between threads and the CPU-GPU cooperation mechanism. The porject also proposes the co-scheduling and dynamic load balancing mechanisms based on the task model. In the end, the project implements a high performance computing framework to support multiple scheduling strategies, which are based on the distributed data management and highly efficient communication. Its performance is tested and tuned by running several applications on large-scale data. As to the new structural features and programming model introduced by GPUs, hybrid-grained task scheduling and dynamic balancing mechanisms are proposed to increase efficiency of computation, thus providing new ideas and methods for large-scale heterogeneous GPU cluster computing.
GPU集群计算技术是目前国内外高性能计算研究的热点,对生物、金融、气象等需要进行大规模数据处理的领域具有重要意义。虽然通用并行计算架构如CUDA能够有效地发挥GPU的计算能力,但这些加速(协)处理器的使用带来了新的通信和存储等问题,使GPU集群整体的计算能力难以得到高效利用。本课题从计算、通信和存储三方面考虑与性能相关的体系结构因素,建立适用于异构GPU集群的性能模型;通过分析GPU集群上典型应用的计算模式,提出面向异构GPU集群的混合粒度任务模型,在此基础上实现任务协同调度与动态均衡机制;基于分布式数据管理机制和高效通信机制实现支持多种调度策略的高性能计算框架,并采用大规模计算问题进行效能测试与调优。课题针对GPU带来的新结构特征和编程模型,从提高异构GPU集群计算效能角度提出混合粒度任务调度与动态均衡机制,为异构GPU集群大规模计算研究和应用提供新思路和方法。
异构GPU集群在大规模数据处理领域中发挥着重要作用。为了提高异构CPU-GPU计算平台的计算效能,需解决任务划分和组织方式、任务均衡机制、任务转移策略以及通信机制等方面的问题。.本课题首先将异构CPU-GPU计算平台应用到机器学习领域中,在实际应用中发现异构GPU集群计算时存在的问题并思考解决方法。本课题提出了基于混合编程模型的支持向量机训练并行化和CPU-GPU异构计算环境下的并行T近邻谱聚类算法PSCH,实现了计算任务的合理划分,取得了良好的加速效果。.第二,本课题研究了异构系统上的任务调度算法,提出了表调度和任务复制相结合的任务调度算法CEFT。为了提升计算任务在多节点异构平台上的性能,把科学计算应用划分成多个细粒度任务,根据任务之间的数据依赖关系建立DAG,利用CEFT可以减少处理器之间的通信开销进而提高计算性能。.第三,为了解决异构GPU集群中任务调度与负载均衡方面的问题,本课题深入研究了CPU-GPU异构NUMA体系结构,明确提出了共享内存式GPU程序设计概念,并利用页锁定内存的共享特性,以异构CPU-GPU的NUMA属性为切入点提出了支持CPU-GPU低交互开销任务调度的CAGTP模型。该模型通过细粒度的CPU-GPU任务交互以及GPU端高效的细粒度任务并发,使异构CPU-GPU系统可以高效处理相对复杂的DAG应用,并且在处理复杂依赖关系的任务时能够充分利用GPU端资源。.第四,为了将已有的GPU应用代码转换为CAGTP任务,本课题首次提出了一种可将PTX层代码转换为CUDA C层代码的工具,即PTX2Kernel代码转化器。PTX2Kernel可将PTX代码转换成容易编译的CUDA C层kernel,以较少的工作量使CAGTP可以利用第三方高性能计算库的代码,从而使CAGTP模型不仅仅停留在理论层面,而具有了重要的使用价值。.本课题在线性代数、机器学习等方面进行了实验验证,结果表明CAGTP模型在线性代数乘、楚列斯基分解、T近邻谱聚类算法等应用中取得了良好的效果;CEFT算法相比PEFT、HDCPD以及HEFT等调度算法具有更高的性能。同时,本课题利用异构CPU-GPU计算平台实现了支持向量机、谱聚类、多目标追踪、疾病表型与基因集关系推断、字符识别和文本区域标识等应用的高性能求解。
{{i.achievement_title}}
数据更新时间:2023-05-31
涡度相关技术及其在陆地生态系统通量研究中的应用
基于SSVEP 直接脑控机器人方向和速度研究
拥堵路网交通流均衡分配模型
MSGD: A Novel Matrix Factorization Approach for Large-Scale Collaborative Filtering Recommender Systems on GPUs
内点最大化与冗余点控制的小型无人机遥感图像配准
预算功率指导的高能效GPU集群任务调度模型与算法
基于GPU异构集群的FFT算法数学库研究
异构计算的性能模型与任务调度技术
混合云任务调度中的信任机制研究