• 2020-04-03 10:00:09
  • 阅读(8616)
  • 评论(3)
  • 企业内部存储架构的展开和演进,是个长时刻连续的进程, IT规划人员有可能将人工智能(AI)视为未来几年才需求投入的改造工程。但是,AI大浪到来比幻想中更快,越来越多职业将运用AI推进事务的革新。另一方面,AI作业的负载不同于以往任何处理过的IT负载。AI作业负载具有全新的特色,它面临的是海量的非结构化数据集,需求极高的随机拜访功能,极低延时以及大规划存储容量。

    AI不只会发明全新的职业,而且还将从根本上改动现有安排事务展开的办法。IT规划人员需求当即开端着眼重视其存储根底架构是否现已为行将到来的AI浪潮做好了预备。

    AI对存储提出了怎样的要求?

    在答复现在有什么面向AI的存储处理计划时,咱们需求先了解一下,人工智能下的数据究竟有哪些特征,依据这些数据,究竟需求一个什么样的存储?咱们经过逐层剖析,将终究过滤出AI事务对存储的归纳诉求。

    海量非结构化数据存储

    AI事务中除了单个事务场景首要针对结构化数据进行剖析外(例如消费记载、买卖记载等危险操控、趋势猜测场景),大多数场景需求处理的对错结构化数据,例如图像辨认、语音辨认、自动驾驶等,这些场景一般运用的是深度学习的算法,有必要依靠海量图片、语音、视频的输入。

    多个AI核算节点需求同享拜访数据。因为AI架构需求运用到大规划的核算集群(GPU服务器),集群中的服务器拜访的数据来自一个一致的数据源,即一个同享的存储空间。这种同享拜访的数据有许多优点,它可以确保不同服务器上拜访数据的一致性,削减不同服务器上别离保存数据带来的数据冗余等。

    那么哪种接口能供给同享拜访?

    块存储,需求依靠上层的运用(例如Oracle RAC)完结协同、锁、会话的切换等机制,才干完结在多节点间同享块存储设备,因而不合适直接用于AI运用。

    能完结同享拜访的一般有目标存储和文件存储,从数据拜访的接口层面看,如同都能完结数据同享。但哪个接口更便利,咱们需求深化地看一下AI的上层运用结构怎样运用存储。咱们以AI生态中十分盛行的PyTorch为例,PyTorch在加载图片数据时,一般会调用以下程序:

    这便是最典型的Python直接拜访文件体系文件的open办法,所以很显着,PyTorch会默许经过文件接口拜访数据。假如需求经过其它存储接口调用ImageFolder,还需求为其编写特定的loader,这就增加了额定不必要的开发作业量。

    因而,从AI运用结构的视点看,文件接口是最友爱的存储拜访办法。

    读多写少,高吞吐,低延时

    AI数据特色是读多写少,要求高吞吐、低延时。深度学习进程练习中,需求对数据进行练习,以视觉辨认为例,它需求加载数千万张,乃至上亿张图片,针对图片运用卷积神经网络、ResNet等算法,生成辨认的模型。完结一轮练习后,为了削减图片输入次第的相关性对练习成果带来的影响,会将文件次第打乱之后,从头加载,练习多个次序(每个次序称之为epoch)。这就意味着每个epoch都需求依据新的次第加载数千万、上亿张图片。图片的读取速度,即延时,对完结练习进程的时刻长短会构成很大影响。

    前面说到,目标存储和文件存储都可以为GPU集群供给同享的数据拜访,那么哪个存储接口能供给更低的延时呢?业界抢先的国际水准的高功能目标存储,读延时约为9ms,而高功能文件体系延时一般为2-3ms,考虑到数亿张图片的n次加载,这个间隔会被扩大到严峻影响AI练习功率。

    从文件加载的视点看,高功能文件体系在延时特性上,也成为AI的首选。

    大文件、小文件,次第读、随机读混合场景。不同的事务类型所对应的数据具有不同特色,例如视觉辨认,一般处理的是100KB以下的小文件;语音辨认,大多数1MB以上的大文件,对这些独立的文件,选用的是次第读。而有的算法工程师,会将几十万、乃至千万个小文件聚组成一个数百GB,乃至TB等级的大文件,在每个epoch中,依据结构随机生成的序列,对这些大文件进行随机读。

    在无法猜测文件大孝IO类型的布景下,对杂乱IO特征的高功能支撑,也是AI事务对存储的需求。

    AI运用事务逐渐向Kubernetes容器渠道搬迁,数据拜访天然要让AI事务在容器渠道中最便利地运用。了解这一点十分简单,在事务单机运转的年代,数据放在直通到服务器的磁盘上,称之为DAS形式。到了事务运转在多物理机组成的集群年代,为了一致办理和便利运用数据,数据寄存在SAN阵列上。到云年代,数据跟着放到了云上,放到了合适云拜访的分布式存储、目标存储里。由此可见,数据总是需求经过事务拜访最便利的办法进行寄存和办理。那么到了容器年代、云原生年代,数据天然应该放到云原生运用拜访和办理最便利的存储上。

    运转渠道向公有云展开

    公有云成为AI事务更喜爱或首选的运转渠道,而公有云原生的存储计划更面向通用型运用,针对AI事务的高吞吐、低延时、大容量需求,存在必定短缺。AI事务大多具有必定的潮汐性,公有云弹性和按需付费的特性,再加上公有云高功能GPU服务器产品的老练及运用,使公有云的核算资源成为了AI事务降本增效的首眩而与AI事务相配套,具有前面所述特色的公有云存储计划,却依然缺失。近年来,咱们看到一些国外的存储厂商(例如NetApp、Qumulo、ElastiFile等),将其产品发布并运转在了公有云上,是公有云的原生存储产品和计划间隔用户特定事务运用诉求存在缺失的的印证和解读。相同,合适AI运用的存储计划在公有云上的落地,是处理AI在公有云进一步落地的最终一公里问题。

    现有哪些AI存储计划,能满意以上AI大规划运用的需求吗?

    数据直接存入GPU服务器的SSD,即DAS办法。这种办法能确保数据读取的高带宽、低延时,但是相较而言,缺陷草民电影网更为显着,即数据容量十分有限,与此同时,SSD或NVMe磁盘的功能无法被充分发挥(一般情况下,高功能NVMe的功能利用率缺乏50%),不同服务器间的SSD构成孤岛,数据冗余现象十分严峻。因而,这种办法在真实的AI事务实践中,极少被运用。

    同享的向上扩展(Scale-Up)的存储阵列是可用的同享处理计划中最常见的,也可能是最了解的计划。与DAS相同,同享的存储阵列也存在相似的缺陷,相对于传统的作业负载,AI的作业负载实践上会将这些缺陷露出得更快。最显着的是体系可以存储多少总数据? 大多数传统阵列体系每个体系简直只能增长到1 PB的存储,而且因为大多数AI大规划作业负载将需求数十PB的存储量,因而企业只能不断收购新的存储阵列,导致数据孤岛的发生。即便克服了容量应战,传统阵列存储也会构成功能问题。这些系一致般只能支撑有限数量的存储操控器,最常见的是两个操控器,而典型的AI作业负载是高度并行的,它很简单使小型操控器不堪重负。

    用户一般运用的是GlusterFS、CephFS、Lustre,开源分布式文件体系的首要问题是办理和运维的杂乱度。其次,GlusterFS、CephFS对海量小文件,及大规划、大容量布景下的功能难以确保。考虑到昂扬的GPU价格,假如在数据拜访上不能给予满足的支撑,GPU的投入产出比将大幅下降,这是AI运用的办理者们最不期望看到的。

    在目标存储上建立文件拜访接口网关。首要目标存储对随机写或追加写存在天然下风,会导致AI事务中呈现写操作时,不能很好支撑。其次,目标存储在读延时上的下风,经过文件拜访接口网关后,再一次被扩大。尽管经过预读或缓存的办法,可以将一部分数据加载到前端的SSD设备上,但这会带来以下几个问题:1)导致上层AI结构需求针对底层的特别架构进行适配,对结构具有侵略性,例如履行预读程序;2)会带来数据加载速度不均,在数据加载进程中,或前端SSD缓存不射中时,GPU利用率下降50%-70%。

    以上这些计划,仅从数据规划的可扩展性、拜访功能、AI渠道的通用性上剖析来看,都不是抱负的面向AI的存储计划。

    YRCloudFile具有的几大特性十分符合AI运用的归纳需求。

    经过剖析,咱们期望可以给AI事务的规划人员供给关于AI事务对存储实践需求的调查和洞见,协助客户在AI事务落地,供给AI存储产品的优化计划。AI将成为信息化工业革命后,再次改动国际的技能和方向,AI浪潮现已在不经意间来到咱们的身边,是时分考虑面向AI的新式存储了。

    来源:版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们会及时删除。

    16  收藏