欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

OpenMP 与 MPICH2 进行集群计算时数据分发与共享

程序员文章站 2023-12-23 21:19:03
...

对集群计算而言,使用MPICH2连接并控制各个节点,使用 OpenMP 在节点内充分对CPU及各个CPU核心进行并行化,是比较低成本且万精油的解决方案。(异构计算估计要OpenCL 或者 CUDA 参与,没搞过)。MPI(CH2)是应用于分布式计算设施的并行化技术,OpenMP与之对应

对集群计算而言,使用MPICH2连接并控制各个节点,使用 OpenMP 在节点内充分对CPU及各个CPU核心进行并行化,是比较低成本且万精油的解决方案。(异构计算估计要OpenCL 或者 CUDA 参与,没搞过)。MPI(CH2)是应用于分布式计算设施的并行化技术,OpenMP与之对应,用于共享存储设施。MPI与OpenMP合作时,一般把任务首先划分为一级粒度(粗),而后,MPI分发送到计算节点上,节点内采用OpenMP来进行算法级并行化。

如果是计算密集型但存储不多的任务,直接使用MPI分发处理数据,而后归并即可。

如果是计算密集型同时输入非常大,输出很少,则把输入数据准备在集群内某一台机器上,并用光纤链接的局域网文件系统共享发布。MPI派发数据的索引而不是数据本身,而后归并处理结果。

如果是计算密集型,输入很大,输出也很大,则考虑全部在分布式文件系统中实施。

在考虑是否把数据复制到各个节点时,主要考虑是复制的代价大,还是共享访问的流量大。对需要反复随机访问的数据,还是复制到各个节点。对顺序读取一次即可完成处理的数据,直接共享访问。

上一篇:

下一篇: