没有合适的资源?快使用搜索试试~ 我知道了~
!!BAASH:用于HPC系统的轻量级、E区块链即服务Abdullah Al Mamun,Feng Yan,DongfangZhao内华达大学里诺aalmamun@nevada.unr.edufyan@unr.edudzhao@unr.edu关闭TN,USA摘要分布式恢复能力对于缓解不断增长的数据移动和I/O成本,同时保证HPC系统中的数据准确性至关重要。 本文提出采用类似区块链的分散式协议来实现这种分布式弹性。这种采用的关键挑战在于区块链的目标系统之间的不匹配(例如,无共享、松耦合、TCP/IP堆栈)以及HPC我们提出了BAASH,用于HPC的区块链即服务,可以以即插即用的方式部署BAASH通过两个关键组件弥合了HPC与区块链之间的差距:(i)HPC共享存储架构的轻量级共识协议我们已经实现了一个原型系统,并在500核HPC集群上使用超过200万个事务对其进行了评估。结果表明,所提出的技术的原型显着优于香草区块链系统,并表现出较强的可靠性与MPI。CCS概念• 计算机系统组织可用性;数据复制;可靠性;信息系统分布式存储;数据复制工具。关键词区块链,MPI,容错,恢复力,可重复性,HPC允许使数字或硬拷贝的全部或部分的工作,为个人或课堂使用的是免费提供的副本不作或分发的保护或商业利益,副本承担本通知和第一页上的全部引文。 本作品的版权归ACM以外的其他人所有,必须予以尊重。允许使用学分进行摘要复制,或重新发布,张贴在服务器上或重新分发到列表,需 要 事 先 的 特 殊 许 可 和 / 或 费 用 。请 求 权 限 请 发 邮 件 至permissions@acm.org。SC关闭MO,USA©2021计算机协会ACM ISBN 978-1-4503-8442-1/21/11。. . 15美元https://doi.org/10.1145/3458817.3476155图1:BAASH服务在HPC环境中的典型数据移动工作流程中非常有用。ACM参考格式:Abdullah Al Mamun , Feng Yan , Dongfang Zhao. 2021.BAASH:面向HPC系统的轻量级、高效、可靠的区块链即服务在高性能计算,网络,存储和分析国际会议(SC '21),2021年11月14日至19日,圣。关闭KY,USA.ACM,纽约州纽约市,美国,15页。https://doi.org/10.1145/3458817.34761551介绍1.1动机分布式一致缓存。Exascale系统可能具有极端的功率限制;然而,遵循昂贵的将数据移动到任何地方的方法,必须靠近处理器。然而,这个问题可以通过复制[16]或通过分布式账本分布式缓存数据来缓解。 当科学工作流耦合时,如图1所示,例如多尺度、多物理场湍流燃烧应用S3D [10],这一点特别有用,其中数据移动成本通常呈指数级增长。 此外,百亿亿级系统中的性能将需要巨大的并发性,要求每个节点上的数据通过同步处于相同的状态,从而导致读者最终能够看到来自异构源的数据,这在现代大规模HPC系统中是期望的[5]。来源追踪 最重要的是,系统(例如,Cori [49])依靠数据来源来再现和验证应用程序执行期间生成的科学实验结果。从本质上讲,数据证明是一个结构良好的日志,用于存储机密数据,SC关闭MO,USAAbdullah Al Mamun,Feng Yan,DongfangZhao具有易于使用的查询界面。数据起源通常通过LE系统[47,54]或关系数据库[21,31]实现。然而,目前的eorts表现出的不变性属性,保证可靠性的起源历史。数据delity。除此之外,数据可靠性对于部署到HPC系统的科学应用程序至关重要,因为科学发现所依赖的数据必须是可信的,并且在科学工作的每一个环节都保持其准确性。静默数据损坏一直是一个关键问题[14,17],它会导致数据丢失或数据错误,从而极大地影响应用程序的性能。极端规模的工作流通常持续时间很长,并且依赖于从数据源或其他应用程序收集的中间结果,如图1所示。因此,这些工作通常需要仔细核实-在将数据缓存到内存中或将其持久化到远程存储之前,先进行阳离子交换。 有明显的inci- dents [20,48],错误率呈指数增长,因为系统达到极端规模。此外,数据造假、造假事件层出不穷,导致科学出版物被撤稿等后果。为此,为科学计算和HPC系统开发可信数据服务最近受到各种联邦资助机构的激励,例如国家科学基金会[39]和美国能源部[15]。用于HPC的区块链即服务 我们认为,所有上述服务都可以通过去中心化的共识协议来构建或改进-区块链的核心技术创新。从本质上讲,区块链可以以自主的方式实现HPC系统中的数据同步,具有很强的可靠性。橡树岭国家实验室发布了一份白皮书[1],讨论了橡树岭领导力计算能力上区块链的广泛潜在应用。最近的研究[2-1.2挑战虽然区块链在许多领域(如加密货币[19,22,28]和智能政府[40])引起了很大的研究兴趣,但HPC和科学计算社区尽管将弹性视为其最高系统设计目标之一,但由于各种(技术和管理)原因,尚未将区块链纳入其生态系统,但最值得注意的是以下两个挑战:HPC系统的共享存储系统基础设施和用于科学应用的MPI编程模型。相比之下,所有主流的区块链系统和框架假设底层系统是无共享的集群,具有TCP/IP网络堆栈(而不是MPI和等级)。具体而言,尽管区块链本身展示了许多研究和应用机会([13,53]中的全面评论),但将区块链应用于HPC系统的最具推动力的挑战之一在于独特I/O子系统的共识协议。主流区块链中使用的现有共识协议要么基于密集计算(例如,所谓的工作量证明或POW),要么基于密集网络通信(例如,实际拜占庭容错,PBFT),如表1所示,这在性能和成本方面都不适合HPC。尽管如此,一些研究[3,4]最近试图解决在HPC生态系统中采用区块链或类似区块链的数据缓存的一些挑战。然而,这些系统要么遵循常规POW [3];因此,不适合于像HPC这样的许可环境,要么尚未配备有如表1所示的最期望的基本特征,例如,(i)广泛的计算或通信自由的可扩展共识机制,以在分布式高速缓存数据之间建立可信度,(ii)完全胜任的HPC协议,用于计算节点和用于并行系统的远程存储两者(例如,[45])具有合理的开销;(iii)并行块处理,(iv)具有较低延迟的分布式账本中的并行一致性,以及最后,(v)容错支持解决MPI节点故障,增强跨节点分布式账本的一致性。因此,最先进的系统仍然可以通过轻量级策略在HPC基础设施中部署类似区块链的弹性。虽然MPI带来了很多机会,以促进双方的,在科学计算中,使用MPI部署区块链是一项非常具有挑战性的工作。在MPI中,一个等级失败会导致整个通信器崩溃;因此,它为区块链服务提出了一个关键问题:一个单一的失败会使整个区块链服务崩溃。已经设计了几种容错方法[8,24](主要是通过软件异常处理程序)来解决MPI故障。然而,没有工作可以解决区块链的独特要求:崩溃的区块链节点必须从头开始重新启动并验证每对相邻区块之间的所有哈希值(即,不幸的是,没有这种检查站的概念1.3我们在这项工作中,我们为HPC环境设计了一个新的区块链框架,部署为中间件,即BAASH,BAASH:面向HPC系统的轻量级、E化和可靠的区块链即服务SC关闭MO,USA表1:当前基于区块链的来源系统的局限性总结特征ProvChain[34][42]第四十二话[43]第四十三话IMB[3]SciChain[4]BAASH支持无盘节点⇥⇥⇥XXX轻量级计算⇥⇥X⇥XX免留言广播XX⇥XXX完全兼容MPI⇥⇥⇥⇥⇥X并行块处理⇥⇥⇥⇥⇥X并行账本弹性⇥⇥⇥⇥⇥X实时故障监测⇥⇥⇥⇥⇥X可在500多个内核⇥⇥⇥⇥⇥X如图1所示。 BAASH作为一个分布式的值得信任的分类帐,与HPC系统的共享存储基础设施完全兼容。所提出的框架克服了最先进的区块链系统的缺点,通过一组特制的协议完全消除了资源密集型需求。此外,BAASH还配备了一个与MPI兼容的并行处理层,这使得BAASH能够提供低开销和可扩展的性能。协议确保并行弹性并考虑计算节点和远程存储(例如, [45]),合理的管理费用。因此,一个系统实现所提出的pro-tocommunication可以顺利部署到HPC基础设施。最重要的是,与BAASH共同设计的实时故障监视器负责MPI的等级故障,从而支持跨计算节点的综上所述,本文做出了以下贡献-选择:我们设计了一套HPC专用的可扩展一致性协议来促进并行块处理,以提供轻量级的分布式内存和共享存储弹性支持;提出了一种可靠的故障监测机制,保证BAASH服务的一致性,能够容忍MPI秩故障,保证BAASH服务的可用性;我们实现了一个系统原型的建议共识协议和并行化方法与OpenMP和MPI;我们进行了广泛的评估系统原型与数百万的交易在500核的HPC平台和实验证明BAASH的有效性图2:HPC系统上的BAASH的总体架构。2BAASH设计2.1架构图2展示了我们设想的分布式BAASH系统的高级概述,该系统部署到典型的HPC系统中。请注意,某些定制的HPC系统可能具有节点本地磁盘,尽管本文假设计算节点是无磁盘的。例如,位于劳伦斯伯克利国家实验室的前10名超级计算机Cori [49]确实有本地SSD存储,即burst buer。但是,burst buer不是分类账的理想选择,因为它不是为长期数据存档而设计的;它的唯一目的是通过在本地缓存中间数据来减轻I/O密集型应用程序的I/O压力。此外,由于科学应用程序不分时共享资源,因此存储在本地存储器上的分类账(例如,burst buer)通常在作业执行之后被清除在····2≥SCLouis,MO,USA Abdullah Al Mamun,Feng Yan,Dongfang Zhao换句话说,即使在某些情况下分类账可以在技术上持久化到本地磁盘,这种持久化也不是必需的,这促使我们在远程存储上提出辅助分类账和验证器。具体来说,我们设想的系统的四个关键模块在图2中突出显示:弹性分布式账本,并行共识协议,并行处理层和故障监视器。我们将在下面更详细地讨论其中的每一个。协议1并行事务管理器需要:集群C,其中第i个集群是Ci;事务T,其中第i个事务是Ti;实体E,其中第i个实体是Ei;远程存储R;新块b.确保:没有重复处理T i。1:函数TP(b,C,R,E)2:对于TiT,3:如果Ti未锁定,则2.1.1弹性分布式账本。 rst模块是一个可靠的分布式账本实现,针对高4:创建哈希HiidEiT时间戳和实体-性 能 互 连 ( 例 如 , InniBand ) 和 跨 计 算 节 点 的 协 议(RDMA) 因为所有计算节点仅在易失性存储器中(或者,在持久性本地存储中,但是在作业完成之后具有短的生命期清除)以最小开销获取和更新具有几个最新块的分类账,所以必须有至少一个永久的、持久的存储(其不能被损害)以在灾难的情况下存储回分类账副本(例如,超过50%的计算节点崩溃并丢失它们的分类账)。请注意,纯内存计算节点不一定比那些具有持久存储的节点更不可靠;但是,如果启动内存的进程被杀死,存储在内存中的数据将丢失。 值得注意的是,远程存储是典型的高性能计算生态系统中的一个节点集群,它使共享区块链对任何意外灾难都具有高度可靠性。2.1.2可伸缩内存&共享存储共识协议。 第二个模块是一个共识协议,支持并行达成共识(既没有昂贵的计算开销,也没有广泛的网络通信),以通过计算节点和弹性远程账本的内存区块链支持实现最高的吞吐量。在BAASH中,通过两个对比步骤验证块首先,通过每个节点中具有内存中区块链支持的并行机制来验证块 为了最大限度地减少区块验证时间,我们避免了任何传统的序列化区块处理机制,这些机制都是最先进的区块链系统所遵循的。 其次,如果计算节点的主要部分(即, 至少51%)无法就块的有效性达成共识,则远程存储以合理的最小开销参与块验证过程。我们将在2.2节中讨论更多细节。2.1.3并行处理层。第三个模块是无盘计算节点和远程持久存储之间的并行处理层。 该层有三个目的:(i)它注入了并行分发机制,用于将具有事务的独立块分发到逻辑划分的计算节点集群中,(ii)它促进了并行块处理并实现共识,而无需5:推入块b6:其他7:将Ti推送到事务等待队列8:如果结束9:如果时间t,则10:BAASH-Consensus(b,C,R,E)d协议211:如果结束12:结束13:结束功能通信密集型对等机制,以及(iii) 分类账在远程存储中的持久化过程(即,共享区块链)以及与分布式节点的同步可以并行地独立地继续,而不会干扰块验证。有关此层的更多详细信息,请参见第3.4节和第3.5节。2.1.4故障监视器。 第四个模块是一个实时容错机制,通过三个不可避免的检查点实现:(1) 对等体之间的消息交换:在每次消息交换期间检查发送方和接收方之间的通信状态。(2) 每个进程的退出例程:当节点完成验证进程时,检查每个节点状态的退出例程。(3) 异常处理程序:围绕节点验证过程设置检查点,以捕获任何意外的异常。如果在通过共享存储的分类账处理块验证过程时发生任何情况,故障监视器还恢复BAASH服务 我们将在3.6节中讨论有关故障监视器的更多细节。2.2共识协议为了克服传统协议的限制PoW和PBFT),作为用于科学应用的BAASH区块链框架的共同设计,我们提出了一组协议。协议1协调区块交易的并行协议2通过分布式共识管理器协助并行管理块的共识管理块验证过程BAASH:面向HPC系统的轻量级、E化和可靠的区块链即服务SC关闭MO,USAHH2210:如果|agreedNode|<那HH›;协议2BAASH共识要求:集群C,其中第i个集群是Ci;子集群N,其中第i个子集群是Ni受管理协议3块验证要求:子集群N,其中第i个子集群是N i;节点n,其中第i个节点是Ni。实体E,其中由协调器Ni;子集群中的总节点n;En-第i个实体是Ei;新块b;b的哈希列表b1,其中C其中第i个实体是Ei; a new blockb;hash的 bi是来自H尼岛列表bl为b;远程存储R。确保:块b包含有效的交易T之前,每-确保:至少有50%的计算节点列出agreedNodes,他们使用本地区块链和远程持久性账本RB验证b。1:函数BAASHC(b,C,R,E)嘘。1:函数V(b,Ni,E)2:forniNidod并行3:如果ni用受试E验证b,则2:当|agreedNode |<= ndo4:agreedNode › agreedNode [ni3:forCi2CdodIn parallel5:Create hashbi4:在Ci的本地队列中推送块b6:blH›bl[bi5:对于Ni2Cidodh h h7:其他6:Ni›验证(b,Ni,E)d方案38:bi›NU LLC7:结束H9:如果结束8:结束9:结束时n211:如果R验证b,则12:生成哈希bh10:结束11:返回agreedNodes,bl,b12:结束功能13:持久存储(b,C,R)d调用协议414:从活动队列中释放块b15:其他16:将区块推送到待处理队列17:如果结束18:其他19:从bl中选择一个哈希bh20:存储中持久化(b,C,R)d调用协议421:从活动队列中释放块b22:如果结束23:Nid解构子集群24:结束功能议定书3。最后,协议4通过将经验证的块存储在节点的内存中并持久化在共享存储中来帮助管理弹性分布式账本。我们将在以下章节中详细讨论每个协议2.2.1并行事务管理器。 协议1旨在确保并行过程中事务的独特操作。BAASH引擎利用一个队列来跟踪各个活动事务和挂起事务。 所有活动事务都被锁定以通过创建具有时间篡改和实体地址的唯一散列(例如,节点)发出交易。当事务到达时,它(协议1)首先检查(行3)事务是否被解锁(即,pending),并在推送到区块(第5行)之前为其创建一个具有实体地址和当前时间戳的唯一散列(第4行)。块中的事务处理持续到特定时间(t)。时间(t)是网络上的最小延迟。最后,协议1转发该块以启动共识过程(第10行)。2.2.2BAASH共识。协议2控制整个块验证和持久化过程。 并行处理模块(更多细节见第3.4节)利用该协议来管理块在聚类器之间的平等分发。首先,BAASH引擎创建一组协调器,并将计算节点逻辑地分配到一组集群中,以管理工作负载的智能负载平衡,从而促进并行块处理。每个集群由一个协调器管理(第3行). 然后,每个集群被进一步分成一组子集群(第5行),其中每个子集群处理一个块(第6行)。子集群动态构建有3个f +1 + c节点,其中f是子集群中允许的最大故障节点,c是从父集群调整节点的最大尝试次数(更多细节请参见第3.4节)。更具体地说,首先,子集群中的3个f+1节点尝试验证块。如果子群集中超过50%的节点出现故障,协调器将尝试最多c次从父群集添加空闲节点以继续验证。如果验证过程超过总限值(即,c)当从超过50%的节点获得共识时,协调器涉及远程存储来提供共识(第11行)。可能的节点故障可能是软件异常、错误验证或崩溃。如果块是有效的,则协议从其(块)验证器的列表中挑选散列(第19行),或者在持久化它之前在远程存储中创建散列(第12行)(即,通过帮助SC关闭MO,USAAbdullah Al Mamun,Feng Yan,DongfangZhao››[(||)B(||)||方案4:保存要求:计算节点n,其中第i个节点是ni;nini上的局部块链;其中i为B的簇C集群是Ci;新开采的区块b;远程存储R;HT 是包含存储在远程存储中的区块的散列的散列表;RB是存储上的区块链副本确保:保存b,将其存储到C,并持久化到R一曰: 函数PS(b,C,R)第二章:对于Ci2C,3:对于ni2Cido4:如果bni,则<5:nini[bd]本地连锁店B B6:如果结束7:结束第八章:端第九章:如果bHT则d 只 需 要 一 次 查 找 10 :RB
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功