随着大规模数据处理对处理器计算能力与存储带宽的要求越来越高,将GPU集群应用于大规模数据处理成为此领域的研究热点。申请此项目旨在研究如何保证大规模数据处理在GPU集群中的可靠性和高效性。为保证大规模数据在GPU集群发生错误时能继续处理,研究结合虚拟机与协同式检查点/回滚技术的低消耗容错技术,主要包括如何确立GPU建立检查点的时间,如何确立建立检查点的时间间隔,以及如何保存各结点的检查点信息等。为降低GPU集群中大规模数据处理所引起的传输开销,研究合理的数据布局方案,主要包括如何确保各结点的负载均衡,如何减少数据间的依赖性,以及如何在GPU多层次存储结构上优化分配数据等。为有效管理大规模数据处理中GPU集群各结点之间以及结点内部的消息传递,研究如何将MPI和CUDA紧密结合,设计统一的通信语义环境。此项目的研究能为大规模数据处理相关应用提供高效性和可靠性兼顾的的运行平台。
GPU Cluster;Big Data;Data Distribution;Parallel Computing;Fault Tolerant
随着网络搜索引擎、无线传感器、生物信息等高新技术的快速发展,产生了需要高效处理的规模能达到TB甚至PB级别的数据量。这些大规模数据的及时处理需要处理器具备强大的计算能力和存储带宽,而CPU的计算与存储能力跟不上数据规模与复杂度的增长需求,而将GPU(Graphic Processing Unit)图形处理器应用于大规模数据的并行处理是解决此问题的一个重要研究方向。而GPU的高存储带宽、低能耗很适合将其应用于高性能集群计算中,GPU集群中的每个节点都配有GPU,适用于并行加速计算,并且很容易从已有CPU集群通过升级硬件获得;而搭建GPU集群无疑能使大规模数据处理的效率得到极大的提高。如何利用GPU集群强大的计算潜力来加速处理大规模数据是此课题主要研究方向。此课题旨在研究如何保证大规模数据处理在GPU集群中的高效性和可靠性,为达到此研究目的,课题研究主要包括三个内容第一个主要内容是为充分利用GPU集群的并行计算能力,在全面考虑数据传输次数、数据集大小以及网络带宽等因素的基础上,重点研究GPU集群架构大规模数据分配策略,其中主要包括GPU集群架构研究、大规模数据动态分配策略、以及大规模数据并行归并研究;第二个主要内容是为更高效处理大规模数据,对GPU架构从控制结点到各计算结点,各个计算结点之间,从计算结点再到控制结点之间,进行更有效的数据之间的通信与协同运行,重点研究基于GPU架构的大规模数据并行运算通讯与编程模型研究,其中主要包括GPU架构并行运算通信与编程模型研究、GPU运算性能优化研究、以及GPU集群并行运算实验;第三个研究内容是为解决处理核越多,系统出现错误概率越高的问题,保证大规模数据在GPU集群中处理的可靠性,对GPU集群架构动态容错机制进行研究,其中主要包括GPU集群节点容错机制模型的研究、GPU集群动态容错调度机制的研究、以及GPU集群动态实时容错调度实验。课题研究过程中不仅对GPU集群架构的软硬件结构有了深入的分析与理解,构建了大规模数据在GPU集群下的动态负载均衡模型,并且对GPU架构大规模数据并行运算编程模型的基础原语进行了优化,通过实验验证了所设计的并行运算优化算法能更有效提高大规模数据并行处理的工作效率,除此之外,设计了适用于大规模数据高可靠性处理的动态实时容错机制,并通过系统实验验证了此容错机制能有效地进行GPU集群下大规模数据处理时故障的检