每当看到(dào)人工智能(也即AI),我们通常会(huì)想到机器人、自动化、图(tú)像(xiàng)语音或视频(pín)识别(bié)、算法等高大(dà)上的黑(hēi)科(kē)技。而对象存储则给(gěi)人(rén)一种低调、海量的感觉(jiào)。是什么原因,让这两者(zhě)相(xiàng)遇,并擦(cā)出了火花(huā)?
什(shí)么是对(duì)象存储?
对象存(cún)储是自包含(hán)、自愈合的(de)智能存储设备,具有容量大、速(sù)度快、扩展(zhǎn)灵活的特点。每(měi)一个对象(xiàng)除了存放数(shù)据本身之外,还存放了标识符和数据(jù)的元信息,例如创建(jiàn)的日期和时间,属主(zhǔ),大(dà)小,索引,保留周期(qī),QoS等。对象本身使得(dé)数据的组织得到了简化(huà),避免(miǎn)了传统存储文件目录树形结构的复杂。对象(xiàng)的存放(fàng)是(shì)扁平化地方式保(bǎo)存在bucket(桶)中的,变得(dé)更简单(dān)。而且对象的元信息,也方便(biàn)了检索。
拿(ná)生活(huó)中(zhōng)常见的例子来比(bǐ)喻,当图书(shū)馆(guǎn)购(gòu)进(jìn)新的纸质(zhì)书籍需要存(cún)放时(shí),需要按照(zhào)图书(shū)分类(lèi)法(fǎ)(按照图书的内容、形式、体裁和读者用(yòng)途等进行分类),清楚地知道(dào)大类(lèi)、子类和(hé)更详细的(de)分类,才(cái)能找(zhǎo)到合(hé)适的位置上架。文件存储(chǔ)的数据存放(fàng)就类似图书分门别类地存放,如(rú)下图(tú)。

类(lèi)比:文件存储的(de)数据存放(fàng)方式就像图书分类
当我们逛超(chāo)市需要(yào)存包的(de)时候,尽管有(yǒu)那么多储物柜,但是(shì)大家都觉(jiào)得存取包很简单(dān)。存的时候,按一下存包按键,啪的一声,一(yī)个柜子(zǐ)打开,同时你会得到(dào)包(bāo)含二维码的纸条,你把包放到柜子里,但是不用(yòng)记住柜(guì)子的位置和编号,潇洒的离开。当你取包的时(shí)候(hòu),你刷一下二维码,也是啪的一声,放包的柜子(zǐ)自动打开,所存物品唾手可得。对(duì)象存储(chǔ)的数据(jù)存放方式就和超市存取包很类似,存(cún)储对象的(de)标识符就相当于那个二维码。

类(lèi)比:对(duì)象存储的数据存放方式(shì)就像(xiàng)超市(shì)存包
下图是(shì)对象存(cún)储的一些特点。

对(duì)象存储特点
不(bú)过,我们需(xū)要注意的是,文件存(cún)储和对象存储有(yǒu)着(zhe)各(gè)自(zì)适用的场景。下图(tú)列(liè)出了分布式文件存储和分布(bù)式对象存储的区别:

分布式(shì)文(wén)件存储与分布式对象存储的区别
当文件数量级过亿的时候,文件目录树(shù)形结(jié)构会(huì)对数(shù)据的读写造成巨大(dà)的挑战,例如(rú)在(zài)linux中如果用ls查(chá)看文件,可(kě)能都要等待几十分(fèn)钟以上(shàng)。但是,量(liàng)级没有如(rú)此之大时,因为过去的使用习(xí)惯,以及(jí)相对(duì)成熟的生态(tài),使用文件(jiàn)存储还是(shì)不错(cuò)的选择(zé)。
如何避免错(cuò)误理解对(duì)象存储
当我们谈(tán)对象存储时,需要注(zhù)意讨论的是存储接口,还是(shì)内部数据组织形式。
1)实际(jì)上,讨论对象存储大多数是指存储接口,是否支持RestFul或S3,也即(jí)对象(xiàng)接口的形式来(lái)访(fǎng)问存储空间。
2)少数情况下,对象存储(chǔ)指存储设备的内部数(shù)据组织形式。在数据猛(měng)增的背(bèi)景(jǐng)下,越(yuè)来越多的存(cún)储设(shè)备内部采用对象存储的这种(zhǒng)内部数据组织形(xíng)式(shì)。例(lì)如VMwarevSAN,其实是是一种基于服务器端存储的共享分(fèn)布式对象存储系统,只不过存(cún)储接口主(zhǔ)要采(cǎi)用的(de)是SCSI方式;或者具备高可靠、高性能、高(gāo)安全和(hé)易管理的浪潮AS13000,如下图(tú)。

浪潮AS13000G5的对象存(cún)储功能
AI与(yǔ)对象存储
在许多人的印象(xiàng)中,AI需要大量的算(suàn)力(lì),是计算(suàn)密(mì)集型的典(diǎn)型(xíng)应用(yòng)。而对象存储大多时候(hòu)用于海量非结构化数据的(de)存(cún)放,备份归档,云存储、企业云(yún)盘(pán)、文档影像或视频的存(cún)储等(děng)。从存储特征来看,对象(xiàng)存储的(de)延迟可(kě)能(néng)较难满(mǎn)足AI的性能需求;从使用习惯(guàn)来(lái)看,大多数AI用户都(dōu)是采(cǎi)用文件接口。
实际上,有计算,就会有(yǒu)存储,只是或(huò)多或少,或快或慢(màn),或(huò)过(guò)渡或长(zhǎng)期(qī)保存的区别。
在微信公众号浪潮存(cún)储《2020:下一个(gè)十年,存储发展(zhǎn)的(de)趋势(shì)是(shì)什么(me)》上篇也即鉴往事(shì)篇(piān)一(yī)文中,曾提到:
AI所需存(cún)储,可以分为准备、训(xùn)练、推(tuī)理和归档(dàng)等阶段(duàn),每个阶(jiē)段(duàn)的IO特(tè)征不一样,对于存储的要求也不一样。例如,在推理(lǐ)阶段,IO的特征是(shì)读写混合,并且要求存储的延时低(dī),能快速响应。
下图列出了AI各个阶段的IO特征,及其对存储的要求。

AI各(gè)个阶段的(de)IO特征及存(cún)储需求(qiú)
综(zōng)合(hé)考虑用户使(shǐ)用习惯、性(xìng)价比、性(xìng)能和容量,如(rú)果能(néng)够取得一个平衡(héng)的(de)话,对象存储能够用在(zài)AI的多个不同阶段中,如提取、准备、训练、归档等。
NVIDIA收购SwiftStack用来做什么呢?
首先,我们来看(kàn)一(yī)下做为事实上的(de)标准的AWSS3,从骨子里说,它代(dài)表的对象存储,是一种在线的海(hǎi)量数据较低成本的存储方(fāng)式,适合(hé)跨地域读写;因此,虽然备份(fèn)归(guī)档是对象(xiàng)存储的使用场(chǎng)景之一,但只是做备份归档,其实是委屈了对象存储。
其次,对象存储的高并发,特别适(shì)合前端呈现(xiàn)分布式负载的场景(jǐng)。AI场景的使用,包括AI训练、AI推理,是由许许多多个(gè)任务(wù)并发进行的,任务(wù)与(yǔ)任务之间几(jǐ)乎(hū)没有数据的交互,因(yīn)此很少考虑存(cún)储通常要(yào)顾及的写一致(zhì)性。
因(yīn)此(cǐ),在我们看(kàn)来,NVIDIA收购SwiftStack或许(xǔ)有如下(xià)几个(gè)原因:
1)NVIDIA欲整合(hé)AI基础架构
NVIDIA是一个(gè)非常注重生态的公司,它的版(bǎn)图里应该不仅(jǐn)仅(jǐn)是计算(suàn)以及衍(yǎn)生(shēng)出来的(de)各个组(zǔ)件,从(cóng)近(jìn)两年的(de)动作来看,NVIDIA想整合整个AI基础架构。2019年(nián)3月(yuè)11日(rì)NVIDIA以69亿美(měi)元收购Mellanox;2020年3月6日宣布收购SwiftStack。
2)SwiftStack具(jù)备数据(jù)跨云管理和高(gāo)并发的优(yōu)势
据报道:"ManuvirDas表(biǎo)示,NVIDIA尤其喜欢SwiftStack的(de)1space技(jì)术,该技术可(kě)以为忙(máng)于(yú)处理(lǐ)缓存和分层等任务的(de)GPU助一臂(bì)之力。
SwiftStackV7于2019年发布,提供数PB的规(guī)模,可处(chù)理(lǐ)数千个worker节点同时访(fǎng)问(wèn)数据的任务。它提供了超过100GB/秒的吞吐速度,性能和(hé)容量都能实现线性(xìng)扩展。
1space是(shì)NVIDIA收购Swiftstack的主要原(yuán)因,这是一种文件连接(jiē)件,使(shǐ)云原生应用程序可以(yǐ)通过S3或Swift对象API访问本地(dì)数(shù)据(jù)或AWS数据,并可以确保不断向数据提供计算资源”
我个人认为,AI训练有个特点,它一(yī)次(cì)性将原始训练集的数据加载到(dào)计算节点的内(nèi)存或者SSD后,需要经(jīng)过一段较长的时间(也即计(jì)算或说训练),才会再次读取存(cún)储上的数据。因此,对(duì)象存储的延(yán)迟可能不会构成障碍(ài),这(zhè)一点可以(yǐ)通过(guò)高并发(fā)来弥补。
3)还可将SwiftStack用于数据提取(qǔ),或(huò)者数据归档阶段(duàn)。海量的数据,采用对象存(cún)储是一个不错(cuò)的选择。
4)维护原有(yǒu)使用(yòng)习惯
NVIDIA内部大量使用SwiftStack来存储数据,几(jǐ)年下来,习惯已经养成,而且猜测数据量也非常庞大。通过收购SwiftStack,以(yǐ)免(miǎn)未来受人制(zhì)肘,也是有(yǒu)可能(néng)的。
无论如(rú)何,对象存储在云计算和AI迅猛(měng)普及(jí)的情况下,一定会迎来它的(de)春天(tiān)。IDC中国SDS市(shì)场(chǎng)数据(jù)显示,2019年对象存储增长(zhǎng)率55.3%,是中(zhōng)国(guó)软件(jiàn)定义存储市(shì)场里增速快的细分领域。
在(zài)中国的对象存储市场中(zhōng),浪(làng)潮的AS13000做(zuò)出了贡(gòng)献。2019年,AS13000对象(xiàng)存储成功地在某银行(háng)(国(guó)内排名前15)总行的(de)影像系统中部署,并实现(xiàn)了同城容灾(zāi)功能。如(rú)下图(tú)所示:

浪潮AS13000对象存储的实际案例
浪潮分(fèn)布式存储在不(bú)断迭代的(de)过程中,除了前面提到的同城容灾之外,还开发了大(dà)量的其他高(gāo)级特性。一是小对象聚(jù)合。浪潮对象存储(chǔ)针对海量小文件场(chǎng)景(jǐng),通过小对象(xiàng)聚合,节(jiē)约HDD的磁盘(pán)IO,提升存(cún)储效率。二(èr)是读Cache加速(sù)。在(zài)卡口图片、AI计(jì)算场景,通过读(dú)Cache加速提升数据读(dú)取效率。三是元(yuán)数(shù)据检索。在存(cún)储系(xì)统内集成索引(yǐn)引擎,实(shí)现根(gēn)据(jù)对象元数据多条件模糊(hú)检索对象的(de)技术,有效(xiào)地提升了海量非(fēi)结构化数据(jù)中“大海捞针”的效率。四(sì)是企(qǐ)业级WORM,满(mǎn)足企业客户数(shù)据的法(fǎ)规性要(yào)求,结合应用特(tè)点,灵活设置宽(kuān)限期和(hé)保护(hù)期。此(cǐ)外,还有存储OS加(jiā)固、桶策略(luè)配置等等(děng)。
展望未来
受(shòu)“新冠疫情”影响(xiǎng),在线化、数字化、分散化、自动化(huà)等新形态新(xīn)模(mó)式,也对AI、大数据中心(含计算、存储、网(wǎng)络(luò)和安全)等的发展(zhǎn)提出了迫切的需(xū)求。
疫(yì)情趋势预测、风险预警、医疗资源(yuán)和物质的预测和调配,要做到快速(sù)、准确、科学(xué)的(de)判断(duàn),需要和AI结(jié)合。
另(lìng)外,非接(jiē)触的服(fú)务和工作、自动化(huà)、快速(sù)分析决策(cè)和响应的需求等,将(jiāng)会爆(bào)发。例如(rú),人(rén)脸识(shí)别(包(bāo)括(kuò)免摘口罩(zhào)的人脸识别)、AI辅(fǔ)助诊断、应急管理、安防监控、知识图谱、基因研究、医药研发、金融服(fú)务、智能配送、各行各(gè)业的(de)无人值守(例如零售)、物流运输、个人(rén)画像(xiàng)、轨迹(jì)追踪、舆情分析等(děng)等。
我们相信,作为新基建(jiàn)的一部分,包含AI和存储在内的信息(xī)基础设施将迎来(lái)更好更快的发展(zhǎn)。