《并行计算的编程模型》一3.9 未来方向

简介: 本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.9节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.9 未来方向

在本书写作之时,从2010年开始,在对OpenSHMEM的大量需求驱动下,与OpenSHMEM相关的许多开发正在进行中。如3.2节所述,一些厂商已发布了加速硬件和固件来支持网络原语,在超大规模系统和商用系统中极大简化了OpenSHMEM的实现并提高了性能和鲁棒性。这包括对OpenSHMEM集合和原子内存操作的硬件支持、对小消息性能提高的硬件支持、以及对大规模系统互连自适应路由和阻塞管理的硬件支持。OpenSHMEM论坛和邮件列表建议采用来自Quadrics实现的扩展,包括非常有用的非阻塞原语以及其他API的改进。此外,还建议采用扩展的原子操作集,包括位操作(即SHIFT、AND、OR、XOR)、逻辑操作及MIN/MAX操作。这些改进很大可能会在目前正由美国能源部和国防部设计的百亿亿次系统中实现。
3.2节提到的OpenSHMEM软硬件协同设计的副产品是使用OpenSHMEM(或其他PGAS编程模型)在超大规模系统中移动数据的能耗要远少于一般没有解藕数据移动和同步的消息传送方法。因为能耗将是未来系统主要约束之一,这将对未来互连设计生存能力产生重大影响,也会是很多超大规模系统的限制因素。
在未来能使百亿亿次计算成为可能的技术中,内存和网络是目前硬件改进的主要聚焦所在,强调协同设计支持通过OpenSHMEM的活跃消息,扩展了编程模型,使其允许根据移动所需的开销(时间或能耗)将计算移动给数据或数据移动给计算。虽然这方面的研究还在初始阶段,希望很快能有额外的硬件和固件能力使其实现。这种数据移动机器的基础也在OpenSHMEM的未来考虑中——尤其是因为在本书写作之时,只提升硬件本身基本不可能满足能源部百亿亿次计算计划提出的20MW的功耗限制。OpenSHMEM协同设计的深厚历史能继续协助减轻前进道路上的困难。

相关文章
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
681 5
|
存储 XML JSON
consul 简易上手指南
consul 是一个用来做服务发现的框架,具有分布式、高可用以及可横向扩展的特性
|
SQL 存储 数据挖掘
Dremio架构分析
一.Dremio架构 Dremio是基于Apache calcite、Apache arrow和Apache parquet3个开源框架构建,结构其核心引擎Sabot,形成这款DaaS(Data-as-a-Service)数据即服务平台;整体体验风格与其公司开源的Apache Drill非常接近。
10571 0
|
7月前
|
Java 开发者
Java高级技术深度解析:性能优化与架构设计
本文深入解析Java高级技术,涵盖JVM性能调优、并发编程、内存模型与架构设计。从G1/ZGC垃圾回收到CompletableFuture异步处理,剖析底层机制与实战优化策略,助力构建高性能、高可用的Java系统。
385 47
|
9月前
|
存储 安全 Java
web渗透-反序列化漏洞
序列化是将对象转为可传输字符串的技术,便于存储与传输。PHP通过serialize/unserialize实现,Java通过Serializable接口和ObjectOutputStream完成。文中还介绍了反序列化漏洞在安全测试中的利用方法及CTF实战案例。
280 0
web渗透-反序列化漏洞
|
监控 数据可视化 Java
监控堆外VisualGC (独立版)
监控堆外VisualGC (独立版)
427 63
|
存储 安全 NoSQL
pthread_getspecific和pthread_setspecific详解
pthread_getspecific和pthread_setspecific详解
|
Linux C语言 Python
perf_event_open 学习 —— 通过read的方式读取硬件技术器
perf_event_open 学习 —— 通过read的方式读取硬件技术器
|
存储 缓存 Java
深入理解 go chan
深入理解 go chan
585 0
|
XML JSON Java
GRPC与 ProtoBuf 的理解与总结
GRPC与 ProtoBuf 的理解与总结
970 0