AI人工智能
人工智能蓬勃发展
2012年以后,得益于数据量的上涨、运算力的提升和机器学习新算法(深度学习)的出现,人工智能开始大爆发。人工智能广泛的采用深度学习来实现,目前大部分的深度学习算法研究都基于GPU架构的超算平台。GPU+人工智能算法在很多领域都取得了很好的应用效果,如信号处理、物理模拟、几何计算、数据挖掘和图像处理等领域。HPC和AI正走的越来越近。
数据存储的需求和挑战
机器学习是实现人工智能(AI)的一种方法,而深度学习又是实现机器学习的一种方法。由于高性能计算技术的发展,使得相比神经网络计算量更大的深度学习,能够在可以接受的时间内完成可以使用的深度学习模型。
深度学习软件在训练算法时,同时兼具计算密集型和I/O密集型两个特点,深度学习算法对于速度和规模的需求是相互促进的。为了达到更好的分类和识别效果,我们需要更多高质量的特征。这导致了深层神经网络模型往往具有大量的模型参数,非常复杂的特征抽取层,以及非常深的层次结构。大量的模型参数反过来对数据规模又提出了更高的要求以避免出现过拟合的问题(过拟合问题是指模型参数对训练数据拟合度非常高,但在测试数据上则没有很好效果)。
数据是深度学习的基础,也是实现人工智能的最底层土壤。深度学习对于存储和读取对存储也提出了非常高的挑战:
要点 |
详细需求 |
大容量 |
深度学习的训练需要非常多的数据参与训练,数据量越大,训练的模型更为精确。大型的数据集容量往往会达到几十TB甚至上百更甚至达到PB级别; |
性能 |
在GPU平台上,深度学习广泛的采用了并行算法,会有非常大的并发IO。需要底层并行文件系统,持续稳定的高带宽性能,并且可持续扩展到数十GB/s; |
字节锁 |
深度的学习的软件,Caffee、MxNet、TensorFlow、Torch等,都采用MPI进行并行的任务计算。字节粒度的锁,可以让多个进程同时编辑同一个文件,加速计算任务的进行; |
小文件 |
大部分的数据集都是由很多小的文件组成,比如图像识别领域,单张图片往往不大,但是一个数据集包含上百万甚至更多的图片。这种已经形成海量小文件场景。需要并行文件系统对海量小文件进行优化,同时基本很高的性能; |
数据安全性 |
研究的数据都是宝贵的,数据在存储中要避免因为服务器硬件出现故障或者网络故障的情况而数据丢失。并行文件系统需要有硬件冗余能力来保障数据安全性; |
业务连续性 |
即使出现存储设备宕机,也保障计算任务能够连续性运行以完成; |
扩展性 |
随着研究的进展,会有越来越多的数据参与计算。并行文件系统需要能够支撑不断扩展的计算能力对于存储读写性能和容量的需求; |
并行文件系统方案介绍
StarGFS并行文件系统是一个性能为中心,围绕简单易用、易安装以及易管理而设计的领先并行文件系统。具有高性能、高可靠、出众的小文件性能等诸多特点。StarGFS能很好的满足人工智能业务对于存储的超高性能需求。
出众的性能
StarGFS是以性能为中心,采用了集群架构设置,系统支持无上限的扩展,理论上能扩展到EB级别。单一集群承载上万台服务器。整个系统能提供上百GB/s的吞吐带宽。
表 1 StarGFS架构图
针对海量小文件高吞吐率、高效检索技术
深度学习场景具有很多图片和文件参与模型的训练,这些大量的图片和文档大小都比较小,一般都在10M以下并且数量巨大,大的模型甚至有上百万个文件。
StarGFS现有的多元数据服务器集群技术的基础上,结合高性能计算应用文件创建、访问以及目录结构特点,研制了多元数据服务器集群技术。在一套存储系统中可以根据用户生产系统中实际产生文件数量的规模对元数据服务器集群进行动态配置,整个存储系统中所有的元数据服务器同时参与文件的检索和定位工作,消除存储系统中元数据通道的瓶颈,同时还可以根据后续应用特点的变化和需求的增强,做到在线扩展元数据服务器,并且达到即插即用的效果。
同时StarGFS充分利用SSD的高IOPS特点,设计了SSD动态缓存技术,提升文件系统在海量小文件场景的IOPS/OPS。
创新小文件容器Container存储技术
目前,存储市场上大部分的存储系统在海量小文件的应用模式下,都存在吞吐率低,检索慢的问题,这个问题的本质原因是整个存储系统处理元数据的效率所导致的。海量的小文件导致了元数据数量也狠庞大,常见的文件系统无法快速的处理庞大的元数据。StarGFS创新采用了小文件容器Container聚合存储技术,将多个文件进行聚合存储。这样将多次的元数据操作整合成了一次,大大减少了元数据的操作量。十几倍的提升了小文件的读取效率。
表 2 小文件容器Container存储技术
数据安全
StarGFS支持N+M纠删码在保证系统高并发读写的前提下,还能通过纠删码保证节点级的冗余。能保证系统在数据安全性、高并发读写、高空间利用率三者皆得。
智能数据缓存技术
表 3 StarGFS多级缓存机制
高效的数据缓存技术能够帮助存储系统发挥更好的性能,提高计算任务的效率。StarGFS采用多级智能数据缓存技术来实现高效缓存。
StarGFS并行文件系统面向AI人工智能的融合部署方案
StarGFS支持根据业务系统实际情况灵活配置整合提供文件共享存储池。根据常见的人工智能场景,StarGFS支持按需配置以下几种存储池:
1,GPU服务器本地SSD存储池:
StarGFS支持融合部署在GPU服务器中,基于GPU服务器本地的SSD/SATA等存储资源,灵活构建一个并行文件系统存储池,提供给GPU服务器上运行的AI人工智能业务使用访问。即每台GPU服务器同时跑GPU计算,又作为存储资源的角色来实现配置。StarGFS基于NVME SSD优化的文件系统和RDMA技术,可以为人工智能业务提供超高的读写性能和极低的访问延迟。
2,CPU服务器本地SSD/SATA存储池:
StarGFS支持融合部署在CPU服务器中,基于CPU服务器本地的SSD/SATA等存储资源,灵活构建一个并行文件系统存储池,提供给CPU服务器上运行的计算业务使用访问。即每台服务器同时跑CPU计算,又作为存储资源的角色来实现配置。
3,独立存储节点构建独立的存储池:
StarGFS部署在独立的存储服务器中,构建一个独立的共享存储池,按需分配给对应的业务应用使用。
表 4 StarGFS多级部署方案
StarGFS存储和GPU/CPU计算融合部署方案的特点:
- 统一管理:多个存储池可实现统一管理监控、资源调度;
- 灵活迁移:数据按指定策略在不同存储池之间动态迁移;
- 融合存储:按需实现计算和存储融合、分离,满足弹性的需求;
- 安全可靠:存储池按需配置纠删码和副本冗余,消除单点故障;
- 超高性能:NVME、RDMA性能优化,小文件存储性能优化;