CN117501243A - 用于管理服务网格的交换机 - Google Patents
用于管理服务网格的交换机 Download PDFInfo
- Publication number
- CN117501243A CN117501243A CN202280042646.9A CN202280042646A CN117501243A CN 117501243 A CN117501243 A CN 117501243A CN 202280042646 A CN202280042646 A CN 202280042646A CN 117501243 A CN117501243 A CN 117501243A
- Authority
- CN
- China
- Prior art keywords
- nodes
- memory
- data
- switch
- service
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 147
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000008569 process Effects 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims description 32
- 238000004891 communication Methods 0.000 claims description 7
- 230000001934 delay Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 81
- 230000009471 action Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 239000004744 fabric Substances 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 241000710959 Venezuelan equine encephalitis virus Species 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文中描述的示例涉及向交换机迁移与服务网格关联的服务所访问的存储器池的选择和服务网格管理。基于网络通信量和一个或多个节点的遥测数据,一个或多个进程能够被分配以在所述一个或多个节点上执行,以及存储器池能够被选择以存储由所述一个或多个生成的数据。
Description
优先权要求
本申请根据35U.S.C.§365(c)要求美国申请No.17/561835(2021年12月24日提交,名称为“SWITCH FOR MANAGING SERVICE MESHES”)的优先权,其内容以其整体被结合到本文中。
背景技术
云原生软件执行的快速增长已经引起到向外扩展的分布式软件设计的转移。例如,应用或服务能够使用一组微服务被执行,并且微服务能够使用网络与其它微服务进行通信。服务网格能够促进微服务之间的通信。服务网格能够执行监测、资源限制、可观察性、安全性、容错和其它操作,以便控制、管理、监测和强制实施微服务的通信量流依从性。服务网格为管理员管理专门用于云集群中的容舱(pod)或容器(container)的访问策略提供抽象。
附图说明
图1提供系统图。
图2示出定义的网格中多个功能的时延的示例。
图3示出给定网格时延的情况下的示例操作。
图4示出示例过程。
图5示出示例交换机。
图6示出示例计算系统。
具体实施方式
例如,执行图像识别的应用能够被分解为多个微服务,所述微服务在相同或不同的节点上执行,并且其作为服务网格的部分进行通信。微服务UM0能够存储图像,微服务UM1能够引起或执行用于图像识别的推断操作,以及微服务UM2能够引起或执行对所识别的图像的后处理。随着服务和计算资源的数量在数量上增加,在软件中实现的服务网格经历性能开销并且遭遇瓶颈。通过云原生应用,越来越受关注的领域是功能即服务(FaaS)部署。随着大量用户执行短期实况功能,负荷平衡以及跨资源均匀分发通信量能够是具有挑战性的。另一挑战是在不同节点的服务之间路由请求,以及协调服务的执行(考虑负荷平衡、冷启动时间和功能初始化时间)。
为了帮助缓解与分布式软件执行关联的瓶颈,交换机能够基于下列的一项或多项来选择执行微服务的一个或多个目标节点:(1)能够执行功能或服务的各个平台的状态;(2)基于网络的状态以及与执行微服务之节点的通信的所监测时延对服务的执行的负荷平衡;(3)存储由微服务生成和使用的数据的池化存储器的可用性和使用;以及(4)新功能提供者的注册。
图1提供系统图。主机100使用一个或多个处理器装置或电路模块来执行源微服务102。主机100使用发送方网络接口装置(未示出)或装置接口与交换机110进行通信。在一些示例中,交换机110是离执行源微服务102的节点的一跳(例如离开发送方网络接口装置的一个网络装置)。主机100能够以应用程序接口(API)的形式向交换机110发出一个或多个命令。接口能够允许源微服务102通过指定下列的一项或多项来请求对特定命名功能的执行:命名功能、租户或者完成功能的时间度量SLA。例如,接口Execute(CNFunctionName,MeshID)能够用来请求节点140-0或节点140-1上目标微服务的执行。字段CNFunction Name能够通过功能ID被表示,并且能够标识目标微服务。字段Mesh ID能够表示网格的多个实例之中网格的特定实例的标识符。虽然示出两个节点,但更多或更少节点能够用来执行被请求接下来将由主机100上执行的微服务执行的目标微服务。
源微服务102和/或主机100能够利用与交换机110的接口来定义命名功能执行的网格。在响应中,交换机110能够生成命名功能的图,并且定义所述功能之间的依赖性以及与所述网格关联的SLA。与所述网格关联的所述SLA能够特定于将被执行的功能或者关联于多个功能的网格,以允许管理网络和资源的灵活性以实现功能和/或网格的SLA目标。
例如,Execute(Mesh,Mesh ID)能够用来使由主机100、节点140-0或节点140-1上执行的功能或微服务所访问或生成的数据存储到存储器池(诸如池化存储器节点130)中。池化存储器节点130能够包括一个或多个双列直插存储器模块(DIMM)或其它类型的易失性和/或非易失性存储器。字段Mesh能够表示网格类型(例如人员检测、推断或其它操作)。字段Mesh ID能够表示网格的多个实例之中网格的特定实例的标识符。
例如,网格控制器115能够选择池化存储器(例如池化存储器节点130),并且使所选择的池化存储器存储网格状态并且将网格状态传播到执行源和/或目标功能的一个或多个节点。网格状态能够包括由与服务网格关联的功能或服务所生成的数据和/或进度指示,所述服务网格关联于特定网格ID。
交换机110能够接收或收集网络遥测111。网络遥测111能够表示节点(例如节点140-0、140-1和/或主机100)之间数据传送的时延和带宽。
交换机110能够接收或收集平台遥测112。平台遥测112能够对于运行微服务的节点表示硬件资源(例如中央处理单元(CPU)、图形处理单元(GPU)、加速器、网络接口装置、存储器、存储装置和其它装置)的利用以及其上执行的微服务的性能。接口(例如API)能够允许接收与特定平台中实现的给定功能名称关联的遥测。示例遥测能够包括下列的一项或多项:平台上的当前负荷、功能执行的当前预期完成时间(包括排队和其它操作)、平台中功能的下一个预期可用时隙、完成微服务的执行的时间、每秒所处理的帧和/或微服务性能的其它测量。存储器池的示例遥测能够包括存储器空间(地址)的可用量以及对于网格中能够执行目标进程的一个或多个节点到存储器池的时延和/或带宽。
交换机110能够利用云原生网格功能(CNMF)负荷平衡器113基于网络和平台遥测以及由源微服务102或主机100指定的服务质量(QoS)等级来选择执行目标微服务的节点或者使节点执行目标微服务。CNMF负荷平衡器113能够对节点之间的微服务的执行进行负荷平衡,同时尝试实现与微服务执行和整组微服务的完成关联的SLA。CNMF负荷平衡器113能够执行节点之间目标微服务之实例的负荷平衡,以尝试防止因节点的资源被过度利用而引起的目标微服务的性能降级。
交换机110能够利用池化存储器CNF 114为源微服务102或主机100提供接口,以指示要存储数据的池化存储器节点(例如节点130)。例如,数据能够是由源微服务102或主机100生成并且将由目标微服务处理的数据和/或由目标微服务生成的将由另一目标微服务或源微服务102处理的数据。通过数据从存储器池被访问而不是从源节点传输到执行后一服务的目标节点,将池化存储器用来存储与服务网格关联的服务所生成或使用的数据能够减少节点之间的数据移动。如果数据未被执行与服务网格关联的后一服务的目标节点所访问,则能够减少数据传送并且也减少网络利用。然而,在一些示例中,数据能够被传送到服务网格中执行下一个目标服务的节点。
交换机110能够利用网格控制器115来选择池化存储器节点和执行目标微服务的节点。网格控制器115能够调度作为服务网格的部分将被执行的功能。网格控制器115能够利用诸如遥测、服务或网格QoS和端点遥测(例如对给定命名功能的各种功能提供者的使用)之类的网络特征来判定何时以及对什么节点选择执行特定功能的具体执行。
网格控制器115能够基于具有命名功能集合连同SLA的图来执行和调度微服务的一个或多个网格。网格控制器115能够引起执行服务的网格的一部分或整体,并且能够使用池化存储器来存储数据和网格状态并且将数据和网格状态传播到各种节点处的多个功能提供者。网格控制器115能够根据在何处执行功能并且基于网络状态将状态的一些状态迁移或复制到其它存储器池,以尝试满足功能和/或其网格的SLA。
网格控制器115能够管理基础设施提供的命名功能(诸如被添加或移除的实例),以及管理多租户方面(例如基于名称和租户的功能路由选择、基于租户的基于服务质量等)。接口(例如API)允许诸如下列的一项或多项之类的新命名功能的注册:功能名称(例如对租户是唯一的)、租户ID、指示功能执行什么(例如图像识别)的可选元数据、要执行功能的硬件(例如基于现场可编程门阵列(FPGA)、基于图形处理单元(GPU)、基于专用电路(ASIC)等等)、实现功能的端点(例如媒体访问控制(MAC)地址或因特网协议(IP)地址)和/或功能的SLA。接口能够用来更新或删除给定的功能。
交换机110能够利用网络遥测116来检索或收集从交换机110到主机100、从交换机110到节点140-0、从交换机110到节点140-1和/或从交换机110到池化存储器节点130的数据传送速率的时延或带宽。在一些示例中,池化存储器节点130能够是网络可访问的存储器池。在一些示例中,池化存储器节点130能够是也能执行一个或多个功能或微服务的计算节点或服务器的存储器装置的部分。
存储器池130能够包括一个或多个双列直插存储器模块(DIMM)或其它易失性或非易失性存储器装置。能够使用存储器的至少两级(本文中替代地被称为“2LM”),所述存储器包括系统盘级存储的缓存子集(作为对例如运行时数据的附加)。这个主存储器包括:第一级(本文中替代地被称为“近存储器”),包括由例如动态随机存取存储器(DRAM)或其它易失性存储器所制成的更小更快存储器;以及第二级(本文中替代地被称为“远存储器”),其包括更大和更慢(相对近存储器)易失性存储器(例如DRAM)或者非易失性存储器存储(例如闪速存储器或字节可寻址非易失性存储器(例如))。远存储器对主机操作系统(OS)作为“主存储器”被呈现,而近存储器是远存储器的缓存,所述缓存对OS是透明的,因此使以下所述的实施例看起来与现有技术主存储器解决方案是相同的。二级存储器的管理可通过经由主机中央处理单元(CPU)所执行的逻辑和模块的组合进行。近存储器可经由高带宽低时延部件被耦合到主机系统CPU,以供高效处理。远存储器可经低带宽高时延部件(如与近存储器的带宽和时延相比)被耦合到CPU。在一些示例中,存储器池130能够被包括在远存储器中。
节点140-0和140-1能够配置成执行服务网格的功能或服务。在一些示例中,节点140-0能够包括一个或多个加速器,所述加速器能够执行一个或多个功能。在一些示例中,节点140-1能够包括一个或多个处理器,所述处理器能够执行一个或多个功能。其它装置能够可用于服务的执行。
本文中描述的各个示例能够执行由微服务所组成的应用,其中微服务在其自己的进程中运行,并且使用协议(例如应用程序接口(API)、超文本传输协议(HTTP)资源API、消息服务、远程过程调用(RPC)或Google RPC(gRPC))进行通信。微服务能够使用服务网格相互通信,并且在一个或多个数据中心或边缘网络中被执行。微服务能够使用这些服务的集中式管理而被独立部署。管理系统可以以不同编程语言被编写,并且使用不同数据存储技术。微服务能够被表征为下列的一项或多项:多语言编程(例如以多种语言所编写以获取以单一语言不可用的附加功能性和效率的代码)或者轻量容器或虚拟机部署以及分散式连续微服务交付。
微服务102能够替代地或附加地指代虚拟机(VM)、容器、处理器或其它软件。处理器或核心能够在虚拟化执行环境内执行微服务。虚拟化执行环境(VEE)能够至少包括虚拟机或容器。VEE能够在裸金属(例如单租户)或被托管(例如多租户)环境中执行。虚拟机(VM)可以是运行操作系统和一个或多个应用的软件。VM能够通过规范、配置文件、虚拟盘文件、非易失性随机存取存储器(NVRAM)设置文件和日志文件而被定义,并且通过主机计算平台的物理资源而被支持。VM能够是模仿专用硬件的软件上被安装的OS或应用环境。终端用户在虚拟机上具有如同它们将在专用硬件上所具有的相同体验。被称为管理程序的专业化软件完全对PC客户端或服务器的CPU、存储器、硬盘、网络和其它硬件资源进行仿真,从而使虚拟机能够共享资源。管理程序能够对相互隔离的多个虚拟硬件平台进行仿真,从而允许虚拟机在相同的底层物理主机上运行FreeBSD、VMWare或/>服务器操作系统。
容器能够是应用、配置和依赖关系的软件包,因此,应用在一个计算环境到另一计算环境可靠地运行。容器能够共享安装在服务器平台上的操作系统,并且作为隔离的进程运行。容器能够是包含软件运行所需的任何内容(诸如,系统工具、库和设置)的软件包。容器并不像传统的软件程序那样被安装,这允许容器与其它软件隔离且与操作系统自身隔离。隔离能够包括由特定容器但不是由另一容器对可寻址存储器或存储装置的区域的准许访问。容器的隔离性质提供若干益处。首先,容器中的软件将在不同环境中以相同方式运行。例如,包括PHP和MySQL的容器能够在Linux计算机和机器上同样地运行。其次,容器提供增加的安全性,因为软件将不会影响主机操作系统。虽然安装的应用可能改变系统设置并且修改资源(诸如/>注册表),但容器能够仅修改所述容器内的设置。
虚拟化基础设施管理器(VIM)或管理程序(未示出)能够管理VEE的生存周期(例如与一个或多个物理资源关联的VEE的创建、维护和拆卸)、跟踪VEE实例、跟踪VEE实例及关联物理资源的性能、故障和安全性以及将VEE实例及关联物理资源暴露于其它管理系统。
图2示出定义的网格中的多个功能的时延的示例。例如,功能(Fun)A、C、B和D的服务网格能够基于图及关联SLA参数被定义。基于SLA参数,完成功能A的时间能够至多为55ms,完成功能C的时间能够至多为70ms,完成功能B的时间能够至多为550ms,以及完成功能D的时间能够至多为40ms。执行各个功能A、B、C和D的节点以及存储遥测数据和数据的存储器池的选择能够基于SLA中指定的逐功能完成时间或者SLA中指定的网格完成(例如功能A-D的完成)的端对端时延被确定,如本文中所述。
图3示出给定网格时延的情况下的示例操作。在301,源功能能够发出执行网格的请求,所述网格是标识人员(MeshType=person detection(人员检测))并且使用网格ID=0x344来标识所述网格。在302,源功能能够发出保留存储器池中的存储器以存储网格数据和状态以及保留计算节点以分配计算资源来执行网格的一个或多个功能的请求。存储器池和/或存储器装置中响应于所述请求将被分配的存储器的量能够由源功能指定。
图4示出示例过程。在一些示例中,所述过程能够由交换机电路模块执行。在402,响应于接收到执行特定命名功能的请求,交换机能够过滤与功能的所指定的SLA匹配的功能。SLA能够通过下列的一项或多项被标识:将数据从池化存储器传输到功能提供者的网络时延(若任何数据将被传输);向功能提供者发送请求的网络时延;在特定节点中执行命名功能的当前估计时间;或者本文中描述的其它参数。要注意,在特定节点中执行命名功能的估计时间能够在功能注册时被提供或者随时间过去而被得知。对于不同候选节点集合,交换机可跨节点执行负荷平衡,以便在计算和/或网络级最大化负荷平衡。
在404,基于定义功能执行的网格的请求,交换机能够执行下列操作中的一个或多个。交换机能够分配资源以处理网格,并且创建具有将被执行的功能以及在功能被执行时的功能执行的时延的网格跟踪器。交换机能够分配存储器池中的资源以存储由源或目标功能生成的状态和/或数据。存储器池中存储的数据能够被传播到执行功能的各个节点,并且从执行功能的各个节点传播到存储器池。在一些情况下,遥测数据能够被存储在存储器池中并且由租户访问。在406,交换机能够基于图而引起网格中的一个或多个目标功能的执行。目标功能能够访问数据和/或将数据存储到所标识的存储器池。
图5示出示例交换机。各个示例能够在交换机中用来或者与交换机配合用来确定执行功能的节点以及存储由服务网格的服务生成的状态和数据的存储器池或装置,如本文中所述。交换机504能够将任何格式或者根据任何规范的分组或帧从任何端口502-0至502-X路由到端口506-0至506-Y中的任何端口(或反之亦然)。端口502-0至502-X中的任何端口能够被连接到一个或多个互连装置的网络。相似地,端口506-0至506-X中的任何端口能够被连接到一个或多个互连装置的网络。
在一些示例中,交换结构510能够提供分组从一个或多个入口端口的路由选择以用于从交换机504的出口之前的处理。交换结构510能够被实现为一个或多个多跳拓扑(其中示例拓扑包括环面、蝶形、缓冲多级等)或者共享存储器交换结构(SMSF)以及其它实现。SMSF能够是被连接到交换机中的入口端口和所有出口端口的任何交换结构,其中入口子系统将分组段写入(存储)到结构的存储器中,而出口子系统从结构的存储器中读取(取得)分组段。
存储器508能够配置成在从一个或多个端口的出口之前存储在端口所接收的分组。分组处理管线512能够使用表来确定要向哪一个端口传输分组或帧,所述表映射分组特性与关联的输出端口。在一些实施例中,分组处理管线512能够配置成对所接收分组执行匹配动作,以使用三元内容可寻址存储器(TCAM)表或精确匹配表来标识分组处理规则和下一跳。例如,能够使用匹配动作表或电路模块,由此分组的一部分的哈希用作发现条目的索引。分组处理管线512能够实现访问控制列表(ACL)或者因队列溢出而引起的分组丢弃。分组处理管线512能够配置成确定执行功能的节点以及存储由服务网格的服务生成的状态和数据的存储器池或装置,如本文中所述。
分组处理管线512、处理器516和/或FPGA 518的操作的配置能够使用编程协议无关分组处理器(P4)、C、Python、Broadcom网络编程语言(NPL)或x86兼容可执行二进制或其它可执行二进制被编程。处理器516和FPGA 518能够用于分组处理或修改。
图6示出系统。所述系统能够使用本文中描述的实施例向交换机迁移对执行服务网格的微服务并且选择存储与服务网格的微服务关联或者由服务网格的微服务生成的数据和状态的存储器池或装置的节点的确定。系统600包括处理器610,所述处理器提供系统600的指令的处理、操作管理和执行。处理器610能够包括任何类型的微处理器、中央处理单元(CPU)、图形处理单元(GPU)、XPU、处理核心或者为系统600提供处理的其它处理硬件或者处理器的组合。XPU能够包括下列的一个或多个:CPU、图形处理单元(GPU)、通用GPU(GPGPU)和/或其它处理单元(例如加速器或可编程或固定功能FPGA)。处理器610控制系统600的总体操作,并且能够是或者包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑装置(PLD)或诸如此类或者这类装置的组合。
在一个示例中,系统600包括被耦合到处理器610的接口612,所述接口能够表示系统部件(诸如存储器子系统620或图形接口部件640或者加速器642)的更高速度接口或高吞吐量接口,所述接口需要更高带宽连接。接口612表示接口电路,所述接口电路能够是独立部件或者被集成到处理器管芯上。在存在的情况下,图形接口640与图形部件通过接口连接,用于向系统600的用户提供可视显示。在一个示例中,图形接口640能够驱动高清晰度(HD)显示器,所述HD显示器向用户提供输出。高清晰度能够指代具有大约100PPI(每英寸像素)或以上的像素密度的显示,并且能够包括诸如全HD(例如1080p)、视网膜显示器、4K(超高清晰度或UHD)或其它的格式。在一个示例中,显示器能够包括触摸屏显示器。在一个示例中,图形接口640基于存储器630中存储的数据或者基于由处理器610执行的操作或两者来生成显示。在一个示例中,图形接口640基于存储器630中存储的数据或者基于由处理器610执行的操作或两者来生成显示。
加速器642能够是能由处理器610访问或使用的可编程或固定功能迁移引擎。例如,加速器642之中的加速器能够提供压缩(DC)能力、密码服务(诸如公有密钥加密(PKE))、密码、哈希/认证能力、解密或其它能力或服务。在一些实施例中,附加地或替代地,加速器642之中的加速器提供如本文中描述的现场选择控制器能力。在一些情况下,加速器642能够被集成到CPU插座(例如,到母板或电路板的连接器,所述母板或电路板包括CPU并且提供与CPU的电接口)中。例如,加速器642能够包括单核心或多核心处理器、图形处理单元、逻辑执行单元单级或多级缓存、可用来独立地执行程序或线程的功能单元、专用集成电路(ASIC)、神经网络处理器(NNP)、可编程控制逻辑以及可编程处理元件(诸如现场可编程门阵列(FPGA))。加速器642能够提供多个神经网络、CPU、处理器核心、通用图形处理单元或图形处理单元,能被使得可用于供人工智能(AI)或机器学习(ML)模型来使用。例如,AI模型能够使用或包括下列任何一个或组合:强化学习方案,Q学习方案,深度Q学习或异步优势执行器评述器(Asynchronous Advantage Actor-Critic,A3C)、组合神经网络、递归组合神经网络或者其它AI或ML模型。能够使多个神经网络、处理器核心或图形处理单元可用于供AI或ML模型来使用。
存储器子系统620表示系统600的主存储器,并且为将要由处理器610执行的代码或者将要在执行例程中使用的数据值提供存储。存储器子系统620能够包括一个或多个存储器装置630,诸如只读存储器(ROM)、闪速存储器、一个或多个种类的随机存取存储器(RAM)(诸如DRAM)或其它存储器装置或者这类装置的组合。存储器630除了其它内容还存储和包含操作系统(OS)632,以提供软件平台以用于系统600中指令的执行。附加地,应用634能够在来自存储器630的OS 632的软件平台上执行。应用634表示程序,所述程序具有其自己的操作逻辑以执行一个或多个功能的执行。进程636表示代理或例程,所述代理或例程向OS 632或一个或多个应用634或者组合提供辅助功能。OS 632、应用634和进程636提供软件逻辑,以提供系统600的功能。在一个示例中,存储器子系统620包括存储器控制器622,所述存储器控制器是生成并且向存储器630发出命令的存储器控制器。将会理解,存储器控制器622可能是处理器610的物理部分或者接口612的物理部分。例如,存储器控制器622能够是被集成到具有处理器610的电路上的集成存储器控制器。
虽然没有具体图示,但将会理解,系统600能够包括装置之间的一个或多个总线或总线系统,诸如存储器总线、图形总线、接口总线或其它总线。总线或其它信号线能够将部件通信地或电耦合在一起,或者通信地和电耦合部件。总线能够包括物理通信线、点对点连接、桥接器、适配器、控制器或其它电路模块或者组合。总线能够包括例如下列的一个或多个:系统总线、外设部件互连(PCI)总线、超传输或工业标准体系结构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、或者电气和电子工程师协会(IEEE)标准1394总线(火线)。
在一个示例中,系统600包括接口614,所述接口能够被耦合到接口612。在一个示例中,接口614表示接口电路,所述接口电路能够包括独立部件和集成电路模块。在一个示例中,多个用户接口部件或外围部件或两者耦合到接口614。网络接口650为系统600提供通过一个或多个网络与远程装置(例如服务器或其它计算装置)进行通信的能力。网络接口650能够包括以太网适配器、无线互连部件、蜂窝网络互连部件、USB(通用串行总线)或者其它基于有线或无线标准或者专有的接口。网络接口650能够向相同的数据中心或机架中的装置或者远程装置传送数据,这能够包括发送存储器中存储的数据。网络接口650能够从远程装置接收数据,这能够包括将所接收数据存储到存储器中。
处理器610和网络接口650能够向交换机迁移对执行服务网格的微服务并且选择存储与服务网格的微服务关联或者由服务网格的微服务生成的数据和状态的存储器池或装置的节点的确定。在一个示例中,系统600包括一个或多个输入/输出(I/O)接口660。I/O接口660能够包括一个或多个接口部件,用户通过所述接口部件与系统600进行交互(例如音频、字母数字、触觉/触摸或其它接口)。外围接口670能够包括以上没有具体提到的任何硬件接口。外设一般指代依赖地连接到系统600的装置。依赖连接是一种连接,其中系统600提供软件平台和/或硬件平台或两者,操作在其上执行并且用户与其进行交互。
在一个示例中,系统600包括存储子系统680,以便以非易失性方式来存储数据。在一个示例中,在某些系统实现中,存储装置680的至少某些部件能够与存储子系统620的部件重叠。存储子系统680包括(一个或多个)存储装置684,所述存储装置能够是或者包括用于以非易失性方式来存储大量数据的任何常规介质,诸如一个或多个基于磁、固态或光的盘或者组合。存储装置684以永久状态(例如,尽管对系统600中断电力,值也被保留)来保存代码或指令和数据686。存储装置684能够一般被认为是“存储器”,但是存储器630典型地是执行或操作存储器,以向处理器610提供指令。虽然存储装置684是非易失性的,但存储器630能够包括易失性存储器(例如,如果对系统600中断电力,则数据的值或状态是不确定的)。在一个示例中,存储子系统680包括控制器682,以与存储装置684通过接口连接。在一个示例中,控制器682是接口614或处理器610的物理部分,或者能够包括处理器610和接口614中的电路或逻辑。
易失性存储器是一种存储器,如果对装置中断电力,则其状态(并且因此其中存储的数据)是不确定的。动态易失性存储器要求刷新装置中存储的数据,以保持状态。动态易失性存储器的一个示例包括DRAM(动态随机存取存储器)或者某个变体,诸如同步DRAM(SDRAM)。易失性存储器的另一示例包括缓存或静态随机存取存储器(SRAM)。本文中描述的存储器子系统可与数种存储器技术兼容,这些存储器技术是诸如由JEDEC(JointElectronic Device Engineering Council,联合电子装置工程委员会)于2007年6月27日发布的标准。
非易失性存储器(NMV)装置是一种存储器,其状态即使在对装置中断电力时也是确定的。在一些实施例中,NVM装置能够包括块可寻址存储器装置,诸如NAND技术,或者更具体来说是多阈值级NAND闪速存储器(例如单级单元(“SLC”)、多级单元(“MLC”)、四级单元(“QLC”)、三级单元(“TLC”)或某个其它NAND)。NVM装置还能够包括字节可寻址原位写入三维交叉点存储器装置或者其它字节可寻址原位写入NVM装置(又被称为永久存储器),诸如单级或多级相变存储器(PCM)或者具有开关的相变存储器(PCMS)、OptaneTM存储器、使用硫族化物相变材料(例如硫族化物玻璃)的NVM装置或其它存储器。
电源(未示出)向系统600的部件提供电力。更具体来说,电源典型地与系统600中的一个或多个电力供应通过接口连接,以向系统600的部件提供电力。在一个示例中,电力供应包括插入到墙壁插座中的AC到DC(交流到直流)适配器。此类AC电力能够是可再生能源(例如,太阳能)电源。在一个示例中,电源包括DC电源,诸如外部AC到DC转换器。在一个示例中,电源或电力供应包括无线充电硬件,以经由与充电场的接近进行充电。在一个示例中,电源能够包括内部电池、交流供应、基于运动的电力供应、太阳能供应或燃料电池源。
在示例中,能够使用处理器、存储器、存储装置、网络接口和其它部件的互连计算撬板来实现系统600。能够使用高速互连,诸如PCIe、以太网或光互连(或者它们的组合)。
本文中的实施例可在各种类型的计算和联网设备中被实现,诸如交换机、路由器、机架和刀片服务器,诸如数据中心和/或服务器场环境中采用的那些设备。数据中心和服务器场中使用的服务器包括阵列服务器配置,诸如基于机架的服务器或刀片服务器。这些服务器经由各种网络配备在通信上互连,诸如将服务器集合分区为具有局域网(LAN)之间的适当交换和路由设施的LAN,以形成专用内联网。例如,云托管设施典型地可采用具有大量服务器的大型数据中心。刀片包括单独的计算平台,所述计算平台配置成执行服务器类型功能,即,“卡上服务器”。相应地,每个刀片包括常规服务器共同的部件,包括提供内部布线(例如总线)的主印刷电路板(主板),用于耦合适当集成电路(IC)以及被安装到所述板的其它部件。
可使用硬件元件、软件元件或两者的组合来实现各个示例。在一些示例中,硬件元件可包括装置、部件、处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等等)、集成电路、ASIC、PLD、DSP、FPGA、存储器单元、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片组等等。在一些示例中,软件元件可包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或者它们的任何组合。确定是否使用硬件元件和/或软件元件来实现示例可根据任何数量的因素而改变,例如期望计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及如对给定的实现所预期的其它设计和性能约束。要注意,硬件、固件和/或软件元件在本文中可共同或单独称为“模块”或“逻辑”。处理器能够是硬件状态机、数字控制逻辑、中央处理单元或者任何硬件、固件和/或软件元件的一个或多个组合。
一些示例可使用或者作为制造的物品或者至少一个计算机可读介质被实现。计算机可读介质可包括存储逻辑的非暂态存储介质。在一些示例中,非暂态存储介质可包括能够存储电子数据的一个种或多个类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦或不可擦存储器、可写或可重写存储器等等。在一些示例中,逻辑可包括各种软件元件,诸如软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或者它们的任何组合。
按照一些示例,计算机可读介质可包括存储或保持指令的非暂态存储介质,所述指令在由机器、计算装置或系统执行时使所述机器、计算装置或系统执行根据所述示例的方法和/或操作。所述指令可包括任何适合类型的代码,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码和诸如此类。所述指令可按照预定义计算机语言、方式或语法被实现,用于指示机器、计算装置或系统执行某个功能。所述指令可使用任何适合的高级、低级、面向对象、可视、汇编和/或解释编程语言被实现。
至少一个示例的一个或多个方面可通过至少一个机器可读介质上存储的代表指令被实现,所述指令表示处理器内的各种逻辑,其在由机器、计算装置或系统读取时使所述机器、计算装置或系统制作执行本文中描述的技术的逻辑。被称为“IP核心”的这类表示可被存储在有形机器可读介质上,并且被供应到各种消费者或制造设施,以加载到实际制作逻辑或处理器的制造机器中。
短语“一个示例”或“示例”的出现不一定全部指代相同的示例或实施例。本文中描述的任何方面能够与本文中描述的任何其它方面或相似方面相组合,而不管是否针对相同的附图或元件来描述所述方面。所附的附图中所示的块功能的划分、省略或包括并不推断用于实现这些功能的硬件部件、电路、软件和/或元件在实施例中会一定被划分、省略或包括。
一些示例可使用表达“被耦合”和“被连接”及其派生来描述。这些术语不一定旨在作为彼此的同义词。例如,使用术语“被连接”和/或“被耦合”的描述可指示两个或更多元件相互直接物理或电接触。然而,术语“被耦合”还可意味着两个或更多元件不是相互直接接触,但仍然相互协作或交互。
本文中的术语“第一”、“第二”和诸如此类并不表示任何顺序、量或重要性,而是用来区分一个元件与另一元件。本文中的术语“一(a、an)”并不表示对量的限制,而是表示存在所引用的项中的至少一个。本文中参照信号所使用的术语“断言”表示所述信号的某一状态,其中所述信号是活动的,并且所述状态能够通过对所述信号应用任何逻辑电平(逻辑0或者逻辑1)被实现。术语“跟随”或“之后”能够指代立即跟随或者跟随某个其它事件或某些其它事件之后。其它操作序列也可按照替代实施例被执行。此外,可根据特定应用来添加或移除附加操作。能够使用变化的任何组合,以及获益于本公开的本领域的普通技术人员会理解其许多变更、修改和替代实施例。
除非另加明确陈述,否则诸如短语“X、Y或Z中的至少一个”之类的析取语言在上下文之内被理解为用来一般呈现项、术语等可以是X、Y或Z或者它们的任何组合(例如X、Y和/或Z)。因此,这种析取语言不是一般旨在并且不应当暗示某些实施例要求X中的至少一个、Y中的至少一个或者Z中的至少一个每个都存在。附加地,除非另加具体陈述,否则诸如短语“X、Y和Z中的至少一个”之类的析取语言也应当被理解为表示X、Y、Z或者它们的任何组合,包括“X、Y和/或Z”。
下面提供本文中公开的装置、系统和方法的说明性示例。装置、系统和方法的实施例可包括以下描述的示例中的任何一个或多个以及它们的任何组合。
如本文中图示的流程图提供各种过程动作的序列的示例。流程图能够指示将要由软件或固件例程运行的操作以及物理操作。在一些实施例中,流程图能够图示有限状态机(FSM)的状态,所述FSM能够在硬件和/或软件中被实现。虽然以特定序列或顺序被示出,但除非另加指定,否则动作的顺序能够被修改。因此,所图示的实施例应当仅被理解为示例,以及过程能够以不同的顺序被执行,以及一些动作能够并行地被执行。附加地,一个或多个动作在各个实施例中能够被省略;因此并非在每一个实施例中都要求所有动作。其它过程流程是可能的。
本文中描述的各种部件能够是用于执行所述的操作或功能的部件。本文中描述的每个部件包括软件、硬件或者这些的组合。部件能够被实现为软件模块、硬件模块、专用硬件(例如专用硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等)、嵌入式控制器、硬连线电路模块等等。
示例1包括一个或多个示例,并且包括一种交换机,所述交换机包括执行以下操作的电路模块:基于网络通信量和一个或多个节点的遥测数据,选择在所述一个或多个节点上执行的一个或多个进程,并且选择存储由所述一个或多个进程生成的数据的存储器池,其中所述一个或多个进程包括源进程和至少一个目标进程。
示例2包括一个或多个示例,其中,所述一个或多个节点的遥测数据包括下列的一项或多项:所述一个或多个节点上的当前负荷、所述一个或多个节点上进程执行的当前预期完成时间和/或所述一个或多个节点上的预期可用资源。
示例3包括一个或多个示例,其中,网络通信量的遥测数据包括下列的一项或多项:从交换机到所述一个或多个节点的通信的时延和/或带宽。
示例4包括一个或多个示例,其中,所述一个或多个节点的遥测数据包括与存储器池关联的遥测,并且包括下列的一项或多项:存储器空间的可用量以及所述一个或多个节点与存储器池之间的时延和/或带宽。
示例5包括一个或多个示例,其中,交换机将确定执行所述一个或多个进程的所述一个或多个节点中的对应节点以及一个或多个进程的图,并且引起所述对应节点上所述一个或多个进程的执行。
示例6包括一个或多个示例,其中,所述一个或多个进程将从存储器池来访问数据。
示例7包括一个或多个示例,其中,交换机包括下列的一个或多个:网络接口控制器(NIC)、SmartNIC、路由器、转发元件、基础设施处理单元(IPU)或数据处理单元(DPU)。
示例8包括一个或多个示例,并且包括执行源进程的主机,以及其中使用网络接口装置将所述主机通信地耦合到交换机。
示例9包括一个或多个示例,并且包括数据中心,所述数据中心包括执行所述一个或多个进程的所述一个或多个节点。
示例10包括一个或多个示例,并且包括一种计算机可读介质,所述计算机可读介质包括其上存储的指令,所述指令在由一个或多个处理器执行时使所述一个或多个处理器:向交换机迁移与服务网格关联的服务所访问的存储器池的选择和服务网格管理。
示例11包括一个或多个示例,其中,向交换机迁移与服务网格关联的服务所访问的存储器池的选择和服务网格管理包括:使交换机基于网络通信量和所述一个或多个节点的遥测数据来选择在所述一个或多个节点上执行的一个或多个进程并且选择存储由所述一个或多个进程生成的数据的存储器池。
示例12包括一个或多个示例,其中,所述一个或多个进程要将数据写到存储器池和/或从存储器池来访问数据。
示例13包括一个或多个示例,其中,所述一个或多个节点的遥测数据包括下列的一项或多项:所述一个或多个节点上的当前负荷、所述一个或多个节点上进程执行的当前预期完成时间和/或所述一个或多个节点上的预期可用资源,以及网络通信量的遥测数据包括下列的一项或多项:从交换机到所述一个或多个节点的通信的时延和/或带宽。
示例14包括一个或多个示例,其中,一个或多个节点的遥测数据包括与存储器池关联的遥测,并且包括下列的一项或多项:存储器空间的可用量以及所述一个或多个节点与存储器池之间的时延和/或带宽。
示例15包括一个或多个示例,其中,交换机将确定执行所述一个或多个进程的所述一个或多个节点中的对应节点以及一个或多个进程的图,并且引起所述对应节点上所述一个或多个进程的执行。
示例16包括一个或多个示例,并且包括一种方法,所述方法包括:基于与一个或多个节点关联的遥测数据来分配存储与网格关联的微服务所访问和生成的数据的存储器池。
示例17包括一个或多个示例,其中,与一个或多个节点关联的遥测数据包括下列的一项或多项:一个或多个节点上的当前负荷、所述一个或多个节点上的微服务执行的当前预期完成时间和/或所述一个或多个节点上的预期可用资源。
示例18包括一个或多个示例,其中,与一个或多个节点关联的遥测数据包括与存储器池关联的遥测,并且包括下列的一项或多项:存储器空间的可用量以及一个或多个节点与存储器池之间的时延和/或带宽。
示例19包括一个或多个示例,并且包括基于与一个或多个节点关联的遥测数据来引起节点上微服务的执行。
示例20包括一个或多个示例,其中,微服务要将数据写到存储器池和/或从存储器池来访问数据。
Claims (20)
1.一种设备,包括:
交换机,包括用于以下操作的电路模块:
基于网络通信量和一个或多个节点的遥测数据,选择在所述一个或多个节点上执行的一个或多个进程,并且选择存储由所述一个或多个进程生成的数据的存储器池,其中所述一个或多个进程包括源进程和至少一个目标进程。
2.如权利要求1所述的设备,其中,所述一个或多个节点的所述遥测数据包括下列的一项或多项:所述一个或多个节点上的当前负荷、所述一个或多个节点上进程执行的当前预期完成时间和/或所述一个或多个节点上的预期可用资源。
3.如权利要求1-2的任一项所述的设备,其中,所述网络通信量的所述遥测数据包括下列的一项或多项:从所述交换机到所述一个或多个节点的通信的时延和/或带宽。
4.如权利要求1-3的任一项所述的设备,其中,一个或多个节点的所述遥测数据包括与所述存储器池关联的遥测,并且包括下列的一项或多项:存储器空间的可用量以及所述一个或多个节点与所述存储器池之间的时延和/或带宽。
5.如权利要求1-4的任一项所述的设备,其中,所述交换机将确定执行所述一个或多个进程的所述一个或多个节点中的对应节点以及所述一个或多个进程的图,并且引起所述对应节点上所述一个或多个进程的执行。
6.如权利要求1所述的设备,其中,所述一个或多个进程将从所述存储器池来访问数据。
7.如权利要求1-6的任一项所述的设备,其中,所述交换机包括下列的一个或多个:网络接口控制器(NIC)、SmartNIC、路由器、转发元件、基础设施处理单元(IPU)或数据处理单元(DPU)。
8.如权利要求1-7的任一项所述的设备,包括执行所述源进程的主机,以及其中使用网络接口装置将所述主机通信地耦合到所述交换机。
9.如权利要求8所述的设备,包括数据中心,所述数据中心包括执行所述一个或多个进程的所述一个或多个节点。
10.一种计算机可读介质,包括其上存储的指令,所述指令如果由一个或多个处理器执行,则使所述一个或多个处理器:
向交换机迁移与服务网格关联的服务所访问的存储器池的选择和服务网格管理。
11.如权利要求10所述的计算机可读介质,其中,向交换机迁移与服务网格关联的服务所访问的存储器池的选择和服务网格管理包括:使所述交换机基于网络通信量和一个或多个节点的遥测数据来选择在所述一个或多个节点上执行的一个或多个进程并且选择存储由所述一个或多个进程生成的数据的存储器池。
12.如权利要求11所述的计算机可读介质,其中,所述一个或多个进程要将数据写到所述存储器池和/或从所述存储器池来访问数据。
13.如权利要求11-12的任一项所述的计算机可读介质,其中
所述一个或多个节点的所述遥测数据包括下列的一项或多项:所述一个或多个节点上的当前负荷、所述一个或多个节点上进程执行的当前预期完成时间和/或所述一个或多个节点上的预期可用资源,以及
所述网络通信量的所述遥测数据包括下列的一项或多项:从所述交换机到所述一个或多个节点的通信的时延和/或带宽。
14.如权利要求11-13的任一项所述的计算机可读介质,其中,一个或多个节点的所述遥测数据包括与所述存储器池关联的遥测,并且包括下列的一项或多项:存储器空间的可用量以及所述一个或多个节点与所述存储器池之间的时延和/或带宽。
15.如权利要求10-14的任一项所述的计算机可读介质,其中,所述交换机将确定执行所述一个或多个进程的所述一个或多个节点中的对应节点以及所述一个或多个进程的图,并且引起所述对应节点上的所述一个或多个进程的执行。
16.一种方法,包括:
基于与一个或多个节点关联的遥测数据来分配存储与网格关联的微服务所访问和生成的数据的存储器池。
17.如权利要求16所述的方法,其中,与所述一个或多个节点关联的所述遥测数据包括下列的一项或多项:一个或多个节点上的当前负荷、所述一个或多个节点上的微服务执行的当前预期完成时间和/或所述一个或多个节点上的预期可用资源。
18.如权利要求16所述的方法,其中,与一个或多个节点关联的所述遥测数据包括与所述存储器池关联的遥测,并且包括下列的一项或多项:存储器空间的可用量以及一个或多个节点与所述存储器池之间的时延和/或带宽。
19.如权利要求16-18的任一项所述的方法,包括:
基于与一个或多个节点关联的所述遥测数据来引起节点上所述微服务的执行。
20.如权利要求16-19的任一项所述的方法,其中,所述微服务要将数据写到所述存储器池和/或从所述存储器池来访问数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/561,835 US20220121481A1 (en) | 2021-12-24 | 2021-12-24 | Switch for managing service meshes |
US17/561835 | 2021-12-24 | ||
PCT/US2022/048240 WO2023121768A1 (en) | 2021-12-24 | 2022-10-28 | Switch for managing service meshes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117501243A true CN117501243A (zh) | 2024-02-02 |
Family
ID=81186236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280042646.9A Pending CN117501243A (zh) | 2021-12-24 | 2022-10-28 | 用于管理服务网格的交换机 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220121481A1 (zh) |
EP (1) | EP4453721A1 (zh) |
CN (1) | CN117501243A (zh) |
WO (1) | WO2023121768A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220121481A1 (en) * | 2021-12-24 | 2022-04-21 | Intel Corporation | Switch for managing service meshes |
WO2024118053A1 (en) * | 2022-11-29 | 2024-06-06 | Altiostar Networks India Private Limited | Load balancing of performance management and fault management microservices |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360009B2 (en) * | 2017-03-17 | 2019-07-23 | Verizon Patent And Licensing Inc. | Persistent data storage for a microservices application |
US11444924B2 (en) * | 2019-01-09 | 2022-09-13 | Cisco Technology, Inc. | Application-layer service traffic communication using datacenter network fabric as proxy |
US11012520B2 (en) * | 2019-03-11 | 2021-05-18 | International Business Machines Corporation | Manage a network of microservices |
US10827020B1 (en) * | 2019-10-03 | 2020-11-03 | Hewlett Packard Enterprise Development Lp | Assignment of microservices |
US11789878B2 (en) * | 2019-12-19 | 2023-10-17 | Intel Corporation | Adaptive fabric allocation for local and remote emerging memories based prediction schemes |
US20220121481A1 (en) * | 2021-12-24 | 2022-04-21 | Intel Corporation | Switch for managing service meshes |
-
2021
- 2021-12-24 US US17/561,835 patent/US20220121481A1/en active Pending
-
2022
- 2022-10-28 EP EP22912215.5A patent/EP4453721A1/en active Pending
- 2022-10-28 CN CN202280042646.9A patent/CN117501243A/zh active Pending
- 2022-10-28 WO PCT/US2022/048240 patent/WO2023121768A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20220121481A1 (en) | 2022-04-21 |
WO2023121768A1 (en) | 2023-06-29 |
EP4453721A1 (en) | 2024-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240364641A1 (en) | Switch-managed resource allocation and software execution | |
US10778756B2 (en) | Location of actor resources | |
US20220029929A1 (en) | Technologies that provide policy enforcement for resource access | |
CN115210693A (zh) | 具有可预测时延的存储事务 | |
US20210266253A1 (en) | Pooling of network processing resources | |
WO2022169519A1 (en) | Transport and crysptography offload to a network interface device | |
US20220014459A1 (en) | Network layer 7 offload to infrastructure processing unit for service mesh | |
US20210326177A1 (en) | Queue scaling based, at least, in part, on processing load | |
US20220109733A1 (en) | Service mesh offload to network devices | |
US20220166666A1 (en) | Data plane operation in a packet processing device | |
US20220124035A1 (en) | Switch-originated congestion messages | |
EP4202679A1 (en) | Platform with configurable pooled resources | |
US20220086226A1 (en) | Virtual device portability | |
CN117501243A (zh) | 用于管理服务网格的交换机 | |
US20230109396A1 (en) | Load balancing and networking policy performance by a packet processing pipeline | |
CN109964211B (zh) | 用于半虚拟化网络设备队列和存储器管理的技术 | |
US20200133367A1 (en) | Power management for workload offload engines | |
US11575620B2 (en) | Queue-to-port allocation | |
EP4030284A1 (en) | Virtual device portability | |
EP4020208A1 (en) | Memory pool data placement technologies | |
US20210157626A1 (en) | Prioritizing booting of virtual execution environments | |
EP4187868A1 (en) | Load balancing and networking policy performance by a packet processing pipeline | |
US20230409511A1 (en) | Hardware resource selection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |