收稿日期:20190211;修回日期:20190327 基金项目:山东省自然科学基金面上项目(ZR2017MF050);山东省高等学校科学技术计
划项目(J17KA049);山东省重点研发项目(2018GGX101005,2017CXGC0701,2016GGX109001)
作者简介:张龙翔(1976),男,副教授,硕士,主要研究方向为分布式计算;曹云鹏(1967),男,副教授,硕士,主要研究方向为大数据并行计
算;王海峰(1976),男(通信作者),教授,硕导,博士,主要研究方向为高性能计算、大数据分析(gadfly7@126.com).
面向大数据复杂应用的 GPU协同计算模型
张龙翔
1,2
,曹云鹏
1,2
,王海峰
1,2
(1.临沂大学 信息科学与工程学院,山东 临沂 276002;2.山东省网络重点实验室临沂大学研究所,山东 临沂
276002)
摘 要:大数据计算中存在流计算、内存计算、批计算和图计算等不同模式,各种计算模式有不同的访存、通信
和资源利用等特征。
GPU异构集群在大数据分析处理中得到广泛应用,然而缺少研究 GPU异构集群在大数据
分析中的计算模型。多核
CPU与 GPU协同计算时不仅增加了计算资源的密度,而且提高节点间和节点内的通
信复杂度。为了从理论上研究 GPU与多核 CPU协同计算问题,面向多种计算模式建立一个多阶段的协同计算
模型(pDCOT)。pDCOT以 BSP大同步并行模型为核心,将协同计算过程分成数据层、计算层和通信层三个层
次,并且延用 DOT模型的矩阵来形式化描述计算和通信行为。通过扩展 pDOT模型描述节点内和节点间的协
同计算行为,细化了负载均衡的参数并证明时间成本函数,最后用典型计算作业验证模型及参数分析的有效性。
该协同计算模型可成为揭示大数据分析处理中协同计算行为的工具。
关键词:协同计算模型;计算模式;大数据处理;GPU异构集群
中图分类号:TP393 文献标志码:A 文章编号:10013695(2020)07026204905
doi:10.19734/j.issn.10013695.2019.02.0016
GPUcollaborativecomputingmodelforcomplexapplicationsin
largescaledataprocessing
ZhangLongxiang
1,2
,CaoYunpeng
1,2
,WangHaifeng
1,2
(1.InformationScience&EngineeringSchool,LinYiUniversity,LinyiShandong276002,China;2.LindaInstitute,ShandongProvincialKey
LaboratoryofNetworkbasedIntelligentComputing,LinyiShandong276002,China)
Abstract:Thelargescaledatacomputigprocessincludesdifferentmodeswhicharestreamingcomputing,memorycompu
ting,batchingcomputingandgraphcomputingmode.Eachmodehasdifferentaccessmemory,communicationandresource
utilization.GPUclustersarewidelyusedinlargescaledataprocessing.However,thereislackofcomputingmodelforGPU
clusterinlargescaledataprocess.ThecollaborativecomputingbetweenGPUandCPUnotonlyincreasesdensityofcomputing
resourcesbutalsoimprovescommunicationcomplexitybetweeninternodesandintranodes.Toexploreruleofcollaborative
computingprocess,thispaperbuiltanovelmultistagecollaborativecomputingmodel(pDCOT)formulticomputingmodes.
ThismodelwasbasedonBSPmodel
,whichwaslargesynchronousparallelmodel.Itdividedthecollaborativecomputing
processintothreelevels:datalayer,computinglayerandcommunicationlayer.ThismodelalsousedmatrixofDOTmodelto
describecomputingandcommunicationbehaviors.ThenitextendedthepDOTmodeltodescribecollaborativecomputingbe
haviorwithincomputingnodesandrefinedtheparametersofworkloadsbalancie.Thismodelcouldprovethetimecostfunction
ofcollaborativecomputingmodel.Finally,thetypicalcomputingtasksverifiedthemodelvalidityandparameteranalysis.This
collaborativecomputingmodelwillbeatooltorevealcollaborativecomputingbehaviorsinlargescaledataanalysisprocessing.
Keywords:collaborativecomputingmodel;computingmode;largescaledataprocessingapplications;GPUheterogeneouscluster
0 引言
海量数据分析及处理的应用影响高性能计算的发展趋势,
高性能计算平台出现由通用计算平台转向为各种行业大数据
定制处理的专业计算系统的趋势
[1]
。针对数据密集型计算,
工业界出现特定处理器替代通用处理器的现象,特定处理器有
NVIDIA公司的图形处理器(graphicsprocessingunit,GPU)、In
tel公司的 XeonPhi协同处理器、FPGA等
[2]
。由于 GPU的海
量线程机制适合处理数据密集型计算,GPU与多核 CPU协同
构建的异构集群为大数据分析及处理带来新机遇,能有效地提
高计算性能和能效利用率。另一个方面是大数据分析和查询
中的多种计算模式。最早出现的是为离线批处理服务的 Map
Reduce模型,分成 map任务分发和 reduce结果收集两个阶段,
能以相同方式处理不同数据来源的大数据作业。根据数据来
源的不同和作业特点分为批计算、流计算、内存计算、图计算和
交互计算模式。大规模离线数据对数据处理吞吐量敏感的是
批处理模式,该模式中 map计算的中间结果保存到磁盘中;若
中间数据需要大量迭代处理,则把 map任务的中间数据保存到
内存中就演变为内存计算模式;流计算实时处理连续的大规模
数据流,将无界的数据流划分成固定大小的有界批处理子集;图
计算可转换成有依赖关系的多个子任务的
MapReduce迭代计算
形式;交互计算对计算延迟敏感,或是包含多种计算模式的复杂
作业
[1]
。总之,大数据分析及处理是一个复杂的应用场景,包含
以
MapReduce批处理和其扩展形式的多种计算模式,甚至是多
种模式的组合。当前 Spark和 Flink大数据处理框架都提供基
于 MapReduce模式的批处理、流计算、内存计算和图计算等多种
计算模式,来处理不同输入形式的大数据作业。
第 37卷第 7期
2020年 7月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol.37No.7
Jul.2020