分布式共享内存一致性控制与多线程语言关键路径在线计算
立即解锁
发布时间: 2025-08-21 02:39:41 阅读量: 2 订阅数: 11 

### 分布式共享内存一致性控制与多线程语言关键路径在线计算
在并行编程和分布式系统中,性能优化和资源管理是至关重要的。本文将探讨分布式共享内存一致性控制以及多线程语言关键路径在线计算的相关内容。
#### 分布式共享内存一致性控制
- **数据预取与一致性请求结合**:可以将一致性请求与对共享数据的非阻塞读写预取请求相结合。在编译时数据访问分析能够精确预测近期要访问的并行变量时,这种结合尤为有用。数据预取可以减少页面错误延迟。
- **Mome的页面管理**:Mome当前采用基于目录的页面管理方式。所有处理器为每个页面共享一个全局页面管理器,并且允许页面管理器迁移,例如迁移到请求最频繁的处理器上。当数据分布和控制分布之间存在足够的关联性时,这种迁移可以减少一致性请求的延迟,比如在HPF程序中应用所有者 - 计算规则时,管理器可以根据数据分布进行分配。
- **Mome的一致性管理策略**:Mome的基本一致性管理策略采用两步过程。第一步,从应用程序中移除所有访问权限;第二步,针对产生的页面错误与全局管理器进行事务处理。即使不需要更新当前副本,每个页面至少需要进行两次系统调用和一次页面错误处理。这是因为在Mome中,所有一致性请求必须由消费者生成,与TreadMarks不同,Mome不会自动传播写通知。目前正在Mome DSM中集成的即时一致性检查部分弥补了这一不足。在即时模式下,全局页面管理器在允许某个处理器修改页面时,会向持有该页面副本的所有处理器广播信息。通过基于页面本地状态和管理器可见日期的简单测试,可以判断页面上是否存在待处理的修改。这种即时一致性管理在程序在处理器上表现出足够的数据局部性时,可以避免不必要的系统调用,这在OpenMP代码中经常出现,因为编译器不像在HPF中使用所有者 - 计算规则那样利用分布式数据和分布式迭代空间之间的关联性。
##### 实验
- **模拟代码**:展示了Mome的一些特性在tome at v并行应用中的实用性。由于目前没有适用于Mome DSM的HPF编译系统,程序是手动转换的。修改内容包括将数组映射到DSM共享空间、在处理器上分布迭代空间以及在循环前插入一致性请求。在tome at v的外部迭代中,二维网格的每个数据元素根据前一次迭代中其邻居的值进行更新。使用HPF时,tomeatv的所有数组按列块分布。每个处理器在每次迭代中读取其两个邻居更新的一列。
- **数据预取**:实验考虑了HPF所有者 - 计算规则(仅对包含共享数据的页面进行一致性请求)与读预取的结合。预取操作是异步的,在请求的数据到达之前就开始计算。在tome at v中预取块的左列不会加速计算,但预取请求会在块计算期间异步加载块的右列。对于SCI通信层,页面错误解决的延迟足够低,改进效果较小;而对于以太网层则不同,错误共享会增加页面错误解决的延迟,因为必须收集和合并对页面的修改。在存在错误共享的情况下进行预取可以提高加速比,特别是在通信延迟较高时。使用HPF编译模型插入预取请求很直接,实际上可以在消息传递版本插入消息接收的地方系统地插入读预取请求。一般来说,预取近期使用的页面可以优化执行,但预取未使用的页面会使系统过载并延迟有用请求的处理。在数据分析能力较弱的情况下,应避免预取。
- **一致性管理策略实验**:在实验中,一致性请求仅针对非所有者访问的数据生成。在OpenMP中,如果没有对程序中的循环进行全局分析,这种优化是不可能的。比较了同步整个共享空间、访问空间或仅非所有者访问空间时的执行加速比。使用Mome的当前实现,页面事务需要进行本地线程同步,如果页面必须取消映射,还会生成系统调用。即时优化应避免对未使用的页面进行页面事务。在循环执行期间,每个访问的页面都会产生页面错误并与页面管理器进行通信。在实验中,只有非所有者列需要处理器通信。不进行预取时,仅同步访问部分的性能与同步整个共享空间的性能接近,因为额外的成本仅来自线程同步,未访问的页面不会映射到应用程序中。预取可以提高以太网的执行效率,访问情况和非所有者情况之间的性能差异来自为数组的所有者部分生成的额外页面错误,这显示了严格应用所有者 - 计算规则的好处,也显示了集成即时一致性检查预期的加速效果,即时检查应避免对其他处理器未修改的
0
0
复制全文
相关推荐









