前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >关于MPI-IO,你该知道的

关于MPI-IO,你该知道的

原创
作者头像
焱融科技
修改于 2021-03-08 06:21:47
修改于 2021-03-08 06:21:47
2.2K0
举报
文章被收录于专栏:焱融科技焱融科技

高性能计算中,经常会用到MPI或者MPI-IO,那MPI和MPI-IO到底是什么呢?

MPI(Message Passing Interface),是开发者们在高性能计算程序中,用于在参与计算的不同CPU、或服务器节点之间进行消息传递的一组规范或接口,通过这组接口,能帮助开发工程师们在不同的计算平台上快速编写可跨平台移植的并行计算程序,提升开发效率。基于MPI的规范和接口,业界有不同的MPI实现,如OpenMPI等。在高性能计算的世界中,除了计算,还必须有数据读写的支撑,所以除了MPI,还需要有一组跨计算平台的、可移植的、并行数据读写接口,这就是MPI-IO设计的初衷:让IO能够像消息传递(MPI)那样,通过标准的接口实现并行的数据读写访问。

说到IO接口,我们可以用下图来描述高性能计算程序是如何通过系统接口来访问数据的:

整个IO软件栈为用户和开发工程师们提供了标准的编程接口,以便大家在不需要关心底层存储硬件细节的情况下,通过标准的方式访问数据。

基础IO接口

整个IO栈中的最底层的接口是POSIX接口,它涉及最基本的文件操作,如open、close、read、write、stat等。POSIX HPC IO扩展的设计目的,是提高POSIX在大规模HPC环境中的性能,有意思的是,在大规模HPC环境中,对数据访问的性能要求有时会超过对数据一致性的要求。例如,相对于POSIX相当严格的一致性语义而言,HPC IO扩展对一致性的要求会显得放松一些。一般来说,大多数普通应用程序的API都是在POSIX语义之上构建的。

在整个IO栈中,最底层的是文件系统本身。文件系统管理着应用程序如何对硬件资源进行访问,同时,文件系统实现了POSIX API所需的功能。文件系统有两个极为关键的角色:

  • 组织和维护文件命名空间
  • 存储文件内容及文件的附加属性

在HPC环境中,我们通常可能会用到网络文件系统(NFS)和并行文件系统。NFS必须解决的两个问题是:

  • NFS Server如何协调多个客户端共享访问数据
  • 在横向扩展的存储系统中,协调多个服务器的文件操作

标准的NFS Server通常只提供相当有限的并行访问能力,即单个客户端通过单一访问入口来访问数据,因此在HPC中使用并行IO策略时,难以提供足够高的性能。因此,在大型并行计算应用中,通常不使用NFS来进行数据访问。并行文件系统通常将单个文件数据分布在多个存储服务器上,而运行在多个计算节点上的并行应用程序的多个任务,经常对单个文件同时发起并发访问请求。并行文件存储系统可以通过并行的多个IO访问请求,为单个文件提供高水平的读/写带宽。

MPI-IO中间件

在HPC系统中,IO软件栈的中间件通常由MPI-IO的软件类库提供。应用程序可以通过使用MPI-IO提供的缓存和数据过滤技术,来整体提升数据访问性能,例如,ROMIO就是MPI-IO标准中比较常见的实现。

上层IO库

IO栈中还包括更高级别的一些类库,这些类库的API有助于工程师以更灵活的方式表达科学模拟计算,例如多维数据、标签和标记、非连续数据和分类数据。高性能计算程序的读写操作基于MPI-IO层之上,可以充分利用MPI-IO对数据读写的优化特性。这些上层IO类库甚至可以实现数据的可视化和简单的分析功能,同时能够在不同平台上实现移植,从而让这些高性能应用程序可以快速地在不同平台上运行。HDF5和NetCDF是目前使用较多的上层IO类库。在过去几年中,也有不少HPC用户开始选择PnetCDF和ADIOS来编写并行IO程序。

上面介绍的类库和接口都使用共享文件系统的方式实现并行IO,允许多个进程写入同一逻辑文件。

简单而言,MPI-IO利用了MPI的消息传递机制,基于POSIX语义,提供了一套为高性能计算访问数据的接口规范,不同的MPI-IO类库提供了不同的MPI-IO实现,而MPI-IO的实现的核心,是底层文件系统中各种POSIX语义的支持。YRCloudFile对POSIX语义的全面支持,也可以为不同的MPI-IO类库提供对底层文件系统的访问,从而支持高性能计算的各种应用。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一文入门高性能计算HPC-详解2
接上文: https://cloud.tencent.com/developer/article/2508936
晓兵
2025/03/29
520
一文入门高性能计算HPC-详解2
一文入门高性能计算HPC-详解1
高性能计算(HPC) 是使用多组尖端计算机系统执行标准商用计算系统无法实现的复杂模拟、计算和数据分析的艺术和科学。
晓兵
2025/03/29
1140
一文入门高性能计算HPC-详解1
MPI消息传递接口协议和硬件卸载
MPI 提供了三种不同的通信方法,MPI 进程可以使用这些方法相互通信。下面讨论了这些通信方法:
晓兵
2024/05/29
4330
MPI消息传递接口协议和硬件卸载
算法、应用与计算平台,讯飞百度阿里360的深度学习经
当前人工智能领域最热门的技术,无疑是大数据+深度学习。实验环境下,深度学习的性能在语音识别、图象分类和检索、人脸识别、文字识别以及智能交通等领域,都大幅超过了传统的方法。但从商业化的角度来看,深度学习的应用才刚刚开始,挑战依然巨大。深度学习如何才能有用、好用,依然困扰许多企业和开发者。在9月24日下午的2015高性能计算用户大会 (HPCUF2015)深度学习分论坛上,来自 工业界和学术界的六位专家分享了深度学习技术在智能语音、搜索、广告、视觉分析、流量识别等不同领域的应用,以及为如何构建高性能计算平台来支
用户1737318
2018/06/05
1.2K0
聚众群殴 IB 网络,超以太网联盟携 45 名新成员走向 v1.0 规范!
超以太网联盟 (UEC) 继续朝着 v1.0 版本规范集迈进。规范将为从业者提供数据中心网络技术最新的创新性部署方法,可以更好地服务于人工智能和高性能计算工作负载。由于 UEC 保留了现有的 AI 框架和 HPC 库 API,因此预计现有工作负载无需任何更改即可迁移到 UEC。
用户6874558
2024/03/22
8600
聚众群殴 IB 网络,超以太网联盟携 45 名新成员走向 v1.0 规范!
浪潮发布最新深度学习框架CAFFE-MPI
德国当地时间6月20日,与英特尔宣布第二代至强Phi芯片“Knights Landing”(以下称KNL)正式上市同步,浪潮在刚刚举行的第31届国际超算大会(ISC2016)上,全球首发基于最新KNL
昱良
2018/04/08
1.3K0
浪潮发布最新深度学习框架CAFFE-MPI
英特尔研究员展望人工智能与高性能计算的融合
高性能计算领域专业媒体HPCwire发表文章,介绍了英特尔研究人员对人工智能与高性能计算结合的技术展望。 将针对特定问题的深度神经网络扩展到具有数千个节点的大型系统是一项具有挑战性的工作。事实上,这是将人工智能(AI)和高性能计算(HPC)进行融合时面临的几个障碍之一。英特尔院士(Intel Fellow)、英特尔并行计算实验室(Parallel Computing Lab)主管撰写了一篇博客,描述英特尔为了更好地了解和解决这个问题所做的努力,并承诺将在2017年全球超级计算大会(SC2017)上提
人工智能快报
2018/03/15
6740
英特尔研究员展望人工智能与高性能计算的融合
「首度揭秘」大规模HPC生产环境 IO 特征
在王坚博士的《在线》一书中提到,单纯谈数据的“大”,意义是不大的。欧洲核子研究中心(CERN)进行一次原子对撞产生的数据大到惊人,而如何通过计算的方式去挖掘出这些数据背后的价值,才是数据意义的本身。HPC高性能计算,就是完成这种价值转换的重要手段。近年来,HPC的应用范围已经从纯学术扩展到资源勘探、气象预测、流体力学分析、计算机辅助设计等更多场景。这些HPC应用程序会产生或依赖大量数据,并将其存储在PB级别的共享的高性能文件系统中。然而,无论是HPC应用的用户,还是高性能文件系统的开发人员,对这些文件的访问模式了解都非常有限。
焱融科技
2020/05/22
1.2K0
「首度揭秘」大规模HPC生产环境 IO 特征
从 HPC 到 AI:探索文件系统的发展及性能评估
随着 AI 技术的迅速发展,模型规模和复杂度以及待处理数据量都在急剧上升,这些趋势使得高性能计算(HPC)变得越来越必要。HPC 通过集成强大的计算资源,比如 GPU 和 CPU 集群,提供了处理和分析大规模数据所需的算力。
Juicedata
2024/03/07
2430
从 HPC 到 AI:探索文件系统的发展及性能评估
Hammerspace:全局并行文件系统架构案例
按:鹏弟最近在学习国内JuiceFS产品文档,数据与元数据分离,构建统一命名空间设计,在软件定义存储领域并不算新事物,国内SDS厂商几乎都有自己统一存储方案。AI/新场景对海量文件的效率要求,使得并行文件系统备受关注。全局命名空间+并行文件系统是Hammerspace对当前AI场景的求解。
数据存储前沿技术
2025/02/11
1660
Hammerspace:全局并行文件系统架构案例
100TB大数据存储方案
Hive Hbase 存储介质: https://www.zhihu.com/question/46392643?sort=created 请问,在家里攒一套 100TB-200TB 的存储有什么架构
全栈程序员站长
2022/11/08
1.3K0
分布式文件系统MFS、Ceph、GlusterFS、Lustre的比较
**MooseFS(MFS)** **Ceph** **GlusterFS** **Lustre** **Metadata server** 单个MDS。存在单点故障和瓶颈。 多个MDS,不存在单点故障和瓶颈。MDS可以扩展,不存在瓶颈。 无,不存在单点故障。靠运行在各个节点上的动态算法来代替MDS,不需同步元数据,无硬盘I/O瓶颈。 双MDS(互相备份)。MDS不可以扩展,存在瓶颈。 **FUSE** 支持 支持 支持 支持 **访问接口** POSIX POSIX POSIX POSIX/MPI **
EltonZheng
2021/01/22
3.7K0
2021年图灵奖公布!72岁的美国科学家 Jack Dongarra 获奖
作者 | Ailleurs 编辑 | 陈彩娴 刚刚,2021年计算机领域的最高奖项——图灵奖公布!美国计算机科学家 Jack J. Dongarra 获奖,以表彰他在高性能计算领域的卓越成就。 根据 ACM 的介绍,Dongarra 的算法和软件推动了高性能计算的发展,对人工智能、计算机图形学等多个计算科学领域均产生了重大的影响。 他在数值算法和库方面做出了开创性的贡献,使得高性能计算软件能够跟上四十多年来的指数级硬件更新。 图灵奖被称为「计算机领域的诺贝尔奖」,由美国计算机协会(ACM)于 1966 年设
AI科技评论
2022/03/31
8350
2021年图灵奖公布!72岁的美国科学家 Jack Dongarra 获奖
Mercury为高性能计算启用远程过程调用(RPC)
远程过程调用(RPC)是分布式服务广泛使用的一种技术。 这种技术现在越来越多地用于高性能计算 (HPC) 的上下文中,它允许将例程的执行委托给远程节点,这些节点可以留出并专用于特定任务。 然而,现有的 RPC 框架采用基于套接字的网络接口(通常在 TCP/IP 之上),这不适合 HPC 系统,因为此 API 通常不能很好地映射到这些系统上使用的本机网络传输,从而导致网络性能较低。 此外,现有的 RPC 框架通常不支持处理大数据参数,例如在读取或写入调用中发现的参数。我们在本文中提出了一个异步 RPC 接口,专门设计用于 HPC 系统,允许参数和执行请求的异步传输和直接支持大数据参数。 该接口是通用的,允许传送任何函数调用。 此外,网络实现是抽象的,允许轻松移植到未来的系统并有效使用现有的本地传输机制
晓兵
2023/06/23
5590
Mercury为高性能计算启用远程过程调用(RPC)
如何借助云集群打造高性能计算
云计算一开始致力于为互动系统(systems of engagement)改善应用架构,而在高性能计算方面提供不了什么。而如今,领先的云服务提供商正在重构解决方案及相关的基础设施,让计算密集型应用切合
静一
2018/03/23
1K0
如何借助云集群打造高性能计算
文件系统基准测试应用IOR-简介
IOR(交叉或随机)是一种常用的文件系统基准测试应用程序,特别适合评估并行文件系统的性能。该软件通常以源代码形式分发,通常需要在目标平台上编译。IOR 不是特定于 Lustre 的基准测试,可以在任何符合 POSIX 的文件系统上运行,但它需要完全安装和配置的文件系统实现才能运行。对于 Lustre,这意味着必须安装、配置和运行 MGS、MDS 和 OSS 服务,并且有一组 Lustre 客户端节点在运行,并安装了 Lustre 文件系统
晓兵
2025/02/04
1440
文件系统基准测试应用IOR-简介
华为OceanStor Pacific斩获IO500榜单第二,数据存储的“时”与“势”
根据世界经济论坛的估算,2020年全世界产生了超过44ZB的数据量,而在十年前全球的数据总量还只有1ZB。
Alter聊科技
2023/01/13
4610
腾讯混合云存储 TStor 系列再添新成员,并行存储一体机正式发布
最近国内某大型互联网公司依靠其数据优势成功上市,可见数据的重要性,而数据和存储密不可分,您真的知道自己需要更高性能存储吗? 在当今数据爆发式增长的时代,数据已经成为很多行业最重要的资源,没有之一。 数据左右着很多新兴企业的命脉,收集数据、分析数据和应用数据的循环已经变为企业发展的根本,依靠数据创造更大的价值,并持续的加强和优化数据管理流程,让数据型驱动的行业不断进化。 常规的存储只能满足数据保存的基本需求,或者顺带一些基本的数据混合管理,而要真正挖掘数据的价值,采用高性能的存储必不可少,以支撑高性能
云存储
2021/10/14
6950
文件系统测试工具整理
合成测试程序根据统计的真实负载发生规律,如请求的读写比例,大小,频率和分布等信息。建立响应的io存取模型。在测试时产生符合存取模型的io请求序列。发送给存储系统。这类程序包括 IOMeter,IOZone 和 Bonnie++。
西湖醋鱼
2020/12/30
3K0
快手春节红包背后,高并发存储架构设计
2020年的春节,想必大家都印象深刻,除了新冠肺炎疫情,就是春晚各大APP的红包大战,让不少用户“薅”到了羊毛。
腾讯云开发者
2020/05/08
4.3K0
推荐阅读
相关推荐
一文入门高性能计算HPC-详解2
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文