高性能计算技术、方案和行业全面解析(第2版)

架构师技术联盟

共 5218字,需浏览 11分钟

 · 2020-12-17



读者朋友们好,今天给大家带来<高性能计算(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吞吐量。

 
BeeGFS高性能解决方案参考架构
 

管理服务器通过以太网连接到元数据和存储服务器。每个元数据和存储服务器都有两个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年数据量写入。

 
BeeGFS高性能存储解决方案组网
 

方案元数据和存储服务器都采用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请求处于负载均衡,以提供最佳性能。

 

BeeGFS高性能存储解决方案软硬件配置
 
管理服务器
服务器
1个戴尔EMC PowerEdge R640
处理器
2个Intel Xeon Gold  5218 2.3 GHz,16核
内存
12个8GB DDR4 2666MT / s  DIMM-96GB
本地磁盘
6个300GB 15K RPM SAS  2.5英寸硬盘
RAID控制器
PERC H740P集成RAID控制器
带外管理
带Lifecycle Controller的iDRAC9 Enterprise
电源
双1100W电源设备
BIOS
2.2.11
操作系统
CentOS™7.6
内核版本
3.10.0-957.27.2.el7.x86_64
 
元数据和存储服务器
服务器
6个戴尔EMC PowerEdge R740xd
处理器
2个Intel Xeon Platinum  8268 CPU @ 2.90GHz,24核
内存
12 x 32GB DDR4 2933MT / s DIMM-384GB
BOSS卡
RAID  1中的2个240GB M.2 SATA SSD用于操作系统
本地驱动器
24个Dell Express Flash  NVMe P4600 1.6TB 2.5“ U.2
Mellanox  EDR卡
2个Mellanox ConnectX-5  EDR卡(插槽1和8)
带外管理
带Lifecycle Controller的iDRAC9 Enterprise
电源
双路2000W电源单元
 
客户端服务器
客户端
32个Dell EMC PowerEdge  C6420计算节点
BIOS
2.2.9
处理器
2个Intel Xeon Gold  6148 CPU @ 2.40GHz,每个处理器20个核
记忆
12 x 16GB DDR4 2666 MT / s DIMM-192GB
磁盘
2个120GB M.2 OS驱动器,RAID1配置
操作系统
红帽企业版Linux服务器7.6版
内核版本
3.10.0-957.el7.x86_64
互连线
1个Mellanox ConnectX-4  EDR卡
OFED版本
4.5-1.0.1.0
 
软件配置(元数据和存储服务器)
BIOS
2.2.11
CPLD
1.1.3
操作系统
CentOS  7.6
内核版本
3.10.0-957.el7.x86_64
iDRAC
3.34.34.34
系统管理工具
OpenManage服务器管理器9.3.0-407_A00
Mellanox  OFED
4.5-1.0.1.0
NVMe固态硬盘
QDV1DP13
英特尔®数据中心工具
3.0.19
BeeGFS
7.1.3
Grafana
6.3.2
InfluxDB
1.7.7
IOzone  Benchmark
3.487
 
BeeGFS高性能存储解决方案性能测试
 

测试工具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元)。



温馨提示:

扫描二维码关注公众号,点击阅读原文链接获取架构师技术全店资料打包汇总(全)电子书资料详情


浏览 60
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报