准提童子 2020-04-20
存储基础设施采用人工智能技术提高了容量和性能方面的要求。对于采用人工智能或机器学习的存储环境来说,存储容量增长到几十TB甚至数百TB的情况并不少见。尽管提供全闪存阵列产品的供应商声称,这么庞大的数据无法全部存储在全闪存阵列上,但由于它们具有的并行性质,大多数存储环境从硬盘获得的服务几乎与从闪存获得的服务一样好。
要求1:高性能网络
对于人工智能/机器学习环境来说,创建使用内部部署或直接连接存储(DAS)的计算服务器集群的情况并不少见。即使共享存储在使用容量和将工作负载更均匀地分配给计算节点方面效率更高,很多组织仍然愿意牺牲这些效率来消除计算节点与共享存储之间创建的网络延迟。
NVMe光纤网络(NVMe-oF)是专门为基于内存的存储设备(如闪存和非易失性内存)设计的下一代网络。它提供的延迟几乎与DAS NVMe相同。NVMe的深度命令和队列深度使其也非常适合高度并行化的工作负载,并且人工智能/机器学习可能是所有工作负载中最为并行的技术。NVMe-oF是专门为内存存储而设计的,但它也是为人工智能/机器学习量身定制的。
要求2:共享存储
如果NVMe-oF可以解决计算与存储之间的延迟问题,那么它将启用第二个要求,即共享存储。通过NVMe-oF连接的共享存储解决方案,工作负载可以受益于共享存储的所有自然属性。首先,所有节点都可以访问所有数据,这意味着工作负载可以更均匀地分配其计算负载,这也意味着具有图形处理单元(GPU)的节点可以访问所有数据。由于GPU的价格比CPU贵得多,因此让GPU处理更多的负载是当务之急,而共享存储则使这一工作变得更加容易。
在衡量数十个甚至几百PB的工作负载容量需求时,存储效率的提高都可以节省大量成本。在具有用于每个计算节点的专用硬盘的集群中,IT团队无法轻松地将可用存储容量重新分配给集群中的其他节点。直接连接存储(DAS)模型中缺乏资源池,这也意味着组织无法有效使用制造商推向市场的大容量硬盘。现在,具有双重用途的节点(计算和存储)可能会安装12个或更多的16TB的闪存或18TB的硬盘,而单个节点可能无法有效使用。如果人工智能/机器学习存储体系结构从专用服务器中集中使用这些硬盘,则可以对其进行更精细的分配。人工智能/机器学习工作负载不仅需要扩展以满足容量需求,而且还必须可以直接访问存储节点以满足性能需求。
要求3:分层存储
鉴于人工智能/机器学习数据集的规模,分层存储几乎是必须的措施,因为配置数十PB的闪存设备太昂贵了。事实上,某些人工智能工作负载并不遵循80/20规则,在任何给定时间,80%的数据都是不活跃的。这些工作负载可以从100%休眠状态变为100%活跃状态。尽管如此,它们还是高度并行的,并且数百个性能较低的机械硬盘都可以同时满足工作负载的需求,因此应该可以提供这些工作负载所需的性能。如果没有,他们可以在当前网络技术允许的范围内尽快传送数据。
要求4:并行访问
并行访问意味着存储基础设施中的每个节点为人工智能/机器学习集群中的每个计算节点提供对其所需数据的直接访问。单个控制节点不会成为瓶颈。高级别的并行性对于人工智能/机器学习至关重要,因为可能需要同时访问存储池的计算节点数量众多。正是这种并行性使吞吐量能够使硬盘在人工智能/机器学习存储基础设施中成为一个组件。并行文件系统几乎总是需要客户端或代理,但是该代理除了提供并行访问之外,还经常需要比典型NFS协议更少的开销。
要求5 :多种协议
尽管需要并行访问进行处理,但另一个要求是多协议访问,这对于将数据提取到存储基础设施中特别有帮助。许多人工智能和机器学习项目都从物联网(IoT)设备接收数据,这些设备通常需要与其附带的协议进行通信。许多设备通过服务器消息块(SMB)或网络文件系统(NFS)进行通信,少数设备使用S3存储桶。更重要的是,几乎没有人使用原生并行文件系统客户端。
要求6 :高级元数据处理
人工智能/机器学习的工作负载是元数据繁重的负载,尽管通常不是因为它们像媒体和娱乐的工作负载那样使用丰富的元数据。元数据在人工智能/机器学习工作负载中的重要性来自其通用文件的数量。在大多数情况下,数十亿至数百PB的人工智能工作负载由数十亿个文件组成。这些文件中的每个文件都有元数据,就像其他工作负载一样,大部分IO事务都来自元数据。人工智能/机器学习存储基础设施必须管理元数据,以便即使文件数量增加,它也可以维持系统的性能。元数据需要在整个存储集群中进行分配,以便所有节点都可以参与其管理。供应商可能还会查看每个存储节点中闪存上的存储元数据,以确保系统始终能够响应。