◆孙 超
地震资料处理集群系统的设计与应用
◆孙 超
(中海油研究总院有限责任公司 北京 100028)
随着地震勘探采集技术精度和密度的不断提高,地震资料处理计算量和数据量迅速增加,对硬件资源的要求越来越高。如何将计算、存储、网络资源有效整合在一起,构建一套面向地震资料处理的集群系统成为难题。本文提出了一套地震资料处理集群的设计方案,重点介绍了服务器、存储、网络设备的选型以及集群管理系统,最后从性能和应用两方面对集群系统做了详细的测试。
地震资料处理;集群系统;并行计算;分布式存储
地震资料处理是利用计算机对野外采集的地震波数据进行复杂的数学运算,转换为可供地震解释的地质数据的过程,是地球物理勘探中重要的组成部分。随着地震勘探采集技术精度和密度的不断提高,勘探开发数据具备更高分辨率和保真度,这就带来数据量的迅速膨胀[1]。由于石油勘探工作以区块作为基本的作业单位,项目组往往会将尽可能多的区块数据加载至生产存储,同时为提高数据显示精度,研究人员还会利用特殊的处理方法产生大量临时的中间数据[2]。因此,根据地震资料处理的庞大的计算工作量以及海量的数据的应用特点,需要设计一套服务器及存储集群系统,从而满足地震处理科研生产的需要。
(1)高性能
集群系统是一个包括服务器、存储及交换机的复杂系统,其整体性能取决于计算、存储、网络交换的综合体现[3],在设计时一定要考虑到木桶原理,避免单一因素成为制约整体系统的瓶颈。所有计算节点均配备最新多核CPU,保证充足的计算能力;存储采用分布式架构及并行文件系统,满足高带宽、高IOPS应用的需求;计算、存储节点之间采用万兆光纤网络,保证通信密集型作业的数据交换效率。
(2)高安全
高安全主要体现为系统稳定性和数据安全性。
系统稳定性指集群系统的关键部件故障时不影响整体系统的运行,这就要求对管理节点、交换机、存储系统的电源、风扇、磁盘等硬件均做冗余配置;部署集群监控系统,实时掌握集群健康状态;部署远程管理工具,可迅速批量修复故障节点,统一分发配置等。
数据安全性指关键业务数据不丢失、不损坏,通过存储文件保护技术、快照技术以及远程复制备份技术,必要时可建立容灾备份系统以保障数据的安全性。
(3)易扩展
集群系统的一大优势就是高扩展性,一方面可根据业务需求随时新增计算节点和存储节点,即不影响应用的情况下扩展整个系统的计算和存储能力[4]。另一方面,随着时间的推移,也可对老旧设备进行分阶段更新换代,保证集群系统整体的高性能、高可靠性。
地震资料处理集群系统的总体架构包括刀片服务器为主的计算节点、机架式服务器为主的管理节点和I/O节点、分布式NAS存储系统以及管理网络和计算网络,如图1所示。
图1 总体架构示意图
1.3.1服务器
服务器是整套集群系统的核心,承担着集群管理和计算的任务。按照功能服务器可划分为计算节点、I/O节点和管理节点。
计算节点一般选用刀片服务器,刀片服务器具有体积小、成本低、易批量管理等优点。由于地震资料处理属于计算密集型应用,因此建议采用大内存(不低于256GB)、双路多核CPU(不少于10核);同时由于处理过程中会产生大量临时的中间文件,对IOPS有非常高的要求,SSD被认为是近年来存储领域最为重要的技术进步,打破了传统磁介质硬盘I/O性能在技术发展上与处理器和内存严重脱节的禁锢[5],因此建议配备大容量SSD作为缓存盘(不低于1TB)。
GPU的性能发挥与节点本地内存和本地硬盘性能密切相关。因此应根据项目大小、数据量多少和算法的复杂程度,综合确定计算节点的硬件配置[6]。
I/O节点和管理节点一般选用机架服务器,机架服务器具有稳定性高、扩展性强等优点。其中,I/O节点作为地震处理人员和计算节点交互的桥梁,处理人员不直接访问计算节点,而是通过IO节点使用软件、编辑作业以及发送交互作业等。由于地震处理软件中三维应用的增多,建议I/O节点配备高性能显卡,以满足三维显示及交互等需求;管理节点负责集群系统的用户管理、节点状态监控及管理等工作,管理节点对整个集群系统的健康状态十分重要,因此建议其各个配件均做高冗余配置,必要时可做双活服务,以确保关键服务持续、稳定运行。
1.3.2存储
针对地震资料处理高密度I/O、多应用共享数据的应用特点,建议采用分布式NAS存储系统。分布式NAS存储具有高并发读写访问、容量性能线性增长等优点,支持单一文件系统及NFS、CIFS、FTP等多种协议接口,可以满足地震资料处理的各种应用需求。元数据均匀分布在各个存储节点上,一方面消除单独的元数据节点访问瓶颈,另一方面也大大增强了数据的安全性[7]。
传统的硬盘RAID模式将数据存放在单节点的不同硬盘,当整个节点出现故障时,无法有效恢复数据。分布式NAS存储采用N+M的数据保护模式,其中,N为原始数据分片份数,M为冗余数据分片份数。在N+M模式下,最多可允许M块硬盘或M个节点故障,数据仍可正常访问,并支持自动恢复。
1.3.3网络
网络是集群系统的关键组成部分,针对地震资料处理高数据吞吐量、高密度数据交换的特点,以及集群系统远程管理维护的需求,设计两套相互独立的网络,第一是面向处理人员的万兆计算网络,第二是面向运维人员的千兆管理网络。
计算网络采用万兆光纤,主要用于地震数据的访问、传输和并行计算处理等;管理网络采用千兆铜缆,连接到各个服务器的远程管理接口(如HP的ILO、Dell的iDRAC),主要用于整个集群系统的日常维护管理等。两套网络彼此独立、互不影响。
1.3.4集群管理
集群系统中往往包含数百台服务器,因此必须搭建一套集群管理系统,通过管理网络将服务器的远程管理接口连接起来,实现服务器的远程控制,包括BIOS设置、RAID设置、操作系统安装、健康状态监控等功能[8]。
目前,一些成熟的集群管理软件(如HP CMU)支持服务器的系统配置映像克隆。运维人员在安装某一台服务器后,可以将其备份为模板,然后向剩余的同类型节点分发模板实现克隆。利用该技术可以方便地批量部署、管理集群节点,实现集群节点的标准化、规范化、统一化。
另外,集群管理软件还需实时监测集群的健康状态,包括服务器的网络连接状态、CPU及内存的使用率、关键服务状态等,并通过可视化的方式呈现给运维人员。当集群中的设备发生故障时,通过邮件、短信的方式发送告警通知运维人员,以便及时修复各种软硬件故障。
2.1.1测试环境
(1) 服务器:16个计算节点,单节点内存256 GB;
(2) 存储:10个存储节点;
(3) 测试工具:iozone。
2.1.2测试方法
每台服务器起10个线程,各节点分别读写512 GB大小文件(内存两倍,防止内存造成的测试误差)。
(1) 挂载测试目录
mount –t nfs –o noatime,nodiratime,nordirplus,vers=3,wsize=1048576,rsize=1048576,noacl,nocto,proto=tcp,async storage:/test /test
(2) 运行iozone
./iozone -i 0 -i 1 -r 1024k -s 50G -Recb iozonetest1.xls -t 160 -w -+n -+m nodelist -C |tee iozone1.log
2.1.3测试结果
存储读带宽为5.7GB/s,写带宽为5.3GB/s,可以看到网络带宽的利用率非常高,没有出现网络传输、I/O等瓶颈,整体性能表现良好,性能测试结果见图2。
使用Omega地震资料处理软件进行应用测试,选取某海域的一束300条地震测线,共约7TB数据的道集处理。使用集群13个计算节点(共计256核CPU)进行并行计算,使用效率见图3。可以看到所有计算节点CPU负载均衡,100%高负荷运转,应用情况良好。
图2 性能测试结果
图3 Omega软件测试结果
本文针对地震资料处理应用对高性能计算的需求,分别从设计原则、总体架构、硬件选型和集群管理等方面展开论述,提出了一套地震资料处理集群系统的设计与实现方案。最后使用iozone和Omega软件对集群系统进行了性能测试和应用测试,验证该集群系统在高性能计算方面的优势。
[1]刘建颖.高分辨率地震资料处理技术探讨[J].信息系统工程,2019(1):47.
[2]丁超逸.浅谈地震数据处理问题[J].中国化工贸易, 2015,7(33):440.
[3]金第,薛中州,杨俊.面向地震资料处理的集群系统设计与实现[J].计算机系统应用,2010,19(5):19-23.
[4]叶虹余,陈升义.集群系统在地震资料处理中的应用[J]. 电子技术与软件工程,2018(13):126-127.
[5]董玉敏,塔依尔·伊布拉音,关宇.石油地震资料处理系统中固态盘应用分析[J].信息技术,2013(1):132-135.
[6]张红杰,马迅飞,李华松,等.地震数据处理业务对高性能计算机需求分析及配置技术研究[J].信息系统工程, 2019 (6):156-157,159.
[7]张俊,马迅飞,张进铎,等.海量数据的分布式并行集群存储技术研究与应用[J].信息系统工程,2019(2):126-128.
[8]李家俊,付喜春,王昊,等. HP PC集群计算机系统集成解决方案[J].石油仪器,2008,22(6):83-85.