32、共享内存编程:SCI 集群的技术探索与实践

SCI集群共享内存编程技术探索与实践

共享内存编程:SCI 集群的技术探索与实践

1. 共享内存编程接口 SMI

在并行计算领域,共享内存编程接口 SMI 是为各类提供共享内存的并行机器而开发的,尤其侧重于 SCI 互联的集群系统。

1.1 数据复制与修改

当数据被复制时,允许进程进行本地修改是有意义的,前提是之后能够将这些复制内容合并为一个一致的视图。例如,若区域包含用于累加操作的数组,可通过对所有复制实例求和来重新建立一致视图。SMI 提供了多个此类操作符,可通过参数 CombineMode 指定,如针对不同数据类型的 max 和 add 操作。

1.2 同步机制

为实现进程同步,SMI 提供了互斥锁(mutexes)、屏障(barriers)和进度计数器(progress counters)。这些同步原语通过对读写缓冲区进行适当的无效化/刷新操作,为应用程序程序员提供了易于使用的内存模型,形成的一致性模型通常称为释放一致性。
- 互斥锁 :提供了 SMI_Mutex_init、SMI_Mutex_lock、SMI_Mutex_trylock、SMI_Mutex_unlock 和 SMI_Mutex_destroy 等函数,实现常见的语义。
- 屏障 :调用 SMI_Barrier 可执行应用程序范围的屏障操作。
- 进度计数器 :表示一组计数器变量,每个进程有一个。每个进程可以增加自己的计数器(SMI_Increment_PC),并等待单个其他进程或所有其他进程的计数器达到某个值(SMI_Wait_individual_P

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值