CN110120915A - 高性能计算的三级成本效益分解和具有在线扩展灵活性的高容量存储器 - Google Patents
高性能计算的三级成本效益分解和具有在线扩展灵活性的高容量存储器 Download PDFInfo
- Publication number
- CN110120915A CN110120915A CN201910033394.3A CN201910033394A CN110120915A CN 110120915 A CN110120915 A CN 110120915A CN 201910033394 A CN201910033394 A CN 201910033394A CN 110120915 A CN110120915 A CN 110120915A
- Authority
- CN
- China
- Prior art keywords
- network
- storage
- calculate node
- routing
- nvmeof
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了用于从计算元件分解网络存储的***和方法。在一个实施例中,公开了一种***,包括:多个计算节点,被配置为接收由计算节点的一个或更多个处理单元进行处理的请求;多个存储头通过计算结构连接到计算节点,存储头被配置为管理对***存储的非易失性数据的访问;多个存储装置经由存储结构连接到存储头,每个存储装置被配置为响应于由存储头发出的请求访问存储在多个设备上的数据。
Description
本申请要求于2018年2月6日提交美国专利商标局、申请号为15889583、发明名称为“THREE-STAGE COST-EFFICIENT DISAGGREGATION FOR HIGH-PERFORMANCE COMPUTATION,HIGH-CAPACITY STORAGE WITH ONLINE EXPANSION FLEXIBILITY”的美国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
所公开的实施方式涉及网络计算***领域,特别是高度分布式和分解的网络计算***。
背景技术
随着计算机网络的发展,为客户端设备提供远程计算和存储的基于服务器的***应运而生,这些***初期采用的是服务器设备的形式,通常包括与客户端设备相同的组件(如中央处理器、存储等)和功能(如计算、存储等)。
随着网络数据量和流量的增加,一些增加服务器设备的处理能力和存储的改进方法不断涌现,另外,如前所述,一些通过添加更多服务器设备以解决负载压力的方法也相继出现。由于这些“垂直”扩展***面临着不断增加的流量的压力,一些***被设计成计算能力从存储能力分离“解耦(decouple)”的***。这种“解耦”***是基于计算需求和存储需求不对等的问题而创建的。例如,带有CPU和存储介质的设备可以花费小部分时间使用CPU,大部分时间访问存储介质。反之,在高密度计算的过程,服务器可以花费大部分时间使用CPU,而很少或者不访问存储装置。因此,计算和存储的处理并不是彼此绑定的。
为了解决上述问题,一种尝试是将服务器的计算组件与存储组件相互分离。这些解耦***然后通过计算机网络耦接计算组件和存储组件。通过这种方法,存储装置可以独立于计算组件进行操作,且每一组组件可以根据需要实现最优化。此外,计算容量和存储容量可以根据***的需求独立地按比例放大和缩小。
但是目前的网络需求开始对这种解耦架构产生压力。具体地,解耦***存储的数据越多,所需的容量就越大。当前***体系,存储装置需要在使用过程中不断升级,且所述存储装置的升级周期不能与CPU和存储器组件的升级周期同步。因此,会造成CPU、存储器以及驱动器被不必要地高频率地升级,这明显增加了采购、迁移、维护、部署等的成本。另一方面,如果服务器在开始时就配备有高容量存储装置,则会增加设备的CPU和内存的要求。考虑到单个驱动器的容量在最近几代中迅速增加的情况,一个存储节点中的总存储容量是巨大的,这意味着相当可观的前期费用。
目前***的另一个问题是网络流量的带宽。在目前***中,流量包括从计算节点到存储节点的流量以及存储节点之间的流量。通常,应保证来自计算节点的I/O请求在特定服务级别协议(SLA)的条款内完成。但是,当工作负载很高时,会发生网络带宽竞争,并且可能无法确保来自计算节点的流量具有足够的网络带宽。
发明内容
为解决目前***中存在的上述缺陷,本申请公开了一种从计算元件中分解网络存储的***和方法。该方法所公开的实施例描述了一种三级分解网络,多个无驱动计算节点和多个无驱动存储头(即,没有固态驱动器存储的计算设备)通过计算网络相互连接。存储头管理计算节点的数据访问以及管理存储集群所需的管理操作。存储集群包括通过存储网络连接到存储头的多个NVMeOF存储装置。计算节点和存储头设备不包括任何固态驱动器设备,并且在嵌入在网络接口卡内的NAND闪存装置上存储有一个操作***,从而实现设备尺寸最小化。由于网络高度分解,因此在这种三级设备之间存在多条流量路由。我们可以根据网络拥塞和带宽限制来对这些流量路由进行优先级排序并重新确定优先级。为了解决流量路由优先考虑的问题,本申请公开了一种优先考虑单个流量路由以确保计算密集型业务优先于存储装置管理业务和其他非关键业务的方法。
在一个实施例中,公开了一种***,在一个实施例中,公开了一种***,包括多个无驱动计算节点,其被配置为接收由计算节点的一个或更多个处理单元进行处理的请求;多个通过计算网络连接到计算节点的存储头;所述存储头用于管理***存储的非易失性数据的访问;以及多个通过存储网络连接到存储头的存储装置,每个存储装置被配置为响应于存储头发出的请求访问存储在多个设备上的数据。
在另一个实施例中,一种设备包括多个处理单元;网络接口卡(networkinterface card,NIC),通信地耦接到处理单元,网络接口卡包括一个NAND闪存装置,NAND闪存装置存储由处理单元执行的操作***。
在另一实施例中,公开了一种方法,所述方法包括:由一个网络交换机为分解的网络中的多个流量路由中的每一个路由分配最小带宽容限,该分解的网络包括多个计算节点、存储头、加权和网络交换机,由所述网络交换机根据流量路由优先级对每条流量路由进行加权;通过所述网络交换机对分解网络使用的当前带宽进行监控;如果当前带宽指示低或平均工作量,则由所述网络交换机根据加权分配未来分组;如果当前带宽指示高工作负载,则由所述网络交换机保证流量路由的子集的最小带宽,所述子集是基于包括一种计算节点的流量路由的起点或目的地而选择的。
附图说明
根据如附图中所示的实施例的以下描述,本公开的前述和其他目的,特征和优点将是显而易见的,其中附图标记在各个视图中指代相同的部分。附图不一定按比例绘制,而是将重点放在说明本公开的原理上。
图1是根据本公开的一些实施例的传统分布式计算***框图。
图2A是根据本公开的一些实施例的传统计算节点的框图。
图2B是根据本公开的一些实施例的传统存储节点的框图。
图3是根据本公开的一些实施例的三级分解网络架构的框图。
图4是根据本公开的一些实施例的计算节点或存储头设备的框图。
图5是根据本公开的一些实施例的NVMeOF存储装置的框图。
图6是根据本公开的一些实施例的通过三级分解网络架构的流量路由的流量图。
图7是根据本公开的一些实施例的用于确保三级分解网络架构中的服务质量的方法的流程图。
具体实施方式
下面结合附图和具体实施方式对本申请进行进一步的详细描述。但是本申请能够以很多不同于在此描述的其它方式来实施,因此,所涵盖或要求保护的主题旨在被解释为不限于本文所述的任何实施例;提供示例实施例仅用于说明。同时,要求保护或涵盖的主题的范围相当广泛。其中,例如,主题可以作为方法、设备、组件或***来体现。同样,实施例可以包括例如采用硬件、软件、固件或其任何组合的形式(除软件本身之外)。
在整个说明书和权利要求书中,术语可以具有超出明确陈述含义的上下文中暗示或暗示的细微差别。同样地,这里使用的短语“在一个实施例中”不一定是指相同的实施例,并且这里使用的短语“在另一个实施例中”不一定是指不同的实施例。例如,旨在要求保护的主题包括整个或部分示例实施例的组合。
通常,术语可以至少部分地从上下文中的使用来理解。例如,如本申请所使用的诸如“和”,“或”或“和/或”的术语可包括多种含义,这些含义可至少部分地取决于使用这些术语的上下文。通常,“或”如果用于关联列表(例如A,B或C),则意指A,B和C,此处表示包含性意思,以及A,B或C,此处表示择一的含义。另外,如本申请所使用的术语“一个或更多个”,至少部分地取决于上下文,可以用于以单数意义描述任何特征,结构或特征,或者可以用于描述特征,结构或多元意义上的特征的组合。类似地,诸如“一个”,或“该”之类的术语可以被理解为传达单个用法或传达复数用法,至少部分地取决于上下文。另外,术语“基于”可以被理解为不一定旨在传达一组排他性的因素,而是可以替代地,至少部分地取决于上下文,允许存在不一定明确描述的其他因素。
下面结合框图和方法以及设备的操作说明对本申请进行进一步的描述。应当理解,框图中的每个框或操作图示,以及框图中的每个框或操作图示的组合可以借助于模拟或数字硬件和计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机改变其在此详述的功能、专用计算机、ASIC或其他通过处理器或其他可编程数据执行指令的可编程数据处理装置,实现在框图或操作块或块中指定的功能/动作。计算机或其他可编程数据处理设备实现在框图或操作块或块中指定的功能/动作。在一些替代实施例中,框图中提到的功能/动作可以不按照操作说明中指出的顺序发生。例如,连续示出的两个框图实际上可以基本上同时执行,或者有时可以以相反的顺序执行,这取决于所涉及的功能/动作。
可以将这些计算机程序指令提供给以下处理器:以改变其功能为特殊目的通用计算机;专用电脑;ASIC;或其他可编程数字数据处理装置,使得通过计算机或其他可编程数据处理装置的处理器执行的指令实现在框图或操作块或块中指定的功能/动作,从而根据其转换成与本文的实施例所述的功能。
为了本公开的目的,计算机可读介质(或计算机可读存储介质/媒介)存储计算机数据,所述数据可包括可由计算机以机器可读的形式执行的计算机程序代码(或计算机可执行指令)。作为示例而非限制与此,计算机可读介质可包括计算机可读存储介质,用于有形或固定存储数据,或用于对包含代码的信号进行瞬时解释的通信介质。这里使用的计算机可读存储介质是指物理或有形存储(与信号相反),并且包括但不限于以用于有形存储信息的任何方法或技术实现的易失性和非易失性,可移动和不可移动介质。作为计算机可读指令,数据结构,程序模块或其他数据。计算机可读存储介质包括但不限于RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、DVD或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁存储装置、或任何其他物理或材料介质,可用于有形地存储所需信息或数据或指令,并且可由计算机或处理器访问
图1是根据本公开的一些实施例的传统分布式计算***的框图。
在一个实施例中,***(100)包括数据中心或其他基于网络的计算***。在一些实施例中,***(100)被部署为私有数据中心,而在其他实施例中,***(100)可以被部署为公共数据中心。在一些实施例中,***(100)提供基础设施即服务(IaaS)功能。
***(100)包括多个计算节点(102A-102D)。在一个实施例中,一个给定计算节点执行各种处理任务。例如,每个计算节点可以配备有网络接口以接收来自第三方或其他***的请求。每个计算节点包括一个或更多个处理器(例如,CPU、GPU、FPGA、ASIC芯片)和存储器。每个计算节点根据存储在计算节点上或以其他方式可由计算节点访问的软件或其他指令来执行任务。在一些实施例中,计算节点包括物理计算设备,而在其他实施例中,计算节点包括虚拟机。通常,计算节点(102A-102D)执行CPU或基于GPU的计算。然而,如下面将要讨论的,计算节点(102A-102D)不包括长期或非易失性存储器,因此必须在其他地方存储任何永久数据。计算节点(102A-102D)的内部结构在图2A中有更全面地描述,其公开内容全体皆引用作为本说明书的揭示內容。
每个计算节点(102A-102D)通过数据中心网络(104)与多个存储节点(106A-106D)相连接。数据中心网络(104)还包括一个物理和/或逻辑通信介质。例如,数据中心网络(104)可以包括以太网或允许双向数据通信的InfiniBand连接网络。在一些实施例中,数据中心网络(104)包括一个或更多个网络设备,例如交换机、服务器、路由器,以及其他以促进***(100)中部署的网络设备之间的数据通信的设备。
***(100)还包括多个存储节点(106A-106D)。在一个实施例中,存储节点(106A-106D)包括一个服务器设备,该服务器设备包括一个或更多个非易失性存储装置,诸如硬盘驱动器(hard-disk drives,HDD)或固态驱动器(solid-state drives,SSD)。或者,或与前述相结合,存储节点(106A-106D)可以包括虚拟机或虚拟逻辑单元号(LUN)。在一些实施例中,存储节点(106A-106D)的集合包括一个存储区域网络(SAN)或虚拟SAN。存储节点(106A-106D)的内部结构在图2B中有更全面地描述。其公开内容全体皆引用作为本说明书的揭示內容。
由于每个计算节点(102A-102D)不包括非易失性存储器,任何计算节点上的处理任务的存储必须被传输(通过数据中心网络(104))到存储节点(106A-106D),用以永久或另外非易失存储。为了使传输过程顺利进行,存储节点(106A-106D)中的所有驱动器被可视化为可由计算节点(102A-102D)访问的单个逻辑存储装置。在一些实施例中,由存储节点(106A-106D)存储的数据还可以被复制,以确保数据的一致性、高可用性和***可靠性。
***(100)中所述的计算节点和存储节点的分离提供了一种计算设备初级的分离。但是,这种计算和存储的分离是不完全的。现在的计算机***包括增量功能(如快照)、擦除编码、全局重复数据删除、压缩、全局缓存等特征,正变得越来越强大和复杂。因此对用于支持***(100)本身的计算节点(102A-102D)的计算能力的需求越来越大。换句话说,对存储节点内的计算容量的需求日益增强,并且存储节点的处理器必须足够强大。
图2A是根据本公开的一些实施例的传统计算节点的框图。
计算节点(102A)包括一个或更多个CPU核(202)。在一个实施例中,CPU核(202)可以使用商业现成的多核微处理器、片上***或其他处理设备。CPU核(202)中的核心数量可以是一个或多于一个,并且本公开不对核心数量进行限制。计算节点(102A)还包括多个双列直插式存储模块(dual in-line memory module,DIMM)插槽(204A-204F)。所述DIMM插槽(204A-204F)包括多个易失性存储器存储位置的插槽,用于存储应用程序以及如本领域中已知的CPU核(202)的处理结果。计算节点(102A)还包括一个网络接口(206),此网络接口可以包括以太网、InfiniBand或其他网络接口。NIC(206)接收从数据中心网络传送的处理请求和处理数据,以及通过代理从外部用户接收数据。
计算节点(102A)包括两个SSD装置:OS启动SSD(208)和缓存SSD(210)。在一个实施例中,OS启动SSD(208)用于存储操作***,诸如基于Linux的基于Windows的操作***。在一些实施例中,OS启动SSD(208)可以包括一个物理设备,或者可以包括一个较大SSD的分区。通常,OS启动SSD(208)专门用于存储操作***。
另外,计算节点(102A)还包括一个高速缓存SSD(210)。在一个实施例中,所述高速缓存SSD(210)包括一个独立SSD。或者,高速缓存SSD(210)可以包括对一个物理SSD的分区。通常,高速缓存SSD(210)存储CPU核(202)处理的数据。在该实施例中,高速缓存SSD(210)存储可以存储那些DIMM(204A-204F)提供的不完全适合存储空间的数据。在一些实施例中,高速缓存SSD(210)配置有预设容量以确保满足目标缓存命中率。与高速缓存SSD(210)相比,OS启动SSD(208)具有小得多的容量。
在一些实施例中,CPU核(202)的数量可以远远大于图2B中所述的存储节点中的核的数量。在一些实施例中,由于计算节点(102A)执行计算密集型任务,核的数量更大。在一些实施例中,相比存储节点中的核,CPU核(202)可以以更高的频率计时,以便增加计算节点(102A)的吞吐量。
图2B是根据本公开的一些实施例的传统存储节点的框图。
存储节点(106A)包括CPU核(202)、DIMM插槽(204A-204F)、NIC(206)和OS启动SSD(208)。这些组件与图2A中描述的一致。其公开内容全体皆引用作为本说明书的揭示內容。在一些实施例中,图2B中的OS启动SSD(208)可以存储一个用于管理SSD的供应商特定的操作***(212A-212D)。
存储节点(106A)不同于计算节点(102A),在于存储节点(106A)不包括高速缓存SSD(例如,210)。由于不需要如图2B所示CPU核(202)那样的计算强度,因此存储节点(106A)不使用高速缓存SSD。与图2A相反,存储节点(106A)包括多个SSD装置(212A-212D)。SSD装置(212A-212D)可以包括用于长期数据存储的高容量SSD驱动器。在所示实施例中,SSD装置(212A-212D)可以显著大于OS启动SSD(208)或高速缓存SSD(210)。
图3是根据本公开的一些实施例的三级分解网络架构的框图。
图3中示出的架构包括:无驱动计算节点(302A-302D)、计算网络(304)、存储头(306A-306D)、存储网络(308)以及NVMeOF(非易失性存储器快速网络)存储装置(310A-310F)。NVMoF存储是一种简化的工具,可以将用非易失性存储器快速(NVMe)协议编码的数据传输给高速网络(例如,以太网,InfiniBand)。
在所述***(300)中,无驱动计算节点(302A-302D)、存储头(306A-306D)以及非易失性存储器(Non-Volatile Memory express-over-Fabric,NVMeOF)设备(310A-310F)可以在***(300)内各自被分配唯一的因特网协议(IP)地址。无驱动计算节点(302A-302D)和存储头(306A-306D)的内部架构在图4A中有详细描述。在此通过引用将其全部内容并入本说明书保护范围。NVMeOF存储装置(310A-310F)的内部架构在图5中有详细描述。其公开内容全体皆引用作为本说明书的揭示內容。
由于为每个设备分配了独立的IP地址,因此计算流量和存储流量是分开的,并且每个设备独立处理计算或存储流量,而不会发生流量交错。因此,计算流量和存储流量可以依据起点和目的地的不同加以区分和分离。
在所示的体系结构中,无驱动计算节点(302A-302D)接收来自外部设备(未示出)的网络请求(例如,计算请求和其他CPU密集型任务的请求)。在所示实施例中,无驱动计算节点(302A-302D)可以执行许多与图1中讨论的计算节点相同的任务。
当一个给定计算节点(302A-302D)需要存储非易失性数据时,计算节点(302A-302D)通过计算网络(304)、存储头(306A-306D)和存储网络(308)将数据发送到NVMeOF存储装置(310A-310F)。计算网络(304)和存储网络(308)可以包括以太网,InfiniBand或其他类似网络。在一些实施例中,计算网络(304)和存储网络(308)可以包括相同的物理网络和/或相同的网络协议。在其他实施例中,计算网络(304)和存储网络(308)可以包括分离的网络类型。在一些实施例中,计算网络(304)和存储网络(308)可以包括一个单独的物理网络,并且可以仅在逻辑上相互分离。
如图所示,来自无驱动计算节点(302A-302D)的数据由存储头(306A-306D)的中间层管理。在所示实施例中,存储头(306A-306D)管理对NVMeOF存储装置(310A-310F)的所有访问。也就是说,存储头(306A-306D)控制从无驱动计算节点(302A-302D)到NVMeOF存储装置(310A-310F)的数据传输,反之亦然。存储头(306A-306D)可以例外地使用更高级别的接口,用于在NVMeOF存储装置(310A-310F)上执行维护操作。由存储头(306A-306D)管理的操作细节在本说明书中将做更详细地描述,这些操作的描述全体皆引用作为本说明书的揭示內容。
如上所述,加载在网络存储***上的计算负载继续增加并且是非平凡的负载(non-trivial load)。因此,为了管理NVMeOF存储装置(310A-310F)的操作,***(300)包括存储头(306A-306D)。在一些实施例中,存储头(306A-306D)可以在结构上类似于无驱动计算节点(302A-302D)。具体地,每个存储头(306A-306D)可以包括一个含有多核的处理设备,可选地以高频率计时。另外,存储头(306A-306D)不包括显著的非易失性存储。也就是说,存储头(306A-306D)实质上不包括任何SSD。
存储头(306A-306D)接收来自无驱动计算节点(302A-302D)的数据,将接收到的数据在NVMeOF存储装置(310A-310F)长期存储。当接收到无驱动计算节点(302A-302D)发出的数据之后,存储头(306A-306D)协调NVMeOF存储装置(310A-310F)的写入操作。另外,存储头(306A-306D)响应来自无驱动计算节点(302A-302D)的请求,协调NVMeOF存储装置(310A-310F)的读访问。另外,存储头(306A-306D)管理来自NVMeOF存储装置(310A-310F)的请求。例如,存储头(306A-306D)接收来自NVMeOF存储装置(310A-310F)的管理请求并处理NVMeOF存储装置(310A-310F)的维护操作,下面将对此展开更详细地讨论。
如上所述,存储网络(308)包括一个高速数据网络,用于向各种NVMeOF存储装置(310A-310F)提供单一接口。存储网络(308)可以包括以太网、InfiniBand或其他高速数据结构。在一些实施例中,存储网络(308)可以形成一个广域网络(wide area network,WAN),允许存储头(306A-306D)与NVMeOF存储装置(310A-310F)在地理学意义上相互分离。另外,计算网络(304)也可以形成一个WAN,允许无驱动计算节点(302A-30D)、存储头(306A-D)以及NVMeOF存储装置(310A-310F)发生完全的地理学意义上的分离。
***(300)包括多个NVMeOF存储装置(310A-310F)。在所述实施例中,一些NVMeOF存储装置(310E-310F)可以是可选的。通常,由于使用存储网络(308),NVMeOF存储装置(310A-310F)的数量可以独立于任何其他设备而增加或减少,其提供了一种基于NVMeOF存储装置集群的单一接口的观点(310A-310F)。在一个实施例中,存储头(306A-306D)和NVMeOF存储装置(310A-310F)之间通过存储网络(308)利用NVM Express(NVMe)协议或类似的数据协议进行通信。NVMeOF存储装置(310A-310F)可另外与其他NVMeOF存储装置(310A-310F)进行通信,而不需要存储头(306A-306D)的参与。这些通信可以包括通过直接复制、更新,以及经远程直接内存访问(remote direct memory access,RDMA)同步。
在一个实施例中,NVMeOF存储装置(310A-310F)主要将从存储头(306A-306D)接收的NVMe分组转换为PCIe分组。在一些实施例中,NVMeOF存储装置(310A-310F)包括简化的计算设备,其主要提供SSD存储和使用较低容量的处理元件(例如,具有较少核心和/或较低时钟频率的处理设备)。
在备选实施例中,***(300)另外包括NVMeOF存储器高速缓存(312A,312B)。在一个实施例中,NVMeOF存储器高速缓存(312A,312B)可以包括诸如图5中所示的计算设备。在一个实施例中,NVMeOF存储器高速缓存(312A,312B)类似于在图2A中描述的高速缓存SSD作为非易失性高速缓存SSD操作。与图2A相反,NVMeOF存储器高速缓存(312A,312B)提供的高速缓存被从无驱动计算节点(302A-302D)的内部体系结构中移除,并通过计算网络(304)与无驱动计算节点(302A-302D)相连接。用这种方式,无驱动计算节点(302A-302D)分享由NVMeOF存储器高速缓存(312A,312B)提供的高速缓存,而不是维护它们自己的高速缓存SSD。这种分解使由NVMeOF存储器高速缓存(312A,312B)提供的高速缓存与升级到无驱动计算节点(302A-302D)更加分离。也就是说,如果部分或全部无驱动计算节点(302A-302D)需要额外的高速缓存,则NVMeOF存储器高速缓存(312A,312B)可以被升级或扩展,而无驱动计算节点(302A-302D)仍然在线。
NVMeOF存储器高速缓存(312A,312B)主要用于高速缓存,不要求具有多个副本或擦除编码等强制执行的高可用性。因此,根据宽松的要求,NVMeOF存储器高速缓存(312A,312B)存储的数据如果需要可以随时被丢弃。通过碎片整理,相比于安装在各个计算节点中的高速缓存SSD,NVMeOF存储器高速缓存(312A,312B)的容量利用效率提高。也就是说,如果未均匀地使用单独的NVMeOF存储器高速缓存(312A,312B)容量,一部分NVMeOF存储器高速缓存(312A,312B)可能比其他一部分NVMeOF存储器高速缓存(312A,312B)更早地变满或耗尽。尽管在上下文中对NVMeOF设备进行了描述,但是任何合适的网络存储装置都可以被用来代替特定的NVMeOF协议-附属设备。
值得注意的是,使用图3中描绘的架构,与传统***诸如图1所示***相比具有许多优点。具体地,由于***中的SSD组件完全被从其他计算组件中移除,因此这些SSD组件可以密集地放置在数据中心中。数据传输距离更短,因此SSD之间或跨设备之间的数据传输速度更快。作为示例,由于所有SSD在地理上位于比图1所述的***更近的位置,复制一个给定SSD到一个SSD仅需要很短的距离。其次,计算节点和存储头可以被重新配置为例如服务器刀片。特别地,因为在每个设备中根本不需要SSD存储,一个给定的服务器刀片会包含更多的计算节点或存储头。相比于传统***,这种由于分解导致的压缩使得用于支持相同数量的计算节点所需要的空间更少。
图4是根据本公开的一些实施例的计算节点或存储头设备的框图。图4中所示的无驱动装置(400),如图3的描述中所述,可以用作计算节点或存储头。
无驱动设备(400)包括多个CPU核(402)。在一个实施例中,CPU核(402)可以使用商业现成的多核微处理器,片上***或其他处理设备。CPU核(402)核的数量可以是一个或多于一个,并且本公开不对核心数量进行限制。无驱动设备(400)另外包括多个DIMM插槽(404A-404F)。DIMM插槽(404A-404F)包括易失性存储器存储位置的槽,用于存储应用程序以及如本领域中已知的CPU核(402)的处理结果。
如图2A所示,无驱动设备(400)包括一个网络接口(406),所述网络接口(406)可以包括以太网,InfiniBand或其他网络接口卡。NIC(406)接收从数据中心网络发送的处理请求以及数据,或者通过代理接收从外部用户发送的数据。然而,NIC(406)还包括NAND闪存(408)。在一些实施例中,可以使用其他类型的闪存。
NAND闪存(408)用于存储操作***和将由CPU核(402)执行操作的任何附加软件。也就是说,NAND闪存(408)包括设备(400)中唯一的非易失性存储。在一个实施例中,NIC(406)包括安装在无驱动设备(400)内的网络卡(例如,作为刀片服务器的组件)。在该实施例中,NIC(406)被修改为包括直接在NIC(406)板上的NAND闪存(408)。
如上所述,现有的计算机***需要将SSD用于操作***并且将SSD用于高速缓存。如图3所述,通过使用NVMeOF存储器高速缓存,计算机***从计算节点中移除了两个SSD中的第一个。集成在NIC(406)上的NAND闪存(408)允许将仅剩余的第二个SSD从计算节点中移除。因此,计算节点(或存储头)变成一个比传统计算节点占用更少空间的“无驱动”计算设备。结果是,更多的计算节点或存储头可以被安装在与现有***相同形状的机架内,从而提高计算机***的处理能力,降低了计算机***的总成本。
图5是根据本公开的一些实施例的NVMeOF存储装置的框图。图5中所述NVMeOF存储装置(500)包括图3中所述的NVMeOF存储装置。
NVMeOF存储装置(500)包括一个处理元件,诸如NVMeOF片上***(system-on-a-chip,SoC)(502)。在一些实施例中,NVMeOF SoC(502)包括一个SoC设备,该SoC设备包括一个或更多个处理核、高速缓冲存储器、协处理器以及其他***设备,诸如以太网接口和PCIe控制器。NVMeOF SoC(502)还可以包括一个SSD控制器和一个NAND闪存。在一个实施例中,NAND闪存存储用于管理NVMeOF SoC(502)操作的任何操作***代码。
NVMeOF存储装置(500)还包括可选的可扩展DRAM模块(504A-504B)。在一个实施例中,通过NVMeOF SoC(502),DRAM模块(504A-504B)为处理操作提供临时/易失性存储。在一些实施例中,NVMeOF SoC(502)包括COTS SoC设备。在其他实施例中,取决于部署策略,NVMeOF SoC(502)可以包括一个ASIC或一个FPGA。在一些实施例中,DRAM模块(504A,504B)可以被丢弃,仅用NVMeOF SoC(502)上的高速缓冲存储器作为临时存储装置。在该实施例中,NVMeOF SoC(502)可选地使用SSD装置(508A-508E)其中之一作为一个在需要时提供虚拟存储的寻呼设备。
在所示实施例中,NVMeOF SoC(502)通过NVMeOF SoC(502)中的一个以太网控制器与两个物理以太网接口(506A,506B)连接。NVMeOF SoC(502)通过一个PCIe总线和包括在NVMeOF SoC(502)内的PCIe控制器与多个SSD(508A-508E)连接。在一个实施例中,NVMeOFSoC(502)将通过以太网接口(506A-506B)接收到的NVMe协议请求(和帧)转换为PCIe命令和请求,通过PCIe总线,发送给SSD(508A-508D)。
在一个实施例中,SSD(508A-508D)可以包括任何COTS SSD存储介质。在一个实施例中,所述NVMeOF存储装置(500)可以包括多个四分之一的SSD装置(508A-508D)。在该实施例中,可以在NVM SoC(502)和四个SSD装置之间使用一个单独的4通道PCIe 3.0总线。在该实施例中,给定SSD装置的读取吞吐量可以被限制为3GB/s。因此,一个4通道PCIe总线将为四个SSD装置提供12GB/s的吞吐量。在此示例中,因为接口支持12.5GB/s(100Gbit/s)的数据传输速率,所以仅需要一个100GbE接口。
作为第二示例,NVMeOF存储装置(500)可以包括八个SSD装置。在这种情况下,需要两个4通道PCIe 3.0总线,SSD的总吞吐量为24GB/s。在此示例中,因为组合接口将支持25GB/s的传输速率,需要两个100GbE接口。
可以看出,以太网接口、PCI总线,以及SSD的数量是线性相关的。具体地,所需的以太网接口的数量E满足等式E=ceil(S/4),其中S为SSD的数量,ceil为上限函数。为了优化设备的效率,SSD的数量应该选择四的倍数,以便最大化PCIe总线和以太网接口的使用。
如图所示和讨论的,NVMeOF存储装置(500)不同于如图2B所示传统的存储节点。首先,通过使用NVMeOF SoC(502),NVMeOF存储装置(500)不需要独立的SSD启动驱动器,因为NVMeOF SoC(502)包括所有操作***代码,用于发送从以太网接口(506A,506B)路由到SSD(508A-508E)的NVMe请求。NVMeOF存储装置(500)还包括多个以太网接口(506A,506B),以太网接口(506A,506B)的数量可以根据SSD的数量(508A-508E)决定。这种架构允许最大的SSD(508A-508E)数据吞吐量,而不会由标准微处理器引起瓶颈。
图6是根据本公开的一些实施例的通过三级分解网络架构的流量路由的流量图。
使用在图3所述的三级架构。***内的流量路由必然增加。图6示出了***操作期间的流量路由。如将在图7所述的,这些路由可用于对操作期间的流量进行优先级排序。图6中包括NVMeOF存储(310A-310F)、存储头(306A-306D)、无驱动计算节点(302A-302D)以及NVMeOF存储器高速缓存(312A-312B)。这些设备对应于图3中相同编号的设备。其描述全体皆引用作为本说明书的揭示內容。
路由(601)等同于一个第一路径,包括,存储集群中的NVMeOF存储装置之间的直接数据传输,诸如直接复制、更新以及经远程直接内存访问(remote direct memory access,RDMA)的同步。
第二路径(620)对应于NVMeOF存储装置(310A-310F)和存储头(306A-306D)之间的通信。该路由可包括两个分离的子路由。第一子路径(610)包括路由(602)和路由(603)。如前所述,该子路径可以用作经存储头(306A-306D)的NVMeOF存储装置(310A-310F)的管理。第二子路径(620)包括路由(602)、路由(603)、路由(604)和路由(605)。如前所述,所述第二子路径包括在无驱动计算节点(302A-302D)和NVMeOF存储(310A-310F)之间的数据读取和写入。
第三路径(630)包括路由(607)和路由(608)。该第三路径包括如前所述的无驱动计算节点(302A-302D)和NVMeOF存储器高速缓存(312A-312B)之间的高速缓存读取和写入。
因此,使用路由(601-607)的三条路径(601,610,620和630)被示出。这三条路由可能具有不同的优先级,以便管理和控制整个***中的流量,以用于计算流量和存储流量。如图所示,计算流量(路径620和630)和存储流量(路径601和610)共存于网络内。如上所述,虽然计算网络(路径)和存储网络(路径)可以通过独立的网络实现,所述网络也可以组合成一个单独的网络。例如,如果存储头和NVMeOF存储装置位于同一物理架构中,则两个网络的物理网络连接可以被连接到同一个架顶式交换机上。在该实施例中,存储流量的增加会降低***处理计算流量的能力。具体地说,当***上的工作负载很重并且存在多个密集的后端处理作业(回填、重新平衡、恢复等)时,提供网络的交换机可能会过载。因此,当在定义的响应时段内对计算节点的前端查询无法实现时,服务质量(quality of service,QoS)可能会受到影响。这种长延迟还会影响***实施的任何服务级别协议(SLA)的延迟统计信息。
如上所述,***中的每个设备被分配独立的IP地址。由于这种分配,***可以用优先级标记分组(包括源和目的地)以量化分组的重要性,从而允许交换机对共享的网络流量进行优先级排序。通常,后端流量(路径601和610)被分配较低的优先级,并且计算流量(路径620和630)被分配较高的优先级,使得较低优先级的流量产生较高优先级的流量。使用该方案,合理的带宽得以保证,以避免后端处理作业临时利用大量可用带宽,导致在计算节点上执行的前端应用程序的I/O挂起。用于执行该优先级排序的方法将在下面讨论。
图7示出根据本公开的一些实施例的用于确保三级分解网络架构中的服务质量的方法的流程图。
在步骤702中,该方法为每个流量路由分配最小带宽容限。
在一个实施例中,步骤702中讨论的流量路由对应于在图6中的描述。即,流量路由包括网络中的设备之间的路由,或者在路由601的情况下,包括一个自引用路由。在一些实施例中,在图7中所示的方法中使用的路由包括含有多个路由的各种路径。
在一个实施例中,最小带宽容限包括给定路由满足一个SLA的最小带宽。例如,包括计算流量路由的路由604和605可以被分配更高的带宽容限和维护路由601。类似地,由于高速缓存的暂时性,高速缓存路由606和607可以被分配给比路由604和605更低的带宽容限。
在一个实施例中,每个最小带宽容限可以表示为Bi,其中i对应于给定路由。同样,总带宽可以表示为Btotal。在此方案中,Btotal表示实施流量路由的整个结构的总可用带宽。在一个实施例中,Bi的值可以被设置为使得
其中n是网络中的路由总数。
在步骤704中,该方法基于路由优先级对每条路由进行加权。
如图6所示,每条路由可以具有一个基于由路由处理的流量类型和路由的起点和目的地的优先级。例如,路由602起源于NVMeOF存储装置并终止于存储头。因此,该路由对应于后端路由,可以被分配较低的优先级。相反,路由604和605分别包括计算节点作为源和目的地,因此对应于更高优先级的路由,因为该路由将处理计算流量。在一些实施例中,路由可以共享相同的优先级,而在其他实施例中,每个路由可以具有一个分散的优先级。
以下示例示出了示例性加权,其中权重的较高数值表示较高加权路由:
路由 | 起点 | 目的地 | 权重 |
601 | NVMeOF存储器 | NVMeOF存储器 | 1 |
602 | NVMeOF存储器 | 存储头 | 2 |
603 | 存储头 | NVMeOF存储器 | 2 |
604 | 计算节点 | 存储头 | 4 |
605 | 存储头 | 计算节点 | 4 |
606 | 计算节点 | NVMeOF存储器高速缓存 | 3 |
607 | NVMeOF存储器高速缓存 | 计算节点 | 3 |
表1
如果优先级不交叠,则可以使用另选的映射。
路由 | 起点 | 目的地 | 权重 |
601 | NVMeOF存储器 | NVMeOF存储器 | 1 |
602 | NVMeOF存储器 | 存储头 | 2 |
603 | 存储头 | NVMeOF存储器 | 3 |
604 | 计算节点 | 存储头 | 6 |
605 | 存储头 | 计算节点 | 7 |
606 | 计算节点 | NVMeOF存储器高速缓存 | 4 |
607 | NVMeOF存储器高速缓存 | 计算节点 | 5 |
表2
这里,可以将先前交叠的优先级分配给离散优先级。在一个实施例中,可以基于起点和目的地,对两个设备之间的相反方向上的两条路由做出区分优先级的决定。例如,由于数据是被传输到计算节点而不是由计算节点写入,因此路由605的优先级可以排在604之上。可以基于观察到的网络流量来定义每个路由的特定权重。
在步骤706中,该方法监视网络使用的带宽。
在一个实施例中,一个网络交换机(或交换机组)可以监视在网络上传输的流量和流量类型,并且可以随时确定网络流量占用的带宽。在一些实施例中,交换机可以基于观察到的流量模式来(例如,使用机器学***。
在步骤708中,该方法确定结构的当前带宽利用率。
在步骤710中,如果带宽当前正经历低工作负载或平均工作负载,则该方法根据权重来分配业务。
在步骤710中,网络不利用可用的整个带宽,可以基于每个路由的权重分配剩余的带宽。在一个实施例中,该方法检查输入分组并提取分组的起点和目的地以识别与分组相关联的路由(例如,使用表1或2)。在识别路由之后,该方法可以更新分组的QoS指示符(例如,IEEE802.1p字段)以对每个输入分组进行优先级排序。下面的表3示出了路由权重到802.1p优先级代码的示例性映射。
表3
尽管在802.1p进行了描述,由底层网络协议支持的任何优先权方案。
作为步骤710的一部分,该方法继续将分组路由到标识的目的地,进行步骤710中的分组的QoS标记。
在步骤712中,该方法保证高加权路由的最小带宽。在所示实施例中,在该方法确定网络正在经历高工作负载量之后执行步骤712。
在一个实施例中,步骤712可以与步骤710类似地执行,但是所选择的特定QoS标签将基于网络条件而变化。例如,该方法可以优先考虑计算流量分组,同时降低所有其他分组的QoS。例如,该方法可以按如下方式对未来流量进行优先级排序:
表4
在该示例中,后端流量(路由601-603)被分配给最低优先级,而访问存储头的计算流量被分配给最高相对优先级。类似地,计算流量到快速缓冲存储的流量被分配到第二高优先级。
在检测到高工作负荷之后重新分配优先级之后,该方法继续标记进入的分组。另外,该方法在步骤708继续监视工作负载。一旦该方法检测到工作负载已经返回到低或平均工作负载后,该方法在步骤710中基于权重重新确定路由的优先级。
出于本公开的目的,模块是软件、硬件或固件(或其组合)***、过程或功能或其组件,其执行或促进本文所述的过程,特征和/或功能(有或没有人类互动或增强)。模块可以包括子模块。模块的软件组件可以存储在计算机可读介质上以供处理器执行操作。模块可以是一个或更多个服务器的组成部分,或者被一个或更多个服务器加载和执行。可以将一个或更多个模块分组为一个引擎或一个应用程序。
本领域技术人员将认识到,本公开的方法和***可以以许多方式实现,并且因此不受前述示例性实施例和示例的限制。换句话说,由硬件和软件或固件的各种组合以及各个功能的单个或多个组件执行的功能元件可以被分布在客户端级别或服务器级别或两者之间的软件应用程序中。在这方面,本文描述的不同实施例的任何数量的特征可以组合成单个或多个实施例,并且可能存在具有少于或多于本文描述的所有特征的替代实施例。
功能也可以全部或部分地以现在已知或将要公开的方式存在于多个组件之间。因此,无数的软件/硬件/固件组合可以实现本说明书描述的功能、特征、接口以及本说明书所述的偏好。此外,本公开的范围涵盖用于执行所描述的特征和功能和接口的常规已知方式,以及可以对这里描述的硬件或软件或固件组件进行的那些变化和修改,如本领域技术人员现在和将来所理解的那样。
此外,作为示例提供了作为本公开中的流程图呈现和描述的方法的实施例,以便提供对该技术的更完整的理解。所公开的方法不限于这里给出的操作和逻辑流程。设想了替代实施例,其中改变了各种操作的顺序,并且其中被描述为较大操作的一部分的子操作是独立执行的。
虽然已经出于本公开的目的描述了各种实施例,但是不应本公开受限制于那些实施例。可以对上述元件和操作进行各种改变和修改,以获得保持在本公开中描述的***和过程的范围内的结果。
Claims (20)
1.一种***,该***包括:
多个计算节点,所述多个计算节点被配置为接收针对由所述多个计算节点的一个或更多个处理单元进行的处理的请求;
多个存储头,所述多个存储头通过计算网络连接到所述计算节点,所述多个存储头被配置为管理对由所述***存储的非易失性数据的访问;以及
多个存储装置,所述多个存储装置通过存储网络连接到所述多个存储头,每个存储装置被配置为响应于由所述多个存储头发出的请求来访问存储在多个设备上的数据。
2.根据权利要求1所述的***,该***还包括多个存储器高速缓存设备,所述多个存储器高速缓存设备经由所述计算网络通信地耦接到所述计算节点。
3.根据权利要求1所述的***,所述计算节点还包括通信地耦接到所述处理单元的网络接口卡NIC,所述NIC包括存储有由所述处理单元执行的操作***的NAND闪存装置。
4.根据权利要求3所述的***,所述存储头包括;
第二多个处理单元;以及
第二NIC,所述第二NIC通信地耦接到所述第二多个处理单元,所述第二NIC包括存储有由所述第二多个处理单元执行的第二操作***的第二NAND闪存装置。
5.根据权利要求1所述的***,所述存储装置包括:
处理元件;
多个通过PCIe总线连接到所述处理元件的存储装置;以及
连接到所述处理元件的一个或更多个以太网接口,所述一个或更多个以太网接口的数量与所述存储装置的数量是成线性比例的。
6.根据权利要求5所述的***,所述处理元件包括片上***SoC设备,所述SoC设备包括PCIe控制器。
7.根据权利要求6所述的***,所述SoC设备被配置为将经由所述一个或更多个以太网接口接收的NVM Express分组转换为一个或更多个PCIe分组。
8.根据权利要求1所述的***,所述多个计算节点、所述多个存储头和所述多个存储装置均被分配有唯一的因特网协议IP地址。
9.根据权利要求1所述的***,所述存储网络和所述计算网络包括单独的物理网络。
10.根据权利要求9所述的***,所述单独的物理网络包括至少一个交换机,所述至少一个交换机被配置为基于包括在分组中的起点和目的地对网络流量进行优先级排序。
11.根据权利要求10所述的***,所述交换机还被配置为基于检测到的网络带宽条件和分配给所述计算节点、所述存储头和所述存储装置各自之间的路由的权重来对分组进行优先级排序。
12.根据权利要求9所述的***,所述单独的物理网络包括以太网或InfiniBand网络。
13.根据权利要求1所述的***,所述存储头协调所述存储装置的管理操作。
14.根据权利要求1所述的***,所述存储装置在每个存储装置之间执行远程直接存储器访问RDMA操作。
15.根据权利要求1所述的***,每个所述计算节点被安装在单独的服务器刀片中。
16.一种装置,该装置包括:
多个处理单元;和
通信地耦接到所述多个处理单元的网络接口卡NIC,所述NIC包括NAND闪存装置,所述NAND闪存装置存储由所述处理单元执行的操作***。
17.一种方法,该方法包括以下步骤:
由网络交换机为分解网络中的多个流量路由中的每一个流量路由分配最小带宽容限,所述分解网络包括多个计算节点、存储头和存储装置;
由所述网络交换机根据流量路由优先级对每条流量路由进行加权;
由所述网络交换机监视由所述分解网络使用的当前带宽;
如果所述当前带宽指示低或平均工作负载,则由所述网络交换机根据所述加权来分配未来分组;以及
如果所述当前带宽指示高工作负载,则由所述网络交换机保证所述流量路由的子集的最小带宽,所述流量路由的所述子集是基于包括所述计算节点的路由的起点或目的地而选择的。
18.根据权利要求17所述的方法,所述分配最小带宽容限的步骤包括为每个流量路由分配最小带宽容限,使得所述最小带宽容限的总和不超过所述分解网络的总带宽。
19.根据权利要求17所述的方法,所述对每条流量路由进行加权的步骤包括为具有包括计算节点的起点或目的地的流量路由分配高优先级,为不具有包括计算节点的起点或目的地的流量路由分配低优先级。
20.根据权利要求17所述的方法,所述分配未来分组的步骤包括分配所述未来分组的服务质量等级。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/889583 | 2018-02-06 | ||
US15/889,583 | 2018-02-06 | ||
US15/889,583 US20190245924A1 (en) | 2018-02-06 | 2018-02-06 | Three-stage cost-efficient disaggregation for high-performance computation, high-capacity storage with online expansion flexibility |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110120915A true CN110120915A (zh) | 2019-08-13 |
CN110120915B CN110120915B (zh) | 2022-06-14 |
Family
ID=67477125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910033394.3A Active CN110120915B (zh) | 2018-02-06 | 2019-01-14 | 三级分解网络架构***、装置以及用于确保三级分解网络架构中的服务质量的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190245924A1 (zh) |
CN (1) | CN110120915B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11018444B2 (en) | 2018-03-09 | 2021-05-25 | Samsung Electronics Co., Ltd. | Multi-mode and/or multi-speed non-volatile memory (NVM) express (NVMe) over fabrics (NVMe-of) device |
JP7206920B2 (ja) * | 2019-01-08 | 2023-01-18 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
US20200136943A1 (en) * | 2019-12-27 | 2020-04-30 | Intel Corporation | Storage management in a data management platform for cloud-native workloads |
US11240308B2 (en) | 2020-03-16 | 2022-02-01 | Dell Products L.P. | Implicit discovery controller registration of non-volatile memory express (NVMe) elements in an NVME-over-fabrics (NVMe-oF) system |
US11163716B2 (en) | 2020-03-16 | 2021-11-02 | Dell Products L.P. | Discovery controller registration of non-volatile memory express (NVMe) elements in an NVMe-over-fabrics (NVMe-oF) system |
US11301398B2 (en) | 2020-03-16 | 2022-04-12 | Dell Products L.P. | Symbolic names for non-volatile memory express (NVMe™) elements in an NVMe™-over-fabrics (NVMe-oF™) system |
US11489921B2 (en) | 2020-03-16 | 2022-11-01 | Dell Products L.P. | Kickstart discovery controller connection command |
US11489723B2 (en) | 2020-03-16 | 2022-11-01 | Dell Products L.P. | Multicast domain name system (mDNS)-based pull registration |
US11237997B2 (en) * | 2020-03-16 | 2022-02-01 | Dell Products L.P. | Target driven zoning for ethernet in non-volatile memory express over-fabrics (NVMe-oF) environments |
US20200241927A1 (en) * | 2020-04-15 | 2020-07-30 | Intel Corporation | Storage transactions with predictable latency |
US11476934B1 (en) | 2020-06-30 | 2022-10-18 | Microsoft Technology Licensing, Llc | Sloping single point optical aggregation |
US11109122B1 (en) | 2020-06-30 | 2021-08-31 | Microsoft Technology Licensing, Llc | Using free-space optics to interconnect a plurality of computing nodes |
US11539453B2 (en) * | 2020-11-03 | 2022-12-27 | Microsoft Technology Licensing, Llc | Efficiently interconnecting a plurality of computing nodes to form a circuit-switched network |
US11832033B2 (en) | 2020-11-03 | 2023-11-28 | Microsoft Technology Licensing, Llc | Efficiently interconnecting computing nodes to enable use of high-radix network switches |
US11520518B2 (en) | 2021-03-06 | 2022-12-06 | Dell Products L.P. | Non-volatile memory express over fabric (NVMe-oF) zone subsets for packet-by-packet enforcement |
US11463521B2 (en) | 2021-03-06 | 2022-10-04 | Dell Products L.P. | Dynamic connectivity management through zone groups |
WO2023159652A1 (zh) * | 2022-02-28 | 2023-08-31 | 华为技术有限公司 | 一种ai***、内存访问控制方法及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140317206A1 (en) * | 2013-04-17 | 2014-10-23 | Apeiron Data Systems | Switched direct attached shared storage architecture |
US20150254003A1 (en) * | 2014-03-10 | 2015-09-10 | Futurewei Technologies, Inc. | Rdma-ssd dual-port unified memory and network controller |
US20160065422A1 (en) * | 2013-04-12 | 2016-03-03 | Extreme Networks | Bandwidth on demand in sdn networks |
CN105723338A (zh) * | 2013-11-12 | 2016-06-29 | 微软技术许可有限责任公司 | 构建虚拟主板和虚拟存储设备 |
US20170149897A1 (en) * | 2014-11-04 | 2017-05-25 | Pavilion Data Systems, Inc. | Non-volatile memory express over ethernet |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9483431B2 (en) * | 2013-04-17 | 2016-11-01 | Apeiron Data Systems | Method and apparatus for accessing multiple storage devices from multiple hosts without use of remote direct memory access (RDMA) |
US10452316B2 (en) * | 2013-04-17 | 2019-10-22 | Apeiron Data Systems | Switched direct attached shared storage architecture |
US9430412B2 (en) * | 2013-06-26 | 2016-08-30 | Cnex Labs, Inc. | NVM express controller for remote access of memory and I/O over Ethernet-type networks |
US9965185B2 (en) * | 2015-01-20 | 2018-05-08 | Ultrata, Llc | Utilization of a distributed index to provide object memory fabric coherency |
-
2018
- 2018-02-06 US US15/889,583 patent/US20190245924A1/en not_active Abandoned
-
2019
- 2019-01-14 CN CN201910033394.3A patent/CN110120915B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160065422A1 (en) * | 2013-04-12 | 2016-03-03 | Extreme Networks | Bandwidth on demand in sdn networks |
US20140317206A1 (en) * | 2013-04-17 | 2014-10-23 | Apeiron Data Systems | Switched direct attached shared storage architecture |
CN105723338A (zh) * | 2013-11-12 | 2016-06-29 | 微软技术许可有限责任公司 | 构建虚拟主板和虚拟存储设备 |
US20150254003A1 (en) * | 2014-03-10 | 2015-09-10 | Futurewei Technologies, Inc. | Rdma-ssd dual-port unified memory and network controller |
US20170149897A1 (en) * | 2014-11-04 | 2017-05-25 | Pavilion Data Systems, Inc. | Non-volatile memory express over ethernet |
Also Published As
Publication number | Publication date |
---|---|
US20190245924A1 (en) | 2019-08-08 |
CN110120915B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110120915A (zh) | 高性能计算的三级成本效益分解和具有在线扩展灵活性的高容量存储器 | |
US10728091B2 (en) | Topology-aware provisioning of hardware accelerator resources in a distributed environment | |
US11947798B2 (en) | Packet routing between memory devices and related apparatuses, methods, and memory systems | |
US8984085B2 (en) | Apparatus and method for controlling distributed memory cluster | |
CN109213437A (zh) | 分解的存储器资源的层的动态分配技术 | |
CN102985909B (zh) | 为良好分格的对象提供高扩展性网络存储的方法和设备 | |
US11652760B2 (en) | Packet processing system, method and device having reduced static power consumption | |
CN104219279A (zh) | 用于超大规模分布式处理应用的模块化架构的***和方法 | |
CN109684074A (zh) | 物理机资源分配方法及终端设备 | |
CA2872019A1 (en) | Pooling of memory resources across multiple nodes | |
CN108139882B (zh) | 针对网络装置实施阶层分布式链接列表的***及方法 | |
CN103080918A (zh) | 功率优化的中断传递 | |
CN104834484B (zh) | 基于嵌入式可编程逻辑阵列的数据处理***及处理方法 | |
CN102177551A (zh) | 与标准存储器模块管脚兼容的存储器模块中的独立可控制和可重新配置的虚拟存储器设备 | |
Xu et al. | Rethink the storage of virtual machine images in clouds | |
CN109145255A (zh) | 一种稀疏矩阵lu分解行更新的异构并行计算方法 | |
CN112148665B (zh) | 缓存的分配方法及装置 | |
CN104104621A (zh) | 一种基于非线性降维的虚拟网络资源动态自适应调节方法 | |
CN105302536A (zh) | MapReduce应用的相关参数的配置方法和装置 | |
CN110119405A (zh) | 分布式并行数据库资源管理方法 | |
CN116888579A (zh) | 分布式高速缓存管理 | |
JP2014186411A (ja) | 管理装置、情報処理システム、情報処理方法、及びプログラム | |
CN111459650A (zh) | 管理专用处理资源的存储器的方法、设备和计算机程序产品 | |
CN105808160B (zh) | 基于SSD的mpCache混合存储*** | |
CN104750614B (zh) | 用于管理存储器的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |