31、SCI集群中的共享内存与消息传递:原理、挑战与解决方案

SCI集群中的共享内存与消息传递:原理、挑战与解决方案

1. 数据映射与重映射机制

在分布式系统中,数据的映射和重映射是实现高效数据访问的关键。当需要访问数据时,若当前映射策略允许,会向持有请求数据的节点发送特殊的活动消息作为映射请求;若不允许,则成功返回。

在持有请求数据的节点上,会按以下步骤操作:
1. 根据当前映射策略取消现有导出段的映射。
2. 使用 mmap() 接口映射包含请求数据的段。
3. 在上述两步未完成时,通过消息传递接口交付请求数据。

为避免使用成本较高的 sci_map_shm() 接口,可在启动时使用该接口创建一个包含最大可能数量可导出段的池,重映射时仅使用 mmap() memcpy() 来更改虚拟地址转换并在固定的导出段池和堆之间移动数据。但重映射内存段的成本仍相对较高,最好情况下为110µs,因为除了 mmap() memcpy() 操作,还需向所有导入该段的节点广播新的映射信息。因此,高效的重映射策略至关重要。

2. 映射策略

为在全局地址空间设计中协同使用共享地址空间和消息传递,提出了三种不同的映射策略:
| 策略名称 | 策略描述 |
| ---- | ---- |
| 贪心策略(Greedy) | 当段尚未映射时,使用消息传递进行内存访问,并尽快映射请求的段,被驱逐的段随机选择。 |
| 自适应策略(Adaptive) | 记录内存段的命中次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值