大规模存储基础设施对人工智能的要求。著名的美国斯坦福大学人工智能研究中心尼尔逊教授对 人工智能下了这样一个定义:“人工智能是关于知识的学科――怎样表示知识以及怎样获得知识并使用知识的科学。
”而另一个美国麻省理工学院的温斯顿教授认为:“人工智能就是研究如何使计算机去做过去只有人才能做的智能工作。”这些说法反映了人工智能学科的基本思想和基本内容。即人工智能是研究人类智能活动的规律,构造具有一定智能的人工系统,研究如何让计算机去完成以往需要人的 智力才能胜任的工作,也就是研究如何应用计算机的软 硬件来模拟人类某些智能行为的基本理论、方法和技术。
大规模的人工智能(AI)在容量和性能方面提高了存储基础设施的门槛。对于人工智能或机器学习(ML)环境,期望增长到数十个甚至数百TB的容量并不少见。尽管那些只提供全闪存阵列的供应商可能会宣称,这些环境实在太大而无法仅存储在全闪存的一层上。这些环境中的大多数(由于它们的并行性质)在硬盘的服务几乎与从闪存中获得的服务一样好。
要求1:高性能网络
人工智能/机器学习环境创建使用内部或直接连接存储(DAS)的计算服务器集群的情况并不少见。即使共享存储在使用可用容量和将工作负载更均匀地分配给计算节点方面效率更高,组织仍愿意牺牲这些效率来消除计算节点和共享存储创建之间的网络延迟。
NVMe光纤网络(NVMe-oF)是明确设计用于基于内存的存储设备(如闪存和非易失性内存的下一代网络。它提供的延迟几乎与DASNVMe相同。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:并行访问
并行访问意味着存储基础架构中的每个节点为人工智能/机器学习集群中的每个计算节点提供对其所需数据的直接访问。单个控制节点不会成为瓶颈。高水平的并行性对于人工智能/机器学习至关重要,因为可能需要同时访问存储池的计算节点数量众多。正是这种并行性使吞吐量能够使硬盘作为人工智能/机器学习存储基础设施中的组件而变得可行。并行文件系统几乎总是需要客户端或代理,但是与提供典型访问相比,该代理除了提供并行访问外,还通常需要较少的开销。
要求5:多种协议
尽管需要并行访问进行处理,但另一个要求是多协议访问,这对于将数据提取到存储基础架构中特别有用。许多人工智能和机器学习项目都从物联网(IoT)设备接收数据。这些设备通常需要与其附带的协议进行通信。许多设备通过SMB或NFS进行通信,少数设备使用S3。更重要的是,几乎没有人使用本机并行文件系统客户端。
要求6:高级元数据处理
人工智能/机器学习工作负载是元数据繁重的,尽管不是典型地因为它们使用像媒体和娱乐工作负载那样的丰富元数据而并非如此。元数据在人工智能/机器学习工作负载中的重要性来自其通用文件的数量。在大多数情况下,数十亿至数百PB的人工智能工作负载由数十亿个文件组成。这些文件中的每个文件都有元数据,就像其他工作负载一样,大部分IO事务都来自元数据。人工智能/机器学习存储基础结构必须管理元数据,以便即使文件数量增加,它也可以维持系统的性能。元数据需要在整个存储群集中进行分配,以便所有节点都可以参与其管理。供应商可能还会查看每个存储节点中闪存上的存储元数据,以确保系统始终响应。
结论
人工智能/机器学习工作负载与组织过去可能运行的任何其他工作负载从根本上不同。早期的人工智能/机器学习项目已经依靠DAS进行数据存储。问题在于直接连接存储(DAS)无法平均分配负载,这对于每个人工智能工作负载的GPU数量增加至关重要。此外,直接连接存储(DAS)的效率极低,复制和移动数据所花费的容量和时间上的浪费消除了廉价硬盘的价格优势。
人工智能的定义可以分为两部分,即“ 人工”和“ 智能”。“人工”比较好理解,争议性也不大。有时我们会要考虑什么是人力所能及制造的,或者人自身的智能程度有没有高到可以创造人工智能的地步,等等。但总的来说,“人工系统”就是通常意义下的人工系统。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何在 Java 中实现对正方形的缩放操作?(如何在Java中对正方形进行缩放操作)
- 如何正确使用 Java 的 join 方法?(java join方法怎么使用)
- Java 中 DecimalFormat 在哪些场景下使用较为合适?(Java DecimalFormat在哪里使用合适)
- 如何确保Redis客户端的安全性:实用技巧与最佳实践
- 在 JavaScript 中如何使用 parentNode?(javascript中的parentNode怎么用)
- 如何高效编码 Java Supplier 接口?(java supplier接口的高效编码技巧)
- 如何进行 Java NoSQL 查询优化?(java nosql查询优化怎样进行)
- Java 中 `equals()` 的核心究竟是什么?(java eques的核心是什么)
- Java代理模式的优缺点分别有哪些?(Java代理模式有哪些优缺点)
- 2024下半年北京软考成绩复查时间及流程