千家信息网

几种并行模型比较

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,广义上讲,并行可以分为几类,1. 共享内存并行(明确的线程,比如Pthreads和Java threads);2.共享内存并行(任务/数据的并行,比如OpenMP); 2. 分布式并行(明确的通信,比
千家信息网最后更新 2026年11月02日几种并行模型比较

广义上讲,并行可以分为几类,1. 共享内存并行(明确的线程,比如Pthreads和Java threads);2.共享内存并行(任务/数据的并行,比如OpenMP); 2. 分布式并行(明确的通信,比如MPI, SHMEM, 和Global Arrays); 3. 分布式并行(特殊的全局访问,比如Co-Array Fortran, UPC)。


具体说来,

Pthreads 是一个共享内存的编程模型,并行化通过并行调用函数来实现。一个并行函数体被多个线程同步的执行,这些线程都可以访问共享的全局数据。Pthreads是许多并行模型的底层实现。


Java是一个通用的编程语言,它通过线程的形式来支持并行化。并行Java程序运行在共享内存处理器上,它非常类似于Pthreads程序。Pthreads和Java仅仅在共享内存处理器上存在。


OpenMP也是共享内存模型,它的并行化是通过为循环和函数定义并行注释(parallel directives)来实现。OpenMP注释可以指出哪些循环部分可以并行执行,以及可以并行起来的函数。其它的一些注释用于指出针对某一进程的共享或私有的数据。编译器可以将OpenMP程序翻译成像Pthreads一样的程序,其中并行的循环体都会被翻译成并行函数的形式。OpenMP是一个工业标准的并行化库,被多种语言和平台所支持。OpenMP目前仅仅应用于共享内存处理器。


MPI是分布式内存模型,其线程需要明确的进行通信,这些通信基于MPI运行时库来发送和接受数据。MPI被广泛采纳,任何并行平台都能找到它。它的性能也已经被调优。尽管需要一定的编程才能实现,MPI由于其可移植性和性能表现,是目前最受欢迎的并行模式。


许多科学应用具有非常规则的内存访问模式,因此可以很容易的并行起来。三种典型的应用是,1. 不规则的表访问,涉及到许多并行数据库操作;2.不规则的动态访问,涉及到稀疏的数据结构,比如共轭梯度法求n阶稀疏矩阵的主特征值;3. 内存排序 in-memory sorting。


来源:

Evaluating the Imapct of Programming Language Features on the Performance of Parallel Applications on Cluster Architectures (by Konstantin Berlin, et al.)




内存 数据 函数 线程 模型 程序 分布式 处理器 注释 处理 应用 循环 编程 通信 不规则 稀疏 全局 形式 性能 模式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东猪兼强互联网科技有限公司 互联网扶贫科技 科技信息互联网 金融科技 互联网金融 亿策互联网科技 浩特互联网科技 远拓互联网科技 银优互联网科技有限公司 上海电发互联网科技有限公司 西藏七维空间互联网科技有限公司 互联网科技与大数据专业 乌苏新华互联网科技做什么的 元气玛特互联网科技公司是外包吗 张召忠谈中国互联网科技 互联网科技包装股份有限公司上市 扫呗互联网科技有限公司 全球科技与互联网公司市值变化 平安好医生打造互联网科技医疗 广东猫王互联网科技有限公司电话 互联网的黑科技实验室 互联网养老 桔豆科技 崇明区互联网教育科技售后服务 高科技互联网发展前景如何 工业互联网等科技实现智能化赋能 爱医互联网络科技 工业互联网展湾科技股份有限公司 黑云互联网科技有限公司 云鲸互联网络科技有限公司 陕西九四连强互联网科技有限公司 利用互联网等科技手段
0