分布式存储管理系统

2021-11-18 17:35甘兴龙许峰周剑辉
科学与生活 2021年20期

甘兴龙 许峰 周剑辉

摘要:为适应当前信息技术系统复杂度越来越高、数据处理量越来越大等需求,基于NoC(Network-on-Chip,片上网络)架构设计实现分布式存储多核系统被不断普及运用。与传统的基于总线的互连架构相比,该系统可以用较小的硬件资源消耗,实现更高的单位时间数据处理量。同时该系统可根据不同的应用灵活设定数据通信的優先级,提升了系统整体的数据吞吐量。通过将该系统运用于H.264视频解码的实验,可以验证得出应用NoC架构的分布式多核存储系统可以实现性能的极大提升。

关键词:片上网络(NoC);分布式存储;多核系统

当前新技术、新应用层出不穷的背后,体现着对高速率、大容量、高稳定性数据通信的要求。传统的单核系统已不能满足数据通信和处理要求,多核系统应运而生。多核处理器已经成为处理器的主流,并发展成为各种通信与媒体应用的主流处理平台。传统的基于总线的多核互连结构,随着微处理器核的数量的增加,在内存存取、大规模数据通信方面的固有缺陷暴露无遗。作为多核系统和嵌入式应用中异构系统片上通信的首选方案,一种新的体系架构片上网络应运而生。作为全新的片上通信方法,NoC有着显著优于传统总线式系统的性。基于互联网的NoC的研究和应用成为集成电路设计新的热点,半导体、集成电路厂商加大这方面的投入力度,各科研院校也成为NoC研究领域的生力军。同集中式系统相比,分布式系统潜在的优势是可以将工作负载分散到多核系统中,具有资源共享、并发性操作、子系统可异构、可扩展性和可分散控制等优点。多核间的通信是分布式系统中的核心技术之一,分布式系统间通信的效率是影响分布式多核系统性能的重要指标,而其中最为重要的就是数据在多核系统中的传递。当前大数据应用的特点决定了数据的传递和处理成为整个分布式系统的瓶颈。本文设计基于NoC架构的分布式存储多核系统,在充分利用NoC架构优点的同时,解决分布式系统在数据存储和处理中存在的问题,提出了针对分布式多核系统新的解决方案。

一、基于NoC架构的分布式存储系统架构

互连网络可以是静态的或是动态的,静态连接的特点是其连接关系是固定不变的,因此主要的缺点是系统扩展性不佳,不适合当前分布式系统的要求。而动态网络连接是当需要的时候才建立的,动态的网络互连又可以分为基于总线的和基于交换的,本设计基于NoC架构,因此是基于交换的动态连接。

关于分布式多核系统,片上网络定位为用于各个终端间传输数据的、可扩展的系统。NoC的核心思想是将网络技术应用于分布式多核系统中,NoC最为广泛的应用主要集中在微处理器系统和通信转换系统方面息。随着纳米半导体器件特征尺寸的不断缩小,引起人们对于传统的基于总线的片上互连架构的可靠性、信号完整性和QoS的极大关注。

片上网络将现代高速网络单元与基于包的路由协议结合,形成新的架构。基于Noc架构的设计融合了分布式系统与计算机网络的概念,互连架构使得通信模块间并行通信成为可能,由此带来数据通信带宽高、扩展性好、吞吐量大等优点,在一定程度上改善深/超深亚微米条件下信号传输线延迟等问题。

典型的分布式系统采用集中式存储的结构,数据在分布式系统采用传统的动态网络的方式进行,实现系统内的数据传递和处理平衡。其缺点是因为采用集中式的存储架构,对存储单元的读写操作不能并行处理,因此成为制约分布式系统整体性能的瓶颈。

针对集中式存储的缺陷,本设计提出基于NoC架构的分布式存储系统,分布式存储系统与集中式存储系统的最大区别在于将存储单元均衡地分配给各个子系统,因此可以实现对数据的并行操作,提升系统数据吞吐量,实现分布式系统性能的最优化如何实现图2所示的分布式存储系统,需要解决以下四个关键问题:一是分布式存储单元的有效管理;二是实现多核分布式系统数据传输吞吐量的平衡;三是更好地支持当前主流多核系统;四是支持不同类型数据在片上网络中的传输。

二、基于NoC架构的分布式存储系统设计

针对以上四个问题,设计了面向多核系统的分布式、自适应片上网络方案。在X-YRouting路由中,是按照维度依次进行路径的选择。网络中的路径被分为不同的维度(即现实中的方向),当数据包在网络中传输时,先按照某一个维度(X)进行传输,在这个维度上计算出数据包当前所在的节点与目标节点之间的距离,然后在这个维度上偏移适当距离达到在此维度上与目标节点一致,接着再按照另一个维度传输,同样达到在此维度上与目标节点保持一致,以此类推直到达到与目的地址在所有维度上完全相。确定性路由算法比较简单,在网络拥塞相对比较小的时候延迟不是很大,但是当网络拥塞比较严重的时候,确定性路由在网络中不会自动选择拥塞小的路径去路由,这样会使网络更加拥塞甚至堵塞。而自适应路由算法是即使已经指定了源节点和目标节点,还是可以根据当前网络的状况决定传输的路径。就是在自适应路由当中,路径的选择由源节点和目标节点以及当前的网络状况共同决定。

1)为提高多核系统数据传输吞度量平衡的问题,设计提出了自适应路由的解决方案。X-Y路由结构相比,设计中添加了DMM(DataManagementModule,内存管理模块)单元,自适应路由机制在路由选择的时候采集当前片网网络的状态信息和本节点的负载信息,并基于此,选择最佳的传输路径,因此能解决系统整体不平衡的缺陷。即使两个数据拥有相同的源地址和目的地址,但是它们传输的路径也可能完全不同。自适应路由可以根据网络状态随时调整数据包的传输路径,避免了网络拥塞,得到更高的网络带宽。

2)本设计采用了分布式的内存管理架构,通过设计DMM管理,实现分布式存储单元的分配与管理,相对集中式内存架构,整个内存被分为各个相对独立的部分而分属于不同的终端,实现数据传递、处理的并行性,提高了内存管理整体的吞吐率。

3)各终端的内存又可进一步细化为专属内存(Private)和共有(Shared)部分,整个系统内存可根据实际的需要实现灵活的划分、设置,使得数据传输、处理不再成为整个系统处理过程中的瓶颈。

4)对应不同应用的数据有不同的处理要求,不同类型的数据必然带来处理上不同的优先级。因此考虑在应用中将数据设置为RealTime和BestEffbrt两种,分别适应对数据实时性要求较高和实时性要求不高的应用场合,这也是本设计中的重点。RealTime类型在数据传输中优先级高,并且传输过程中不能间断,而BestEffort类型数据则可以利用RealTime传输的时间间隙实现数据传输。相同的RealTime和Besteffort类型数据具有相同的优先级,在数据传输过程中,内部采用轮询机制确认同等优先级数据的传输顺序。在本设计中的片上网络的接口部分,支持当前业界广泛使用的AMBA协议,实现对该类接口的无缝连接,在保证系统整体性能提升的同时,提高了实现该系统实际应用的可能性。

三、基于NoC架构的分布式存储系统实现与功能验证

系统实现与功能验证通过将本设计应用于实际中,并与未采用本设计的系统进行比较,验证性能是否得到优化。系统的实现基于FPGA平台,这样可以充分利用可编程逻辑器件的扩展性优点,而性能的验证基于H.264解码器。典型的H.264可以分为爛解码、反量化、反变换等子任务,子任务的形式符合分布式系统的定义,因此基于H.264功能单元划分子系统,并将原有的H.264解码器与本设计相融合—即基于NoC架构的分布式内存管理多核系统,实现子任务单元内和之间的数据处理平衡和最优化。整个系统由4个子系统构成,4个子系统分别完成H.264解码功能,实现任务的并行处理。每个子系统中又包含三个处理单元,分别实现H.264解码器中的子任务。内置的内存管理单元实现数据在子任务间的有效传递和处理。与集中式存储多核系统相比,分布式存储多核系统随着处理单元的增加性能将得到极大提升。

小结

本设计基于NoC架构,针对传统片上网络架构存在的内存管理不够高效、灵活性不高等缺陷,提出分布式内存管理架构,具有原创性。而面对传统确定性路由算法带来的片上网络架构数据处理平均吞吐量较低等问题,本设计提出的自适应路由机制具有很强的针对性。自适应路由机制在本设计中有两方面的考虑:首先,在端口路由选择时考虑网络状态的信息和本端口的负载信息,数据传输路径因此将根据实际情况发生相应变化,而非传统的确定性路由算法的路径一旦确认则不会改变,因而能做出最佳的选择,其最终目标是数据传输和处理在系统整体层面上变得更为平衡。其次,网络中数据的传递可根据不同的实时性要求设置优先级,保证实时性要求比较高的数据传递处于最高的优先级,因此在对实时性要求比较高的场合,具有特殊的优势。同时,本设计基于设计应用(H264解码)对系统进行性能验证,实际验证的结果显示该系统能极大地提升分布式系統性能。

参考文献:

[1]Benini,MicheliGD.NetworkonChqj:ANewSoCParadigm[J].IEEECon^uter,2018(7):70-71.

[2]DalfyWJ,TowelsB.RoutePackets,Notwires:On-Ch^)InterconnectionNetworks[J].InProc,oftheDesignAutomationConference,2019(2):648-649.

[3]AxelJantsch,HannuTenhunen.NetworksonCh^)[M].SwedenKluwerAcademicPublishers,2017:853-855.

[4] Dally W J,Towels B.Princ^le and Practices of Interconnection Networks [M]. San Mateo:Morgan KaufinanPublishes,2004:500-504.