高性能计算技术、方案和行业全面解析(第2版)
读者朋友们好,今天给大家带来<高性能计算(HPC)技术、方案和行业全面解析(第二版)>电子书更新,从2017年发布第一版以来,一直收到读者朋友的好评,也有人拿着这本电子书用转换工具盗版,并在百度文库上高价兜售,有个叫“托起智慧城市的摇篮的店”用户在百度上卖出了98元的价格,还真有人买。
百度文库版权一直是个世纪难题,维权需盖章等材料,时间成本太高。希望读者朋友支持原创,而且原版价格更实惠(只收辛苦费)。电子书一直没有很好的版本保护方法,相信侵权者也是本号读者,希望不要跟随我更新的步伐,再次通过PDF转化软件,恶意删除文中本号出处和申明信息,侵权获利。
第二版更新的内容还比较多(大约80多页,本次调小了文章字体),包括HPC场景梳理和应用软件总结,并行环境数量(数学库、编译器和MPI等),并行编程知识和MPI-IO对并行文件优化;DDN方案更新,增加曙光超算方案和Dell EMC解决方案(NFS,BeeGFS,PixStor/ GPGS,Lustre和Isilon等),以及TOP500相关内容。
详细内容请大家参考微店电子书目录(点击“阅读原文”进店),购买过<高性能计算(HPC)技术、方案和行业全面解析>或微店全店铺技术资料打包(全)的读者,请在微店留言,免费获取更新下载地址。
今天跟大家分享一下,Dell EMC的BeeGFS高性能解决方案知识。
BeeGFS高性能方案面向高I/O,scratch存储解决方案场景。该解决方案的核心亮点是使用高速NVMe SSD,降低块层调度和排队带来的性能瓶颈,提供高的带宽和低延迟。BeeGFS同时支持高聚合I/O吞吐量。
管理服务器通过以太网连接到元数据和存储服务器。每个元数据和存储服务器都有两个InfiniBand链接,并通过以太网连接到内部专用网络。客户端具有一个InfiniBand链接,并通过以太网连接到内部专用接口。
BeeGFS体系结构包含四个主要服务: 管理服务:1台PowerEdgeR640 存储服务:5台PowerEdge R740xd 客户端服务:采用PowerEdgeC6420 元数据服务:1台PowerEdge R740xd,根据多路CPU内存访问方式,分NUMA 0区和NUMA 1区,避免多CPU带来的NUMA问题。
在BeeGFS中,除了客户端服务做为内核模块之外,管理,元数据和存储服务都是用户空间进程。BeeGFS存储解决方案的参考体系结构,映射到BeeGFS文件系统的常规体系结构。
每个BeeGFS文件系统或名称空间只有一个管理服务。管理服务是第一个需要设置的服务,系统配置的所有其他服务都需要在管理服务中注册。
PowerEdge R640用作管理服务器。运行管理服务(beegfs-mgmtd.service)和监视服务(beegfs-mon.service),监视服务使用时间序列数据库InfluxDB收集系统统计数据提供给用户,通过预定义的Grafana实现可视化数据,管理服务器配置6个300GB HDD(RAID 10)供为操作系统和InfluxDB存储数据。
BeeGFS客户端模块需要加载到需要访问BeeGFS文件系统的所有客户端服务器上。
当beegfs客户端被加载时,它将挂载在/etc/beegfs/beegfs-mounts.conf中定义的文件系统,并非基于/etc/ fstab配置。
像其他任何Linux服务一样,可通过服务启动脚本启动beegfs-client。系统更新将自动重新编译BeeGFS客户端模块。当客户端模块重新加载后,定义在beegfs-mounts.conf中的文件系统将被重新安装。
元数据服务是横向扩展服务,每个元数据服务都有一个确切的元数据目标(ST)来存储元数据。在元数据目标(MDT)上,BeeGFS为每个用户创建的文件创建一个元数据文件。BeeGFS元数据是按目录分布的。元数据服务向客户端提供数据条带化信息(Coordinate),并不参与文件打开/关闭数据访问。
PowerEdge R740xd用于元数据存储,24个Intel P4600 1.6TB NVMe驱动器。由于BeeGFS元数据对存储容量的需求非常小的,所以不使用专用元数据服务器,而只在NUMA0区域的12个驱动器用来承载MetaData Targets(MDTs),而NUMA区主机上的剩余的12个驱动器用来承载(STs)。
元数据服务:NUMA0区的驱动器配置将用于元数据,12个驱动器配置为6* RAID 1磁盘组,每组包括2个驱动器,每个驱动器均用作MDT。运行6个元数据服务,每个元数据服务处理一个MDT。
存储服务:NUMA1区剩余的12个存储驱动器,配置3* RAID 0磁盘组,每组4个驱动器。在NUMA 1区域上运行3个存储服务,对应3个ST。
因此,元数据服务器同时运行6个元数据目标和3个存储目标服务,具有6个MDT和3个ST。每个MDT是基于RAID 1配置的ext4文件系统,ST基于RAID 0中配置的XFS文件系统。
采用5台PowerEdge R740xd服务器。每个存储服务器被配置为用6*RAID 0组,每组4个驱动器,每台服务器6个STs(每个NUMA区3个)。
元数据服务一样,存储服务也是横向扩展服务。BeeGFS文件系统中可能有许多存储服务实例。但是,与元数据服务不同,每个存储服务可以有多个存储目标。存储服务存储条带化用户文件的内容,也称为数据块文件。
BeeGFS方案包含6个MDTs和33(3+30)个STs,5*存储服务器可提供211TB的原始容量和190TiB的可用容量。
TiB估算的可用容量=驱动器数*每个驱动器的容量TB x 0.99(文件系统开销)*(10^ 12/2 ^ 40)。
鉴于以下因素,选择RAID 0配置,而不是RAID 10作为存储目标。
使用dd命令创建一个块为1MiB的10GiB文件,测试IO写入性能,对于RAID 0设备,每个设备的平均速度约为5.1GB/s,而对于RAID10设备,平均的速度为3.4GB/s。
StorageBench基准测试显示,RAID 0配置的最大吞吐量为5.5 GB / s,而RAID 10配置的最大吞吐量为3.4 GB / s。类似于使用dd命令获得的结果。
RAID 10可将磁盘容量利用率降低50%,写入性能也可降低50%。使用RAID10是获得存储冗余方案成本昂贵。
NVMe驱动器价格昂贵,并且RAID 0配置性能最好。
英特尔P4600固态硬盘具备DWPD=3的可靠性,这意味着单盘每天可写4.8 TB的数据,支持未来5年数据量写入。
方案元数据和存储服务器都采用PowerEdgeR740xd,每个服务器配24*Intel P4600 1.6TB NVMe,2*Mellanox EDR适配器。
服务器内2个x16 NVMe桥接卡做为底板上的PCIe交换板,分别连接12*NVMe磁盘(驱动器为x4)和一个CPU, 在Non-Uniform MemoryAccess (NUMA),CPU访问本地内存效率更高, 24个磁盘中,为了优化性能和时延,将配置为使用特定的NUMA区域,每个NUMA区域可处理12个驱动器,关闭自动NUMA平衡。
同时,每个CPU连接到一个InfiniBand适配器,2张IB卡分别处理不同NUMA区域12块NVMe SSD,确保处理器在处理往返于NVMe驱动器的I /O请求处于负载均衡,以提供最佳性能。
测试工具Iozone,基准测试评估了顺序读取/写入吞吐量,随机读取/写入IOPS性能。
线程数从1个线程开始,以2的幂递增,直到1024个线程。BeeGFS的条带大小选择为2MB,条带数选择为3(默认4),测试最大程度地减少来自服务器以及BeeGFS客户端的缓存影响
顺序读写N:N(每个线程对一个文件或N个客户端对N个文件):1024个线程的峰值读取性能为132 GB/s,256个线程的峰值写入性能为121 GB/s。
顺序写和读:iozone -i 0 -i 1 -c -e -w -r 1m -I -s $ Size -t $Thread-+ n-+ m / path / to / threadlist
测试从4个线程到最多1024个线程的线程数进行,有操作都绕过缓冲区缓存并直接进入磁盘。BeeGFS的条带计数为3,块大小为2MB。IOzone使用4KiB请求大小。
随机读写N:N:512个线程处随机写入性能约360万IOPS,而随机读取在256个线程处达到约350万IOPS,IO请求增加时,读取性能上升(NVMe支持64K IO队列,每个队列支持64K命令,庞大的NVMe队列池提供更高IO并行性。
随机读取和写入:iozone -i 2 -w -c -O -I -r 4K -s $ Size -t $ Thread-+ n-+ m / path /to / threadlist
详细内容请大家参考微店电子书目录,购买过<高性能计算(HPC)技术、方案和行业全面解析>或微店全店铺技术资料打包(全)的读者,请在微店留言,免费获取更新下载地址。
转载申明:转载本号文章请注明作者和来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。
推荐阅读
更多架构相关技术知识总结请参考“架构师技术全联盟书店”相关电子书(35本技术资料打包汇总详情可通过“阅读原文”获取)。
全店内容持续更新,现下单“架构师技术全店打包汇总(全)”,后续可享全店内容更新“免费”赠阅,价格仅收188元(原总价270元)。
温馨提示:
扫描二维码关注公众号,点击阅读原文链接获取“架构师技术全店资料打包汇总(全)”电子书资料详情。