文章来源:头部科技

【导读】

「为什么说DAOS是为高算力匹配的高性能存储?」

高性能计算(High performance computing,缩写HPC)又名超算,即以超强算力解决数据密集型的各类科学问题。

早期的HPC主要用于解决国家级的、或重要基础学科里的科研项目难题,如美国在1960年代曾使用CDC超级计算机进行火箭设计等工作。而随着基于x86架构处理器的工业标准化集群的采用,HPC开始走向工业界,成为各行各业产品、技术和服务创新的强大驱动力。

如今,高性能计算的身影遍及众多行业且发挥着越来越关键的作用——金融如此,天气预测等工程行业如此,生命科学领域亦如此。

自基因测试普及和AlphaFold诞生后,生命科学产业迎来了跨越式的发展,高性能计算在转化医学和新药研发等领域的关键性驱动作用也愈发明显。如何优化计算和存储架构以构建聚焦于生物信息学应用的高性能计算平台,就成为了越来越多医疗及生命科学领域架构师们近年来关注的焦点。

为此,Science/AAAS联合英特尔(Intel)推出“架构师成长计划”第二季,并将第二期课程主题锁定《转化医学研究背景下的高性能计算平台》。本期课程邀请了瑞金医院国家转化医学中心大数据平台负责人吕纲、英特尔极限存储架构和开发首席工程师梁震、《大话存储》和《大话计算机》图书作者张冬共同参与及探讨,通过将前沿技术与产业场景和真实用例相结合,为相关领域的架构师们答疑解惑。

转化医学的发展离不开高性能计算平台的支持

转化医学的本质是基于多学科交叉合作推进基础医学研究与临床实践的更紧密结合,实现“从实验室到临床、再从临床到实验室”的更高效转化。之所以将行业案例聚焦转化医学,一方面因为其发展对整个医学界意义深远,另一方面是因为它的发展与进步离不开高性能计算平台的支持。

瑞金医院国家转化医学研究中心的全称是转化医学国家重大科技基础设施(上海),它是“十二五”期间国家重点规划的16项重大科技基础设施之一,也是国内首个集临床医学与基础研究于一体的大科学设施。[1]

据来自本中心的嘉宾讲师吕纲介绍:

转化医学与数据处理和分析息息相关,包含了生物信息的获取、加工、储存、分配、分析、解释等方方面面。

涉及的数据量庞大:每个文件大小可能达上百GB,例如,仅单个人类全基因组测序分析涉及的数据就可能高达870GB。如此体量的数据,就让数据处理速度变得更为关键。

为此,早在2017年,瑞金医院国家转化医学研究中心就已经开始着手打造一个集存、传、算、用(即:数据存储、数据传输、数据分析计算和数据的整合应用)为一体的定制化超算平台——ASTRA。

ASTRA平台:“存、传、算、用”全面优化

在本次课程中,吕纲介绍了ASTRA高性能计算平台的构建要旨。他指出,ASTRA高性能计算平台是一个围绕“存、传、算、用”进行了全面定制优化的平台。例如,平台将基因组学、转录组学、表观遗传学、药代动力学等不同类型的数据用不同的计算单元来处理,针对性地配置高密度计算节点、大内存等。

ASTRA平台现拥有4000个CPU计算核心,存储系统为总容量10PB的高性能并行文件存储系统,同时配备了200GB的HDR IB网卡以及15 PetaFLOPS的AI计算能力。在混合平台架构上,它同时采用了CPU和GPU的配置,不过基于实际应用的观察,CPU相比GPU,更适用于那些需要兼顾生产和科研的平台,ASTRA为此配备了至强® 可扩展处理器,以灵活地满足相关需求。

分布式存储系统是关键!DAOS成ASTRA平台冲击IO500幕后功臣

算力是高性能计算平台性能的基础,因此很多架构师在构建高性能计算平台过程中很可能会把重点放在算力上,但存储系统往往会限制平台充分发挥其性能,难以满足实时、高频和高效的数据访问和处理需求。而存储瓶颈不仅仅是生信领域面临的问题,也是当下各个领域的高性能计算平台都面临的普遍问题。

为了应对这一问题,ASTRA平台采用了创新的三层存储架构:

· 备份存储:保存使用频率低的大量科研项目原始数据;

· 常规并行文件系统(商用存储):保存分析已经结束但仍可能会被调用的项目数据;

· DAOS:保存正在使用或将要进行分析的热数据。

DAOS(Distributed Asynchronos Object Storage,分布式异步对象存储)是由英特尔开发的开源文件系统。与传统并行文件系统相比,DAOS的优势包括:随机的小I/O、metadata性能和mdtest性能全面占优;DAOS的非对齐I/O性能也很好,所以IOR hard write性能很好。

在存储系统大升级的助力下,ASTRA平台进行了实测——事实证明,DAOS的加持让ASTRA“如虎添翼”。2021年11月,ASTRA以持续85GB/s和2984 kIOP/s的成绩获得了2021年IO500排行榜十节点榜单的第八名,成为当时中国乃至全球生信领域唯一一个打进十节点榜单前十名的系统。

为更强计算匹配更快存储!DAOS应用远不止高性能计算

本期嘉宾、来自英特尔的讲师梁震为大家进一步介绍了DAOS:这是一个基于英特尔® 傲腾™ 持久内存的分布式异步存储系统,是高性能计算的有力支撑。

从体系结构来看,作为分布式的存储系统,DAOS将分散在各个节点上的存储整合成一个统一的名空间存储池,通过高速的网络导出给高性能计算、大数据或者AI的应用。

与在核心态实现的传统存储系统相比,其服务器端和客户端都在用户态设计和实现,这不仅能减轻I/O软件栈的开销,还便于用户部署与使用。

DAOS可提供高性能的存储服务,在处理读写I/O请求时,DAOS的时延在几十毫秒级别。同时,DAOS是一个可横向扩展的存储系统,可以提供十亿级别的IOPS和极高的I/O带宽。此外,DAOS的数据还能进行跨存储节点的replication,或多副本或纠错码。其数据存放的算法,也可以很好地匹配网络拓扑结构。

作为分布式存储,DAOS的每个对象都可以按照不同的方式分布到不同的存储节点上:

·第一种是做多副本,也就是把不同的副本存到不同的数据引擎中;

·第二种是纠错码,即将数据进行分割后计算纠错码,然后把分割后的数据块以及运算出的纠错码,分别存储到不同的数据引擎中;

·第三种则是对对象进行分片,即将对象的不同数据进行切分,分散到不同的数据引擎中,由此获得更大的数据容量和更大的存储带宽。

在应用领域方面,DAOS并不仅为高性能计算而设计,它还能很好的支持AI和大数据应用。与更注重写操作性能的高性能计算工作负载相比,AI和大数据工作负载对读的带宽和IOPS的要求更高,而DAOS在这方面做了很多优化。

首先,DAOS以字节寻址的傲腾™ 持久内存来存储元数据和小数据块,用NVMe SSD存储大数据块。这些存储介质使得DAOS对于随机读的支持更好,I/O时延也比传统的文件系统小得多;

其次,DAOS支持多副本,因此用户可以从任意一个副本读取所需的数据,从而提供更高的并发读带宽以及IOPS;

同时,DAOS已经与TensorFlow进行了整合,实现了基于DAOS的Python模块,让TensorFlow可以直接从DAOS的容器中加载数据,实现AI应用的加速;

此外,英特尔还在设计和实现WORM (Write Once Read Many)容器,从而实现对数据集而非文件或对象进行优化,从而来满足其他一些特定应用的需求;

最后,英特尔也在设计和实现DAOS Pipeline API,以实现将数据密集型处理移动到存储端从而来支持对AI应用的进一步优化。

圆桌对谈:DAOS——为更强算力匹配更快存储

交流碰撞火花,沟通启迪灵感,我们为每门专题课程都设置了对话环节,本期圆桌对话中,主持人张冬和两位嘉宾吕纲、梁震围绕“转化医学研究背景下的高性能计算平台”,进行了深入讨论。

其中,关于如何为更强算力匹配更快存储来满足生信领域对数据处理时效的需求,三位老师各自分享了一些观点及实践经历。

吕纲表示,生信大数据分析的场景非常复杂,它涉及到各种不同类型的计算——有计算密集型,比如药物分子动力学模拟、蛋白质结构预测和基因差异发现等,需要大规模的并行计算;有宏基因组的分析,则需要大内存环境。这些并行计算和I/O的压力都需要考虑在内。

在存储行业有着17年工作经验的张冬对存储架构有着较为深刻的理解,他表示,根据他的经验,确实当前不存在“一策万能”的存储系统,可以应对这两种I/O场景。例如,基于NAND介质的固态盘已经大规模部署了10年以上,尽管能满足大部分行业应用场景,但面对一些高IOPS、低时延的高性能计算场景,表现依然不够理想。

那要怎么破题呢?对于此现象,梁震从三个方面阐述了为什么此前的各类存储系统很难兼顾上述两种场景所需的性能:

第一,目前超算中心、数据中心已经大量使用了NVMe SSD,而传统的文件系统要使用这种NVMe SSD,就需要通过内核的块接口,通过NVMe内核的driver来进行I/O,同时在I/O的过程中首先要进行系统调用,然后经过各层的cache、memory copy、甚至需要在软件层对I/O进行聚合——这类软件开销在很大程度上会消耗存储产品的性能;

第二,上层的I/O中间件或应用需要把数据模型转换成文件,而这中间就有一个串化的过程,非常耗资源;

第三,传统的文件系统它要严格地遵守POSIX语义,也会产生很多开销。

那么,为什么说DAOS是为高算力匹配的高性能存储?它到底是如何助力高性能计算平台突破困扰其多年的存储瓶颈的?随着业务需求不断发展,DAOS如今又有了哪些更新?如欲了解更多精彩内容和技术细节,还请观看“架构师成长计划”第二季第二期的完整课程。

附录:

三位大咖为年轻的架构师们送出寄语

张冬:作为一名架构师,不仅要对技术细节有充分的掌握,而且最关键的一点,我觉得是要把整个系统在自己的大脑里面运行起来。

吕纲:我们大数据平台名为ASTRA,在拉丁文中是星星的意思。每个做高性能计算的人,都心系星辰大海,追求过程中纵有曲折,但坚持住就能达成。

梁震:开源软件是我们最好的老师,同时也是我们分享知识的最佳途径。

[1]https://www.shsmu.edu.cn/jswm/info/1037/12061.htm

点击下方链接,报名课程

架构师成长计划(第二季)—转化医学研究背景下的高性能计算平台