CN104536937B - 基于cpu‑gpu异构集群的大数据一体机实现方法 - Google Patents

基于cpu‑gpu异构集群的大数据一体机实现方法 Download PDF

Info

Publication number
CN104536937B
CN104536937B CN201410844266.4A CN201410844266A CN104536937B CN 104536937 B CN104536937 B CN 104536937B CN 201410844266 A CN201410844266 A CN 201410844266A CN 104536937 B CN104536937 B CN 104536937B
Authority
CN
China
Prior art keywords
gpu
map
cpu
versions
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410844266.4A
Other languages
English (en)
Other versions
CN104536937A (zh
Inventor
田盼
喻之斌
刘勇
杨洋
曾永刚
贝振东
须成忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN201410844266.4A priority Critical patent/CN104536937B/zh
Publication of CN104536937A publication Critical patent/CN104536937A/zh
Application granted granted Critical
Publication of CN104536937B publication Critical patent/CN104536937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

本发明适用于云计算技术领域,提供了一种基于CPU‑GPU异构集群的大数据一体机实现方法,所述方法包括:搭建一个计算机集群,所述计算机集群中包含一个配有CPU处理器的Master节点和其余配有CPU和GPU处理器的Slave节点;将CUDA安装在Slave节点上;选择Hadoop提供的MapReduce模型,为每个任务块启动一个Map任务,并将Map任务发送给Slave节点进行计算;Slave节点将接收到的Map任务划分成相应的比例后分给CPU或GPU,以执行Map和Reduce操作,并将操作结果发送给Master节点;Master节点接收各Slave节点反馈的操作结果,完成全部任务处理。

Description

基于CPU-GPU异构集群的大数据一体机实现方法
技术领域
本发明属于云计算技术领域,尤其涉及一种基于CPU-GPU异构集群的大数据一体机实现方法。
背景技术
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。MapReduce是Hadoop的核心组件,MapReduce提供了两项重要的操作:1)Map操作,用于处理key-value对,并产生中间结果;2)Reduce操作,用于将具有相同键的值规约起来,并产生最终结果。通过Map操作和Reduce操作很容易在Hadoop平台上进行分布式的计算编程。
图形处理器(Graphic Processing Unit,GPU)是一种配置有大规模计算单元的众核处理器,与CPU相比,它具有更快的计算能力和更高的内存带宽。
然而,现有的Hadoop只能运行于CPU集群,并没有考虑到GPU庞大的并行计算能力,导致海量数据计算运行效率偏低。
发明内容
鉴于此,本发明实施例提供一种基于CPU-GPU异构集群的大数据一体机实现方法,以实现在CPU-GPU异构集群上运行Hadoop,解决海量数据计算运行效率偏低的问题。
本发明实施例是这样实现的,一种基于CPU-GPU异构集群的大数据一体机实现方法,所述方法包括:
步骤一、搭建一个计算机集群,所述计算机集群中每个计算机作为一个节点,所述节点中包含一个配有CPU处理器的Master节点和其余配有CPU和GPU处理器的Slave节点,所述Master节点用于根据预定的任务调度策略对任务进行调度控制,所述Slave节点用于Map或Reduce的计算操作;
步骤二、选择CUDA作为GPU的计算模型,并将所述CUDA安装在所述Slave节点上;
步骤三、选择Hadoop提供的MapReduce模型,通过Master节点将任务划分成多个任务块,为每个任务块启动一个Map任务,并将所述Map任务发送给所述Slave节点进行计算;
步骤四、所述Slave节点根据自身CPU与GPU的计算能力,将接收到的所述Map任务划分成相应的比例后分给所述CPU或GPU上空闲的计算单元,执行Map和Reduce操作,并将操作结果发送给所述Master节点;
步骤五、所述Master节点接收各Slave节点反馈的操作结果,完成全部任务处理。
本发明实施例与现有技术相比存在的有益效果是:通过搭建一个由多台CPU与GPU组成的集群,并在集群上部署改进后的Hadoop平台,以实现在CPU-GPU异构集群上运行Hadoop。而且,在每个Slave节点上安装CUDA,从而可以实现对计算机集群上CPU和GPU计算资源的统一调度,使得具有大数据量且计算密集型的任务可以高效的完成,有效解决现有海量数据计算运行效率偏低的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的基于CPU-GPU异构集群的大数据一体机实现方法的实现流程图;
图2是本发明实施例一提供的所述方法实施框架的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透切理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例一提供的基于CPU-GPU异构集群的大数据一体机实现方法的实现流程,该方法过程详述如下:
在步骤S101中,搭建一个计算机集群,所述计算机集群中每个计算机作为一个节点,所述节点中包含一个配有CPU处理器的Master节点和其余配有CPU和GPU处理器的Slave节点,所述Master节点用于根据预定的任务调度策略对任务进行调度控制,所述Slave节点用于Map或Reduce的计算操作。
在本发明实施例中,各节点之间可通过无线网络连接通信。示例性的,各节点之间可以通过Infiniband网络连接通信。各节点自身都存在独立的内存和磁盘。磁盘访问时,各节点既可以访问自身的磁盘,也可以访问其它节点的磁盘。
本实施例搭建计算机集群的目的是将集群上各个节点的计算和存储资源进行整合,提高海量数据处理的效率。
作为本发明的另一较佳示例,所述Master节点的任务调度策略设置如下:
运行在CPU上的任务数量为:
运行在GPU上的任务数量为:
其中,N表示总任务数量,n表示CPU上core的数量,m表示GPU设备的数量,tCPU表示上一轮任务在CPU上执行的时间,tGPU表示上一轮任务在GPU上执行的时间。
在步骤S102中,选择CUDA作为GPU的计算模型,并将所述CUDA安装在所述Slave节点上,作为使用GPU并行计算的基础。
需要说明的是,本发明实施例可以通过Pipes、JCUDA、JNI或Streaming等技术将Hadoop的Java代码和CUDA代码集成在一起。其中,优选,轻量级的Hadoop Pipes技术,使得Hadoop可以通过Pipes直接调用CUDA程序。
在步骤S103中,选择Hadoop提供的MapReduce模型,通过Master节点将任务划分成多个任务块,为每个任务块启动一个Map任务,并将所述Map任务发送给所述Slave节点进行计算。
在步骤S104中,所述Slave节点根据自身CPU与GPU的计算能力,将接收到的所述Map任务划分成相应的比例后分给所述CPU或GPU上空闲的计算单元,执行Map和Reduce操作,并将操作结果发送给所述Master节点。
在步骤S105中,所述Master节点接收各Slave节点反馈的操作结果,完成全部任务处理。
作为本发明的一可选示例,所述执行Map和Reduce操作包括:
编写一种Map函数和Reduce函数;
通过代码翻译器将所述Map函数和Reduce函数翻译成多线程的OpenMP和CUDA版本,根据运行的平台,选择OpenMP或CUDA版本对应的Map函数和Reduce函数;
基于选择的CUDA版本对应的Map函数和Reduce函数,在C++Wrapper与TaskTracker的child JVM之间建立一个永久的数据传输通道,通过child JVM进程将输入数据key-value对传送给C++Wrapper,C++Wrapper运行Map函数,并将运行时获得的中间结果存放在GPU的Hash表中;进一步的,在CPU上的Map运行结束后,将中间结果存放在CPU的Hash表中;
GPU根据所述中间结果执行Reduce函数,计算出最终结果,C++Wrapper将所述最终结果传送给child JVM进程,CPU上的Reduce结束后,也获取其计算结果;
Master节点对于运行失败的Mapper或Reducer,使其重新运行,从而完成Map和Reduce操作。
进一步的,本发明实施例使用的Hadoop Pipes原理如下:在处理Map任务和Reduce任务时,每个C++Wrapper进程通过传递一个端口号与Child JVM进程之间建立一个永久的socket连接,任务执行时,JVM进程将输入数据key-value对传送给C++Wrapper进程,C++Wrapper进程使用用户定义的Map函数和Reduce函数处理任务,完成计算后,将输出结果key-value对再传递回JVM进程。而从TaskTracker角度,可以看成是Child JVM进程自己完成的Map任务和Reduce任务。
进一步的,本发明实施例提供的代码翻译器的实现原理如下:
对于循环语句,若是生成OpenMP版本,则为循环添加”#pragma omp for”指令,若是生成CUDA版本,则将循环的每次迭代分配给GPU上的一个线程执行;
对于同步,若是生成OpenMP版本,则添加”omp barrier”或”omp critical”指令,若是生成CUDA版本,则添加synchronization函数;
对于访问有权限限制的变量,若生成OpenMP版本,则添加”omp shared”指令,若生成CUDA版本,则将变量存放在GPU的global memory;
对于私有变量,若生成OpenMP版本,则添加”omp private”指令或”ompthreadprivate”指令,若生成CUDA版本,则将变量存放到GPU每个线程的registers或localmemory上;
对于只读且共享的变量,在生成CUDA版本时,将变量分配在GPU的constantmemory或texture memory中;对于常用变量,将其分配到GPU的shared memory或register中;
对于任务划分,若是OpenMP版本,通过”schedule”指令实现,若是CUDA版本,将整个循环映射到一个kernel实现,kernel执行所需的线程数量和线程块数量由编译器决定。
为了更好的理解本发明所述方法,本发明实施例还提供了所述方法实施框架的示意图,如图2所示,具体说明如下:
当用户向JobTracker提交一个MapReduce作业,JobTracker首先将Map任务交给空闲的Slot执行。同时,TaskTracker监视每个运行着的Map任务的状态,即Map任务使用的时间、使用的CPU核数(core数)和GPU设备数等。TaskTracker将监测到的参数传递给JobTracker,由JobTracker决定具体的某个Map任务应该交给哪个CPU核或GPU设备执行,并将所述Map任务绑定到相应的处理程序上,如CPU上的Map任务使用CPU上的OpenMP处理程序,GPU上的Map任务使用GPU上的CUDA处理程序等。然后,每个TaskTracker启动Child JVM进程,通过已绑定的处理程序执行给定的Map任务。当所有的Map任务(Task1、Task2)完成后,所述已绑定的处理程序将中间结果存放在各自的Hash表中。之后,进行Reduce操作,以处理Map阶段的输出结果。在进行Reduce操作时,将所有的Reduce任务交付给所有空闲的Slot执行。由于CPU与GPU上的任务执行具有相同的输出格式,因此,在GPU上执行的Map任务和Reduce任务不会影响到最后的CPU与GPU结果汇总。
本实施例Master节点实时监测程序内部的运行状态,根据监测到的信息以及任务特性,将任务交给CPU或GPU处理,从而保证了集群内节点之间以及节点内部CPU与GPU之间的负载均衡。
综上所述,本发明实施例与现有技术相比存在的有益效果是:1)实现了对计算机集群上CPU和GPU计算资源的统一调度、使用,从而使得具有大数据量且计算密集型的任务可以高效的完成,解决现有海量数据计算运行效率偏低的问题;2)使用Hash数据结构,避免了Reduce阶段中group和sort函数庞大的时间开销;3)使用了轻量级的Hadoop Pipes,使得Hadoop可以通过Pipes直接调用CUDA程序;4)提出了一种代码翻译器,用CUDA实现了Hadoop框架,编程人员只需要编写一种版本的Map和Reduce代码,代码翻译器即可以自动、透明地将代码翻译成与平台相关的Hadoop代码,编译并运行于CPU或GPU平台上,从而极大地降低了系统开发人员的编程难度和工作冗余;5)实时的任务分配策略,可以更好地做到集群内节点之间以及节点内部CPU与GPU之间的负载均衡,降低了系统的整体运行时间,具有较强的易用性和实用性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所述算法步骤如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。

Claims (5)

1.一种基于CPU-GPU异构集群的大数据一体机实现方法,其特征在于,所述方法包括:
步骤一、搭建一个计算机集群,所述计算机集群中每个计算机作为一个节点,所述节点中包含一个配有CPU处理器的Master节点和其余配有CPU和GPU处理器的Slave节点,所述Master节点用于根据预定的任务调度策略对任务进行调度控制,所述Slave节点用于Map或Reduce的计算操作;
步骤二、选择CUDA作为GPU的计算模型,并将所述CUDA安装在所述Slave节点上;
步骤三、选择Hadoop提供的MapReduce模型,通过Master节点将任务划分成多个任务块,为每个任务块启动一个Map任务,并将所述Map任务发送给所述Slave节点进行计算;
步骤四、所述Slave节点根据自身CPU与GPU的计算能力,将接收到的所述Map任务划分成相应的比例后分给所述CPU或GPU上空闲的计算单元,执行Map和Reduce操作,并将操作结果发送给所述Master节点;
步骤五、所述Master节点接收各Slave节点反馈的操作结果,完成全部任务处理;
所述执行Map和Reduce操作包括:
编写一种Map函数和Reduce函数;
通过代码翻译器将所述Map函数和Reduce函数翻译成多线程的OpenMP和CUDA版本,根据运行的平台,选择OpenMP或CUDA版本对应的Map函数和Reduce函数;
基于选择的CUDA版本对应的Map函数和Reduce函数,在C++Wrapper与TaskTracker的child JVM之间建立一个永久的数据传输通道,通过child JVM进程将输入数据key-value对传送给C++Wrapper,C++Wrapper运行Map函数, 并将运行时获得的中间结果存放在GPU的Hash表中;
GPU根据所述中间结果执行Reduce函数,计算出最终结果,C++Wrapper将所述最终结果传送给child JVM进程,CPU上的Reduce结束后,也获取其计算结果;
Master节点对于运行失败的Mapper或Reducer,使其重新运行,从而完成Map和Reduce操作。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
使用Hadoop的Pipes接口调用CUDA程序,以使用GPU处理Map任务和Reduce任务,在处理Map任务和Reduce任务时,每个C++Wrapper进程通过传递一个端口号与Child JVM进程之间建立一个永久的socket连接,任务执行时,JVM进程将输入数据key-value对传送给C++Wrapper进程,C++Wrapper进程使用用户定义的Map函数和Reduce函数处理任务,完成计算后,将输出结果key-value对再传递回JVM进程。
3.如权利要求1所述的方法,其特征在于,所述通过代码翻译器将所述Map函数和Reduce函数翻译成多线程的OpenMP和CUDA版本包括:
对于循环语句,若是生成OpenMP版本,则为循环添加“#pragma omp for”指令,若是生成CUDA版本,则将循环的每次迭代分配给GPU上的一个线程执行;
对于同步,若是生成OpenMP版本,则添加“omp barrier”或“omp critical”指令,若是生成CUDA版本,则添加synchronization函数;
对于访问有权限限制的变量,若生成OpenMP版本,则添加“omp shared”指令,若生成CUDA版本,则将变量存放在GPU的global memory;
对于私有变量,若生成OpenMP版本,则添加“omp private”指令或“ompthreadprivate”指令,若生成CUDA版本,则将变量存放到GPU每个线程的registers或localmemory上;
对于只读且共享的变量,在生成CUDA版本时,将变量分配在GPU的 constant memory或texture memory中;对于常用变量,将其分配到GPU的shared memory或register中;
对于任务划分,若是OpenMP版本,通过“”schedule”指令实现,若是CUDA版本,将整个循环映射到一个kernel实现,kernel执行所需的线程数量和线程块数量由编译器决定。
4.如权利要求1所述的方法,其特征在于,所述Master节点的任务调度策略包括:
运行在CPU上的任务数量为:
运行在GPU上的任务数量为:
其中,N表示总任务数量,n表示CPU上core的数量,m表示GPU设备的数量,tCPU表示上一轮任务在CPU上执行的时间,tGPU表示上一轮任务在GPU上执行的时间。
5.如权利要求1至4任一项所述的方法,其特征在于,各节点之间通过Infiniband网络连接通信。
CN201410844266.4A 2014-12-30 2014-12-30 基于cpu‑gpu异构集群的大数据一体机实现方法 Active CN104536937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410844266.4A CN104536937B (zh) 2014-12-30 2014-12-30 基于cpu‑gpu异构集群的大数据一体机实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410844266.4A CN104536937B (zh) 2014-12-30 2014-12-30 基于cpu‑gpu异构集群的大数据一体机实现方法

Publications (2)

Publication Number Publication Date
CN104536937A CN104536937A (zh) 2015-04-22
CN104536937B true CN104536937B (zh) 2017-10-31

Family

ID=52852466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410844266.4A Active CN104536937B (zh) 2014-12-30 2014-12-30 基于cpu‑gpu异构集群的大数据一体机实现方法

Country Status (1)

Country Link
CN (1) CN104536937B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104965689A (zh) * 2015-05-22 2015-10-07 浪潮电子信息产业股份有限公司 一种cpu/gpu的混合并行计算方法及装置
CN105046382A (zh) * 2015-09-16 2015-11-11 浪潮(北京)电子信息产业有限公司 异构系统并行随机森林优化方法和系统
CN105608046A (zh) * 2015-12-17 2016-05-25 南京航空航天大学 基于MapReduce编程模型的多核处理器架构
US10970805B2 (en) 2015-12-24 2021-04-06 Intel Corporation Graphics processing unit operation
WO2017166269A1 (en) * 2016-04-01 2017-10-05 Intel Corporation System and method to accelerate reduce operations in graphics processor
CN106648886A (zh) * 2016-10-20 2017-05-10 郑州云海信息技术有限公司 一种分布式存储系统的实现方法及装置
US11237872B2 (en) * 2017-05-23 2022-02-01 Kla-Tencor Corporation Semiconductor inspection and metrology systems for distributing job among the CPUs or GPUs based on logical image processing boundaries
CN107515736B (zh) * 2017-07-01 2021-01-15 广州深域信息科技有限公司 一种在嵌入式设备上加速深度卷积网络计算速度的方法
CN109871352A (zh) * 2017-12-01 2019-06-11 北京搜狗科技发展有限公司 一种协同计算方法及装置
CN108228189B (zh) * 2018-01-15 2020-07-28 西安交通大学 一种隐藏异构编程多线程的关联结构及基于其的映射方法
CN108920412B (zh) * 2018-06-20 2020-12-29 中国科学院计算技术研究所 针对异构计算机体系结构的算法自动调优方法
CN110187970A (zh) * 2019-05-30 2019-08-30 北京理工大学 一种基于Hadoop MapReduce的分布式大数据并行计算方法
WO2022115687A1 (en) * 2020-11-30 2022-06-02 Siemens Energy, Inc. System and method for simulating behaviour of a mechanical component
CN114866510B (zh) * 2022-05-25 2023-06-30 山东省计算中心(国家超级计算济南中心) 一种基于InfiniBand网络的跨网异地互联通信方法及系统
CN115952561A (zh) * 2023-03-14 2023-04-11 北京全路通信信号研究设计院集团有限公司 应用于轨道交通系统的数据处理方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314342A (zh) * 2010-06-18 2012-01-11 微软公司 用于数据并行编程模型的编译器生成的调用存根
CN102662639A (zh) * 2012-04-10 2012-09-12 南京航空航天大学 一种基于Mapreduce的多GPU协同计算方法
CN102708088A (zh) * 2012-05-08 2012-10-03 北京理工大学 面向海量数据高性能计算的cpu/gpu协同处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314342A (zh) * 2010-06-18 2012-01-11 微软公司 用于数据并行编程模型的编译器生成的调用存根
CN102662639A (zh) * 2012-04-10 2012-09-12 南京航空航天大学 一种基于Mapreduce的多GPU协同计算方法
CN102708088A (zh) * 2012-05-08 2012-10-03 北京理工大学 面向海量数据高性能计算的cpu/gpu协同处理方法

Also Published As

Publication number Publication date
CN104536937A (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
CN104536937B (zh) 基于cpu‑gpu异构集群的大数据一体机实现方法
Phothilimthana et al. Floem: A programming system for {NIC-Accelerated} network applications
Chen et al. GFlink: An in-memory computing architecture on heterogeneous CPU-GPU clusters for big data
Ma et al. Garaph: Efficient {GPU-accelerated} graph processing on a single machine with balanced replication
Hold-Geoffroy et al. Once you SCOOP, no need to fork
US9053067B2 (en) Distributed data scalable adaptive map-reduce framework
Aji et al. MPI-ACC: An integrated and extensible approach to data movement in accelerator-based systems
Lu et al. Mrphi: An optimized mapreduce framework on intel xeon phi coprocessors
Montella et al. Virtualizing high-end GPGPUs on ARM clusters for the next generation of high performance cloud computing
Rościszewski et al. KernelHive: a new workflow‐based framework for multilevel high performance computing using clusters and workstations with CPUs and GPUs
Didelot et al. Improving MPI communication overlap with collaborative polling
US20170371713A1 (en) Intelligent resource management system
Theodoropoulos et al. The AXIOM platform for next-generation cyber physical systems
Sun et al. Cognn: efficient scheduling for concurrent gnn training on gpus
Varghese et al. Acceleration-as-a-service: Exploiting virtualised GPUs for a financial application
Kunzman et al. Programming heterogeneous systems
Peng et al. Cloud computing model based on MPI and OpenMP
Senger Improving scalability of Bag-of-Tasks applications running on master–slave platforms
Sarbazi-Azad et al. Large Scale Network-Centric Distributed Systems
Chu et al. Dynamic kernel fusion for bulk non-contiguous data transfer on GPU clusters
Singh et al. Efficient heuristics for minimizing communication overhead in noc-based heterogeneous mpsoc platforms
Daily et al. Using the Global Arrays Toolkit to Reimplement NumPy for Distributed Computation.
Baker et al. Hybrid programming using OpenSHMEM and OpenACC
Huang et al. A quantum computing simulator scheme using MPI technology on cloud platform
Yang et al. Effective Task Scheduling and IP Mapping Algorithm for Heterogeneous NoC‐Based MPSoC

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant