没有合适的资源?快使用搜索试试~ 我知道了~
ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月一台生产型超级计算机的输出瓶颈分析与启示谢冰,SARP ORAL,CHRISTOPHER ZIMMER和JONG YOUL CHOI,橡树岭国家实验室大卫·迪洛,dave@thedillows.org斯科特·克拉斯基,橡树岭国家实验室JAY LOFSTEAD,桑迪亚国家实验室NORBERT PODHORSZKI,橡树岭国家实验室杰弗里·S.杜克大学,蔡斯本文研究了Titan超级计算机及其Lustre并行文件存储在生产负载下的I/O写行为这些结果可以为文件系统的设计、部署和配置以及应用程序、操作系统和自适应I/O库中I/O软件的设计提供我们提出了一个统计基准测试方法来衡量写性能跨I/O配置,硬件设置和系统条件。此外,我们引入了两个相对的措施来量化生产负载下的硬件组件的写性能行为除了在Titan上设计实验和基准测试外,我们还分别在一个真实应用程序和一个真实应用程序I/O内核XGC和HACC IO上验证了实验结果这两种方法具有代表性,广泛用于解决应用程序的典型I/O行为总之,我们发现Titan的I/O系统在精细的时间尺度上在整个机器上是可变的这种可变性有两个主要含义。第一,掉队者减少了耦合I/O并行性(条带化)的好处。峰值中值输出带宽通过对许多独立文件的并行写入来获得,而没有跨客户端(计算节点)的文件条带化或写入共享。当应用程序(或其I/O库)分配I/O负载时,I/O并行性最有效,以便每个目标为多个客户端存储文件,每个客户端以最小争用的平衡方式在多个目标上写入文件。其次,我们的研究结果表明,动态适应的潜在好处是有限的。特别是,试图确定机器或文件系统中的“好位置”是没有成果的:组件性能由瞬时负载条件驱动,过去的性能并不是未来性能的有用预测器。例如,我们没有观察到可预测的昼夜负荷模式。谢冰在杜克大学读研究生时,在杜克大学和美国政府的支持下,进行了大部分研究国家自然科学基金批准号:CNS-1245997 这项工作使用了橡树岭领导力计算设施的资源,该设施位于橡树岭国家实验室的国家计算科学中心,由能源部科学办公室根据合同号2009年12月15日支持DE-AC05-00OR22725。这项工作还使用了桑迪亚国家实验室的资源。桑迪亚国家实验室是一个多任务实验室,由桑迪亚有限责任公司的国家技术和工程解决方案管理和运营,桑迪亚有限责任公司是一家全资子公司。Honeywell International,Inc.公司美国能源部国家核安全管理局根据合同号。DE-NA0003525。作者地址:B。Xie,S.奥勒角齐默,J. Y.崔,S。Klasky和N.波德霍斯基,橡树岭国家实验室,1 Bethel ValleyRd,Oak Ridge,TN 37830; email:{xieb,oralhs,zimmercj,choij,klasky,pnorbert}@ornl.gov; D.迪洛; 电子邮件:dave@thedillows.org; J. Lofstead,Sandia National Laboratories,1515 Eubank SE,Albuquerque,NM 87123;电子邮件:gflofst@sandia.gov; J.S.大通,杜克大学,D306莱文科学研究中心,达勒姆,北卡罗来纳州27708;电子邮件:chase@cs.duke.edu。本文由美国政府的一名雇员撰写,属于公有领域。允许非独家复制或再分发,前提是提供文章引用,并明确指出作者和机构是其来源。2020. 1553-3077/2020/01-ART26 $15.00https://doi.org/10.1145/333520526ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月二十六:2B. Xie等人CCS概念:·通用和可靠性→性能;·计算机系统组织→网格计算;二级存储组织;附加关键词和短语:高性能计算、文件系统、基准测试ACM参考格式:Bing Xie,Sarp Oral,Christopher Zimmer,Jong Youl Choi,David Dillow,Scott Klasky,JayLofstead,Norbert Podhorszki,and Jeffrey S.追2020.描述生产型超级计算机的输出瓶颈:分析和启示。ACM Trans.存储15,4,第26条(2020年1月),39页。https://doi.org/10.1145/33352051介绍输出性能对于利用超级计算机的计算能力至关重要高性能计算(HPC)应用程序[4-6,14 ]运行在数千个计算核心的数百个计算核心上,并为中间结果、检查点和/或重新启动文件(防御性I/O)产生千万亿次如果I/O系统吸收输出的速度不够快,那么缓冲输出的内存就会耗尽,迫使计算在输出更多数据之前停止输出暂停会使宝贵的CPU资源未得到充分利用,延长应用程序运行时间,并损害系统吞吐量。在实践中经常观察到输出暂停,即使是异步写入。减少输出停顿的一种方法是添加更多的内存和磁盘轴。然而,这些硬件资源是昂贵的,并且超级计算机被设计成具有I/O和计算能力的仔细平衡根据经典的Amdahl规则,一个平衡的petaflop设备需要128 TB/s的I/O带宽。经济高效部署的技术规划使用了更严格的每千万亿次浮点运算2 TB/s的基线[25],有些系统的设计比率甚至更低因此,输出带宽是超级计算机中的宝贵资源。趋势表明,这一限制不太可能改变。因此,软件有效利用带宽至关重要。原则上,大的写突发可以有效地流式传输并实现全带宽。在实践中,交付的带宽对应用程序对存储API的使用及其数据布局高度敏感,这给领域科学家管理I/O性能带来了不受欢迎的在应用程序层面的权衡输出瓶颈促使开发自适应I/O库,如ADIO S [19-21,33 ],以便向应用程序发送一组易于使用的API,并使其I /O模式适应底层存储系统。ADIOS允许用户选择各种文件格式,在选定的一组存储设备上分条突发,和/或将突发聚合到选定的一组具有特定突发大小的计算节点有效的I/O库的设计依赖于对文件系统行为的在这篇文章中,我们描述了一台名为Titan的生产型超级计算机的输出行为,Titan是世界上第九快的超级计算机具体来说,我们通过使用合成I/O基准测试来产生各种输出模式,然后对目标文件系统(2013年的Spider和2015年,2017年和2018年的Spider 2)进行基准测试,两者都基于Lustre并行文件系统[36]。在生产超级计算机中对I/O性能进行基准测试有三个主要挑战来自竞争写入路径上的共享资源的其他工作负载的串扰干扰;• 对于最终用户,没有来自写路径中间阶段的监控数据• 从最终用户和I/O库的角度来看,没有对任务放置的控制·生产型超级计算机的输出瓶颈特性二十六:3ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月为了应对这些挑战,我们使用统计基准方法进行研究。结果表明,统计标记可以从实际使用的共享文件系统的噪声和随机性中提取出一个可靠的它使我们能够描述-跨竞争负载、任务放置和时间的目标文件系统各个阶段的队列。我们目前的结果,从实验中的重点输出突发的特定阶段的写路径,捕捉结果的性能行为分布,并评估影响,关键配置参数和选择的约定。通过研究一系列的结果,这样的实验中,我们表征的行为的各个组件在写路径上时间我们的研究的主要贡献是提高国家的最先进的并行文件系统软件的性能行为的理解,目前部署在一个生产领先级的设施。由此产生的见解可以为超级计算功能的设计和部署选择、文件系统级别的策略和配置选择以及正在进行的并行存储集成软件堆栈(包括并行文件系统和ADIOS等I/O库)开发的技术选择据观察,在从I/O路由器的循环选择[9]更改为附近I/O路由器之间的细粒度负载平衡[11]之后,Titan上的交付I/O带宽提高了30%(参见第2.6节)。从统计业绩研究中获得的见解可有助于揭示这些机会。例如,第5.2节显示了我们的方法如何暴露InfiniBand端口之间的持久负载不平衡虽然有些因素可能是Titan、Spider和Spider 2文件系统或Lustre所独有的,但我们希望我们的观察结果能够代表领先级别的计算设备,并且I/O性能问题是常见的。ADIOS实现了多种技术来提高输出性能,现在许多应用程序都使用ADIOS,例如,S3D [4]、XGC [16]和M8地震模拟[8]。例如,ADIOS允许应用程序配置其输出缓冲区大小.它可以向多个独立文件发出写操作,以避免与写共享文件和条带化相关的性能问题,并重新组织输出数据,以提高读取性能。本研究的结果为理解和量化这些技术的影响提供了基础与我们之前的研究有关。这篇文章是我们早期研究的延伸[39,40]。具体来说,[39]描述了Jaguar超级计算机的输出性能,这是Titan的替代品。与[39]相比,这项工作扩展了该研究中开发的统计基准测试方法,重复了许多原始实验(第4节),并分别在一个真实应用程序和一个真实应用程序I/O内核(第6节)XGC和HACC IO上验证了我们的基准测试结果。这两个参数代表了HPC应用程序的I/O行为,因此被广泛用于I/O性能研究。Titan将Jaguar的计算能力提升结果(第4节)表明,在Jaguar上观察到的关键输出行为继续保持在Titan上,只有少数例外。值得注意的是,由于软件升级改善了客户端的线程,Lustre条带化的交付带宽几乎翻了一番(第4.4节)。即便如此,Titan上的Lustre写管道不允许计算节点获得存储目标的全部带宽,并且写共享文件上的锁会向管道中注入气泡。这些结果激发了I/O库(例如,ADIOS)来构造输出,以便每个计算节点写入多个独立的文件。其他以前的工作[40]作为本文的摘录,总结了方法和结果的具体而言,它解决了第4节中讨论的6个实验中的2个的基准测试结果,并包括第5节中5个讨论中的2个的分析结果。二十六:4B. Xie等人ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月此外,本文还将Jaguar研究扩展到一个新的方向:观察到的单个组件随时间推移的性能(第5节)。最初的实验显示了“落伍者”存储目标的效果,以及其对Jaguar和Titan中的剥离性能的影响。离散器抑制紧密耦合的写入管线,限制条带化带宽并减少并行性的益处。结果导致了这个问题:I/O中间件是否可以通过适应机器中的热点来避免落伍者,从而提高输出性能?为了回答这个问题,我们进行了纵向实验,随着时间的推移系统地探测观察到的性能。我们发现,一小部分的存储目标(20%)是离散在任何给定的时间间隔,但离散是短暂的:随着时间的推移,任何目标可能会出现作为一个离散的间隔。虽然Titan上提供的I/O性能变化很大,但我们的研究表明,历史性能数据和监控并不能使自适应中间件定位机器中的本地性能行为是暂时的和不可预测的。最后,我们将实验扩展到研究观察到的计算机节点的I/O性能的变化。在Jaguar的研究中,我们发现在其I/O系统中经常发生瞬时I/O争用;在这项工作中,我们进行了更多的分析,并得出结论,争用存在于Titan中,而不是在SION网络或Spider文件系统中(在第4.2节中讨论)。在Titan内部网络配置中采用的静态节点到路由器映射策略下,去杠杆聚合输出带宽对作业计算节点的位置(密度)敏感。2背景和动机2.1科学应用的I/O成本据估计,HPC中50%-60%的I/O操作是写入[ 2,12 ];写入繁重的工作负载来自状态快照和防御性写入(例如,重新启动文件)。本研究的目的是描述存储系统吸收客户端输出的速率。为了激励研究,我们引入了一个简单的有界缓冲区模型的输出突发吸收对应用程序性能的影响 为了模型的目的,假设系统可以以恒定的速率S吸收输出。在实践中,S根据系统参数、输出大小和模式、数据布局、硬件能力和状态、故障和竞争流量而变化,仅举几个关键因素。考虑一个程序,它作为P个进程/线程在P个内核上运行,并以松散同步的方式执行一系列迭代,其中所有内核交替计算和输出数据。为了简化模型,假设计算负载和输出在各个过程和迭代中是均匀平衡在每次迭代中,程序计算时间C,然后输出大小为W的突发。如果写入是同步的,则应用程序在每个C时间单位的计算之后暂停时间W/S以等待突发完成对于异步突发,我们进一步假设程序有M字节的客户端I/O缓冲区空间(I/O缓存)来存储其输出突发,直到存储系统可以吸收它。每个进程通过将迭代的输出复制到本地I/O缓存中来缓冲它的输出;如果缓存中的空间不足,则进程阻塞,直到空间可用(输出暂停)。下一次迭代在前一个输出突发进入缓存后开始每个客户端节点将其缓冲输出异步推送到存储目标,以将写入存储与计算重叠。考虑到我们的理想化假设,我们可以将参数M、W、C和S表示为每个核,每个节点,或全局地跨整个作业或整个系统。实际的系统和应用程序可能会以各种方式偏离这个简单的理想化模型例如,系统可以延迟写入和/或M可以根据客户端策略而变化生产型超级计算机的输出瓶颈特性二十六:5ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月−CC−−−−图1.一、I/O burst模型理想化的迭代应用程序计算时间C,并在每次迭代时产生大小为W的输出突发。每个突发都进入大小为M的客户端I/O缓存(写缓冲区)。 存储系统以速率S吸收输出,该速率根据各种因素而变化。用于管理I/O缓存。即便如此,该模型仍然有助于指导我们的直觉,并估计S对输出停顿和应用程序性能的影响。特别是,输出停顿限制了核心效率,这是归一化到系统峰值的有用计算的最大速率x在核心效率为x的情况下,计算以1x的速率停止,并且运行时间从理想情况增加了1/x图1展示了该模型。该程序以平均速率W将输出生成到大小为M的有界缓冲区中,不计算任何输出停滞时间。存储系统将数据从缓存速率为S。这里有两种情况需要考虑:案例1. W<= S。该程序以比引流慢的平均速率产生数据率如果W=M,则程序不会停止。否则,如果W>M,则程序填充缓冲区然后一直持续,直到剩余的突发被吸收。 最高的时间迭代是WS−M。案例2. W> S。该程序以比存储更快的平均速率生成数据W−SC吸收它一旦缓冲区填满,程序就达到稳定状态,在此状态下,它停止S每轮调节输出速率以匹配流失速率。SC是在计算时间期间从缓存中排出的数据。WSC是在下一次迭代开始之前必须吸收的残差。达到稳定状态的时间与M成正比。一旦程序达到稳定状态,M的值就不再重要,因为每次迭代结束时缓冲区已满,SCM;否则,我们就处于情况1中。<很容易看出,C是无关紧要的,稳定状态由排出速率与填充速率的比率给出。假设我们将填充速率为每秒一个输出数据单位。在情况2中,归一化的流失率是一些s,0s 1。<<然后,程序每秒的有用计算产生1s单位的输出数据,需要每秒(1s)/s的有用计算的输出停顿来吸收多余的输出。效率x则是计算时间(1)除以总时间(1+( 1s)/s)。因此,x=s。在同步情况下,平均每s秒的计算时间,内核会停顿1 s;因此,x=s/(s+1)。2.2应用实例我们描述XGC [16,41]代码作为一个例子。 XGC是一个用于模拟托卡马克聚变反应堆设计的回旋动力学粒子单元程序,主要研究聚变等离子体边缘的多尺度物理。XGC运行是对给定的3D托卡马克(磁约束环)的模拟,首先将其分解为平面中具有E粒子的D极向平面,然后将每个平面划分为P个子空间,每个子空间包含E/P粒子。一次运行由P个核心上的P个相同进程组成。每一个过程都在一系列迭代中求解一组固定的穿过P个子空间中的粒子的陀螺运动方程。在每一次迭代中,粒子被旋转运动的哈密顿方程“推“到离散网格的F个网格点上,其中旋转运动的都解决了每个过程周期性地快照粒子分布和特征(例如,电势、等离子体密度、温度)。此外,D的过程-一个为二十六:6B. Xie等人ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月∼表1.在Titan上编写模式应用程序名称写共享模式#写入类型突发大小GTC07100 B-1 GS3d03100 B-10 KBdcaqmcMPI05100 B-1 MB预兆13100 B-10 KBLMP12100 B-1 KBHACC134 MB-512 MBTitan上常见生产应用写共享模式指示进程是否共享文件(写共享为真),或者每个进程是否写入独立的文件(见4.6节)。每个D平面产生诊断输出的周期性脉冲串。每个突发的频率(每个突发的迭代)是可配置的。每个猝发的数据存储为具有唯一文件名的文件。XGC以同步方式写入突发,用户通常选择暂停执行,直到所有数据到达磁盘。每次迭代的计算时间是固定的,并且可以从(D,E,F,P)预测。爆发大小也是可预测的:每轮子空间快照的总大小与粒子数量成比例,每个平面诊断爆发的总大小与网格点F的数量成比例。聚合突发在生成突发的P(或D)过程上近似平衡我们在实践中观察到,对于XGC运行,状态快照的常见每核突发大小范围从500 MB到1.2 GB;对于诊断输出,突发大小范围从1 MB到400 MB。科学家们利用对吸收率的估计来选择将CPU效率保持在90%左右的突发我们的工作可以帮助精确地选择突发频率表1总结了Titan上常规使用的其他六个应用程序的写入模式,如Darshan [1]工具记录的日志中所报告的那样。对于每个应用程序,我们报告了突发类型的数量和突发大小的范围Darshan还记录了一个写共享模式(参见4.6节):如果进程写共享单个文件,则模式为挂起文件,写入共享模式为“0”。2.3泰坦之光在Titan的I/O系统上部署的Lustre软件是一个广泛使用的开源并行文件系统。Lustre运行在前100台公开的超级计算机中的75%。本节介绍了性能研究中使用的术语和概念,总结了[36]和Lustre和Titan的其他来源。Lustre是一个基于对象的文件系统:每个Lustre文件中的数据驻留在一个或多个对象中。对象是具有唯一名称的可变长度字节序列每个对象都是一个文件的一部分,并驻留在一个存储节点上存储节点是直接连接到Lustre存储服务器的RAID阵列(目标)Lustre客户端是通过网络访问存储服务器的计算节点Lustre元数据服务管理文件名空间、文件属性、文件到对象的映射以及多个客户端对对象的共享访问锁定本文仅在文件打开后测量文件的写入带宽;因此,元数据服务只影响写入共享文件测试的结果(参见图20)。每个Lustre写操作都源自计算节点上用户进程的系统调用。每个Titan计算节点都是一个运行Linux操作系统的多核节点,它维护节点计算节点内核调用称为对象存储客户端或OSC的本地Lustre内核模块来处理Lustre文件系统上的文件操作和I/O生产型超级计算机的输出瓶颈特性二十六:7ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月≥图二、Lustre中的数据条带化。 每个文件都是stripe_size字节的块序列,以循环方式分布在为顺序排列的目标(OST)上的文件创建的一组固定的stripe_width对象中。OSC通过向存储服务器发出Lustre远程过程调用(RPC)来执行I/O;每个存储服务器运行一个Linux系统,该系统具有称为对象存储服务(OSS)的Lustre服务。对OSS的每个Lustre I/O操作都是对一个对象的读取或写入,该对象驻留在连接到该OSS的命名存储目标上。Lustre目标被称为对象存储目标或OST。我们使用术语客户端、服务器和目标分别指代OSC、OSS和OST。2.4Lustre数据条带化文件是字节序列或固定大小的逻辑块。在Lustre中,每个文件的块都分布在一组固定的N个存储对象中,这是在创建文件时确定的集合中的对象按顺序编号当前策略按顺序将对象分配给顺序编号的目标(OST)。Lustre允许创建文件的用户进程指定起始OST;否则,系统随机选择起始OST元数据服务器(MDS)创建对象集,并在文件存在时存储文件对象的列表。当客户端打开一个文件时,它获取对象列表并在文件打开时缓存它逻辑文件块根据静态模式跨文件对象进行条带化。图2描述了这种模式的一个示例。块的连续运行被分组为固定大小的块,并且以循环方式将块分配给对象。文件的块大小为被称为条带是N个区块的对齐顺序运行。当客户端通过向文件追加字节来增加文件时,它会根据需要创建并追加新的条带每个新的条带扩展对象集中对象的长度:每个文件的对象数量是固定的,但对象会根据需要增长这个策略与Ceph [37]等系统不同,Ceph通过向文件附加新的固定大小的对象来扩展文件我们使用fprof分析工具来描述Titan上生产文件的条带模式。我们于2017年4月21日和2017年4月25日在Titan上的Spider 2文件系统中分析了4 MB文件大小的文件(见表2),获得了9.8亿个文件和1.2亿个目录的结果。当时,大约99.6%的文件将stripe_count设置为4,这是Spider 2的默认Lustre配置我们将在第4.4节中讨论不同条带数配置的写入性能。二十六:8B. Xie等人ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月图3.第三章。Lustre中异步写入的RPC和流控制。客户端将每次写入的RPC发送到目标的对象服务器。服务器回复以接受写入,并在稍后完成时发送完成通知。客户端限制每个目标的未完成RPC的数量和未完成写入的总大小(可配置的“授权”)。2.5写入路径我们总结了普通异步I/O的写路径。Linux写系统调用将数据从用户进程复制到客户端内核的I/O缓存中的页面缓冲区,如果缓存中的脏数据量超过阈值,则系统调用路径按顺序分配4 KB页(块),并根据缓冲区中的数据的逻辑偏移量对齐这些我们只考虑进程整体写入(或覆盖)每个块的情况;我们不考虑读/修改/写行为。当脏块在缓存中累积时,客户端(OSC)将它们分组到块写入中。根据上面总结的条带化策略,客户端将每个脏块定向到特定OSS上的特定OST上的特定对象中的特定块中的特定偏移。客户端向服务器发出并发RPC调用,以将块(或部分块)写入其目标,并在写入完成时释放缓冲区当数据在磁盘上是安全的时,写入在目标上完成Lustre OSC模块管理到多个服务器和目标的并发写入管道。类似地,每个OSS必须管理来自许多客户端的并发写入管道一个关键的挑战是,只要有数据要传输,就保持所有管道的流动,对它们进行节流,以防止任何缓冲区溢出。Lustre客户端和服务器通过管道协调控制异步写操作。例如,在泰坦上,每个客户端将每个目标上飞行的RPC数量限制为8。每个客户端还限制其在每个目标上的挂起(不完整)写入。图3描述了在给定目标上生成和处理块写请求的步骤。应用程序进程可以通过打开具有特定选项标志(O_DIRECT)的文件来请求同步I/O。直接写入使用不同的机制,具有较少的冗余性[36]。2.6Titan互连:Gemini和SION我们分别在2013、2015、2017和2018年对Titan的Spider(2013)和Spider 2(2015、2017和2018)文件存储进行了实验和实际应用程序运行(见表2)。蜘蛛和生产型超级计算机的输出瓶颈特性二十六:9ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月×表2.Titan上的文件系统文件系统服务时间光泽版本分区路由策略I/O节点OSSOST磁盘/OST蜘蛛Jan.2008-Dec.20131.84细粒度192192336 ×4RAID 8+2Spider 2Nov. 2013年至今2.52细粒度4322881008× 2RAID 8+2Lustre客户端(计算节点)向连接到对象存储服务器(OSS)的RAID目标(OST)发出I/O操作I/O路径穿过内部互连到达选定的I/O节点,该节点充当路由器,在内部互连和外部存储网络。在Titan中,当所有I/O节点都正常工作时,计算节点到I/O节点的映射是静态的(图四、Titan和Spider(或自2014年以来的Atlas)中的多级写入路径写入源自16核客户端节点;每个客户端通过内部Gemini 3D Torus互连和外部SION存储网络向存储服务器发出RPC。服务器缓冲每个写入并将其定向到连接的RAID目标。对给定目标的所有写入都通过单个服务器。Spider 2(Atlas)是中心范围的文件存储,托管一组在泰坦和中心其他计算设施之间共享的Lustre文件系统图4描述了在Titan上配置的Lustre写路径及其文件存储。Titan由18,688个Cray XK7节点组成,通过Cray Gemini 3D torus互连连接:Titan节点由AMD 16核Opteron 6274处理器和NVIDIA Kepler K20 GPU组成每对计算节点共享一个Gemini ASIC,其中包含一个YARC-2路由器和两个网络接口控制器(NetworkInterface Controller,简称NIC),每个控制器专用于节点对中的一个节点,并将该节点连接到Gemini结构。计算节点(客户端)经由通过3D环面互连分布的一组I/O节点(I/O路由器)访问存储系统外部多级InfiniBand(IB)网络称为SION(可扩展I/O网络),将I/O节点连接到存储服务器。SION基于具有胖树拓扑的Cisco 7024D IB交换机Titan配置将每个计算节点绑定到一组I/O节点,该组I/O节点在3D环面中与它“接近”;每个请求的I/O节点由细粒度负载平衡算法选择,该算法以静态方式将计算节点映射到I/O节点[ 11 ]。第5.5节讨论此静态节点-路由器映射策略的性能影响。在 Spider 和 Spider 2 中 , 每 个 服 务 器 ( OSS ) 都 可 以 访 问 7 个 RAID 存 储 目 标(OST)。DataDirect Network(DDN)控制器将目标分组并将它们作为LUN提供给服务器;每个LUN代表不同的目标。目标(LUN)按顺序编号和选择,以将相邻目标映射到不同的服务器,从而使条带化访问分布在多个服务器上。图5显示了OSS到OST(LUN)的映射。Spider有4个文件系统分区,每个分区包括48个服务器和336个目标。48台服务器中的每台都连接到2个IB端口,7个受管目标中的每一个都分配到一个二十六:B. Xie等人ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月××图五、 OSS到OST(LUN)映射。 Spider和Spider 2(参见表2)遵循相同的映射策略:在Spider或Spider 2的每个分区中,每个LUN都是不同的OST; 48或144个顺序编号的OSS连接到336或1,008个OST的服务器队列中。例如,在Spider/Widow1中,OSS0连接到7个OST:OST0,OST48,.,288.第288章我的世界两个IB端口。结果,这些I/O通道上的负载可能是不平衡的,因为IB端口中的一个承载用于目标中的348个的业务,而另一个承载用于目标中的448个的业务。第5.2节回到这个问题。2013年的实验使用了Spider文件系统Widow1,它跨越了48台服务器和336个目标。2015年和2017年的实验以及2018年的应用程序运行使用了Spider 2文件系统,其中包括144台服务器和1,008个目标。3统计基准方法本节介绍了一种统计基准测试方法,包括两个部分:将写入集中在写入管道的特定阶段,以及跨多个试验的统计分析我们使用IOR [28],这是一个灵活的综合基准测试工具,用于具有各种接口和访问模式的并行文件系统我们在基准测试工具中运行多个IOR实例,以协调来自多个进程和节点的同步写入突发,并在所有数据到达磁盘后报告交付的带宽。我们的方法旨在克服在共享硬件的生产环境中进行基准测试的挑战。在写路径的各个阶段中没有监控;因此,我们设计运行以将流量集中在特定阶段以测量其性能行为。性能对位置很敏感,但我们无法控制运行的计算节点:系统此外,运行会受到竞争流量和其他我们无法预见或检测的瞬态系统条件的干扰和噪声的影响[21]。为了克服干扰噪声,我们获得了跨计算节点,存储目标,时间间隔和其他瞬时系统条件的样本的测量分布每个实验都是一组IOR作业,测量在某些条件下单个参数对传输带宽的影响这些参数包括计算节点的数量(N); OST的数量(T);作业脚本的参数,例如每个客户端的核心数量;或IOR基准的参数,例如突发大小。图6描绘了实验的结构生产型超级计算机的输出瓶颈特性二十六:ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月图六、 基准层次。 每个实验在不同时间产生不同参数的结果,这些参数在客户端、服务器和目标上都不同,并与第4节中的箱线图相关联。每个IOR执行都是在N个计算节点和T个存储目标(OST)的样本上进行的实验的一个实例N个计算节点由系统调度器分配,并且T个OST被选择为具有随机选择的起始OST的OST序列。因此,在该实例中,其计算节点和OST的ID是已知的。实例中的每个进程发出单个写入突发。突发是单个POSIX写系统调用,或者如果突发大小超过单个写的最大1 GB,则是写系统调用的循环来自每个进程的突发使用MPI屏障与其他进程同步,然后是fsync,它会阻塞,直到突发中的所有写入完成。对于每个实例,我们报告完整突发的交付性能(第4节)。我们还记录每个节点-目标对的传输开始和结束时间,以评估组件随时间的性能(第5节)。循环执行的顺序称为轮。每个回合在一个值范围内改变单个参数,为回合中的每个实例选择不同的值一些实验执行称为实例组的轮序列,在值序列中改变每个轮的这种方法使我们能够探索突发大小与其他参数的相互作用每个实验的结果都是从一系列运行中收集的,不同的客户端节点选择实验的每次运行都是相同的轮(或实例组)序列每次运行都作为作业提交给调度程序:作业调度程序选择计算节点,然后在整个运行过程中使用这些节点。时间上是分开的,例如,通过安排延迟,可能是几个小时或几天。我们观察到,泰坦上的流量往往在一次运行中变化不大,但在不同的运行中可能会有很大如果运行期间条件发生显著变化,则丢弃运行每个实验产生一组点,每个点给出针对一个实例测量的输出带宽。图4中的图使用box图来显示样本点的分位数分布和异常值的这些图报告了在相同数据上使用四种不同测量的输出带宽:带宽以每个客户端节点的MB/s为单位进行测量。聚合带宽(以MB/s为单位)是所有节点的带宽总和。有效带宽(EB)是每个节点的带宽,标准化为每个节点写入目标数量可达到的峰值带宽·······二十六:B. Xie等人ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月×图7.第一次会议。作为突发大小的函数的单个流水线的带宽此图显示单个核心上的单个进程在单个目标上写入单个文件的结果峰值带宽约为目标峰值饱和带宽的70%(图9)。其他结果(未显示)表明来自同一节点的更多客户端进程没有帮助:配置的写入管道不够深,无法让一个客户端从目标获得全部带宽有效聚合带宽(EAB)是聚合带宽,其归一化为可从每个实例写入的目标数量获得的峰值带宽。4钛上的输出吸收本节介绍Titan和Spider(Widow 1)上的脉冲吸收特性测量。该研究有助于理解实施的性能行为,并建立模型,预测输出吸收带宽作为各种参数设置的函数[38]。数据基于2013年1月至12月对Spider/Widow 1进行的测量(见表2)。每个实验有200次运行,每次运行3轮:它产生一个图形,其中多个箱形图沿x轴排列,每个箱形图对应于不同参数的每个值。在图中,每个箱形图包含600个点,这些点与使用第3节中介绍的方法进行的600轮(200 3)200次运行中的600个实例相关联。4.1管道效率第一个实验评估了来自单个客户端的写管道的效率:单个进程从单个客户端在单个核心上运行并写入单个目标(OST),作为突发大小的函数。图7给出了结果。理解箱线图。图7是用于报告每个实验结果的盒须图的代表。x轴显示了单个参数的值范围,该范围在实验实例中变化,如第3节所述。每个x值的箱形图报告了测量的输出带宽的分布,在y轴上给出。每个框的上边界和下边界是第25和第75百分位值(下四分位数Q1和上四分位数Q3)。每个框内的带表示中值。值Q3-Q1是四分位距或IQR;因此,50%的y值位于框内,IQR是框的高度。上须线和下须线覆盖盒外部的点,但须线的上边界和下边界不延伸到Q 3 + 1之外。5IQR和Q 1 − 1。5年IQR,·生产型超级计算机的输出瓶颈特性二十六:ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月图8.第八条。 目标饱和实验模板。多个客户端进程将同时输出突发(突发大小为64 MB、256 MB、1,024 MB)集中在单个OST上,以测量饱和时OST的峰值带宽。每个进程在OST上写入不同的文件分别所有超出此须状线范围的y值均为离群值,并绘制为单个点。图7显示单管道带宽对突发大小很敏感具体而言,对于单个流水线,较大的突发将更多的数据推送到流水线,更有效地使用流水线的I/O资源,并相应地提供更高的写入管道在写入突发为2 GB或更大时获得其最大总带宽在这些突发大小的情况下,流水线以全带宽运行足够长的时间,以支配填充和排空流水线的时间图7还显示,许多试验提供的带宽较低。结果显示,大量离群值偏低(占所有样本的3%-5%)。下一节显示,它们是由于Titan互连上的间歇性争用造成的。此外,我们从多核实验(未显示)中确定,在客户端上使用多个核没有帮助。在多核实验中,多个单线程IOR进程运行在同一客户端上,每个进程向单个目标上的单独文件发出单个输出突发,与MPI屏障同步。从客户端使用多个核心可以将交付的带宽最多提高5%。结论. 单管道实验结果表明,泰坦上输出管道的保守流量每个客户端-目标对最多八个未完成的RPC)阻止单个客户端获得目标的全部带宽。最近对异步日志的增强(参见[27])可能会延迟来自目标的RPC响应,需要大量未完成的RPC来实现有效的写流。4.2OST的写入带宽下一个实验使用多个客户端将写入集中在单个目标(OST)上,以测量目标饱和时的峰值带宽:OST饱和实验。该实验遵循图8中的模板,其中多个客户端(每个客户端一个进程)将并发突发写入同一目标,并与MPI屏障同步根据结果,我们在实践中将300 MB/s(第97.3百分位数)作为峰值OST带宽,尽管一些试验提供了接近目标的理想硬件带宽图9显示了不同客户端数量和三种不同突发大小的峰值目标带宽这表明目标带宽在4到16个客户端时饱和,并且在增加更多客户端时下降在其他实验中也观察到这种带宽下降(例如,4.3节中的服务器饱和实验和4.4节中的单节点实验)。我们的结论是二十六:B. Xie等人ACM Transactions on Storage,Vol.号154、第二十六条。出版日期:2020年1月图9.第九条。目标(OST)的写入带宽是客户端数量的函数对于每个固定数量的客户端,我们绘制了来自每个客户端的64 MB、256 MB和1,024 MB同步突发的观察到的目标带宽的分布(从左到右分别为红色、绿色和蓝色箱形图结果表明,来自适度数量的客户端的突发产生最高的带宽。 低端异常值随着客户端数量的增加而下降,这表明观察到的I/O争用发生在Titan中,而不是在SION或Spider上。这种下降与特定I/O阶段的资源争用有关:在资源饱和之后,这些阶段成为瓶颈,因此,在
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 电力电子系统建模与控制入门
- SQL数据库基础入门:发展历程与关键概念
- DC/DC变换器动态建模与控制方法解析
- 市***专有云IaaS服务:云主机与数据库解决方案
- 紫鸟数据魔方:跨境电商选品神器,助力爆款打造
- 电力电子技术:DC-DC变换器动态模型与控制
- 视觉与实用并重:跨境电商产品开发的六重价值策略
- VB.NET三层架构下的数据库应用程序开发
- 跨境电商产品开发:关键词策略与用户痛点挖掘
- VC-MFC数据库编程技巧与实现
- 亚马逊新品开发策略:选品与市场研究
- 数据库基础知识:从数据到Visual FoxPro应用
- 计算机专业实习经验与项目总结
- Sparkle家族轻量级加密与哈希:提升IoT设备数据安全性
- SQL数据库期末考试精选题与答案解析
- H3C规模数据融合:技术探讨与应用案例解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功