一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于资源分配的系统、方法和装置与流程

2021-10-27 14:17:00 来源:中国专利 TAG:美国 优先权 存储器 临时 题为

用于资源分配的系统、方法和装置
1.本技术要求于2020年5月28日提交的题为“利用新型高速缓存一致性连接扩展存储器访问(extending memory accesses with novel cache coherence connects)”的第63/031,508号美国临时申请的优先权和权益、于2020年5月28日提交的题为“用于计算效率的池式服务器存储器资源(pooling server memory resources for compute efficiency)”的第63/031,509号美国临时申请的优先权和权益、于2020年8月20日提交的题为“具有高速缓存一致性的存储器和服务器链接交换机领域的系统(system with cache

coherent memory and server

linking switch field)”的第63/068,054号美国临时申请的优先权和权益、以及于2020年7月28日提交的题为“具有新型互连的分解式存储器架构(disaggregated memory architecture with novel interconnects)”的第63/057,746号美国临时申请的优先权和权益,所述美国临时申请的全部内容通过引用包含于此。
技术领域
2.本公开总体涉及高速缓存一致性,更具体地,涉及用于用于资源分配的系统、方法和装置。


背景技术:

3.一些服务器系统可包括通过网络协议连接的服务器的集合。这样的系统中的每个服务器可包括处理资源(例如,处理器)和存储器资源(例如,系统存储器)。在一些情况下,一个服务器的处理资源访问另一服务器的存储器资源可以是有利的,并且在最小化任一服务器的处理资源的同时进行这种访问可以是有利的。
4.因此,需要一种用于管理包括一个或多个服务器的系统中的存储器资源的改进的系统和方法。
5.在本背景技术部分公开的以上信息仅用于增强对公开的背景技术的理解,因此,它可包含不构成现有技术的信息。


技术实现要素:

6.在各种实施例中,在此描述的内容包括用于资源分配的系统、方法和设备。在一些实施例中,描述了用于资源分配的方法。所述方法可包括:确定与第一集群中的至少一个第一装置相关联的参数的第一值;基于参数的第一值确定阈值;接收用于在第一装置处理工作负载的请求;确定与第二集群中的至少一个第二装置相关联的参数的第二值满足所述阈值;和响应于满足所述阈值,将工作负载的至少一部分路由到第二装置。
7.在各种实施例中,所述方法还可包括:确定与第二集群中的至少一个第二装置相关联的参数的第二值超过所述阈值,并且响应于超过所述阈值,将工作负载的至少一部分保持在第一装置处。在另一实施例中,第一集群或第二集群包括直连式存储器架构、池式存储器架构、分布式存储器架构或分解式存储器架构中的至少一个。在一些实施例中,直连式存储器架构包括存储级存储器(scm)装置、动态随机存取存储器(dram)装置和基于dram的
垂直nand装置中的至少一个。在另一实施例中,池式存储器架构包括高速缓存一致性加速器装置。在另一实施例中,分布式存储器架构包括与pcie互连连接的高速缓存一致性装置。在一些实施例中,分解式存储器架构包括机箱中的物理集群的存储器和加速器扩展。
8.在各种实施例中,所述方法还可包括:基于工作负载的预计存储器使用、第一值和第二值计算得分;和基于得分将工作负载的至少一部分路由到第二装置。在另一实施例中,高速缓存一致性协议包括cxl协议或genz协议中的至少一个,并且第一集群和第二集群经由pcie架构连接。在一个实施例中,资源包括存储器资源或计算资源中的至少一个。在另一实施例中,性能参数包括功率特性、每单位能量特性的性能、远程存储器容量和直接存储器容量中的至少一个。在一些实施例中,所述方法可包括至少将第二装置呈现给主机。
9.类似地,用于执行如上所述的基本相同或类似的操作的装置和系统进一步被公开。
10.因此,在此描述的主题的特定实施例可被实施,使得实现下面的优点中的一个或多个。降低网络延迟、提高网络稳定和操作数据传送速率,继而改善用户体检。降低与路由网络流量、网络维护、网络升级等相关联的成本。此外,在一些方面,公开的系统可用于降低网络上的装置的功耗和/或带宽,并且可用于增加装置之间通信的速度和/或效率。
附图说明
11.当考虑下面的附图理解本技术时,将更好地理解本技术的上述方面和其他方面,附图中相同的标号表示相似或相同的元件:
12.图1a是根据本公开的实施例的用于使用高速缓存一致性连接将存储器资源附接到计算资源的系统的框图;
13.图1b是根据本公开的实施例的采用扩展插槽适配器的用于使用高速缓存一致性连接将存储器资源附接到计算资源的系统的框图;
14.图1c是根据本公开的实施例的用于采用以太网架顶式(tor)交换机来聚合存储器的系统的框图;
15.图1d是根据本公开的实施例的采用以太网tor交换机和扩展插槽适配器的用于聚合存储器的系统的框图;
16.图1e是根据本公开的实施例的用于聚合存储器的系统的框图;
17.图1f是根据本公开的实施例的采用扩展插槽适配器的用于聚合存储器的系统的框图;
18.图1g是根据本公开的实施例的用于分解式服务器的系统的框图;
19.图2描绘了根据公开的示例实施例的代表性系统架构的示图,其中,公开的实施例的各方面可结合能够通信和配置结合图1a至图1g描述的各种服务器的管理计算实体进行操作。
20.图3a描绘了根据公开的示例实施例的代表性系统架构的第一示图,其中,公开的实施例的各方面可结合能够通信和配置结合图1a至图1g描述的各种服务器的管理计算实体进行操作。
21.图3b描绘了根据公开的示例实施例的代表性系统架构的第二示图,其中,公开的实施例的各方面可结合能够通信和配置结合图1a至图1g描述的各种服务器的管理计算实
体进行操作。
22.图3c描绘了根据公开的示例实施例的代表性系统架构的第三示图,其中,公开的实施例的各方面可结合能够通信和配置结合图1a至图1g描述的各种服务器的管理计算实体进行操作。
23.图3d描绘了根据公开的示例实施例的代表性系统架构的第四示图,其中,公开的实施例的各方面可结合能够通信和配置结合图1a至图1g描述的各种服务器的管理计算实体进行操作。
24.图4描绘了根据公开的示例实施例的可表征结合图1a至图1g描述的服务器的各方面的代表性参数表的示图,其中,管理计算实体基于参数表来配置各种服务器。
25.图5描绘了根据公开的示例实施例的代表性网络架构的示图,其中,公开的实施例的各方面可进行操作,包括管理计算实体可配置核心、边缘和移动边缘数据中心中的服务器的实施例。
26.图6描绘了根据公开的示例实施例的代表性网络架构的另一示图,其中,公开的实施例的各方面可进行操作,包括管理计算实体可配置核心、边缘和移动边缘数据中心中的服务器的实施例。
27.图7描绘了根据公开的示例实施例的代表性网络架构的另一示图,其中,公开的实施例的各方面可进行操作,包括管理计算实体可配置核心、边缘和移动边缘数据中心中的服务器的实施例。
28.图8描绘了根据公开的示例实施例的用于使用管理计算实体确定横跨不同服务器的工作负载的分布的有监督机器学习方法的示图。
29.图9描绘了根据公开的示例实施例的用于使用管理计算实体确定横跨不同服务器的工作负载的分布的无监督机器学习方法的示图。
30.图10示出可用于实践本公开的实施例的系统的示例示意图。
31.图11示出根据公开的示例实施例的管理计算实体的示例示意图。
32.图12示出根据公开的示例实施例的用户装置的示例示意图。
33.图13是根据公开的示例实施例的操作公开的系统以确定横跨一个或多个网络集群的工作负载分布的示例性方法1300的图示。
34.图14是根据公开的示例实施例的操作公开的系统以确定横跨一个或多个网络集群的附加工作负载分布的示例性方法1400的图示。
35.图15是根据公开的示例实施例的操作公开的系统以确定横跨一个或多个网络架构集群的工作负载的分布的示例性方法1500的图示。
36.图16a是根据公开的示例实施例的用于通过网络架构将工作负载路由到核心数据中心和一个或多个边缘数据中心的一个或多个集群的公开的系统的示例性方法1600的图示。
37.图16b是根据公开的示例实施例的用于通过网络架构将工作负载路由到核心数据中心和一个或多个边缘数据中心的一个或多个集群的公开的系统的另一示例性方法1601的图示。
38.虽然本技术易于进行各种修改和替代形式,但是本技术的具体实施例在附图中以示例的方式示出并且将在此进行描述。附图可不按比例。然而,应当理解,附图及其详细描
述不意在将本技术限制于公开的特定形式,而是相反,意图在于覆盖落入由所附权利要求限定的本技术的精神和范围内的所有修改、等同物和替代物。
具体实施方式
39.在附图和下面的描述中阐述了在此描述的主题的一个或多个实施例的细节。根据说明书、附图和权利要求书,主题的其他特征、方面和优点将变得清楚。
40.现在将在下文中参照附图更全面地描述本公开的各种实施例,在附图中示出了一些但不是所有实施例。实际上,公开可以以许多不同的形式实施,并且不应被解释为限于在此阐述的实施例;相反,提供这些实施例使得本公开将满足适用的法律要求。除非另外指示,否则术语“或”在此以可选和结合的含义使用。术语“说明性”和“示例”用作不指示质量水平的示例。相同的标号始终表示相同的元件。每个图中的箭头描绘了双向数据流和/或双向数据流能力。术语“路径”、“通路”和“路线”在此可互换使用。
41.本公开的实施例可以以各种方式实现,包括包含制造品的计算机程序产品。计算机程序产品可包括存储应用、程序、程序组件、脚本、源代码、程序代码、目标代码、字节代码、编译代码、解释代码、机器代码、可执行指令等(在此也称为可执行指令、用于执行的指令、计算机程序产品、程序代码和/或在此可互换使用的类似术语)的非暂时性计算机可读存储介质。这样的非暂时性计算机可读存储介质包括所有计算机可读介质(包括易失性和非易失性介质)。
42.在一个实施例中,非易失性计算机可读存储介质可包括软盘、柔性盘、硬盘、固态存储装置(sss)(例如,固态驱动器(ssd))、固态卡(ssc)、固态组件(ssm)、企业级闪存驱动器、磁带或任何其他非暂时性磁介质等。非易失性计算机可读存储介质还可包括穿孔卡、纸带、光学标记片材(或具有孔图案或其他光学可识别标记的任何其他物理介质)、光盘只读存储器(cd

rom)、可重写光盘(cd

rw)、数字通用盘(dvd)、蓝光盘(bd)、任何其他非暂时性光学介质等。这样的非易失性计算机可读存储介质还可包括只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪存(例如,串行、nand、nor等)、多媒体存储卡(mmc)、安全数字(sd)存储卡、智能媒体(smart media)卡、紧凑式闪存(cf)卡、记忆棒等。此外,非易失性计算机可读存储介质还可包括导电桥接式随机存取存储器(cbram)、相变随机存取存储器(pram)、铁电随机存取存储器(feram)、非易失性随机存取存储器(nvram)、磁阻随机存取存储器(mram)、电阻式随机存取存储器(rram)、硅

氧化物

氮化物

氧化物

硅存储器(sonos)、浮动结栅极随机存取存储器(fjgram)、millipede存储器、赛道存储器(racetrack memory)等。
43.在一个实施例中,易失性计算机可读存储介质可包括随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、快速页模式动态随机存取存储器(fpm dram)、扩展数据输出动态随机存取存储器(edo dram)、同步动态随机存取存储器(sdram)、双倍数据速率同步动态随机存取存储器(ddr sdram)、双倍数据速率二型同步动态随机存取存储器(ddr2 sdram)、双倍数据速率三型同步动态随机存取存储器(ddr3 sdram)、rambus动态随机存取存储器(rdram)、双晶体管ram(ttram)、晶闸管ram(t

ram)、零电容器(z

ram)、rambus直插式存储器组件(rimm)、双列直插式存储器组件(dimm)、单列直插式存储器组件(simm)、视频随机存取存储器(vram)、高速缓冲存储器(包括各种级别)、闪
存、寄存器存储器等。将理解,在实施例被描述为使用计算机可读存储介质的情况下,其他类型的计算机可读存储介质可替代上述计算机可读存储介质,或者除了上述计算机可读存储介质之外还可使用其他类型的计算机可读存储介质。
44.应当理解,本公开的各种实施例还可实现为方法、设备、系统、计算装置、计算实体等。因此,本公开的实施例可采取执行存储在计算机可读存储介质上的指令以执行特定步骤或操作的设备、系统、计算装置、计算实体等的形式。因此,本公开的实施例还可采取完全硬件实施例、完全计算机程序产品实施例和/或包括执行特定步骤或操作的硬件和计算机程序产品的组合的实施例的形式。
45.以下参照框图和流程图图示描述本公开的实施例。因此,应当理解,框图和流程图图示的每个框可以以计算机程序产品、完全硬件实施例、硬件和计算机程序产品的组合、和/或执行计算机可读存储介质上的用于执行的指令、操作、步骤和可互换使用的类似词语(例如,可执行指令、用于执行的指令、程序代码等)的设备、系统、计算装置、计算实体等的形式实现。例如,代码的检索、加载和执行可被顺序地执行,使得一次检索、加载和执行一个指令。在一些示例实施例中,检索、加载和/或执行可被并行地执行,使得一起检索、加载和/或执行多个指令。因此,这样的实施例可产生执行框图和流程图图示中指定的步骤或操作的专门配置的机器。因此,框图和流程图图示支持用于执行指定指令、操作或步骤的实施例的各种组合。
46.在一些方面,随着数据需求的增加,联网计算和存储会面临一些问题。具体地,超大规模工作负载要求变得越来越苛刻,因为除了具有高带宽分配需求之外,工作负载还可表现出存储器和输入/输出(io)延迟的多样性。此外,一些现有系统可在不重新配置硬件机架系统的情况下具有降低的资源弹性,这可导致会妨碍数据处理和存储要求的低效率。此外,计算和存储器资源越来越紧密地结合,并且对一个的增加的要求可能影响对另一个的要求。此外,整个行业面临可行的分布式共享存储器和大地址空间系统的短缺。在一些方面,固定资源可增加所有权成本(例如,对于基于数据中心的环境),并且还可限制子系统的峰值性能。在一些方面,在这样的环境中使用的硬件可具有不同的替换周期和相关联的时间线,这可能进一步使这样的系统的更新复杂化。因此,需要改进联网计算系统中的资源共享和与工作负载的匹配。
47.在一些实施例中,高速缓存一致性协议(诸如,快速计算链路(cxl))可实现存储器扩展和一致性加速器。在各种实施例中,公开的系统可使用高速缓存一致性协议(诸如,cxl)来实现一类存储器系统和加速器,而适应不同的工作负载需要唯一的配置。因此,公开的系统可通过利用向例如在数据中心的一个或多个集群中横跨机架运行的每个工作负载呈现系统视图的结构和架构来实现可组合的高速缓存一致性(例如,cxl)存储器和加速器资源。在一些方面,公开的系统可用于将高速缓存一致性扩展到单个服务器之外,基于工作负载需求提供异构机架的管理,并且提供资源的可组合性。此外,在一些示例中,通过pcie架构的cxl可用作另一协议的对应物(诸如,基于架构的非易失性存储器快速(non

volatile memory express over fabric,nvmeof),其可用于远程i/o装置的可组成性)。如在此所使用的,可组合可表示这样的属性,通过该属性,给定装置(例如,特定集群中的启用高速缓存一致性的装置)可从网络的不同部分(例如,第二集群中的至少一个其他启用高速缓存一致性的装置)请求和/或获得资源(例如,存储器、计算和/或网络资源)(例如用于执
行工作负载的至少一部分)。在一些实施例中,如在此所使用的,可组成性可包括将物理和虚拟计算、存储和架构资源的流体池使用到任何合适的配置中以运行任何应用或工作负载。
48.在各种实施例中,公开的系统可包括一个或多个架构组件,所述一个或多个架构组件包括具有可被配置为执行与控制平面相关联的各种操作的一个或多个处理器(例如,risc

v处理器)的高速缓存一致性cxl模块。此外,公开的系统可能够使用高速缓存一致性cxl资源的一个或多个同构池,这将在下面进一步讨论。具体地,公开的系统可以以管理计算装置为特征,用于暴露和利用高速缓存一致性资源的性能和容量以及加速特性以供各种网络装置使用。具体地,管理计算装置可确定与管理计算装置所操作的系统相关联的一个或多个参数,并且基于参数将工作负载路由到不同的集群。
49.在各种实施例中,公开的系统可能够使用多个同构资源池,每个池专用于特定的高速缓存一致性架构。具体地,公开的系统可使用a型集群(可表示具有直连式存储器扩展装置(scm、dram、dram

znand混合)的服务器的集合)、b型集群(可表示cxl 2型可组合一致性加速器的集合)、c型集群(可包括在具有后门pcie互连的分布式存储器系统架构中连接的cx l装置,由此进程共享相同的地址空间)、以及d型集群(包括在相同结构(例如,机箱)中的物理集群存储器和加速器扩展)。
50.在各种实施例中,包括管理计算装置的公开的系统可以以智能装置架构为特征。具体地,公开的系统可以以插入高速缓存一致性接口(例如,cxl/pcie5接口)的装置为特征,并且可实现各种高速缓存和存储器协议(例如,基于2型装置的cxl.cache和cxl.memory协议(type

2device based cxl.cache and cxl.memory protocol))。此外,在一些示例中,装置可包括可编程控制器或处理器(例如,risc

v处理器),可编程控制器或处理器可被配置为将远程一致性装置呈现为使用高速缓存一致性协议(例如,cxl.io协议)协商的本地系统的一部分。
51.在各种实施例中,公开的系统可实现基于集群级性能的控制和管理能力,由此可基于远程架构配置和装置性能、功率特性等自动地路由(例如,经由算法方法和/或基于机器学习的方法)工作负载。在一些示例中,公开的系统可至少部分地经由asic电路、fpga单元等进行编程。此外,这样的装置可实现基于ai的技术(例如,基于机器学习的方法)以如在此示出和描述的那样路由工作负载。此外,公开的系统可使用管理计算实体来基于预定标准(例如,每单位货币或功率的最佳性能)执行发现和/或工作负载分区和/或资源绑定。此外,管理计算实体可基于系统的各种参数来执行这样的操作,这些参数包括但不限于基于高速缓存一致性协议(例如,基于cxl)的往返时间、装置是主机偏置还是装置偏置的确定、基于高速缓存一致性协议(例如,基于cxl)的交换机层级和/或主机上游端口到装置下游端口的绑定、基于高速缓存一致性协议(例如,基于cxl)的交换机架构管理器配置、基于高速缓存一致性协议(例如,基于cxl)的协议数据包或物理介质数据包(例如,cxl.io或pcie介入批量4kb数据包)、网络延迟、基于高速缓存一致性协议(例如,基于cxl)的存储器技术(例如,存储器类型)、它们的组合等。
52.在各种实施例中,管理计算实体可在机架和/或集群级别操作和/或可至少部分地在作为给定集群架构(例如,a、b、c和/或d型集群)的一部分的给定装置(例如,启用高速缓存一致性的装置)内进行操作。在各种实施例中,给定集群架构内的装置可执行管理计算实
体的操作的第一部分,而管理计算实体的操作的另一部分可在机架上和/或在集群级别实现。在一些实施例中,可以以协调的方式执行操作的两个部分(例如,集群中的装置向在机架上和/或在集群级别实现的管理计算实体发送协调消息和从管理计算实体接收协调消息)。在一些实施例中,与集群中的装置相关联的操作的第一部分可包括但不限于用于确定装置或集群的当前或未来资源需求、通告装置或集群的当前或未来资源可用性、同步与在装置或集群级别运行的算法相关联的特定参数、训练与装置或机架/集群的操作相关联的一个或多个机器学习模块、记录与路由工作负载相关联的相应数据、它们的组合等的操作。
53.快速外围组件互连(pcie)可表示可具有相对高且可变的延迟的计算机接口,延迟可限制计算机接口在与存储器进行连接时的有用性。cxl是用于通过pcie 5.0进行通信的开放行业标准,可提供固定的、相对短的数据包大小,因此可能够提供相对高的带宽和相对低的固定的延迟。因此,cxl能够支持高速缓存一致性,并且cxl可以非常适合于连接到存储器。cxl还可用于提供主机与加速器、存储器装置和服务器中的网络接口电路(或“网络接口控制器”或“网络接口卡(nic)”)之间的连接。
54.高速缓存一致性协议(诸如,cxl)也可用于异构处理(例如,在标量、矢量和缓冲存储器系统中)。cxl可用于利用信道、重定时器、系统的phy层、接口的逻辑方面以及来自pcie 5.0的协议来提供高速缓存一致性接口。cxl事务层可包括在单链路上同时运行的三个复用的子协议,并且可被称为cxl.io、cxl.cache和cxl.memory。cxl.io可包括可类似于pcie的i/o语义。cxl.cache可包括高速缓存语义,并且cxl.memory可包括存储器语义;高速缓存语义和存储器语义二者可以是可选的。与pcie一样,cxl可支持(i)可以是可分区的x16、x8和x4的本地宽度,(ii)32gt/s的数据速率,可降为8gt/s和16gt/s,128b/130b,(iii)300w(在x16连接器中为75w),以及(iv)即插即用。为了支持即插即用,pcie或cxl装置链路可在gen1中的pcie中开始训练、协商cxl、完成gen1

5训练,然后开始cxl事务。
55.在一些实施例中,如下面进一步详细讨论的,将cxl连接用于存储器(例如,多个存储器,包括连接在一起的多个存储器单元)的聚合或“池化”可在包括通过网络连接在一起的多个服务器的系统中提供各种优点。例如,除了为cxl数据包提供分组交换功能之外还具有其他能力的cxl交换机(在此被称为“增强能力cxl交换机”)可用于将存储器的聚合连接到一个或多个中央处理器(cpu)(或“中央处理电路”)和一个或多个网络接口电路(可具有增强的能力)。这样的配置可使得(i)存储器的聚合可包括具有不同特性的各种类型的存储器,(ii)增强能力cxl交换机可虚拟化存储器的聚合,并且将不同特性(例如,访问频率)的数据存储在适当类型的存储器中,(iii)增强能力cxl交换机可支持远程直接存储器访问(rdma),使得可在很少或没有来自服务器的处理电路的参与的情况下执行rdma。如在此所使用的,“虚拟化”存储器意味着在处理电路和存储器之间执行存储器地址转换。
56.cxl交换机可以(i)通过单级交换支持存储器和加速器分解,(ii)使得资源能够在域之间离线和在线,这可基于需求实现跨域的时分复用,以及(iii)支持下游端口的虚拟化。cxl可用于实现聚合存储器,聚合存储器可实现一对多和多对一交换(例如,它可以能够(i)将多个根端口连接到一个端点,(ii)将一个根端口连接到多个端点,或(iii)将多个根端口连接到多个端点),其中,在一些实施例中,聚合装置被划分为多个逻辑装置,每个逻辑装置各自具有相应的ld

id(逻辑装置标识符)。在这样的实施例中,物理装置可被划分为多个逻辑装置,每个逻辑装置对相应的发起者可见。装置可具有一个物理功能(pf)和多个(例
如,16个)隔离的逻辑装置。在一些实施例中,逻辑装置的数量(例如,分区的数量)可被限制(例如,限制为16),并且还可存在一个控制分区(可以是用于控制装置的物理功能)。
57.在一些实施例中,架构管理器可被采用,用于(i)执行装置发现和虚拟cxl软件创建和(ii)将虚拟端口绑定到物理端口。这样的架构管理器可通过smbus边带连接进行操作。架构管理器可以以硬件、或软件、或固件、或它们的组合来实现,并且它可存在于例如主机中、存储器模块135之一中、或增强型能力高速缓存一致性交换机130中、或网络中的其他地方。在一些实施例中,高速缓存一致性交换机可以是cxl交换机130。架构管理器可发布命令(包括通过边带总线或通过pcie树发布的命令)。
58.参照图1a,在一些实施例中,服务器系统包括通过架顶式(tor)以太网交换机110连接在一起的多个服务器105。虽然该交换机被描述为使用以太网协议,但是可使用任何其他合适的网络协议。每个服务器包括一个或多个处理电路115,每个处理电路115连接到(i)系统存储器120(例如,双倍数据速率(版本4)(ddr4)存储器或任何其他合适的存储器)、(ii)一个或多个网络接口电路125以及(iii)一个或多个cxl存储器模块135。处理电路115中的每个可以是存储程序处理电路(例如,中央处理器(cpu(例如,x86 cpu)、图形处理器(gpu)或arm处理器))。在一些实施例中,网络接口电路125可嵌入在存储器模块135之一(例如,在与存储器模块135之一相同的半导体芯片上,或在与存储器模块135之一相同的模块中),或者网络接口电路125可与存储器模块135分开封装。
59.在各种实施例中,管理计算实体102(将在下面详细描述)可被配置为包括处理元件(例如,处理器、fpga、asic、控制器等),处理元件可监测与网络的任何部分相关联的一个或多个参数(例如,以太网流量、数据中心参数、tor以太网交换机110参数、与服务器105相关联的参数、网络接口电路(nic)125的关联参数、一个或多个cxl存储器模块135的关联参数、它们的组合等),以将工作负载和/或工作负载的部分路由到网络的不同部分(包括在此描述的图1a至图1g的任何合适的元件)。此外,如上所述,在各种实施例中,公开的系统可实现基于集群级性能的控制和管理能力,由此工作负载可基于远程架构配置和装置性能、功率特性等自动地路由(例如,经由算法方法和/或基于机器学习的方法)。在一些示例中,公开的系统可至少部分地经由asic电路、fpga单元等进行编程。此外,这样的装置可实现基于ai的技术(例如,基于机器学习的方法)以如在此所示出和描述的那样路由工作负载。此外,公开的系统可使用管理计算实体来基于预定标准(例如,每单位货币或功率的最佳性能)执行发现和/或工作负载分区和/或资源绑定。此外,管理计算实体可基于系统的各种参数来执行这样的操作,这些参数包括但不限于:基于高速缓存一致性协议(例如,基于cxl)的往返时间、装置是主机偏置还是装置偏置的确定、基于高速缓存一致性协议(例如,基于cxl)的交换机层级和/或主机上游端口到装置下游端口的绑定、基于高速缓存一致性协议(例如,基于cxl)的交换机架构管理器配置、基于高速缓存一致性协议(例如,基于cxl)的协议数据包或物理介质数据包(例如,cxl.io或pcie介入批量4kb数据包)、网络延迟、基于高速缓存一致性协议(例如,基于cxl)的存储器技术(例如,存储器类型)、它们的组合等。
60.如在此所使用的,“存储器模块”是包括一个或多个存储器裸片的封装件(例如,包括印刷电路板和与之连接的部件的封装件,或包括印刷电路板的包封件),每个存储器裸片包括多个存储器单元。每个存储器裸片或多组存储器裸片的集合中的每个可处于焊接到存储器模块的印刷电路板(或通过连接器连接到存储器模块的印刷电路板)的封装件(例如,
环氧树脂模塑料(em c)封装件)中。每个存储器模块135可具有cxl接口,并且可包括用于在cxl数据包和存储器裸片的存储器接口(例如,适合于存储器模块135中的存储器的存储器技术的信号)之间转换的控制器137(例如,fpga、asic、处理器等)。如在此所使用的,存储器裸片的“存储器接口”是存储器裸片的技术固有的接口(例如,在dram的情况下,存储器接口可以是字线和位线)。存储器模块还可包括如下面进一步详细描述的可提供增强的能力的控制器137。每个存储器模块135的控制器137可通过高速缓存一致性接口(例如,通过cxl接口)连接到处理电路115。控制器137还可促进不同的服务器105之间的数据传输(例如,rdma请求),从而绕过处理电路115。tor以太网交换机110和网络接口电路125可包括rdma接口,以促进不同服务器上的cxl存储器装置之间的rdma请求(例如,tor以太网交换机110和网络接口电路125可通过融合以太网的rdma(roce)、infiniband和iwarp数据包提供硬件卸载或硬件加速)。
61.系统中的cxl互连可符合高速缓存一致性协议(诸如,cxl 1.1标准),或者在一些实施例中,符合cxl 2.0标准、未来版本的cxl或任何其他合适的协议(例如,高速缓存一致性协议)。存储器模块135可如示出的那样直连到处理电路115,并且架顶式以太网交换机110可用于将系统缩放到更大的尺寸(例如,具有更大数量的服务器105)。
62.在一些实施例中,如图1a所示,每个服务器可填入多个直连式cxl附接的存储器模块135。每个存储器模块135可将一组基址寄存器(bar)暴露给主机的基本输入/输出系统(bios)作为存储器范围。存储器模块135中的一个或多个可包括固件,以透明地管理其在主机os映射后面的存储器空间。每个存储器模块135可包括包含例如(但不限于)动态随机存取存储器(dram)、与非(nand)闪存、高带宽存储器(hbm)和低功率双倍数据速率同步动态随机存取存储器(lpddr sdram)技术的存储器技术之一或组合,并且还可包括高速缓存控制器或用于不同技术存储器装置(用于组合不同技术的若干存储器装置的存储器模块135)的单独的分离控制器。每个存储器模块135可包括不同的接口宽度(x4

x16),并且可根据各种相关形状因子(form factor)(例如,u.2、m.2、半高半长(hhhl)、全高半长(fh hl)、e1.s、e1.l、e3.s和e3.h)中的任何一种来构造。
63.在一些实施例中,如上所述,增强能力cxl交换机130包括fpga(或asic)控制器137,并且提供除了cxl数据包的交换之外的附加特征。增强能力cxl交换机130的控制器137还可用作存储器模块135的管理装置,并且帮助主机控制平面处理,并且它可实现丰富的控制语义和统计。控制器137可包括附加的“后门”(例如,100千兆以太网(gbe))网络接口电路125。在一些实施例中,控制器137作为2型cxl装置呈现给处理电路115,使得能够在接收到远程写入请求时向处理电路115发出高速缓存失效指令。在一些实施例中,ddio技术被启用,并且远程数据首先被拉取到处理电路的最后一级高速缓存(llc),并且稍后(从高速缓存)被写入到存储器模块135。如在此所使用的,“2型”cxl装置是能发起事务并且实现可选的一致性高速缓存和主机管理的装置存储器的cxl装置,并且其适用的事务类型包括所有cxl.cache和所有cxl.memory事务。
64.如上所述,存储器模块135中的一个或多个可包括持久性存储器或“持久性存储装置”(即,当外部电源断开时数据不会丢失的存储装置)。如果存储器模块135被呈现为持久性装置,则存储器模块135的控制器137可管理持久性域(例如,它可在持久性存储装置中存储由处理电路115识别为需要持久性存储的数据(例如,作为对相应的操作系统功能进行调
用的应用的结果))。在这样的实施例中,软件api可将高速缓存和数据冲刷到持久性存储装置。
65.在一些实施例中,启用从网络接口电路125到存储器模块135的直接存储器传送。这样的传送可以是到远程存储器的单向传送,以用于分布式系统中的快速通信。在这样的实施例中,存储器模块135可向系统中的网络接口电路125暴露硬件细节以实现更快的rdma传送。在这样的系统中,根据处理电路115的数据直接i/o(ddio)被启用还是被禁用,可发生两种场景。ddio可启用以太网控制器或以太网适配器与处理电路115的高速缓存之间的直接通信。如果处理电路115的ddio被启用,则传送的目标可以是处理电路的最后一级高速缓存,随后数据可从最后一级高速缓存自动冲刷到存储器模块135。如果处理电路115的ddio被禁用,则存储器模块135可在装置偏置模式下操作以强制目的地存储器模块135(没有ddio)直接接收访问。可采用具有主机通道适配器(hca)、缓冲器和其他处理的具有rdma能力的网络接口电路125来实现这样的rdma传送,这可绕过可能存在于其他rdma传送模式中的目标存储器缓冲器传送。例如,在这样的实施例中,可避免使用回弹缓冲器(例如,当存储器中的最终目的地在rdma协议不支持的地址范围中时,远程服务器中的缓冲器)。在一些实施例中,rdma使用除以太网之外的另一物理介质选项(例如,用于与被配置为处理其他网络协议的交换机一起使用)。可启用rdma的服务器间连接的示例包括(但不限于)infiniband、通过融合以太网的rdma(roce)(使用以太网用户数据报协议(udp))以及iwarp(使用传输控制协议/互联网协议(tcp/ip))。
66.图1b示出与图1a的系统类似的系统,其中,处理电路115通过存储器模块135连接到网络接口电路125。存储器模块135和网络接口电路125位于扩展插槽适配器140上。每个扩展插槽适配器140可插入到服务器105的主板上的扩展插槽145(例如m.2连接器)中。这样,服务器可以是通过将扩展插槽适配器140安装在扩展插槽145中而修改的任何合适的(例如,工业标准)服务器。在这样的实施例中,(i)每个网络接口电路125可集成到存储器模块135中的相应一个存储器模块中,或者(ii)每个网络接口电路125可具有pcie接口(网络接口电路125可以是pcie端点(即,pcie从装置)),使得网络接口电路125所连接的处理电路115(可作为pcie主装置或“根端口”进行操作)可通过根端口到端点pcie连接与网络接口电路125通信,并且存储器模块135的控制器137可通过点对点pcie连接与网络接口电路125通信。
67.根据本发明的实施例,提供了一种系统,所述系统包括:第一服务器,包括存储程序处理电路、第一网络接口电路和第一存储器模块,其中,第一存储器模块包括第一存储器裸片和控制器,控制器通过存储器接口连接到第一存储器裸片,控制器通过高速缓存一致性接口连接到存储程序处理电路,并且连接到第一网络接口电路。在一些实施例中,第一存储器模块还包括第二存储器裸片,第一存储器裸片包括易失性存储器,第二存储器裸片包括持久性存储器。在一些实施例中,持久性存储器包括nand闪存。在一些实施例中,控制器被配置为提供用于持久性存储器的闪存转换层。在一些实施例中,高速缓存一致性接口包括快速计算链路(cxl)接口。在一些实施例中,第一服务器包括连接到第一服务器的扩展插槽的扩展插槽适配器,扩展插槽适配器包括第一存储器模块和第一网络接口电路。在一些实施例中,第一存储器模块的控制器通过扩展插槽连接到存储程序处理电路。在一些实施例中,扩展插槽包括m.2插槽。在一些实施例中,第一存储器模块的控制器通过点对点外围
组件互连快速(pcie)连接而连接到第一网络接口电路。在一些实施例中,所述系统还包括第二服务器和连接到第一服务器和第二服务器的网络交换机。在一些实施例中,网络交换机包括架顶式(tor)以太网交换机。在一些实施例中,第一存储器模块的控制器被配置为接收远程直接存储器访问(rdma)请求,并且发送rdma响应。在一些实施例中,第一存储器模块的控制器被配置为通过网络交换机并通过第一网络接口电路接收远程直接存储器访问(rdma)请求,并且通过网络交换机并通过第一网络接口电路发送rdma响应。在一些实施例中,第一存储器模块的控制器被配置为:从第二服务器接收数据;将数据存储在第一存储器模块中;以及向存储程序处理电路发送用于使高速缓存行失效的命令。在一些实施例中,第一存储器模块的控制器包括现场可编程门阵列(fpga)或专用集成电路(asic)。根据本发明的实施例,提供一种用于在计算系统中执行远程直接存储器访问的方法,计算系统包括第一服务器和第二服务器,第一服务器包括存储程序处理电路、网络接口电路和包括控制器的第一存储器模块,所述方法包括:由第一存储器模块的控制器接收远程直接存储器访问(rdma)请求;以及由第一存储器模块的控制器发送rdma响应。在一些实施例中,计算系统还包括连接到第一服务器和第二服务器的以太网交换机,并且接收rdma请求的步骤包括通过以太网交换机接收rdma请求。在一些实施例中,所述方法还包括:由第一存储器模块的控制器从存储程序处理电路接收针对第一存储器地址的读取命令,由第一存储器模块的控制器将第一存储器地址转换为第二存储器地址,以及由第一存储器模块的控制器在第二存储器地址处从第一存储器模块检索数据。在一些实施例中,所述方法还包括:由第一存储器模块的控制器接收数据,由第一存储器模块的控制器将数据存储在第一存储器模块中,以及由第一存储器模块的控制器向存储程序处理电路发送用于使高速缓存行失效的命令。根据本发明的实施例,提供一种系统,所述系统包括:第一服务器,包括存储程序处理电路、第一网络接口电路和第一存储器模块,其中,第一存储器模块包括第一存储器裸片和控制器装置,控制器装置通过存储器接口连接到第一存储器裸片,控制器装置通过高速缓存一致性接口连接到存储程序处理电路,并且连接到第一网络接口电路。
68.参照图1c,在一些实施例中,服务器系统包括通过架顶式(tor)以太网交换机110连接在一起的多个服务器105。每个服务器包括一个或多个处理电路115,每个处理电路115连接到(i)系统存储器120(例如,ddr4存储器)、(ii)一个或多个网络接口电路125以及(iii)增强能力cxl交换机130。增强能力cxl交换机130可连接到多个存储器模块(mem)135。也就是说,图1c的系统包括第一服务器105,第一服务器105包括存储程序处理电路115、网络接口电路125、高速缓存一致性交换机130和第一存储器模块135。在图1c的系统中,第一存储器模块135连接到高速缓存一致性交换机130,高速缓存一致性交换机130连接到网络接口电路125,并且存储程序处理电路115连接到高速缓存一致性交换机130。
69.存储器模块135可以按类型、形状因子或技术类型(例如,ddr4、dr am、ldppr、高带宽存储器(hbm)或nand闪存或其他持久性存储装置(例如,包含nand闪存的固态驱动器))进行分组。每个存储器模块可具有cxl接口,并且包括用于在cxl数据包和适合于存储器模块135中的存储器的信号之间进行转换的接口电路。在一些实施例中,替代地,这些接口电路在增强能力cxl交换机130中,并且存储器模块135中的每个具有作为存储器模块135中的存储器的本地接口的接口。在一些实施例中,增强能力cxl交换机130被集成到存储器模块135中(例如,与存储器模块135的其他组件一起集成在m.2形状因子封装件中,或者与存储器模
块135的其他组件一起集成到单个集成电路中)。
70.tor以太网交换机110可包括接口硬件,以促进不同服务器上的聚合存储器装置之间的rdma请求。增强能力cxl交换机130可包括一个或多个电路(例如,可包括fpga或asic),以(i)基于工作负载将数据路由到不同的存储器类型,(ii)将主机地址虚拟化为装置地址和/或(iii)促进不同服务器之间的rdma请求,从而绕过处理电路115。
71.存储器模块135可处于可包括预定数量(例如,多于20个或多于100个)的存储器模块135的扩展盒中(例如,在与容纳包封件的主板的包封件相同的机架中),每个存储器模块135插入合适的连接器。模块可以具有m.2形状因子,并且连接器可以是m.2连接器。在一些实施例中,服务器之间的连接通过除了以太网之外的不同网络(例如,它们可以是无线连接(诸如,wifi或5g连接))。每个处理电路可以是x86处理器或另一处理器(例如,arm处理器或gpu)。实例化cxl链路的pcie链路可以是pcie 5.0或另一版本(例如,较早版本或稍后(例如,未来)版本(例如,pcie 6.0))。在一些实施例中,在系统中使用不同的高速缓存一致性协议来代替cxl或补充cxl,并且可使用不同的高速缓存一致性交换机来代替增强能力cxl交换机130或补充增强能力cxl交换机130。这样的高速缓存一致性协议可以是另一标准协议或标准协议的高速缓存一致性变体(以与cxl是pcie 5.0的变体的方式类似的方式)。标准协议的示例包括但不限于非易失性双列直插存储器模块(版本p)(nvdimm

p)、用于加速器的高速缓存一致性互连(ccix)和开放一致性加速器处理器接口(opencapi)。
72.系统存储器120可包括例如ddr4存储器、dram、hbm或ldppr存储器。存储器模块135可被分区或包含高速缓存控制器以处理多种存储器类型。存储器模块135可以具有不同的形状因子,形状因子的示例包括但不限于hhhl、fhhl、m.2、u.2、夹层卡(mezzanine card)、子卡(daughter card)、e1.s、e1.1、e3.1和e3.s。
73.在一些实施例中,系统实现包括多个服务器的聚合架构,其中,每个服务器与多个cxl附接的存储器模块135聚合。存储器模块135中的每个可包含多个分区,这些分区可作为存储器装置单独地暴露给多个处理电路115。增强能力cxl交换机130的每个输入端口可独立地访问增强能力cxl交换机130的多个输出端口和与之连接的存储器模块135。如在此所使用的,增强能力cxl交换机130的“输入端口”或“上游端口”是连接到(或适合于连接到)pcie根端口的端口,并且增强能力cxl交换机130的“输出端口”或“下游端口”是连接到(或适合于连接到)pcie端点的端口。如在图1a的实施例的情况下,每个存储器模块135可将一组基址寄存器(bar)暴露给主机bios作为存储器范围。存储器模块135中的一个或多个可包括固件,以透明地管理其在主机os映射后面的存储器空间。
74.在一些实施例中,如上所述,增强能力cxl交换机130包括fpga(或asic)控制器137,并且提供除了cxl数据包的交换之外的附加特征。例如,它可(如上所述)虚拟化存储器模块135(即,作为转换层操作),以在处理电路侧地址(或“处理器侧”地址,即,包括在由处理电路115发出的存储器读取和写入命令中的地址)和存储器侧地址(即,由增强能力cxl交换机130用于寻址存储器模块135中的存储位置的地址)之间进行转换,从而掩蔽存储器模块135的物理地址并呈现存储器的虚拟聚合。增强能力cxl交换机130的控制器137还可用作存储器模块135的管理装置,并且促进主机控制平面处理。控制器137可在没有处理电路115的参与的情况下透明地移动数据,并相应地更新存储器映射(或“地址转换表”),使得后续访问如预期的那样工作。控制器137可包含交换机管理装置,交换机管理装置(i)可适当地
在运行时期间绑定和解绑上游和下游连接以及(iii)可实现与进出存储器模块135的数据传送相关联的丰富控制语义和统计。控制器137可包括附加的“后门”100gbe或(除了用于连接到主机的网络接口之外的)其他网络接口电路125,以用于连接到其他服务器105或其他联网设备。在一些实施例中,控制器137作为2型装置呈现给处理电路115,这使得能够在接收到远程写入请求时向处理电路115发出高速缓存失效指令。在一些实施例中,ddio技术被启用,并且远程数据首先被拉取到处理电路115的最后一级高速缓存(llc),并且稍后(从高速缓存)被写入到存储器模块135。
75.如上所述,存储器模块135中的一个或多个可包括持久性存储装置。如果存储器模块135被呈现为持久性装置,则增强能力cxl交换机130的控制器137可管理持久域(例如,它可以在持久性存储装置中存储由处理电路115(例如,通过使用对应的操作系统功能)识别为需要持久存储的数据)。在这样的实施例中,软件api可将高速缓存和数据冲刷到持久性存储装置。
76.在一些实施例中,可以以类似于以上针对图1a和图1b的实施例描述的方式执行到存储器模块135的直接存储器传送,其中,由存储器模块135的控制器执行的操作由增强能力cxl交换机130的控制器137执行。
77.如上所述,在一些实施例中,存储器模块135被组织成组(例如,组织成存储器密集的一个组、hbm拥挤(heavy)的另一个组、具有有限密度和性能的另一个组、以及具有密集容量的另一个组)。这样的组可具有不同的形状因子或者基于不同的技术。增强能力cxl交换机130的控制器137可基于例如工作负载、标记或服务质量(qos)智能地路由数据和命令。针对读取请求,可以不存在基于这样的因素的路由。
78.增强能力cxl交换机130的控制器137还可(如上所述)虚拟化处理电路侧地址和存储器侧地址,使得增强能力cxl交换机130的控制器137可确定数据将被存储在何处。增强能力cxl交换机130的控制器137可基于可从处理电路115接收的信息或指令来做出这样的确定。例如,操作系统可提供存储器分配特征,使得应用可指定将要分配低延迟存储装置或高带宽存储装置或持久性存储装置,并且由应用发起的这种请求,然后可由增强能力cxl交换机130的控制器137确定在何处(例如,在哪个存储器模块135中)分配存储器时进行考虑。例如,可在包含hbm的存储器模块135中分配由应用请求高带宽的存储装置,可在包含nand闪存的存储器模块135中分配由应用请求数据持久性的存储装置,并且可在包含相对便宜的dram的存储器模块135上存储其他存储(应用没有对其进行请求)。在一些实施例中,增强能力cxl交换机130的控制器137可基于网络使用模式来确定在何处存储特定数据。例如,增强能力cxl交换机130的控制器137可通过监测使用模式来确定物理地址的特定范围中的数据比其他数据被更频繁地访问,然后增强能力cxl交换机130的控制器137可将这些数据复制到包含hbm的存储器模块135,并修改其地址转换表,使得新位置中的数据存储在虚拟地址的同一范围中。在一些实施例中,存储器模块135中的一个或多个包括闪存(例如,nand闪存),并且增强能力cxl交换机130的控制器137针对该闪存实现闪存转换层。闪存转换层可支持处理器侧存储器位置的覆写(通过将数据移动到不同的位置并将数据的先前位置标记为失效),并且它可执行垃圾收集(例如,当块中被标记为失效的数据部分超过阈值时,在将块中的任何有效数据移动到另一个块之后擦除块)。
79.在一些实施例中,增强能力cxl交换机130的控制器137可促进物理功能(pf)到pf
传送。例如,如果处理电路115中的一个需要将数据从一个物理地址移动到另一物理地址(其可具有相同的虚拟地址;该事实不需要影响处理电路115的操作),或者如果处理电路115需要在两个虚拟地址之间移动数据(处理电路115将需要具有),则增强能力cxl交换机130的控制器137可监督传送,而不涉及处理电路115。例如,处理电路115可发送cxl请求,并且在增强能力cxl交换机130之后数据可从一个存储器模块135发送到另一存储器模块135(例如,数据可从一个存储器模块135复制到另一存储器模块135),而无需去往处理电路115。在这种情形中,因为处理电路115发起cxl请求,所以处理电路115可能需要冲刷它的高速缓存以确保一致性。如果替代地2型存储器装置(例如,存储器模块135之一,或还可连接到cxl交换机的加速器)发起cxl请求且交换机未被虚拟化,则2型存储器装置可将消息发送到处理电路115以使高速缓存失效。
80.在一些实施例中,增强能力cxl交换机130的控制器137可促进服务器之间的rdma请求。远程服务器105可发起这样的rdma请求,并且请求可通过tor以太网交换机110发送,并且到达响应rdma请求的服务器105中的增强能力cxl交换机130(“本地服务器”)。增强能力cxl交换机130可被配置为接收这样的rdma请求,并且它可将接收服务器105(即,接收rdma请求的服务器)中的一组存储器模块135视为它自己的存储器空间。在本地服务器中,增强能力cxl交换机130可接收rdma请求作为直接rdma请求(即,不通过本地服务器中的处理电路115路由的rdma请求),并且它可发送对rdma请求的直接响应(即,它可发送响应而不通过本地服务器中的处理电路115路由)。在远程服务器中,响应(例如,由本地服务器发送的数据)可由远程服务器的增强能力cxl交换机130接收,并且存储在远程服务器的存储器模块135中,而不通过远程服务器中的处理电路115路由。
81.图1d示出与图1c的系统类似的系统,其中,处理电路115通过增强能力cxl交换机130连接到网络接口电路125。增强能力cxl交换机130、存储器模块135和网络接口电路125位于扩展插槽适配器140上。扩展插槽适配器140可以是插入到服务器105的主板上的扩展插槽(例如,pcie连接器145)的电路板或模块。因此,服务器可以是仅通过在pcie连接器145中安装扩展插槽适配器140来修改的任何合适的服务器。存储器模块135可安装在扩展插槽适配器140上的连接器(例如,m.2连接器)中。在这样的实施例中,(i)网络接口电路125可集成到增强能力cxl交换机130中,或者(ii)每个网络接口电路125可具有pcie接口(网络接口电路125可以是pcie端点),使得它所连接的处理电路115可通过根端口到端点pcie连接与网络接口电路125通信。增强能力cxl交换机130的控制器137(它可具有连接到处理电路115以及连接到网络接口电路125的pcie输入端口)可通过点对点pcie连接与网络接口电路125通信。
82.根据本发明的实施例,提供了一种系统,所述系统包括:第一服务器,包括存储程序处理电路、网络接口电路、高速缓存一致性交换机和第一存储器模块,其中,第一存储器模块连接到高速缓存一致性交换机,高速缓存一致性交换机连接到网络接口电路,并且存储程序处理电路连接到高速缓存一致性交换机。在一些实施例中,系统还包括连接到高速缓存一致性交换机的第二存储器模块,其中,第一存储器模块包括易失性存储器,并且第二存储器模块包括持久性存储器。在一些实施例中,高速缓存一致性交换机被配置为虚拟化第一存储器模块和第二存储器模块。在一些实施例中,第一存储器模块包括闪存,并且高速缓存一致性交换机被配置为提供针对闪存的闪存转换层。在一些实施例中,高速缓存一致
性交换机被配置为监测第一存储器模块中的第一存储器位置的访问频率;确定访问频率超过第一阈值;并且将第一存储器位置的内容复制到第二存储器位置中,第二存储器位置在第二存储器模块中。在一些实施例中,第二存储器模块包括高带宽存储器(hbm)。在一些实施例中,高速缓存一致性交换机被配置为维护用于将处理器侧地址映射到存储器侧地址的表。在一些实施例中,系统还包括第二服务器以及连接到第一服务器和第二服务器的网络交换机。在一些实施例中,网络交换机包括架顶式(tor)以太网交换机。在一些实施例中,高速缓存一致性交换机被配置为接收远程直接存储器访问(rdma)请求,并且发送rdma响应。在一些实施例中,高速缓存一致性交换机被配置为通过tor以太网交换机并且通过网络接口电路接收远程直接存储器访问(rdma)请求,并且通过tor以太网交换机并且通过网络接口电路发送rdma响应。在一些实施例中,高速缓存一致性交换机被配置为支持快速计算链路(cxl)协议。在一些实施例中,第一服务器包括连接到第一服务器的扩展插槽的扩展插槽适配器,扩展插槽适配器包括高速缓存一致性交换机以及存储器模块插槽,第一存储器模块通过存储器模块插槽连接到高速缓存一致性交换机。在一些实施例中,存储器模块插槽包括m.2插槽。在一些实施例中,网络接口电路在扩展插槽适配器上。根据本发明的实施例,提供了一种用于在计算系统中执行远程直接存储器访问的方法,计算系统包括第一服务器和第二服务器,第一服务器包括存储程序处理电路、网络接口电路、高速缓存一致性交换机和第一存储器模块,所述方法包括由高速缓存一致性交换机接收远程直接存储器访问(rdma)请求以及由高速缓存一致性交换机发送rdma响应。在一些实施例中:计算系统还包括以太网交换机,并且接收rdma请求的步骤包括通过以太网交换机接收rdma请求。在一些实施例中,所述方法还包括:由高速缓存一致性交换机从存储程序处理电路接收针对第一存储器地址的读取命令,由高速缓存一致性交换机将第一存储器地址转换为第二存储器地址,并且由高速缓存一致性交换机在第二存储器地址处从第一存储器模块检索数据。在一些实施例中,所述方法还包括:由高速缓存一致性交换机接收数据,由高速缓存一致性交换机将数据存储在第一存储器模块中,以及由高速缓存一致性交换机向存储程序处理电路发送用于使高速缓存行失效的命令。根据本发明的实施例,提供了一种系统,所述系统包括:第一服务器,包括存储程序处理电路、网络接口电路、高速缓存一致性交换装置和第一存储器模块,其中,第一存储器模块连接到高速缓存一致性交换装置,高速缓存一致性交换装置连接到网络接口电路,并且存储程序处理电路连接到高速缓存一致性交换装置。
83.图1e示出多个服务器105中的每个连接到tor服务器链接交换机112的实施例,如图所示,tor服务器链接交换机112可以是具有pcie能力的pcie 5.0cxl交换机(也称为tor pcie5交换机)。服务器链接交换机112可包括fpga或asic,并且可提供优于以太网交换机的性能(在吞吐量和延迟方面)。服务器105中的每个可包括通过增强能力cxl交换机130并且通过多个pcie连接器连接到服务器链接交换机112的多个存储器模块135。如图所示,服务器105中的每个还可包括一个或多个处理电路115和系统存储器120。如以下进一步详细讨论的,服务器链接交换机112可作为主设备操作,并且增强能力cxl交换机130中的每个可作为从设备操作。
84.在图1e的实施例中,服务器链接交换机112可对从不同服务器105接收的多个高速缓存请求进行分组或批处理,并且它可对数据包进行分组,从而减少控制开销。增强型能力cxl交换机130可包括从控制器(例如,从fpga或从asic),以(i)基于工作负载将数据路由到
不同的存储器类型,(ii)将处理器侧地址虚拟化为存储器侧地址,以及(iii)促进不同服务器105之间的一致性请求,从而绕过处理电路115。图1e中示出的系统可基于cxl2.0,它可包括机架内的分布式共享存储器,并且它可使用tor服务器链接交换机112来与远程节点进行本地连接。
85.tor服务器链接交换机112可具有用于连接到其他服务器或客户端的附加网络连接(例如,如图所示的以太网连接或另一种类型的连接(例如,无线连接(诸如,wifi连接或5g连接)))。服务器链接交换机112和增强能力cxl交换机130可各自包括控制器,控制器可以是或包括诸如arm处理器的处理电路。pcie接口可符合pcie 5.0标准或符合pcie标准的早期版本或未来版本,或者可采用符合不同标准(例如,nvdimm

p、ccix或openc api)的接口来代替pcie接口。存储器模块135可包括各种存储器类型,存储器类型包括ddr4 dram、hbm、ldppr、nand闪存或固态驱动器(ssd)。存储器模块135可被分区或包含高速缓存控制器以处理多种存储器类型,并且它们可以具有不同的形状因子(诸如,hhhl、fhhl、m.2、u.2、夹层卡、子卡、e1.s、e1.1、e3.1或e3.s)。
86.在图1e的实施例中,增强能力cxl交换机130可实现一对多和多对一交换,并且它可在微片(64字节)级别实现细粒度加载

存储接口。每个服务器可具有聚合的存储器装置,每个装置被划分为各自具有相应的ld

id的多个逻辑装置。tor交换机112(可被称为“服务器链接交换机”)实现一对多功能,并且服务器105中的增强能力cxl交换机130实现多对一功能。服务器链接交换机112可以是pcie交换机或cxl交换机或两者。在这样的系统中,请求方可以是多个服务器105的处理电路115,响应方可以是许多聚合的存储器模块135。两个交换机的层次结构(如上所述,主交换机是服务器链接交换机112,并且从交换机是增强能力cxl交换机130)使得能够进行任何通信。每个存储器模块135可具有一个物理功能(pf)和多达16个隔离的逻辑装置。在一些实施例中,逻辑装置的数量(例如,分区的数量)可被限制(例如,限制为16),并且还可存在一个控制分区(可以是用于控制装置的物理功能)。存储器模块135中的每一个可以是具有cxl.cache、cxl.memory和cxl.io以及地址转换服务(ats)实现的2型装置,以对处理电路115可保存的高速缓存行副本进行处理。增强能力cxl交换机130和架构管理器可控制存储器模块135的发现,并且(i)执行装置发现和虚拟cxl软件创建,以及(ii)将虚拟端口绑定到物理端口。如图1a至图1d的实施例,架构管理器可以通过smbus边带的连接进行操作。到存储器模块135的接口可实现可配置性,所述接口可以是智能平台管理接口(ipmi)或符合redfish标准的接口(且还可提供标准不需要的附加特征)。
87.如上所述,一些实施例实现分层结构,其中,主控制器(可以以fpga或asic实现)是服务器链接交换机112的一部分,并且从控制器是增强能力cxl交换机130的一部分,以提供加载

存储接口(即,具有高速缓存行(例如,64字节)粒度并且在一致性域内操作而无需软件驱动器参与的接口)。这样的加载

存储接口可将一致性域扩展到单个服务器或cpu或主机之外,并且可涉及电或光的物理介质(例如,在两端具有电光收发器的光学连接)。在操作中,主控制器(在服务器链接交换机112中)启动(或“重新启动”)并配置机架上的所有服务器105。主控制器可在所有主机上具有可见性,并且它可以(i)发现每个服务器并发现服务器集群中存在多少服务器105和存储器模块135,(ii)独立地配置每个服务器105,(iii)基于例如机架的配置来启用或禁用不同服务器上的一些存储器块(例如,启用或禁用存储器模块135中的任何存储器模块),(iv)控制访问(例如,哪个服务器可控制哪个其他服务器),
(v)实现流控制(例如,由于所有主机和装置请求都通过主设备,因此可将数据从一个服务器发送到另一服务器,并对数据执行流控制),(vi)分组或批处理请求或数据包(例如,主设备从不同服务器105接收多个高速缓存请求)以及(vii)接收远程软件更新、广播通信等。在批处理模式下,服务器链接交换机112可接收去往同一服务器(例如,去往第一服务器)的多个数据包,并将它们一起(即,在它们之间没有暂停)发送到第一服务器。例如,服务器链接交换机112可从第二服务器接收第一数据包,并且从第三服务器接收第二数据包,并且将第一数据包和第二数据包一起发送到第一服务器。服务器105中的每个可向主控制器暴露(i)ipmi网络接口、(ii)系统事件日志(sel)以及(iii)板管理控制器(bmc),使得主控制器能够测量性能,测量运行中的可靠性,并且重新配置服务器105。
88.在一些实施例中,使用促进高可用性加载

存储接口的软件架构。这样的软件架构可提供可靠性、复制、一致性、系统一致性、散列、高速缓存和持久性。软件架构可通过经由ipmi执行cxl装置组件的周期性硬件检查来提供可靠性(在具有大量服务器的系统中)。例如,服务器链接交换机112可通过存储器服务器150的ipmi接口查询存储器服务器150的状态(例如查询电源状态(存储器服务器150的电源是否正常操作)、网络状态(到服务器链接交换机112的接口是否正常操作)和错误检查状态(存储器服务器150的任何子系统中是否存在错误条件))。因为主控制器可复制存储在存储器模块135中的数据并且跨副本维护数据一致性,所以软件架构可提供复制。
89.因为主控制器可被配置有不同的一致性级别,并且服务器链接交换机112可根据将被维护的一致性级别来调整数据包格式,所以软件架构可提供一致性。例如,如果正在维护最终一致性,则服务器链接交换机112可对请求重新排序,而为了维护严格的一致性,服务器链接交换机112可在交换机处维护具有精确时间戳的所有请求的记分板。因为多个处理电路115可从相同的存储器地址读取或写入相同的存储器地址,所以软件架构可提供系统一致性,并且为了维护一致性,主控制器可负责到达地址的归属节点(使用目录查找)或在公共总线上广播请求。
90.因为服务器链接交换机112和增强能力cxl交换机可维护地址的虚拟映射,其可使用具有多个散列函数(即,哈希函数)的一致性散列(即,一致性哈希化)来在启动时将数据均匀地映射到横跨所有节点的所有cxl装置(或者当一个服务器停机或出现时进行调整),所以软件架构可提供散列。因为主控制器可指定特定存储器分区(例如,在包括hbm或具有类似能力的技术的存储器模块135中)用作高速缓存(例如,采用直写式高速缓存或回写式高速缓存),所以软件架构可提供缓存。因为主控制器和从控制器可管理持久性域和冲刷,所以软件架构可提供持久性。
91.在一些实施例中,cxl交换机的能力被集成到存储器模块135的控制器中。在这样的实施例中,服务器链接交换机112仍然可以用作主设备并且具有如本文其他地方所讨论的增强特征。服务器链接交换机112还可管理系统中的其他存储装置,并且它可具有以太网连接(例如,100gbe连接),用于连接到例如不是由服务器链接交换机112形成的pcie网络的一部分的客户端机器。
92.在一些实施例中,服务器链接交换机112具有增强的能力,并且还包括集成的cxl控制器。在其他实施例中,服务器链接交换机112仅是物理路由装置,并且每个服务器105包括主cxl控制器。在这样的实施例中,横跨不同服务器的主设备可协商主

从架构。(i)增强
能力cxl交换机130和(ii)服务器链接交换机112的智能功能可以在一个或多个fpga、一个或多个asic、一个或多个arm处理器中实现,或者在具有计算能力的一个或多个ssd装置中实现。服务器链接交换机112可例如通过对独立请求重新排序来执行流控制。在一些实施例中,因为接口是加载

存储,所以rdma可选,但是可存在使用pcie物理介质(而不是100gbe)的中间rdma请求。在这样的实施例中,远程主机可发起可通过服务器链接交换机112发送到增强能力cxl交换机130的rdma请求。服务器链接交换机112和增强能力cxl交换机130可对rdma 4kb请求或cxl的微片(64字节)请求进行优先级排序。
93.如图1c和图1d的实施例,增强能力cxl交换机130可被配置为接收这样的rdma请求,并且它可将接收服务器105(即,接收rdma请求的服务器)中的一组存储器模块135视为它自己的存储器空间。此外,增强能力cxl交换机130可横跨处理电路115进行虚拟化,并且在远程增强能力cxl交换机130上发起rdma请求以在服务器105之间来回移动数据,而不涉及处理电路115。
94.图1f示出类似于图1e的系统,其中,处理电路115通过增强能力cxl交换机130连接到网络接口电路125(例如,pcie5连接器)。如图1d的实施例,在图1f中,增强能力cxl交换机130、存储器模块135和网络接口电路125位于扩展插槽适配器140上。扩展插槽适配器140可以是插入服务器105的主板上的扩展插槽(例如,pcie连接器145)中的电路板或模块。因此,服务器可以是仅通过在pcie连接器145中安装扩展插槽适配器140来修改的任何合适的服务器。存储器模块135可安装在扩展插槽适配器140上的连接器(例如,m.2连接器)中。在这样的实施例中,(i)网络接口电路125可集成到增强能力cxl交换机130中,或者(ii)每个网络接口电路125可具有pcie接口(网络接口电路125可以是pcie端点),使得它所连接的处理电路115可通过根端口到端点pcie连接与网络接口电路125通信,并且增强能力cxl交换机130的控制器137(可具有连接到处理电路115和网络接口电路125的pcie输入端口)可通过点对点pcie连接与网络接口电路125通信。
95.根据本发明的实施例,提供了一种系统,所述系统包括:第一服务器,包括存储程序处理电路、高速缓存一致性交换机和第一存储器模块;第二服务器;以及连接到第一服务器和第二服务器的服务器链接交换机,其中,第一存储器模块连接到高速缓存一致性交换机,高速缓存一致性交换机连接到服务器链接交换机,并且存储程序处理电路连接到高速缓存一致性交换机。在一些实施例中,服务器链接交换机包括快速外围组件互连(pcie)交换机。在一些实施例中,服务器链接交换机包括快速计算链接(cxl)交换机。在一些实施例中,服务器链接交换机包括架顶式(tor)cxl交换机。在一些实施例中,服务器链接交换机被配置为发现第一服务器。在一些实施例中,服务器链接交换机被配置为使第一服务器重启。在一些实施例中,服务器链接交换机被配置为使得高速缓存一致性交换机禁用第一存储器模块。在一些实施例中,服务器链接交换机被配置为将数据从第二服务器发送到第一服务器,并且对数据执行流控制。在一些实施例中,所述系统还包括连接到服务器链接交换机的第三服务器,其中,服务器链接交换机被配置为:从第二服务器接收第一数据包,从第三服务器接收第二数据包,并且将第一数据包和第二数据包发送到第一服务器。在一些实施例中,所述系统还包括连接到高速缓存一致性交换机的第二存储器模块,其中,第一存储器模块包括易失性存储器,并且第二存储器模块包括持久性存储器。在一些实施例中,高速缓存一致性交换机被配置为虚拟化第一存储器模块和第二存储器模块。在一些实施例中,第一
存储器模块包括闪存,并且高速缓存一致性交换机被配置为提供针对闪存的闪存转换层。在一些实施例中,第一服务器包括连接到第一服务器的扩展插槽的扩展插槽适配器,扩展插槽适配器包括高速缓存一致性交换机以及存储器模块插槽,第一存储器模块通过存储器模块插槽连接到高速缓存一致性交换机。在一些实施例中,存储器模块插槽包括m.2插槽。在一些实施例中,高速缓存一致性交换机通过连接器连接到服务器链接交换机,并且连接器在扩展插槽适配器上。根据本发明的实施例,提供了一种用于在计算系统中执行远程直接存储器访问的方法,计算系统包括第一服务器、第二服务器、第三服务器和连接到第一服务器、第二服务器和第三服务器的服务器链接交换机,第一服务器包括存储程序处理电路、高速缓存一致性交换机和第一存储器模块,所述方法包括:由服务器链接交换机从第二服务器接收第一数据包,由服务器链接交换机从第三服务器接收第二数据包,并且将第一数据包和第二数据包发送到第一服务器。在一些实施例中,所述方法还包括:由高速缓存一致性交换机接收远程直接存储器访问(rdma)请求以及由高速缓存一致性交换机发送rdma响应。在一些实施例中,接收rdma请求的步骤包括通过服务器链接交换机接收rdma请求。在一些实施例中,所述方法还包括:由高速缓存一致性交换机从存储程序处理电路接收针对第一存储器地址的读取命令,由高速缓存一致性交换机将第一存储器地址转换为第二存储器地址,以及由高速缓存一致性交换机在第二存储器地址处从第一存储器模块检索数据。根据本发明的实施例,提供了一种系统,所述系统包括:第一服务器,包括存储程序处理电路、高速缓存一致性交换装置、第一存储器模块、第二服务器、以及连接到第一服务器和第二服务器的服务器链接交换机,其中,第一存储器模块连接到高速缓存一致性交换装置,高速缓存一致性交换装置连接到服务器链接交换机,并且存储程序处理电路连接到高速缓存一致性交换装置。
96.图1g示出多个存储器服务器150中的每个连接到tor服务器链接交换机112的实施例,如图所示,tor服务器链接交换机112可以是pcie 5.0cxl交换机(也称为tor pcie5 cxl交换机)。如图1e和图1f的实施例,服务器链接交换机112可包括fpga或asic,并且可提供优于以太网交换机的性能(在吞吐量和延迟方面)。如图1e和图1f的实施例,存储器服务器150可包括通过多个pcie连接器连接到服务器链接交换机112的多个存储器模块135。在图1g的实施例中,可以不存在处理电路115和系统存储器120,并且存储器服务器150的主要用途可以是提供由具有计算资源的其他服务器105使用的存储器。
97.在图1g的实施例中,服务器链接交换机112可对从不同存储器服务器150接收的多个高速缓存请求进行分组或批处理,并且它可对数据包进行分组,从而减少控制开销。增强能力cxl交换机130可包括可组合的硬件构建块,以(i)基于工作负载将数据路由到不同的存储器类型以及(ii)虚拟化处理器侧地址(将这样的地址转换为存储器侧地址)。图1g中示出的系统可基于cxl 2.0,它可包括机架内的可组合和分解式共享存储器,并且它可使用tor服务器链接交换机112来向远程装置提供池式(即,聚合)存储器。
98.tor服务器链接交换机112可具有用于连接到其他服务器或客户端的附加网络连接(例如,如图所示的以太网连接,或另一种类型的连接(例如,无线连接(诸如,wifi连接或5g连接)))。服务器链接交换机112和增强能力cxl交换机130可各自包括控制器,控制器可以是或包括诸如arm处理器的处理电路。pcie接口可符合pcie 5.0标准或符合pcie标准的早期版本或未来版本,或者可采用不同的标准(例如,nvdimm

p、ccix或openc api)来代替
pcie。存储器模块135可包括各种存储器类型,存储器类型包括ddr4 dram、hbm、ldppr、nand闪存和固态驱动器(ssd)。存储器模块135可被分区或包含高速缓存控制器以处理多种存储器类型,并且它们可以具有不同的形状因子(诸如,hhhl、fhhl、m.2、u.2、夹层卡、子卡、e1.s、e1.1、e3.1或e3.s)。
99.在图1g的实施例中,增强能力cxl交换机130可实现一对多和多对一交换,并且它可在微片(64字节)级别实现细粒度加载

存储接口。每个存储器服务器150可具有聚合的存储器装置,每个装置被划分为各自具有相应的ld

id的多个逻辑装置。增强能力cxl交换机130可包括控制器137(例如,asic或fpga)以及用于装置发现、枚举、分区和呈现物理地址范围的电路(可与这样的asic或fpga分离或者是这样的asic或fpga的一部分)。每个存储器模块135可具有一个物理功能(pf)和多达16个隔离的逻辑装置。在一些实施例中,逻辑装置的数量(例如,分区的数量)可被限制(例如,限制为16),并且还可存在一个控制分区(可以是用于控制装置的物理功能)。存储器模块135中的每个可以是具有cxl.cache、cxl.memory和cxl.io和地址转换服务(ats)实现的2型装置,以对处理电路115可保存的高速缓存行副本进行处理。
100.增强能力cxl交换机130和架构管理器可控制存储器模块135的发现,并且(i)执行装置发现和虚拟cxl软件创建以及(ii)将虚拟端口绑定到物理端口。如图1a至图1d的实施例,架构管理器可通过smbus边带上的连接进行操作。到存储器模块135的接口可实现可配置性,所述接口可以是智能平台管理接口(ipmi)或符合redfish标准的接口(还可提供标准不需要的附加特征)。
101.针对图1g的实施例,构建块可包括(如上所述)在fpga或asic上实现的cxl控制器137进行切换以实现(例如,存储器模块135的)存储器装置、ssd、加速器(gpu、nic)、cxl和pcie5连接器以及固件的聚合,从而将装置细节暴露给操作系统的高级配置与电源接口(acpi)表(诸如,异构存储器属性表(hmat)或静态资源关联表srat)。
102.在一些实施例中,系统提供可组成性。系统可基于软件配置提供使cxl装置和其他加速器在线或离线的能力,并且它可能够对加速器、存储器、存储装置资源进行分组并将它们分配给机架中的每个存储器服务器150。系统可隐藏物理地址空间并使用更快的装置(如hbm和sram)提供透明的高速缓存。
103.在图1g的实施例中,增强能力cxl交换机130的控制器137可以(i)管理存储器模块135,(ii)集成和控制异构装置(诸如,nic、ssd、gpu、dram)以及(iii)通过电源门控实现对存储器装置的存储的动态重新配置。例如,tor服务器链接交换机112可(通过指示增强能力cxl交换机130禁用存储器模块135的电源)禁用存储器模块135之一的电源(即,关闭电源或降低电源)。然后,增强能力cxl交换机130可在被服务器链接交换机112指示禁用存储器模块的电源时禁用存储器模块135的电源。这样的禁用可节省电力,并且可提高存储器服务器150中的其他存储器模块135的性能(例如,吞吐量和延迟)。每个远程服务器105可基于协商而看到存储器模块135及其连接的不同逻辑视图。增强能力cxl交换机130的控制器137可维护状态,使得每个远程服务器维护分配的资源和连接,并且可执行存储器的压缩或重复数据删除以节省存储器容量(使用可配置的组块大小)。图1g的分解式机架可具有它自己的bmc。它还可向远程装置暴露ipmi网络接口和系统事件日志(sel),使得主设备(例如,使用由存储器服务器150提供的存储的远程服务器)能够在运行中测量性能和可靠性,并且重新
配置分解式机架。图1g的分解式机架可以以类似于在此针对图1e的实施例所描述的方式提供可靠性、复制、一致性、系统一致性、散列、高速缓存和持久性,其中,例如,从相同的存储器地址读取或写入相同的存储器地址的多个远程服务器被提供有一致性,并且每个远程服务器被配置有不同的一致性级别。在一些实施例中,服务器链接交换机维护存储在第一存储器服务器上的数据与存储在第二存储器服务器上的数据之间的最终一致性。服务器链接交换机112可针对不同的服务器对维护不同的一致性级别,例如,服务器链接交换机还可以在存储在第一存储器服务器上的数据与存储在第三存储器服务器上的数据之间维护严格一致、顺序一致、因果一致或处理器一致的一致性级别。系统可采用“本地带”(服务器链接交换机112)和“全局带”(分解式服务器)域中的通信。写入可被冲刷到“全局带”以对来自其他服务器的新的读取可见。增强能力cxl交换机130的控制器137可针对每个远程服务器单独地管理持久域和冲刷。例如,高速缓存一致性交换机可监测存储器的第一区域(易失性存储器,作为高速缓存操作)的满度(fulness),并且当满度水平超过阈值时,高速缓存一致性交换机可将数据从存储器的第一区域移动到存储器的第二区域,存储器的第二区域在持久性存储器中。因为可由增强能力cxl交换机130的控制器137在远程服务器之间建立优先级,以呈现不同的感知延迟和带宽,所以流控制可被处理。
104.根据本发明的实施例,提供了一种系统,所述系统包括:第一存储器服务器,包括高速缓存一致性交换机和第一存储器模块;第二存储器服务器;以及连接到第一存储器服务器和第二存储器服务器的服务器链接交换机,其中,第一存储器模块连接到高速缓存一致性交换机,并且高速缓存一致性交换机连接到服务器链接交换机。在一些实施例中,服务器链接交换机被配置为禁用第一存储器模块的电源。在一些实施例中,服务器链接交换机被配置为通过指示高速缓存一致性交换机禁用第一存储器模块的电源来禁用第一存储器模块的电源,并且高速缓存一致性交换机被配置为在由服务器链接交换机指示禁用第一存储器模块的电源时禁用第一存储器模块的电源。在一些实施例中,高速缓存一致性交换机被配置为在第一存储器模块内执行重复数据删除。在一些实施例中,高速缓存一致性交换机被配置为压缩数据并将压缩的数据存储在第一存储器模块中。在一些实施例中,服务器链接交换机被配置为查询第一存储器服务器的状态。在一些实施例中,服务器链接交换机被配置为通过智能平台管理接口(ipmi)查询第一存储器服务器的状态。在一些实施例中,查询状态的步骤包括查询从由电源状态、网络状态和错误检查状态组成的组中选择的状态。在一些实施例中,服务器链接交换机被配置为对指向第一存储器服务器的高速缓存请求进行批处理。在一些实施例中,所述系统还包括连接到服务器链接交换机的第三存储器服务器,其中,服务器链接交换机被配置为在存储在第一存储器服务器上的数据和存储在第三存储器服务器上的数据之间维护从由严格一致、顺序一致、因果一致和处理器一致组成的组选择的一致性级别。在一些实施例中,高速缓存一致性交换机被配置为:监测存储器的第一区域的满度,并且将数据从存储器的第一区域移动到存储器的第二区域,其中,存储器的第一区域在易失性存储器中,并且存储器的第二区域在持久性存储器中。在一些实施例中,服务器链接交换机包括快速外围组件互连(pcie)交换机。在一些实施例中,服务器链接交换机包括快速计算链接(cxl)交换机。在一些实施例中,服务器链接交换机包括架顶式(tor)cxl交换机。在一些实施例中,服务器链接交换机被配置为将数据从第二存储器服务器发送到第一存储器服务器,并且对数据执行流控制。在一些实施例中,系统还包括连接到
服务器链接交换机的第三存储器服务器,其中,服务器链接交换机被配置为:从第二存储器服务器接收第一数据包,从第三存储器服务器接收第二数据包,并且将第一数据包和第二数据包发送到第一存储器服务器。根据本发明的实施例,提供了一种用于在计算系统中执行远程直接存储器访问的方法,计算系统包括第一存储器服务器、第一服务器、第二服务器以及连接到第一存储器服务器、第一服务器和第二服务器的服务器链接交换机,第一存储器服务器包括高速缓存一致性交换机和第一存储器模块,第一服务器包括存储程序处理电路,第二服务器包括存储程序处理电路,所述方法包括:由服务器链接交换机从第一服务器接收第一数据包;由服务器链接交换机从第二服务器接收第二数据包;并且将第一数据包和第二数据包发送到第一存储器服务器。在一些实施例中,所述方法还包括:由高速缓存一致性交换机压缩数据,并且将数据存储在第一存储器模块中。在一些实施例中,所述方法还包括:由服务器链接交换机查询第一存储器服务器的状态。根据本发明的实施例,提供一种系统,所述系统包括:第一存储器服务器,包括高速缓存一致性交换机和第一存储器模块;第二存储器服务器;以及连接到第一存储器服务器和第二存储器服务器的服务器链接交换装置,其中,第一存储器模块连接到高速缓存一致性交换机,并且高速缓存一致性交换机连接到服务器链接交换装置。
105.图2描绘了根据公开的示例实施例的代表性系统架构的示图200,其中,公开的实施例的各方面可结合能够通信和配置结合图1a至图1g描述的各种服务器的管理计算实体进行操作。在一些实施例中,公开的系统可包括可被配置为结合多个集群进行操作的管理计算实体202。如图所示,集群可包括a型池集群204、b型池集群206、c型池集群208和d型池集群210。在一个实施例中,a型池集群204可包括直连式存储器(例如,cxl存储器),b型池集群206可包括加速器(例如,cxl加速器),c型池集群208可包括池式/分布式存储器(例如,cxl存储器),d型池集群210可包括分解式存储器(例如,cxl存储器)。此外,每个集群可包括但不限于可包括计算元件214(诸如,处理器(例如,基于risc

v的处理器)和/或可编程控制器(例如,基于fpga的控制器))和相应介质216的插件模块212。
106.在各种实施例中,管理计算实体202可被配置为基于一个或多个预定参数(例如,与由与管理计算实体202通信的网络上的主机或装置处理的相应工作负载相关联的参数)将i/o和存储器存储和检索操作引导到各种集群。
107.在各种实施例中,管理计算实体202可在机架和/或集群级别进行操作,或者可至少部分地在作为给定集群架构(例如,a型池集群204、b型池集群206、c型池集群208和d型池集群210)的一部分的给定装置(例如,启用高速缓存一致性的装置)内进行操作。在各种实施例中,给定集群架构内的装置可执行管理计算实体的操作的第一部分,而管理计算实体的操作的另一部分可在机架上和/或在集群级别实现。在一些实施例中,可以以协调的方式执行操作的两个部分(例如,集群中的装置向在机架上和/或在集群级别实现的管理计算实体发送协调消息和从管理计算实体接收协调消息)。在一些实施例中,与集群中的装置相关联的操作的第一部分可包括但不限于用于确定装置或集群的当前或未来资源需求、通告装置或集群的当前或未来资源可用性、同步与在装置或集群级别运行的算法相关联的特定参数、训练与装置或机架/集群的操作相关联的一个或多个机器学习模块、记录与路由工作负载相关联的对应数据、它们的组合等的操作。
108.图3a描绘了根据公开的示例实施例的代表性系统架构的另一示图300,其中,公开
的实施例的各方面可结合能够通信和配置结合图1a至图1g描述的各种服务器的管理计算实体进行操作。在一些实施例中,管理计算实体302可与上面结合图2示出和描述的管理计算实体202类似但不必相同。此外,管理计算实体202可与a型池通信。在各种实施例中,a型池集群312可包括若干服务器。此外,a型池集群312可以以例如可被配置为使用rciep进行操作的直连式高速缓存一致性(例如,cxl)装置为特征。在另一实施例中,a型池集群312可以以基于高速缓存一致性协议的存储器(诸如,cxl存储器)为特征,以减少cpu引脚的任何限制。在一个实施例中,a型池集群312可包括具有各种形状因子选项(例如,能够符合企业和数据中心ssd形状因子(edsff)标准和/或附加卡(aic)形状因子的e1、e3形状因子)的直连式装置。在另一实施例中,公开的系统可包括交换机304(诸如,基于高速缓存一致性(例如,cxl)的交换机和/或基于硅光子的交换机)。在一个实施例中,交换机304可以以能够用于将系统缩放到机架级的基于架顶式(tor)以太网的交换机为特征。
109.在各种实施例中,如图3b中所示,b型池集群314也可包括若干服务器。此外,b型池集群314可使用能够在服务器中的一个服务器内池化的基于高速缓存一致性(例如,基于cxl 2.0)的交换机和加速器(可简称为acc)。此外,b型池集群314可以以根据工作负载的基于虚拟高速缓存一致性协议(例如,cxl协议)的交换机(vcs)层级结构能力为特征。具体地,vcs可被识别为交换机的一部分和一个特定根端口(例如,pcie根端口)后面的连接组件。在另一实施例中,公开的系统可包括交换机306(诸如,基于高速缓存一致性(例如,cxl)的交换机和/或基于硅光子的交换机)。
110.在各种实施例中,如图3c中所示,c型池集群316也可包括若干服务器。此外,c型池集群316可使用服务器中的一个服务器内的cxl 2.0交换机。此外,c型池集群316可使用基于pcie的架构和/或基于gen

z的系统来横跨服务器缩放高速缓存一致性存储器。此外,c型池集群316可在集群中引入至少三个一致性存储器池:本地dram、本地cxl存储器和远程存储器。在另一实施例中,公开的系统可包括交换机308(诸如,基于高速缓存一致性(例如,cxl)的交换机和/或基于硅光子的交换机)。
111.在各种实施例中,如图3d中所示,d型池集群318也可包括若干服务器。在一个实施例中,d型池集群318可包括物理分解式cxl存储器。此外,可为每个服务器分配分区,使得横跨服务器可存在有限的共享或不存在共享。在一些实施例中,d型池集群318最初可限于预定数量(例如,16)的多个逻辑装置(mld)分区和主机。具体地,基于3型高速缓存一致性协议(例如,cxl)的存储器装置可以被划分为看起来像多个装置,其中,每个装置呈现唯一的逻辑装置id。此外,d型池集群318可使用基于pcie的架构和/或基于gen

z的系统来横跨服务器缩放高速缓存一致性存储器。在另一实施例中,公开的系统可包括交换机310(诸如,基于高速缓存一致性(例如,cxl)的交换机和/或基于硅光子的交换机)。
112.图4描绘了根据公开的示例实施例的可表征结合图1a至图1g描述的服务器的各方面的代表性参数表的示图,其中,管理计算实体基于参数表来配置各种服务器。具体地,表400示出可由公开的系统并且具体地由在此以各种方式描述的管理计算实体考虑的各种示例参数,以基于上述针对不同池式集群类型的这些参数(或类似参数)的值的比较来将工作负载的部分路由到不同的集群。具体地,表400示出与列中示出的不同集群类型(即,直连式406存储器集群(类似于a型池集群)、池式408存储器集群(类似于b型池集群)、分布式410存储器集群(类似于c型池集群)和分解式412存储器集群(类似于d型池集群))对应的参数
402。这样的参数402的非限制性示例包括直接存储器容量、远存储器容量(例如,用于诸如cxl的高速缓存一致性协议)、远程存储器容量(例如,每个服务器)、远程存储器性能、总拥有成本(tco)、总功率(平摊)和总面积(例如,具有e1形状因子)。在各种实施例中,如下以下进一步描述的,公开的系统可使用与管理计算实体相关联的机器学习算法来确定将工作负载的至少一部分路由到不同的集群。虽然图4示出一些示例参数,但是公开的系统可被配置为监测任何合适的参数以将工作负载或工作负载的部分路由到与集群相关联的不同装置。此外,管理计算实体可基于系统的各种参数来执行这样的操作,这些参数包括但不限于基于高速缓存一致性协议(例如,基于cxl)的往返时间、装置是主机偏置还是装置偏置的确定、基于高速缓存一致性协议(例如,基于cxl)的交换机层级和/或主机上游端口到装置下游端口的绑定、基于高速缓存一致性协议(例如,基于cxl)的交换机架构管理器配置、基于高速缓存一致性协议(例如,基于cxl)的协议数据包或物理介质数据包(例如,cxl.io或pcie介入批量4kb数据包)、网络延迟、基于高速缓存一致性协议(例如,基于cxl)的存储器技术(例如,存储器类型)、它们的组合等。
113.图5描绘了根据公开的示例实施例的代表性网络架构的示图,其中,公开的实施例的各方面可结合第一拓扑进行操作。具体地,图500示出以下进一步描述的网络502、第一数据传输503、主机504、第二数据传输505、装置506、管理计算实体508、核心数据中心510、装置513、514和516、边缘数据中心512、装置514、516和518、边缘数据中心520、装置522、524和526、移动边缘数据中心530以及装置532、534和536。在各种实施例中,集群(例如,以上示出和描述的a、b、c和d型池集群)可以是核心数据中心510、边缘数据中心512、边缘数据中心520和/或移动边缘数据中心530中的一个或多个的一部分。此外,装置(例如,装置506、513、514、516、装置522、524和526以及装置532、534和536)可包括在给定集群(例如,以上示出和描述的a、b、c和d型池集群中的任何一个)内或与给定集群相关联的装置(例如,存储器、加速器或类似装置)。
114.如在此使用的,边缘计算可表示分布式计算系统,例如,为了改善响应时间并节省带宽,边缘计算使计算和数据存储在物理上更靠近这种资源会被需要的位置。边缘计算可例如用于将云计算、网络控制和存储的特定方面移动到物理上可更靠近资源受限终端装置的网络边缘平台(例如,边缘数据中心和/或装置),以支持计算密集和延迟关键的应用。因此,边缘计算可在包含边缘和核心数据中心的网络架构上导致延迟减少和带宽增加。在一些方面,为了提供低延迟服务,边缘计算范例可优化边缘计算平台设计,边缘计算平台设计的各方面在此被描述。
115.在一些实施例中,示图500示出主机504可经由第一数据传输503向网络502发起工作负载请求。管理计算实体508可监测与网络架构相关联的参数(例如,除了数据传输速率、网络部分利用率、它们的组合等之外的任何合适的参数(诸如,以上结合图4示出和描述的参数))(例如,包括但不限于与核心数据中心510和各种边缘数据中心(诸如,边缘数据中心520和边缘数据中心512和/或它们的任何集群)相关联的网络参数)。基于监测的结果,管理计算实体508可确定将工作负载的至少一部分路由到核心数据中心510的一个或多个集群。在一些示例中,管理计算实体508还可将工作负载的不同部分路由到边缘数据中心512或边缘数据中心520的一个或多个集群。为了确定将工作负载路由到何处,管理计算实体508可运行网络架构和/或网络的部分(例如,与边缘数据中心、核心数据中心、各种装置等相关联
的集群)的模型,以确定与网络架构的不同部分相关联的参数(诸如,延迟和/或能量使用)。如上所述,管理计算实体508可使用参数作为机器学习组件(以下将结合图8和图9进一步示出和描述)的输入,以针对工作负载的计算确定核心数据中心和边缘数据中心的一个或多个集群之间的最佳路由。
116.现在转到示图500中示出的各种组件,以下将提供各种组件的更详细的描述。在一些实施例中,网络502可包括但不限于互联网或诸如广域网(wlan)的公共网络。在一些实例中,主机504可包括网络主机(例如,连接到计算机网络的计算机或其它装置)。主机可作为向网络502上的用户或其他主机提供信息资源、服务和应用的服务器来操作。在一些示例中,主机可被分配至少一个网络地址。在其他示例中,参与网络(诸如,互联网)的计算机可被称为互联网主机。这样的互联网主机可包括分配给它们各自的网络接口的一个或多个ip地址。
117.在一些示例中,装置506可包括例如经由有线或无线链路直接连接到网络502的装置。在一些方面,装置506可发起工作负载(例如,视频流请求)。然后,根据在此公开的实施例,可由网络架构的相关部分处理工作负载。以下结合图12进一步示出和描述可用作装置506的装置的示例。
118.在各种实施例中,管理计算实体508可执行流量和/或工作负载到核心数据中心510的一个或多个集群和/或一个或多个边缘数据中心520的一个或多个集群的路由。此外,管理计算实体508可运行模型/机器学习技术,以例如基于监测的网络流量数据来确定与网络的不同部分的一个或多个集群相关联的参数(例如,延迟、能量使用等)。如上所述,在一些实施例中,管理计算实体508可运行机器学习模型以确定如何路由工作负载数据。以下结合图8和图9示出和描述机器学习模型的示例。
119.在一些实施例中,核心数据中心510可包括能够容纳计算机系统和相关联的组件(诸如,电信和存储系统和/或组件)的专用实体。此外,核心数据中心510可包括具有各种服务器的集群(诸如,以上结合图1a至图2示出和描述的集群),服务器具有用于执行工作负载、存储相关联的数据、与网络502、边缘数据中心(例如,边缘数据中心520、移动边缘数据中心530)和/或网络架构的其他部分(未示出)通信数据的计算、网络和存储资源。在一些实施例中,核心数据中心510可连接到各种装置(例如,装置513、514和516)。例如,连接可以是有线连接(例如,基于以太网)或无线连接(例如,基于wi

fi、5g和/或蜂窝)。在另一实施例中,核心数据中心510可从直接连接到核心数据中心510的各种装置(例如,装置513、514和516)接收工作负载请求,并且可执行给定工作负载请求的至少一部分(以下将进一步讨论)。在一些示例中,核心数据中心510可将给定工作负载的结果发送到直接或间接连接到核心数据中心的各种装置。
120.在一些实施例中,边缘数据中心512可表示能够容纳计算机系统和相关联的组件(诸如,电信和存储系统)并且可具有许多与核心数据中心相同或相似的能力的专用实体;然而,与核心数据中心相比,边缘数据中心512通常可具有更小的物理空间(physical footprint)。此外,如前所述,边缘数据中心512可物理上更靠近终端用户,因此,可针对特定的工作负载和应用提供减少的延迟。在一些实施例中,边缘数据中心512可连接到核心数据中心或其他边缘数据中心(例如,移动边缘数据中心530或边缘数据中心520)。此外,边缘数据中心512的一个或多个集群可从直接连接到边缘数据中心512的各种装置(例如,装置
522、524和526)接收工作负载请求,并且可执行给定工作负载请求的至少一部分(以下将进一步讨论)。在另一实施例中,边缘数据中心512的一个或多个集群可例如使用高速缓存一致性协议(例如,cxl协议)将工作负载的一部分发送到边缘数据中心(例如,边缘数据中心520)或核心数据中心(例如,核心数据中心510)的其他集群。此外,边缘数据中心512可将给定工作负载的结果发送到直接或间接连接到边缘数据中心的各种装置。
121.图6描绘了根据公开的示例实施例的图5的代表性网络架构的另一示图,其中,公开的实施例的各方面可结合第二拓扑进行操作。具体地,示图600描绘了许多与上述图5相同的元件。然而,示图600示出这样的管理计算实体608,管理计算实体608可连接到第二拓扑中的核心数据中心510的一个或多个集群,而不是如图5中的网络502。这意在说明管理计算实体可存在于在网络架构上的不同位置(例如,核心数据中心与网络的一个或多个集群)的可能性。
122.在一些实施例中,图600还示出网络502可经由第一数据传输601向核心数据中心510的一个或多个集群发起工作负载请求的示例。例如,连接到网络502的装置(例如,装置506)或主机(例如,主机504)可生成可由网络502处理的工作负载,可经由第一数据传输601发起工作负载请求。管理计算实体608可再次监测与网络架构相关联的参数(例如,除了数据传输速率、网络部分利用率、它们的组合等之外,以上结合图4示出和描述的参数)(例如,网络参数包括但不限于与核心数据中心510和各种边缘数据中心(诸如,边缘数据中心520和边缘数据中心512)的一个或多个集群相关联的网络参数)。
123.基于监测的结果,管理计算实体608可确定将工作负载的至少一部分维持在核心数据中心510的一个或多个集群。在一些示例中,管理计算实体608还可将工作负载的不同部分路由到边缘数据中心512、边缘数据中心520或甚至移动边缘数据中心530(例如,可例如经由无线连接改变位置的边缘数据中心)的一个或多个集群。如前所述,为了确定将工作负载路由到何处,管理计算实体608可运行结合网络架构和网络的部分的各方面的机器学习技术,以确定与网络架构的不同部分相关联的各种参数(例如,延迟、能量使用等)。管理计算实体608可使用参数作为机器学习组件(以下将结合图8和图9进一步示出和描述)的输入,以针对工作负载的计算确定核心数据中心和边缘数据中心的一个或多个集群之间的最佳路由。
124.图7描绘了根据公开的示例实施例的图5的代表性网络架构的另一示图,其中,公开的实施例的各方面可结合第三拓扑进行操作。具体地,示图700描绘了许多与上述图5相同的元件。然而,示图700示出这样的管理计算实体708,管理计算实体708可连接到第三拓扑中的示例边缘数据中心(诸如,移动边缘数据中心530)的一个或多个集群,而不是如图5中的网络502的一个或多个集群或如图6中的核心数据中心510的一个或多个集群。再次,该拓扑反映了管理计算实体可存在于网络架构上的不同位置(例如,边缘数据中心的一个或多个集群与核心数据中心和/或网络的一个或多个集群)的可能性。
125.在一些实施例中,图700还示出网络502可经由第一数据传输701向核心数据中心510的一个或多个集群和/或经由第二数据传输703向移动边缘数据中心530发起工作负载请求。例如,连接到网络502的一个或多个集群的装置(例如,装置506)或主机(例如,主机504)可生成可由网络502的一个或多个集群处理的工作负载,并经由数据传输701发起工作负载请求。管理计算实体708可再次监测与网络架构相关联的参数(例如,结合图4示出和描
述的参数、与高速缓存一致性协议相关的参数和/或数据传输速率、网络部分利用率、它们的组合等)(例如,包括但不限于与核心数据中心510的一个或多个集群以及各种边缘数据中心(诸如,移动边缘数据中心530、边缘数据中心520和/或边缘数据中心512)的一个或多个集群相关联的参数)。
126.基于监测的结果和/或参数的确定及相关联的阈值,管理计算实体708可确定将工作负载的至少一部分维持在移动边缘数据中心530的一个或多个集群。在一些示例中,管理计算实体708还可将工作负载的不同部分路由到核心数据中心510、边缘数据中心512和/或边缘数据中心520的一个或多个集群。如前所述,为了确定将工作负载路由到何处,管理计算实体708可使用参数作为机器学习组件(以下将结合图8和图9进一步示出和描述)的输入,以针对工作负载的计算确定核心数据中心与边缘数据中心之间的最佳路由。
127.图8描绘了根据公开的示例实施例的用于确定工作负载横跨网络架构的不同部分的一个或多个集群的分布的有监督机器学习方法的示图。具体地,示图800示出用于基于参数来确定给定工作负载到核心数据中心和一个或多个边缘数据中心的一个或多个集群的分布的有监督机器学习方法。更具体地,示图800示出机器学习方法的训练组件801,训练组件801包括将在下面描述的网络802、参数804、标签806、特征向量808、管理计算实体810、机器学习组件812、处理器814和存储器816。此外,示图800示出也将在下面描述的机器学习方法的推断组件803,推断组件803包括参数820、特征向量822、预测模型824和预期分布826。
128.现在转到示图800中示出的各种组件,描述了更详细的描述。具体地,网络802可类似于上面结合图5示出和描述的网络502。在一些示例中,网络802可通信地连接到管理计算实体810。在一些实施例中,参数804可包括上面结合图4示出和描述的参数和/或在各种实体(诸如,结合图5示出和描述的实体)之间的网络架构的各个部分上传输的原始数据。在一些示例中,原始数据可包括但不限于部分网络上的工作负载、数据传输、延迟和/或数据传输速率。如上所述,公开的系统可被配置为监测任何合适的参数以将工作负载或工作负载的部分路由到与集群相关联的不同装置。此外,管理计算实体可基于系统的各种参数来执行这样的操作,这些参数包括但不限于基于高速缓存一致性协议(例如,基于cxl)的往返时间、装置是主机偏置还是装置偏置的确定、基于高速缓存一致性协议(例如,基于cxl)的交换机层级和/或主机上游端口到装置下游端口的绑定、基于高速缓存一致性协议(例如,基于cxl)的交换机架构管理器配置、基于高速缓存一致性协议(例如,基于cxl)的协议数据包或物理介质数据包(例如,cxl.io或pcie介入批量4kb数据包)、网络延迟、基于高速缓存一致性协议(例如,基于cxl)的存储器技术(例如,存储器类型)、它们的组合等。
129.在一些实施例中,标签806可表示给定工作负载横跨具有特定配置的示例网络架构中的核心数据中心和一个或多个边缘数据中心的一个或多个集群的最佳分布。在一些实施例中,可使用模型的结果来确定标签806。在各个方面,例如,标签806由此可用于训练机器学习组件812,以预测在推断组件803期间横跨核心数据中心和一个或多个边缘数据中心的一个或多个集群的给定未来工作负载的预期分布826。
130.在一些实施例中,特征向量808可表示各种感兴趣的参数(例如,结合图4示出和描述的参数、延迟和/或数据传输速率、它们的组合等),在一些示例中,这些参数可从原始数据提取和/或可以是参数804的一部分。在一些示例中,特征向量808可表示由管理计算实体通过网络架构观测的传输的各个可测量属性或特性。
131.在其他实施例中,管理计算实体810可通信地连接到网络802,并且可包括机器学习组件812、处理器814和存储器816。具体地,机器学习组件812可使用任何合适的机器学习技术来生成预期分布826的预测模型824,以用于横跨核心数据中心和一个或多个边缘数据中心的一个或多个集群处理给定工作负载。非限制性机器学习技术可包括但不限于有监督学习技术(结合图8示出和描述)、无监督学习技术(结合图9示出和描述)、强化学习技术、自学习技术、特征学习技术、关联规则技术、它们的组合等。附加的非限制性机器学习技术可包括但不限于特定实施方式(诸如,人工神经网络、决策树、支持向量机、回归分析技术、贝叶斯网络技术、遗传算法技术、它们的组合等)。
132.如前所述,示图800包括推断组件803。具体地,因为参数820被接收,特征向量被提取(例如,通过管理计算实体810),并且执行预测模型824的机器学习组件812用于确定横跨核心数据中心和一个或多个边缘数据中心的一个或多个集群处理给定工作负载的预期分布826,所以推断组件803可类似于训练组件801。推断组件803与训练组件801之间的一个差异在于推断组件可以不接收标签(例如,标签806)而训练机器学习组件以确定分布。因此,在推断组件803操作模式中,管理计算实体810可实时确定给定工作负载的预期分布826。随后,如果错误率(例如,基于给定工作负载的总延迟减少来定义)低于预定阈值,则可使用训练组件801(例如,具有与不同或类似的网络参数804相关联的不同标签806)来重新训练机器学习组件812。随后可运行推断组件803以将错误率提高到高于预定阈值。
133.图9描绘了根据公开的示例实施例的用于确定横跨网络架构的不同部分的工作负载的分布的无监督机器学习方法的示图。具体地,示图900示出连接到管理计算实体910的网络902。此外,示图900包括机器学习方法的训练组件901,训练组件901包括参数904、特征向量908、具有机器学习组件912、处理器914和存储器916的管理计算实体910。此外,示图900包括机器学习方法的训练组件903,训练组件903包括参数920、特征向量922、模型924以及横跨核心和边缘数据中心的一个或多个集群的工作负载的预期分布926。
134.现在转到示图900中示出的各种组件,提供了更详细的描述。具体地,网络902可类似于上面结合图5示出和描述的网络502。在一些示例中,网络902可通信地连接到管理计算实体910。在一些实施例中,网络参数904可包括在诸如结合图5示出和描述的网络架构的各个部分上传输的原始数据。在一些示例中,原始数据可包括但不限于部分网络上的工作负载、数据传输、延迟和/或数据传输速率、它们的组合等。
135.在一些实施例中,与上面结合图8示出和描述的表示给定工作负载横跨核心数据中心和一个或多个边缘数据中心的一个或多个集群的最佳分布的标签806相反,训练组件901可以不具有这样的标签。相反,管理计算实体910可在没有任何标签的情况下训练机器学习组件912(例如,使用推断组件903预测给定未来工作负载横跨核心数据中心和一个或多个边缘数据中心的一个或多个集群的预期分布926)。
136.在一些实施例中,特征向量908可表示可以从可作为参数904的一部分的原始数据中提取的各种感兴趣的参数(例如,延迟和/或数据传输速率)。在一些示例中,特征向量908可表示由管理计算实体通过网络架构观测到的传输的各个可测量属性或特性。
137.在其他实施例中,管理计算实体910可通信地连接到网络902,并且可包括机器学习组件912、处理器914和存储器916。具体地,机器学习组件912可使用任何合适的机器学习技术来生成横跨核心数据中心和一个或多个边缘数据中心的一个或多个集群处理给定工
作负载的预期分布926的模型924。
138.如前所述,示图900包括推断组件903。具体地,因为参数920被接收,特征向量922被提取(例如,被管理计算实体910提取),并且执行模型924的机器学习组件912用于确定横跨核心数据中心和一个或多个边缘数据中心的一个或多个集群处理给定工作负载的预期分布926,所以推断组件903可类似于训练组件901。因此,在推断组件903操作模式中,管理计算实体910可实时确定给定工作负载的预期分布926。随后,如果错误率(例如,基于给定工作负载的总延迟减少来定义)低于预定阈值,则可使用训练组件901来重新训练机器学习组件912。随后可运行推断组件903以将错误率提高到高于预定阈值。
139.除了上述各种参数之外和/或结合上述各种参数,公开的系统可另外考虑用于使用机器学习和/或任何其他合适的基于ai的技术将i/o从一个集群动态地路由到另一集群的参数,参数可包括但不限于每个集群/机架/服务器/装置的能量成本/使用、给定时间间隔内每个集群/机架/服务器/装置的峰值负载、每个集群/机架/服务器/装置的热效率(例如,产生的热量按每英热单位(btu)的周期)、给定集群/机架/服务器/装置中可用的处理器的类型(例如,基于x86的进程)以及可用的处理器的数量、以及从高速缓存一致性的观点来看的对称度。此外,公开的系统可考虑集群的组成存储器资源,例如,可以是每个集群/机架/服务器/装置的存储器技术的类型(例如,dram、三层单元(tlc)、四层单元(qlc)等)。
140.在各种实施例中,公开的系统可确定用于将给定工作负载路由到一个或多个集群的附加标准。例如,公开的系统可确定数据速率、网络连接的材料基础和信号损失预算中的一个或多个,以确定信号可以以与数据传输相关联的给定误码率在给定网络(例如,基于pcie gen

5的网络)上传输的最大距离。
141.作为另一示例,公开的系统可确定是否需要重定时器(数量和位置)以及使用重定时器来确定总延迟增加所增加的延迟将是多少。
142.在各种实施例中,公开的系统可针对具有不对称一致性的不对称数据流确定将什么数据路径用于哪个集群/机架/服务器/装置。此外,公开的系统可确定给定工作负载的分解和每个子功能的相关联的预期延迟,然后路由数据以使用cxl将最关键的片段加速到最低延迟加速器。例如,针对对象检测工作负载,公开的系统可基于用于图像分割阶段而不是用于对象数据库检索阶段的上述技术来路由数据,反之亦然。
143.如前所述,在一些方面,管理计算实体910可使用人工智能(ai)(例如,以上结合图8和图9示出和描述的机器学习组件)来确定网络架构的部分之间的工作负载的路由(例如,通过监测用于增强的工作负载路由的网络的不同部分上随时间的数据流(例如,历史数据))。因此,在此描述的装置、管理计算实体和/或相关组件的实施例可采用ai来促进在此描述的一个或多个特征自动化。组件可采用各种基于ai的方案来执行在此公开的各种实施例/示例。为了提供或辅助在此描述的许多确定(例如,确定、查明、推断、计算、预测、预告、估计、导出、预报、检测、计算),在此描述的组件可检查被授权访问的数据的整体或子集,并且可根据经由事件和/或数据捕获的一组观测提供关于系统、环境等的状态的推理或确定系统、环境等的状态。例如,可采用确定来识别特定上下文或动作,或者可生成状态的概率分布。确定可以是概率性的,即,基于对数据和事件的考虑来计算感兴趣的状态的概率分布。确定还可指从一组事件和/或数据组成更高级事件所采用的的技术。
144.这样的确定可导致从一组观测的事件和/或存储的事件数据、事件是否以紧密的
时间接近度相关以及事件和数据是否来自一个或若干事件和数据源来构建新的事件或动作。在此公开的组件可结合执行与所要求保护的主题相关的自动和/或确定的动作,采用各种分类(显式训练的(例如,经由训练数据)以及隐式训练的(例如,经由观测行为、偏好、历史信息、接收外部信息等))方案和/或系统(例如,支持向量机、神经网络、专家系统、贝叶斯信念网络、模糊逻辑、数据融合引擎等)。因此,分类方案和/或系统可用于自动学习和执行多个功能、动作和/或确定。在一些方面,神经网络可包括但不限于长短期记忆(lstm)神经网络、循环神经网络、时延神经网络或前馈神经网络中的至少一个。
145.分类器可将输入属性向量z=(z1,z2,z3,z4,

,zn)映射到输入属于类的置信度,如通过f(z)=置信度(类)。这种分类可采用基于概率和/或统计的分析来确定将要自动执行的动作。支持向量机(svm)可以是可以采用的分类器的示例。svm通过在可能输入的空间中找到超曲面来操作,其中,超曲面尝试将触发标准与非触发事件分开。直观地,这使得对于与训练数据接近但不相同的测试数据分类正确。可采用其他有向和无向模型分类方法(例如,包括朴素贝叶斯、贝叶斯网络、决策树、神经网络、模糊逻辑模型和/或提供不同独立性模式的概率分类模型)。在此使用的分类还包括用于开发优先级模型的统计回归。
146.图10示出可用于实践本公开的实施例的系统的示例示意图。如图10中所示,特定实施例可包括一个或多个管理计算实体1000、一个或多个网络1005和一个或多个用户装置1010。这些组件、实体、装置、系统和在此可互换使用的类似词语中的每个可通过相同或不同的有线或无线网络(例如,结合图5示出和描述的网络502,包括但不限于边缘数据中心和/或核心数据中心以及相关联的集群)彼此直接或间接通信。此外,虽然图10将各种系统实体示出为单独的独立实体,但是各种实施例不限于该特定架构。此外,管理计算实体1000可包括在此描述的机器学习组件。如上所述,可使用在此进一步描述的任何合适的协议(例如,5g网络协议、高速缓存一致性协议)来执行通信。
147.图11示出根据公开的示例实施例的管理计算实体的示例示意图。此外,管理计算实体1000可包括内容组件、处理组件和发送组件(未示出)。具体地,内容组件可用于确定指示将通过在此描述的网络架构传输的数据(例如,视频、音频、文本、数据、它们的组合等)的信号。在另一实施例中,用于传输的信号的确定可例如基于装置的用户输入、网络上的数据传输的预定调度、网络条件的变化等。在一个实施例中,信号可包括:数据可被封装在被配置为从装置发送到网络上的一个或多个装置的数据帧(例如,5g数据帧和/或高速缓存一致性协议数据帧)中。
148.在另一实施例中,处理元件1105可用于确定与通过网络(例如,以上结合图10示出和描述的网络1005)传输的数据相关联的各种参数和/或与网络的部分的集群相关联的参数。例如,处理元件1105可用于针对网络数据运行模型、针对网络数据运行机器学习技术、确定将由网络架构的各个部分处理的工作负载的分布、它们的组合等。作为另一示例。处理元件1105可用于针对网络数据运行模型、针对与网络的集群的不同性能能力相关联的参数运行机器学习技术、确定将由网络架构的部分的各种集群处理的工作负载的分布、它们的组合等。
149.在一个实施例中,发送组件(未示出)可用于将信号从一个装置发送到网络上的另一装置(例如,从第一集群上的第一装置发送到第二集群上的第二装置,例如,使用高速缓存一致性协议)。例如,发送组件可用于准备发送器(例如,下面的图12的发送器1204)以通
过网络发送信号。例如,发送组件可在一个或多个高速缓存中对数据进行排队,可确定发送装置和相关联的发送器正常工作并且具有足够的功率来通过网络发送信号,可调整与数据传输相关联的一个或多个参数(例如,调制类型、信号放大、信号功率电平、噪声抑制、它们的组合等)。
150.通常,术语计算实体、计算机、实体、装置、系统和/或在此可互换使用的类似词语可表示例如一个或多个计算机、计算实体、台式计算机、移动电话、平板计算机、平板手机、笔记本计算机、膝上型计算机、分布式系统、游戏控制台(例如xbox、playstation、wii)、手表、眼镜、ibeacons、临近信标、钥匙扣、射频识别(rfid)标签、耳机、扫描仪、电视、加密狗、相机、腕带、可穿戴物品/装置、自动服务终端、输入终端、服务器或服务器网络、刀片、网关、交换机、处理装置、处理实体、机顶盒、中继器、路由器、网络接入点、基站等和/或适于执行在此描述的功能、操作和/或处理的装置或实体的任何组合。这样的功能、操作和/或处理可包括例如发送、接收、操作、处理、显示、存储、确定、创建/生成、监测、评估、比较和/或在此可互换使用的类似术语。在一个实施例中,可对数据、内容、信息和/或在此可互换使用的类似术语执行这些功能、操作和/或处理。
151.如所指示的,在一个实施例中,管理计算实体1000还可包括用于与各种计算实体通信的一个或多个通信接口1120(诸如,通过传送可被发送、接收、操作、处理、显示、存储等的数据、内容、信息和/或在此可互换使用的类似术语)。例如,管理计算实体1000可与用户装置1010和/或各种其他计算实体通信。
152.如图11中所示,在一个实施例中,管理计算实体1000可包括一个或多个处理元件1105(也称为处理器、处理电路和/或在此可互换使用的类似术语)或与一个或多个处理元件1105通信,所述一个或多个处理元件1105例如经由总线与管理计算实体1000内的其他元件通信。如将被理解的,处理元件1105可以以多种不同的方式实施。例如,处理元件1105可被实施为一个或多个复杂可编程逻辑器件(cpld)、微处理器、多核处理器、协处理实体、专用指令集处理器(asip)、微控制器和/或控制器。此外,处理元件1105可被实施为一个或多个其他处理装置或电路。术语电路可表示完全硬件实施例或硬件和计算机程序产品的组合。因此,处理元件1105可被实施为集成电路、专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、硬件加速器、其他电路等。因此,如将被理解的,处理元件1105可被配置用于特定用途或被配置为执行存储在易失性或非易失性介质中或以其他方式可由处理元件1105访问的指令。因此,无论是由硬件还是计算机程序产品配置,还是由它们的组合配置,当相应地被配置时,处理元件1105可能够执行根据本公开的实施例的步骤或操作。
153.在一个实施例中,管理计算实体1000还可包括非易失性介质(也称为非易失性存储装置、存储器、存储器存储装置、存储器电路和/或在此可互换使用的类似术语)或与非易失性介质通信。在一个实施例中,非易失性存储装置或存储器可包括一个或多个非易失性存储装置或存储介质1110,非易失性存储装置或存储介质1110包括但不限于硬盘、rom、prom、eprom、eeprom、闪存、mmc、sd存储卡、记忆棒、cbram、pram、feram、nvram、mram、rram、sonos、fjg ram、millipede存储器、赛道存储器等。如将认识到的,非易失性存储装置或存储器介质可存储数据库、数据库实例、数据库管理系统、数据、应用、程序、程序组件、脚本、源代码、目标代码、字节代码、编译代码、解释代码、机器代码、可执行指令等。术语数据库、
数据库实例、数据库管理系统和/或在此可互换使用的类似术语可表示使用一个或多个数据库模型(诸如,分层数据库模型、网络模型、关系模型、实体关系模型、对象模型、文档模型、语义模型、图模型等)存储在计算机可读存储介质中的记录或数据的集合。
154.在一个实施例中,管理计算实体1000还可包括易失性介质(也称为易失性存储装置、存储器、存储器存储装置、存储器电路和/或在此可互换使用的类似术语)或与易失性介质通信。在一个实施例中,易失性存储装置或存储器还可以包括一个或多个易失性存储装置或存储介质1115,易失性存储装置或存储介质1115包括但不限于ram、dram、sram、fpm dram、edo dram、sdram、ddr sdram、ddr2 sdram、ddr3 sdram、rdram、ttram、t

ram、z

ram、rimm、dimm、simm、vram、高速缓冲存储器、寄存器存储器等。如将认识到的,易失性存储装置或存储介质可用于存储例如由处理元件1105执行的数据库、数据库实例、数据库管理系统、数据、应用、程序、程序组件、脚本、源代码、目标代码、字节代码、编译代码、解释代码、机器代码、可执行指令等的至少一部分。因此,数据库、数据库实例、数据库管理系统、数据、应用、程序、程序组件、脚本、源代码、目标代码、字节代码、编译代码、解释代码、机器代码、可执行指令等可用于在处理元件1105和操作系统的帮助下控制管理计算实体1000的操作的某些方面。
155.如所指示的,在一个实施例中,管理计算实体1000还可包括用于与各种计算实体通信(诸如,通过传送可被发送、接收、操作、处理、显示、存储等的数据、内容、信息和/或在此可互换使用的类似术语)的一个或多个通信接口1120。这样的通信可使用有线数据传输协议(诸如,快速外围组件互连(pcie)、光纤分布式数据接口(fddi)、数字用户线(dsl)、以太网、异步传输模式(atm)、帧中继、电缆数据服务接口规范(docsis)或任何其他有线传输协议)来执行。类似地,管理计算实体1000可被配置为使用各种协议(诸如,通用分组无线服务(gprs)、通用移动通信系统(umts)、码分多址2000(cdma2000)、cdma2000 1x(1xrtt)、宽带码分多址(wc dma)、时分同步码分多址(td

scdma)、长期演进(lte)、演进型通用陆地无线接入网络(e

utran)、演进数据优化(evdo)、高速分组接入(hspa)、高速下行链路分组接入(hsdpa)、ieee 802.11(wi

fi)、wi

fi直连、802.16(wimax)、超宽带(uwb)、红外(ir)协议、近场通信(nfc)协议、zigbee、蓝牙协议、5g协议、无线通用串行总线(usb)协议和/或任何其他无线协议)中的任何一种经由无线外部通信网络进行通信。
156.尽管未示出,但是管理计算实体1000可包括一个或多个输入元件(诸如,键盘输入、鼠标输入、触摸屏/显示器输入、运动输入、移动输入、音频输入、指示装置输入、操纵杆输入、小键盘输入等)或与一个或多个输入元件通信。管理计算实体1000还可包括一个或多个输出元件(未示出)(诸如,音频输出、视频输出、屏幕/显示器输出、运动输出、移动输出等)或与一个或多个输出元件通信。
157.如将被理解的,管理计算实体1000的组件中的一个或多个可设置得远离其他管理计算实体1000组件(诸如,在分布式系统中)。此外,一个或多个组件可被组合,并且执行在此描述的功能的附加组件可包括在管理计算实体1000中。因此,管理计算实体1000可适合于适应各种需要和情况。如将认识到的,提供这些架构和描述仅出于示例目的,并且不限于各种实施例。
158.用户可以是个人、家庭、公司、组织、实体、组织内的部门、组织和/或个人的代表等。在一个示例中,用户可以是雇员、居民、客户等。例如,用户可操作用户装置1010,用户装
置1010包括在功能上类似于管理计算实体1000的功能的一个或多个组件。
159.在各个方面,处理组件、发送组件和/或接收组件(未示出)可被配置为在一个或多个用户装置1010上进行操作,它们可以包括如这里结合图10和图11示出和描述的管理计算实体1000的功能的方面。具体地,处理组件、发送组件和/或接收组件可被配置为与一个或多个处理元件1105、存储器1110、易失性存储器1115通信,并且可包括通信接口1120(例如,用于促进装置之间的通信)。
160.图12示出根据公开的示例实施例的用户装置的示例示意图。图12提供了表示可与本公开的实施例结合使用的用户装置1010(结合图10示出)的说明性示意图。通常,术语装置、系统、计算实体、实体和/或在此可互换使用的类似词语可表示例如一个或多个计算机、计算实体、台式机、移动电话、平板计算机、平板手机、笔记本计算机、膝上型计算机、分布式系统、游戏控制台(例如xbox、playstation、wii)、手表、眼镜、钥匙扣、射频识别(rfid)标签、耳机、扫描仪、相机、腕带、自动服务终端、输入终端、服务器或服务器网络、刀片、网关、交换机、处理装置、处理实体、机顶盒、中继器、路由器、网络接入点、基站等和/或适于执行在此描述的功能、操作和/或处理等的装置或实体的任何组合。用户装置1010可由各方进行操作。如图12中所示,用户装置1010可包括天线1212、发送器1204(例如,无线电)、接收器1206(例如,无线电)以及分别向发送器1204提供信号和从接收器1206接收信号的处理元件(又称为处理装置)1208(例如,cpld、fpga、微处理器、多核处理器、协处理实体、asip、微控制器和/或控制器)。
161.分别提供给发送器1204和从接收器1206接收的信号可包括根据适用的无线系统的空中接口标准的信令信息。在这方面,用户装置1010可能够以一个或多个空中接口标准、通信协议、调制类型和接入类型来操作。更具体地,用户装置1010可根据多个无线通信标准和协议(诸如,以上关于图10的管理计算实体1000描述的无线通信标准和协议)中的任何一个进行操作。在特定实施例中,用户装置1010可根据多个无线通信标准和协议(诸如,公开的iot docsis协议、umts、cdma2000、1xrtt、wcdma、td

scdma、lte、e

utran、evdo、hspa、hsdpa、5g、wi

fi、wi

fi直连、wimax、uwb、ir、nfc、蓝牙、usb等)进行操作。类似地,用户装置1010可根据多个有线通信标准和协议(诸如,以上关于管理计算实体1000描述的有线通信标准和协议)经由网络接口1220进行操作。
162.经由这些通信标准和协议,用户装置1010可使用诸如非结构化补充服务数据(ussd)、短消息服务(sms)、多媒体消息服务(mms)、双音多频信令(dtmf)和/或订户身份组件拨号器(sim拨号器)的构思与各种其他实体通信。用户装置1010还可将更改、附加件和更新下载到例如它的固件、软件(例如,包括可执行指令、应用、程序组件)和操作系统。
163.根据一个实施例,用户装置1010可包括位置确定方面、装置、组件、功能和/或在此可互换使用的类似词语。位置确定方面可用于通知由管理计算实体使用的模型以及在此描述的模型和/或机器学习技术中的一个或多个。例如,用户装置1010可包括室外定位方面(诸如,适于获取例如纬度、经度、高度、地理编码、路线、方向、航向、速度、世界时(utc)、日期和/或各种其他信息/数据的位置组件)。在一个实施例中,位置组件可通过识别视野中的卫星的数量和这些卫星的相对位置来获取有时被称为星历数据的数据。卫星可以是各种不同的卫星,包括近地轨道(leo)卫星系统、美国国防部(dod)卫星系统、欧盟伽利略定位系统、中国指南针导航系统、印度区域导航卫星系统等。可选地,可通过结合各种其他系统(包
括蜂窝塔、wi

fi接入点等)对用户装置1010的位置进行三角测量来确定位置信息。类似地,用户装置1010可包括室内定位方面(诸如,适于获取例如纬度、经度、高度、地理编码、路线、方向、航向、速度、时间、日期和/或各种其他信息/数据的位置组件)。一些室内系统可使用各种位置或定位技术(包括rfid标签、室内信标或发送器、wi

fi接入点、蜂窝塔、附近的计算装置(例如,智能电话、膝上型计算机)等)。例如,这样的技术可包括ibeacon、万向节邻近信标(gimbal proximity beacons)、蓝牙低功耗(ble)发送器、nfc发送器等。这些室内定位方面可在各种设置中使用,以将某人或某物的位置确定在英寸或厘米内。
164.用户装置1010还可包括用户接口(其可包括连接到处理元件1208的显示器1216)和/或用户输入接口(连接到处理元件1208)。例如,如在此描述的,用户接口可以是在用户装置1010上执行和/或可经由用户装置1010访问的用户应用、浏览器、用户界面和/或在此可互换使用的类似词语,用于与管理计算实体1000进行交互和/或显示来自管理计算实体1000的信息。用户输入接口可包括允许用户装置1010接收数据的多个装置或接口(诸如,小键盘1218(硬或软)、触摸显示器、声音/语音或运动接口或其他输入装置)中的任何一个。在包括小键盘1218的实施例中,小键盘1218可包括(或能显示)常规数字(0

9)和相关键(#、*)以及用于操作用户装置1010的其他键,并且可包括完整的一组字母键或可被激活以提供一组完整的字母数字键的一组键。除了提供输入之外,用户输入接口可用于例如激活或去激活特定功能(诸如,屏幕保护和/或睡眠模式)。
165.用户装置1010还可包括可以是嵌入式和/或可以是可移除的易失性存储装置或存储器1222和/或非易失性存储装置或存储器1224。例如,非易失性存储器可以是rom、prom、eprom、eeprom、闪存、mmc、sd存储卡、记忆棒、cbram、pram、feram、nvram、mram、rram、sonos、fjg ram、millipede存储器、赛道存储器等。易失性存储器可以是ram、dram、sram、fpm dram、edo dram、sdram、ddr sdram、ddr2 sdram、ddr3 sdram、rdram、ttram、t

ram、z

ram、rimm、dimm、simm、vram、高速缓冲存储器、寄存器存储器等。易失性和非易失性存储装置或存储器可存储数据库、数据库实例、数据库管理系统、数据、应用、程序、程序组件、脚本、源代码、目标代码、字节代码、编译代码、解释代码、机器代码、可执行指令等,以实现用户装置1010的功能。如所指示的,这可包括存在于实体上或可通过浏览器或其他用户界面访问的用户应用,用于与管理计算实体1000和/或各种其他计算实体通信。
166.在另一实施例中,如上面更详细描述的那样,用户装置1010可包括与管理计算实体1000的组件或功能相同或相似的一个或多个组件或功能。如将认识到的,提供这些架构和描述仅用于示例目的,并且不限于各种实施例。
167.图13是根据公开的示例实施例的操作公开的系统以确定横跨网络的一个或多个集群的工作负载分布的示例性方法1300的图示。在框1302,公开的系统可确定与第一集群中的至少一个第一装置相关联的参数的第一值。在框1304,公开的系统可基于参数的第一值来确定阈值。在框1306,公开的系统可接收用于在第一装置处理工作负载的请求。在框1308,公开的系统可确定与第二集群中的至少一个第二装置相关联的参数的第二值满足阈值。在框1310,公开的系统可响应于满足阈值,将工作负载的至少一部分路由到第二装置。
168.图14是根据公开的示例实施例的操作公开的系统以确定横跨网络的一个或多个集群的工作负载分布的另一示例性方法1400的图示。在框1402,公开的系统可确定用于实现直连式存储器架构、池式存储器架构、分布式存储器架构和分解式存储器架构的集群的
性能参数。在框1404,公开的系统可确定工作负载的预计存储器使用需求和可接受的性能参数阈值。在框1406,公开的系统可基于工作负载的预计存储器使用需求和相应性能参数来计算每个集群的得分。在框1408,公开的系统可将工作负载路由到具有最高得分的存储器集群。
169.图15是根据公开的示例实施例的操作公开的系统以如在此描述的那样在包括集群的网络架构上确定工作负载的分布的示例性方法1500的图示。在框1502,公开的系统可从通信地连接到网络的主机接收工作负载。在一些实施例中,主机可包括互联网上的主机。在一些示例中,工作负载可源自连接到主机的装置(例如,请求特定服务(例如,视频流请求、搜索请求、它们的组合等)的用户装置(例如,移动电话))。在一些方面,从主机接收工作负载可与以上结合图5示出和描述的处理类似但不必相同。
170.在框1504,公开的系统可从边缘数据中心接收工作负载。类似于框1502,工作负载可源自连接到边缘数据中心的装置(例如,请求特定服务(例如,视频流请求、搜索请求、它们的组合等)的用户装置(例如,移动电话))。在一些方面,从边缘数据中心接收工作负载可与以上结合图7示出和描述的处理类似但不必相同。
171.在框1506,公开的系统可从核心数据中心接收工作负载。类似于框1502和1504,工作负载可源自连接到边缘数据中心或核心数据中心的装置(例如,请求特定服务(例如,视频流请求、搜索请求等)的用户装置(例如,移动电话))。在一些方面,从核心数据中心接收工作负载可与以上结合图6示出和描述的处理类似但不必相同。
172.在一些示例中,公开的系统可例如以分解的方式从主机、边缘数据中心和/或核心数据中心中的任何组合接收工作负载的一部分。例如,请求服务的多于一个装置可以以点对点(p2p)连接进行连接,并且可发起可在网络架构的不同部分(例如,主机、边缘数据中心和/或核心数据中心)处接收的复合工作负载。此外,公开的系统可在管理计算实体处聚合部分工作负载请求(它本身可在网络架构的任何合适的位置处部分地或完全地执行),以根据以下描述的操作进一步处理。
173.在框1508,公开的系统可接收与核心数据中心和边缘数据中心中的集群相关联的参数。具体地,公开的系统可采用在此以各种方式示出和描述的管理计算实体来监测网络架构以确定参数。在一些实施例中,例如,如以上结合图4进一步示出和描述的,公开的系统可拦截或以其他方式访问在网络架构的各个部分传输的原始数据,并且从原始数据确定包括但不限于数据速率、机器利用率、存储器容量、远程存储器容量等的特定参数。
174.在框1510,公开的系统可基于参数来确定与在核心数据中心和边缘数据中心的集群上执行的工作负载相关联的预期延迟或能量使用。具体地,公开的系统可使用如结合图8至图9进一步示出和描述的模型来确定与工作负载相关联的延迟。延迟的非限制性示例可包括包含处理和通信时延的服务时间时延。在一些实施例中,公开的系统可确定映射到实现特定协议(例如,5g网络协议)的特定网络架构的延迟。此外,能量使用的非限制性示例可包括在给定核心数据中心或边缘数据中心的集群上执行特定工作负载的每瓦特性能或每单位货币(例如,美元)性能。
175.在框1512,公开的系统可以可选地执行模型以确定到边缘数据中心或核心数据中心的集群的路由。具体地,公开的系统可实现机器学习技术以确定到边缘数据中心或核心数据中心的最佳路由。例如,公开的系统可实现如结合图8进一步示出和描述的有监督机器
学习技术或如结合图9进一步示出和描述的无监督机器学习技术,以确定用于将工作负载路由到与边缘数据中心或核心数据中心相关联的集群的预期分布。在其他示例中,公开的系统可以不同于机器学习方法或与机器学习方法组合,来实现用于将工作负载路由到边缘数据中心或核心数据中心的集群的预定规则(例如,用户指定的策略)。
176.在框1514,公开的系统可至少部分地基于模型的结果来确定工作负载到核心数据中心或边缘数据中心的集群的分布。具体地,如通过确定的分布所表征的,公开的系统可确定将工作负载的第一部分发送到核心数据中心的集群,并将工作负载的第二部分发送到边缘数据中心的集群。在一些实施例中,公开的系统可确定可能影响网络架构的特定参数(例如,减少总延迟(例如,服务时延))的分布。在其他方面,公开的系统可进一步确定分布,以减少与网络架构相关联的其他因素(包括但不限于网络的带宽使用、网络或网络的部分的功率使用、它们的组合等)。
177.图16a是根据公开的示例实施例的用于通过网络架构将工作负载路由到核心数据中心的集群和一个或多个边缘数据中心的集群的公开系统的示例性方法1600的图示。在框1602,公开的系统可接收工作负载和工作负载的分布。在一些实施例中,存在于核心网络上的管理计算实体可接收工作负载和分布。如上所述,工作负载可源自连接到互联网上的主机或核心数据中心的装置(例如,请求特定服务(例如,视频流请求、搜索请求、它们的组合等)的用户装置(例如,移动电话))。此外,可从以上结合图8和图9描述并且贯穿公开描述的机器学习技术的结果来确定工作负载的分布。在一个示例中,可至少部分地基于与核心数据中心相关联的集群中的至少一个装置相关联的第一编程方式预期的延迟和与边缘数据中心中的装置相关联的第二编程方式预期的延迟之间的差超过预定阈值来确定分布。
178.在框1604,公开的系统可基于分布将工作负载的一部分和与工作负载的该部分相关联的数据路由到一个或多个边缘数据中心的一个或多个集群。具体地,公开的系统可将工作负载的分立组件分解成模块化任务,生成与工作负载的分立组件相关联的一系列数据包,并且在适当的时候通过网络架构将数据包传输到网络的指定部分(例如,与一个或多个边缘数据中心相关联的各种集群)。此外,公开的系统可利用任何适当的头(header)封装分立组件,以通过任何底层网络介质进行传输。例如,公开的系统可利用与第一网络协议(例如,5g协议)相关联的第一元数据来封装工作负载的分立组件,并且可利用与第二网络协议(例如,以太网协议)相关联的第二元数据来封装工作负载的分立组件,以分别传输到与第一边缘数据中心相关联的集群和与第二边缘数据中心相关联的另一集群。
179.在框1606,公开的系统可在核心数据中心的一个或多个集群处理工作负载的另一部分和与工作负载的该部分相关联的数据。具体地,公开的系统可保留一部分工作负载以用于在与核心数据中心相关联的一个或多个集群处进行处理。例如,在与核心数据中心相关联的一个或多个集群处理的部分会需要相对较高水平的计算资源,相对于与(一个或多个)边缘数据中心相关联的一个或多个集群,这在与核心数据中心相关联的一个或多个集群处可行。在一些实施例中,公开的系统可根据任何合适的服务级别协议(sla)来处理工作负载的一部分。
180.在框1608,公开的系统可聚合来自核心数据中心和边缘数据中心的集群的处理后的工作负载的部分。在一些示例中,公开的系统可包括用于工作负载的不同部分的标签,标签反映处理工作负载的相应部分的网络的部分(例如,与核心数据中心或边缘数据中心相
关联的一个或多个集群)。例如,标签可被包括在与工作负载的部分相关联的元数据(例如,与表示工作负载的部分的数据包相关联的元数据)中。因此,公开的系统可使用标签对处理后的部分进行分类、过滤和/或聚合。具体地,公开的系统可从数据中心的给定集群接收与第一部分相关联的第一完成的工作负载,并且从边缘数据中心的另一集群接收与第二部分相关联的第二完成的工作负载,并且使用第一标签或第二标签对第一完成的工作负载或第二完成的工作负载进行分类、过滤或聚合。
181.在框1610,公开的系统可将聚合和处理后的工作负载的部分发送到至少一个装置。在一些实施例中,公开的系统可将聚合和处理后的部分发送到位于与发起工作负载请求的装置类似或不同的网络部分的装置。
182.图16b是根据公开的示例实施例的用于通过网络架构将工作负载路由到与核心数据中心相关联的一个或多个集群以及与一个或多个边缘数据中心相关联的一个或多个集群的公开的系统的另一示例性方法1601的图示。在框1612,公开的系统可接收工作负载和工作负载的分布。在一些实施例中,存在于边缘网络上的管理计算实体可接收工作负载和分布。如上所述,工作负载可源自连接到互联网上的主机或核心数据中心的装置(例如,请求特定服务(例如,视频流请求、搜索请求等)的用户装置(例如,移动电话))。此外,可从上述和贯穿公开描述的机器学习技术的结果来确定工作负载的分布。
183.在框1614,公开的系统可基于分布将工作负载的一部分和与工作负载的该部分相关联的数据路由到核心数据中心的一个或多个集群。如前所述,公开的系统可将工作负载的分立组件分解成模块化任务,生成与工作负载的分立组件相关联的一系列数据包,并且在适当的时候通过网络架构将数据包传输到指定部分(例如,核心数据中心的一个或多个集群)。此外,公开的系统可利用任何适当的头封装分立组件,以通过任何底层网络介质进行传输。例如,公开的系统可利用与第一网络协议(例如,基于5g的网络协议)相关联的第一元数据来封装工作负载的分立组件,并且可利用与第二网络协议(例如,基于以太网的网络协议)相关联的第二元数据来封装工作负载的分立组件,以分别传输到第一核心数据中心的一个或多个集群和第二核心数据中心的一个或多个集群。
184.在框1616,公开的系统可在一个或多个边缘数据中心的一个或多个集群处理工作负载的另一部分和与工作负载的该部分相关联的数据。具体地,公开的系统可保留一部分工作负载以用于在边缘数据中心的一个或多个集群处进行处理。例如,在边缘数据中心的一个或多个集群处理的部分会需要相对较低水平的计算资源但是减少的延迟,相对于核心数据中心的一个或多个集群,这在边缘数据中心的一个或多个集群处可行。在一些实施例中,公开的系统可根据任何合适的sla来处理工作负载的一部分。
185.在框1618,公开的系统可聚合来自核心数据中心和边缘数据中心的一个或多个集群的处理后的工作负载的部分。在一些示例中,如前所述,公开的系统可包括用于工作负载的不同部分的标签,标签反映处理工作负载的相应部分的网络的部分(例如,核心数据中心或边缘数据中心的一个或多个集群)。例如,标签可被包括在与工作负载的部分相关联的元数据(例如,与表示工作负载的部分的数据包相关联的元数据)中。因此,公开的系统可使用标签对处理后的部分进行分类、过滤和/或聚合。
186.在框1620,公开的系统可将聚合和处理后的工作负载的部分发送到至少一个装置。在一些实施例中,公开的系统可将聚合和处理后的部分发送到位于与发起工作负载请
求的装置类似或不同的网络部分的装置。
187.特定实施例可以以硬件、固件和软件之一或其组合实现。其他实施例也可被实现为可由至少一个处理器读取和执行以执行在此描述的操作的存储在计算机可读存储装置上的指令。计算机可读存储装置可包括用于以机器(例如,计算机)可读的形式存储信息的任何非暂时性存储器机构。例如,计算机可读存储装置可包括只读存储器(rom)、随机存取存储器(ram)、磁盘存储介质、光存储介质、闪存装置以及其他存储装置和介质。
188.在此使用词语“示例性”来表示“用作示例、实例或说明”。在此描述为“示例性”的任何实施例不必被解释为比其他实施例优选或有利。在此使用术语“计算装置”、“用户装置”、“通信站”、“站”、“手持装置”、“移动装置”、“无线装置”和“用户设备”(ue)表示无线通信装置(诸如,蜂窝电话、智能电话、平板计算机、上网本、无线终端、膝上型计算机、家庭基站、高数据速率(hdr)用户站、接入点、打印机、销售点装置、接入终端或其他个人通信系统(pcs)装置)。装置可以是移动的或静止的。
189.如本文档内所使用的,术语“通信”意在包括发送、或接收、或发送和接收两者。当描述由一个装置发送并由另一装置接收的数据的组织,但是仅需要这些装置之一的功能侵权时,这在权利要求中会特别有用。类似地,当仅要求这些装置之一的功能时,两个装置之间的双向数据交换(两个装置在交换期间发送和接收)可被描述为“通信”。如在此使用的针对无线通信信号的术语“通信”包括发送无线通信信号和/或接收无线通信信号。例如,能够传送无线通信信号的无线通信单元可包括用于将无线通信信号发送到至少一个其他无线通信单元的无线发送器、和/或用于从至少一个其他无线通信单元接收无线通信信号的无线通信接收器。
190.一些实施例可与各种装置和系统(例如,个人计算机(pc)、台式计算机、移动计算机、膝上型计算机、笔记本计算机、平板计算机、服务器计算机、手持计算机、手持装置、个人数字助理(pda)装置、手持pda装置、车载装置、非车载装置、混合装置、车辆装置、非车辆装置、移动或便携式装置、消费者装置、非移动或非便携式装置、无线通信站、无线通信装置、无线接入点(ap)、有线或无线路由器、有线或无线调制解调器、视频装置、音频装置、音频

视频(a/v)装置、有线或无线网络、无线区域网络、无线视频区域网络(wvan)、局域网(lan)、无线lan(wlan)、个人区域网络(pan)、无线pan(wpan)等)结合使用。
191.一些实施例可与单向和/或双向无线电通信系统、蜂窝无线电话通信系统、移动电话、蜂窝电话、无线电话、个人通信系统(pcs)装置、包含无线通信装置的pda装置、移动或便携式全球定位系统(gps)装置、包含gps接收器或收发器或芯片的装置、包含rfid元件或芯片的装置、多输入多输出(mimo)收发器或装置、单输入多输出(simo)收发器或装置、多输入单输出(miso)收发器或装置、具有一个或多个内部天线和/或外部天线的装置、数字视频广播(dvb)装置或系统、多标准无线电装置或系统、有线或无线手持装置(例如,智能电话)、无线应用协议(wap)装置等结合使用。
192.一些实施例可与遵循一个或多个无线通信协议(例如,射频(rf)、红外(ir)、频分复用(fdm)、正交fdm(ofdm)、时分复用(tdm)、时分多址(tdma)、扩展tdma(e

tdma)、通用分组无线服务(gprs)、扩展gprs、码分多址(cdma)、宽带cdma(wcdma)、cdma 2000、单载波cdma、多载波cdma、多载波调制(mdm)、离散多音调(dmt)、蓝牙(bluetooth
tm
)、全球定位系统(gps)、wi

fi、wi

max、zigbee
tm
、超宽带(uwb)、全球移动通信系统(gsm)、2g、2.5g、3g、3.5g、
4g、第五代(5g)移动网络、3gpp、长期演进(lte)、高级lte、增强型数据速率gsm演进(edge)等)的一种或多种类型的无线通信信号和/或系统结合使用。其他实施例可在各种其他装置、系统和/或网络中使用。
193.尽管以上已经描述了示例处理系统,但是在此描述的主题和功能操作的实施例可在其他类型的数字电子电路中实现,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实现,或者在它们中的一个或多个的组合中实现。
194.在此描述的主题和操作的实施例可在数字电子电路中实现,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实现,或者它们中的一个或多个的组合中实现。在此描述的主题的实施例可被实现为一个或多个计算机程序(即,被编码在计算机存储介质上的计算机程序指令的一个或多个组件,用于由信息/数据处理设备执行或控制信息/数据处理设备的操作)。可选地或另外地,程序指令可被编码在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上,传播信号被生成以对信息/数据进行编码以便传输到合适的接收器设备,从而由信息/数据处理设备执行。计算机存储介质可以是计算机可读存储装置、计算机可读存储基板、随机或串行存取存储器阵列或装置、或者它们中的一个或多个的组合,或者计算机存储介质可被包括在计算机可读存储装置、计算机可读存储基板、随机或串行存取存储器阵列或装置、或者它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的物理组件或介质(例如,多个cd、磁盘或其他存储装置),或者被包括在一个或多个单独的物理组件或介质(例如,多个cd、磁盘或其他存储装置)中。
195.在此描述的操作可被实现为由信息/数据处理设备对存储在一个或多个计算机可读存储装置上或从其他源接收的信息/数据执行的操作。
196.术语“数据处理设备”包括用于处理数据的所有类型的设备、装置和机器(包括例如可编程处理器、计算机、片上系统或前述设备的多个或组合)。设备可包括专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))。除了硬件之外,设备还可包括为所讨论的计算机程序创建执行环境的代码(例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码)。设备和执行环境可实现各种不同的计算模型基础架构(诸如,web服务、分布式计算和网格计算基础架构)。
197.计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言、声明性或过程性语言)编写,并且可以以任何形式部署(包括作为独立程序或作为组件、组件、子例程、对象或适合于在计算环境中使用的其他单元)。计算机程序可以但不必对应于文件系统中的文件。程序可被存储在保存其他程序或信息/数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个组件、子程序或代码部分的文件)中。计算机程序可被部署为在一个计算机上或在位于一个站点或分布在多个站点并通过通信网络互连的多个计算机上执行。
198.在此描述的处理和逻辑流程可由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入信息/数据进行操作并生成输出来执行动作。作为示例,适合
于执行计算机程序的处理器包括通用微处理器和专用微处理器两者、以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和信息/数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置(例如,磁盘、磁光盘或光盘),或者可操作地连接以从一个或多个大容量存储装置接收信息/数据或将信息/数据传送到一个或多个大容量存储装置或两者。然而,计算机不需要具有这样的装置。适合于存储计算机程序指令和信息/数据的装置包括所有形式的非易失性存储器、介质和存储器装置(例如包括半导体存储器装置(例如,eprom、eeprom和闪存装置);磁盘(例如,内部硬盘或可移动磁盘);磁光盘;以及cd

rom和dvd

rom盘)。处理器和存储器可由专用逻辑电路进行补充或包含在专用逻辑电路中。
199.为了提供与用户的交互,在此描述的主题的实施例可在具有用于向用户显示信息/数据的显示装置(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)以及用户可通过其向计算机提供输入的键盘和指向装置(例如,鼠标或轨迹球)的计算机上实现。也可使用其他类型的装置来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈),并且可以以任何形式接收来自用户的输入(包括声音、语音或触觉输入)。此外,计算机可通过向用户使用的装置发送文档和从用户使用的装置接收文档来与用户交互(例如,通过响应于从网络浏览器接收的请求而向用户的客户端装置上的网络浏览器发送网页)。
200.在此描述的主题的实施例可在计算系统中实现,计算系统包括后端组件(例如,作为信息/数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如具有图形用户界面或网络浏览器的客户端计算机,用户可通过图形用户界面或网络浏览器与在此描述的主题的实施例交互),或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可通过任何形式或介质的数字信息/数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网络(例如,互联网)和点对点网络(例如,自组织点对点网络)。
201.计算系统可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端

服务器关系的计算机程序而产生。在一些实施例中,服务器将信息/数据(例如,html页面)发送到客户端装置(例如,为了向与客户端装置交互的用户显示信息/数据以及从与客户端装置交互的用户接收用户输入的目的)。可在服务器从客户端装置接收在客户端装置生成的信息/数据(例如,用户交互的结果)。
202.虽然本说明书包含许多具体实施例细节,但是这些细节不应被解释为对任何实施例或可要求保护的范围的限制,而是作为针对特定实施例的特征的描述。在此在分开的实施例的上下文中描述的特定特征也可在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可分开地或以任何合适的子组合在多个实施例中实现。此外,尽管上面可将特征描述为以特定组合起作用并且甚至最初如此要求保护,但是在一些情况下,可从组合删除来自要求保护的组合的一个或多个特征,并且要求保护的组合可针对子组合或子组合的变体。
203.类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求以示出
的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在特定情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,描述的程序组件和系统通常可以一起集成在单个软件产品中或封装到多个软件产品中。
204.因此,已经描述了主题的特定实施例。其它实施例在所附权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同的顺序执行,并且仍然实现期望的结果。此外,附图中描绘的处理不一定需要示出的特定顺序或相继顺序来实现期望的结果。在特定实施例中,多任务和并行处理可以是有利的。
205.受益于前面的描述和相关联的附图中呈现的教导,这些实施例所属领域的技术人员将想到在此阐述的公开的许多修改和其他实施例。因此,应当理解,实施例不限于公开的具体实施例,并且修改和其他实施例意在包括在所附权利要求的范围内。尽管在此采用了特定术语,但是它们仅在一般和描述性意义上使用,而不是出于限制的目的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜