CN116438514A - 计算机和连接的网络接口卡上的资源共享软件的集成安装 - Google Patents

计算机和连接的网络接口卡上的资源共享软件的集成安装 Download PDF

Info

Publication number
CN116438514A
CN116438514A CN202180065857.XA CN202180065857A CN116438514A CN 116438514 A CN116438514 A CN 116438514A CN 202180065857 A CN202180065857 A CN 202180065857A CN 116438514 A CN116438514 A CN 116438514A
Authority
CN
China
Prior art keywords
program
host computer
smart nic
operating system
nic
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
Application number
CN202180065857.XA
Other languages
English (en)
Inventor
R·B·沃尔茨
A·哈里亚迪
穆岳东
何凌源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VMware LLC
Original Assignee
VMware LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by VMware LLC filed Critical VMware LLC
Publication of CN116438514A publication Critical patent/CN116438514A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

一些实施例提供了一种在主机计算机处提供第一程序的方法,所述第一程序使得能够在所述主机计算机的智能网络接口卡(NIC)上进行资源共享。所述方法在所述主机计算机处接收所述第一程序连同第二程序,以用于共享所述主机计算机的资源。所述方法在所述主机计算机上安装所述第二程序。所述方法向所述智能NIC提供所述第一程序以便所述智能NIC在所述智能NIC上安装。

Description

计算机和连接的网络接口卡上的资源共享软件的集成安装
Renaud B.Voltz,Aravinda Haryadi,Yuedong Mu,Lingyuan He
背景技术
通常与服务器相关联的更多操作正在被推送到可编程网络接口控制器(NIC)。推送到可编程NIC的一些操作包括对于虚拟化的计算节点的流处理。随着这些可编程NIC变得更加流行并代表虚拟化的网络执行更多的流处理,对流处理的优化将增强可编程NIC的功能性。因此,期望优化卸载到可编程NIC的流处理。
发明内容
一些实施例提供了一种用于为智能网络接口卡(NIC)提供智能NIC操作系统的方法,所述智能NIC操作系统用于使得能够在连接到主机计算机的智能NIC上进行资源共享。在一些实施例中,所述方法由所述主机计算机执行,并且在主机计算机接收到用于使得能够由还包括所述智能NIC操作系统的主机计算机进行资源共享的主机计算机管理程序时开始。所述主机计算机接着安装所述主机计算机管理程序,并向所述智能NIC提供所述智能NIC操作系统,以便所述智能NIC在所述智能NIC上安装智能NIC操作系统。在一些实施例中,所述主机计算机管理程序和所述智能NIC操作系统是单个下载的包的一部分。
在一些实施例中,所述智能NIC是包括以下项目的NIC:(i)专用集成电路(ASIC)、(ii)通用中央处理单元(CPU)和(iii)存储器。在一些实施例中,所述ASIC是处理转发到所述计算机和从所述计算机转发的分组的处理的I/O ASIC,并且所述ASIC至少部分地由所述CPU控制。在一些实施例中,所述CPU执行NIC操作系统,所述NIC操作系统控制所述ASIC并可以运行其他程序,比如API翻译逻辑之类,以使计算管理器能够与裸机计算机通信。所述智能NIC还包括可配置外设控制互联快车(PCIe)接口,以连接到所述裸机计算机系统的其他物理组件(例如,x86 CPU、存储器等)。经由此可配置PCIe接口,所述智能NIC可以将它自身作为众多设备表现给所述裸机计算机系统,所述众多设备包括分组处理NIC、硬盘(使用PCIe上的非易失性存储器快车(NVMe))或其他设备。
尽管不必管理裸机计算机,但一些实施例的NIC操作系统能够执行虚拟化程序(类似于管理程序),如果下述VM在所述计算机上执行,所述虚拟化程序使在多个机器(例如VM)之间共享所述智能NIC的资源(例如,存储器、CPU资源)成为可能。所述虚拟化程序可以提供与管理的管理程序类似的计算虚拟化服务和/或网络虚拟化服务。在一些实施例中,这些网络虚拟化服务包括将数据报文分隔到在物理网络上定义的不同私有(例如,覆盖)网络中(所述物理网络在所述私有网络间共享)、转发这些私有网络的数据报文(例如,执行交换和/或路由操作)和/或执行对于所述私有网络的中间盒服务。
在一些实施例中,所述主机计算机管理程序和所述智能NIC操作系统是不具有在所述计算机或所述智能NIC上安装的先前版本的程序。在其他实施例中,由所述主机计算机接收的所述主机计算机管理程序和所述智能NIC操作系统是对于所述主机计算机管理程序和所述智能NIC操作系统的先前安装的版本的更新程序。在一些实施例中,在主机计算机管理程序和智能NIC操作系统被接收后,所述主机计算机接收用于更新所述智能NIC操作系统的附加程序,并向所述智能NIC提供接收的程序以便所述智能NIC更新所述智能NIC操作系统。
在一些实施例中,在接收所述主机计算机管理程序和所述智能NIC操作系统后,所述主机计算机检测(或确定)所述主机计算机连接到所述智能NIC。在一些实施例中,通过标准PCIe连接来进行连接,并且所述智能NIC被检测为支持所述智能NIC操作系统的安装的外围设备。所述主机计算机基于所述检测向所述智能NIC提供所述智能NIC操作系统,以便所述智能NIC安装。在一些实施例中,所述智能NIC操作系统与使所述智能NIC安装所述智能NIC操作系统的指令一起被发送到所述智能NIC。
在一些实施例中,所述主机计算机包括接收所述主机计算机管理程序和所述智能NIC操作系统的本地控制器。在一些实施例中,所述本地控制器向计算代理提供所述主机计算机管理程序和所述智能NIC操作系统,所述计算代理在所述主机计算机上安装所述主机计算机管理程序以使所述主机计算机能够在一组计算节点(例如虚拟机、容器、Pod等)之间共享资源。在一些实施例中,所述主机计算机管理程序和所述智能NIC操作系统分别是用于使得能够进行所述主机计算机和智能NIC的资源共享的虚拟化软件的特定示例。
在一些实施例中,所述智能NIC包括一组ASIC、通用CPU和存储器。在一些实施例中,所述一组ASIC包括用于处理转发到所述主机计算机和从所述计算机转发的分组的ASIC以及用于加快由所述智能NIC代表所述主机计算机执行的操作(例如加密、解密、存储、安全等)的其他ASIC。在一些实施例中,所述智能NIC操作系统包括用于网络虚拟化、计算虚拟化和存储虚拟化的虚拟化程序。在一些实施例中,所述虚拟化程序使在多租户数据中心的多个租户之间共享所述智能NIC的资源成为可能。
所述网络虚拟化程序在所述智能NIC上提供网络虚拟化服务。在一些实施例中,所述网络虚拟化服务包括转发操作(例如网络交换操作和网络路由操作)。在一些实施例中,代表数据中心的共享网络上实现的多个逻辑上分离的网络来执行所述转发操作。在一些实施例中,转发针对不同逻辑网络的分组包括将针对每个逻辑上分离的网络的分组分隔到不同的逻辑上分离的网络中。在一些实施例中,针对所述不同逻辑网络的转发操作被实现为执行操作的不同集合的不同处理流水线。在一些实施例中,所述操作的不同集合包括不同的逻辑分组转发操作(例如逻辑交换、逻辑路由、逻辑桥接等)和不同的中间盒服务(例如防火墙服务、负载均衡服务等)。
在一些实施例中,所述计算虚拟化程序提供通过所述计算虚拟化程序执行的虚拟化的计算资源(虚拟机、容器、Pod等)。在一些实施例中,所述存储虚拟化程序在所述智能NIC上提供存储虚拟化服务。在一些实施例中,虚拟化的存储包括以下中的一个或多个:虚拟存储区域网络(vSAN)、虚拟卷(vVOL)以及其他虚拟化的存储方案。在一些实施例中,即使在作为所述虚拟化的存储的后端的物理资源是由多个物理主机计算机的一组分布式存储所提供的时,所述虚拟化的存储也对连接的主机计算机表现为本地存储。
上述的发明内容旨在作为对于本发明的一些实施例的简要介绍。它并不意味着是本文献中所公开的所有创造性主题的介绍或概述。下述的具体实施方式和具体实施方式中所参照的附图将进一步说明发明内容中所说明的实施例以及其他实施例。因此,为了理解本文献所说明的所有实施例,需要对发明内容、具体实施方式和附图的全面审查。此外,所要求保护的主题不旨在被发明内容、具体实施方式和附图中的说明性的细节所限制,而是旨在被所附权利要求书所限定,因为可以在不脱离主题的精神的情况下以其他具体形式实施所要求保护的主题。
附图说明
在所附权利要求书中阐述了本发明的新颖特征。然而,为了解释的目的,在下列的图中阐述了本发明的多个实施例。
图1图示了包括配置有主计算机虚拟化程序和智能NIC操作系统的主机计算机和主机计算机连接的智能NIC的系统。
图2概念性地图示了用于安装使得能够在主机计算机和智能NIC上进行资源共享的程序的过程。
图3概念性地图示了一些实施例中表示关于图2中所述的操作的子操作的过程。
图4图示了包括基板管理控制器(BMC)并通过PCIe总线连接到智能NIC的主机计算机的简化视图。
图5概念性地图示了作为图3中所述过程的一部分的由智能NIC执行以安装智能NIC操作系统的过程。
图6图示了安装完成后的智能NIC,其存储被划分成存储智能NIC操作系统的第一分区和第二分区。
图7图示了包括主机计算机、智能NIC、一组SDN控制器计算机和一组SDN管理器计算机的系统。
图8图示了执行主机计算机管理程序和用于第一租户(“T1”)的一组计算节点(CN1-CNM)以及用于第二租户(“T2”)的一组计算节点(CNa-CNx)的主机计算机。
图9图示了提供计算虚拟化和网络虚拟化以提供要由在主机计算机上执行的计算节点使用的虚拟化的资源(例如计算节点、物理功能和一组虚拟功能)的智能NIC。
图10图示了一些实施例中I/O ASIC、虚拟交换机和快速路径条目(entry)生成器之间的交互。
图11图示了包括智能NIC和通过两个不同的PCIe总线连接到智能NIC的一组主机计算机的系统。
图12概念性地图示了用于实现本发明的一些实施例的电子系统。
具体实施方式
在下述本发明的具体实施方式中,阐述并说明了本发明的众多细节、示例和实施例。然而,对于本领域技术人员将清楚且明显的是,本发明不限于所阐述的实施例,并且可以在没有所讨论的一些具体细节和示例的情况下实践本发明。
本发明的一些实施例提供了一种用于为智能NIC提供智能NIC操作系统的方法,所述智能NIC操作系统用于使得能够在连接到主机计算机的智能NIC上进行资源共享。本领域一般技术人员将理解将管理程序被用作虚拟化软件(例如,使得能够对于执行软件的设备进行资源共享的软件)的示例。在一些实施例中,所述方法由主机计算机执行,并且在主机计算机接收到(1)用于使得能够在主机计算机上进行资源共享的主机计算机管理程序时和(2)智能NIC操作系统时,所述方法开始。主机计算机接着安装主机计算机管理程序并向智能NIC提供智能NIC操作系统,以便智能NIC在智能NIC上安装。在一些实施例中,主机计算机管理程序和智能NIC操作系统是单个下载的包的一部分。
如本文中所使用的,数据报文指跨越网络发送的按照特定格式的比特的集。本领域一般技术人员将认识到的是,本文中使用术语数据报文来指代跨越网络发送的各种格式化的比特的集。这些比特的格式化可以由标准化协议或非标准化协议来规定。遵循标准化协议的数据报文的示例包括以太网帧、IP分组、TCP段、UDP数据报等。此外,如本文献中所使用的,对L2、L3、L4和L7层(或层2、层3、层4和层7)的引用分别是对OSI(开放系统互连)层模型的第二数据链路层、第三网络层、第四传输层和第七应用层的引用。
图1图示了包括配置有主机计算机虚拟化软件130和智能NIC操作系统160的主机计算机110和连接的智能NIC 140的系统100。主机计算机110包括一组物理资源120,而智能NIC 140包括分离的一组物理资源150。在一些实施例中,主机计算机110的一组物理资源120包括一组通用中央处理单元(CPU)、存储器和存储装置中的任何或所有。在一些实施例中,所述一组物理资源150包括一组通用中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、存储器和存储装置中的任何或所有。将关于图2说明图1中所述的主机计算机110和智能NIC 140的配置。
图2概念性地图示了用于安装使得能够在主机计算机和智能NIC上进行资源共享的程序的过程200。在一些实施例中,用于使得能够在主机计算机上进行资源共享的程序是管理程序、虚拟机监控器或其他虚拟化软件中的一个。在一些实施例中,用于使得能够在主机计算机上进行资源共享的程序作为主机计算机的硬件上直接执行的操作系统(OS)来执行,而在其他实施例中,所述程序作为在OS的顶部的软件层来执行。类似地,在一些实施例中,用于使得能够在智能NIC上进行资源共享的程序作为智能NIC的硬件上直接执行的操作系统(OS)来执行,而在其他实施例中,所述程序作为在OS的顶部的软件层来执行。
在一些实施例中,过程200由主机计算机(例如主机计算机110)来执行,所述主机计算机在一些实施例中是由数据中心提供者所提供的主机计算机(x86服务器)。过程200首先接收(在210处)包括智能NIC操作系统(例如智能NIC操作系统145)的主机计算机虚拟化程序(例如主机计算机管理程序115)。在一些实施例中,主机计算机虚拟化程序(例如主机计算机管理程序115)和智能NIC操作系统(例如智能NIC操作系统145)是安装虚拟化软件(例如软件虚拟化层或虚拟化OS)的安装器程序。在一些实施例中,从网络控制器计算机接收主机计算机虚拟化程序以将主机计算机配置为支持虚拟化的计算节点、存储、网卡等被实现在用于与网络控制器计算机相关联的虚拟或逻辑网络的主机计算机上。
图1的阶段101图示了尚未被虚拟化软件配置的主机计算机110接收包括智能NIC操作系统145的主机计算机管理程序115。在一些实施例中,两个程序115和145是分别接收的(例如,同时作为包的一部分或按顺序)。在其他实施例中,接收(在210处)的程序是对主机计算机虚拟化程序和智能NIC操作系统中的一个或两者的更新。在一些实施例中,即使在所述更新仅包括对智能NIC操作系统的更新的情况下,所述更新也被处理为对主机计算机虚拟化程序的更新。
在接收(在210处)主机计算机虚拟化程序和智能NIC操作系统之后,主机计算机接着在主机计算机上安装(在220处)接收的主机计算机虚拟化程序(例如主机计算机管理程序115)。在一些实施例中,虚拟化程序是诸如VMware,Inc.所提供的ESXiTM之类的管理程序或其他虚拟化程序。如图1的阶段102中所示,主机计算机在接收主机计算机管理程序115之后安装主机计算机管理程序130(图1中的虚线指示在设备上执行的软件)。在安装主机计算机虚拟化程序115之后,主机计算机110能够基于主机计算机110的物理资源120提供虚拟资源(例如计算节点、虚拟交换机、虚拟存储等)。
在安装(在220处)主机计算机虚拟化程序之后,或者作为安装(在220处)主机计算机虚拟化程序的一部分,主机计算机检测(在230处)智能NIC操作系统被包括在主机计算机虚拟化程序中。在一些实施例中,检测(在230处)智能NIC操作系统被包含在主机计算机虚拟化程序中包括执行一组操作,所述一组操作对给连接到主机计算机的任何能够虚拟化的智能NIC进行编程。在一些实施例中,所述一组操作包括检测能够虚拟化的智能NIC是否连接到主机计算机的操作。
主机计算机确定(在240处)能够虚拟化的智能NIC连接到主机计算机。在一些实施例中,确定(在240处)能够虚拟化的智能NIC连接到主机计算机是对于主机计算机虚拟化程序的安装过程的一部分。在一些实施例中,确定(在240处)能够虚拟化的智能NIC连接到主机计算机基于由智能NIC暴露给主机计算机的一组组件。在一些实施例中,主机计算机虚拟化程序(例如ESXiTM安装器)查询主机计算机的基板管理控制器(BMC)以确定(在240处)智能NIC与智能NIC操作系统(例如,诸如ESXioTM之类的智能NIC操作系统(OS))兼容。在一些实施例中,在先前执行的配置主机计算机虚拟化程序计算机和智能NIC之间的连接的过程期间,能够虚拟化的智能NIC被连接的主机计算机识别。
在确定(在240处)能够虚拟化的智能NIC连接到主机计算机之后,主机计算机向智能NIC提供(在250处)智能NIC操作系统,以便智能NIC安装虚拟化层来使智能NIC能够在智能NIC上共享资源。在阶段102中,图1图示了主机计算机110向智能NIC 140发送智能NIC操作系统145以便智能NIC 140安装智能NIC操作系统。在图1的阶段103中,智能NIC 140安装智能NIC操作系统160来使得能够进行智能NIC 140的物理资源150的虚拟化。
在一些实施例中,为智能NIC提供(在250处)智能NIC操作系统以安装智能NIC操作系统包括多个子操作。图3概念性地图示了一些实施例中表示被包括在操作250中的子操作的过程300。至少部分地关于图4和6说明图3。过程300首先将智能NIC配置(在310处)为从存储在主机计算机上的映像启动。在一些实施例中,主机计算机虚拟化程序调用BMC API来将智能NIC配置(在310处)为启用智能NIC上的统一可扩展固件接口(UEFI)SecureBoot。
在配置(在310处)智能NIC为启用从存储在主机计算机上的映像启动之后,在主机计算机上执行(在320处)智能NIC操作系统以便智能NIC在初始启动过程中使用。在一些实施例中,主机计算机虚拟化程序调用BMC API来执行(在320处)BMC存储装置中作为映像文件(例如,作为ISO、DD、tgz或zip文件)的智能NIC操作系统(例如ESX.io),以便智能NIC执行智能NIC操作系统的初始启动。图4图示了主机计算机410的简化视图,包括通过PCIe总线442连接到智能NIC 440的BMC 418。图4图示了BMC 418向智能NIC 440的CPU 444提供存储在BMC存储器419中的智能NIC操作系统445,以便CPU 444从存储在BMC存储装置419中的映像执行第一启动(操作“1”)。
图5概念性地图示了作为图3的过程300的一部分的由智能NIC执行以安装智能NIC操作系统的过程500。在一些实施例中,在这个时候,智能NIC从主机计算机的BMC存储装置执行(在510处)对于智能NIC操作系统的的启动序列。在初始化期间,检测并划分(在320处)本地存储(例如嵌入式多媒体控制器(eMMC)或其他存储器)。在一些实施例中,基于智能NIC操作系统的初始化脚本来检测本地存储。然后划分检测到的存储。
然后,在本地的分区的存储中存储(在530处)智能NIC操作系统(例如ESX.io启动加载器和系统模块)。在一些实施例中,智能NIC操作系统被复制到智能NIC本地存储以便基于智能NIC操作系统的过程从主机计算机中存储(在530处)。在其他实施例中,主机计算机虚拟化程序检测智能NIC已经从映像启动并已经划分存储,并且主机计算机虚拟化程序向智能NIC提供智能NIC操作系统以便存储(在530处)。图6图示了安装完成后的智能NIC 640,其存储646被划分成存储智能NIC操作系统(NIC OS)645的第一分区646a和第二分区646b。图4图示了在向CPU 444提供智能NIC操作系统445(在操作“1”中)之后,智能NIC操作系统被提供给存储器446(如操作“2”)。
然后,智能NIC操作系统验证(在540处)安装成功。在一些实施例中,验证(在540处)安装成功包括验证成功地枚举智能NIC设备和功能。在一些实施例中,验证(在540处)基于一组安装后脚本。在一些实施例中,验证包括向主机计算机虚拟化程序安装过程传达智能NIC上的安装成功。
然后,主机计算机BMC将智能NIC配置(在340处)为从智能NIC操作系统的本地副本启动。图4图示了在智能NIC操作系统被存储在存储器446中之后,CPU从存储器446访问智能NIC操作系统(SN OS 445)(如操作“3”)。
然后,主机计算机完成(在350处)主机计算机虚拟化程序的安装并重新启动主机计算机和智能NIC。在图5的过程500中,这些操作(340和350)被反映在操作550中,其中智能NIC被配置为从本地存储的智能NIC操作系统启动并被重新启动。在一些实施例中,首先重新启动主机计算机以完成主机计算机虚拟化程序的安装,然后再一次重新启动主机计算机和智能NIC以完成智能NIC操作系统的安装。在一些实施例中,首先重新启动主机计算机,然后开始智能NIC的重新启动(从存储在智能NIC的存储器中的智能NIC操作系统)。在智能NIC支持多个租户的计算节点的实施例中,由另一个租户的主机计算机虚拟化程序安装器来安装智能NIC操作系统的尝试被阻塞。在一些实施例中,由第二租户的安装是不必要的,并且会破坏已经对于第一租户执行的任何虚拟化。在此类实施例中,智能NIC或主机计算机虚拟化程序安装器以确定是否已经安装智能NIC操作系统的方式被编程。此外,在一些实施例中,智能NIC或主机计算机管理程序安装器被编程为识别租户,所述租户安装了智能NIC操作系统以允许由该租户进行对智能NIC操作系统的更新。
如图1中所示,在一些实施例中,主机计算机管理程序115和智能NIC操作系统145是不具有在计算机110或智能NIC 140上安装的先前版本的程序。在其他实施例中,由主机计算机110接收的主机计算机管理程序115和智能NIC操作系统145是对于主机计算机管理程序115和智能NIC操作系统145的先前安装的版本的更新程序。在其他实施例中,在主机计算机管理程序115和智能NIC操作系统145被接收后,在一些实施例中,主机计算机110接收用于更新智能NIC操作系统145的附加程序,并向智能NIC 140提供接收的程序以便智能NIC140更新所述智能NIC操作系统145。
图6图示了经过与上文关于图2、3和5中所述的那些过程相似或相同的一组配置过程之后的智能NIC 640。在安装智能NIC操作系统645之后,CPU 644执行NIC操作系统660(例如管理程序、虚拟化OS或虚拟机监控器等),在一些实施例中,所述NIC操作系统660包括计算虚拟化模块661、网络虚拟化模块662和存储虚拟化模块663。在一些实施例中,智能NIC操作系统660仅支持这些功能的子集、支持附加的功能或支持功能的不同组合。在一些实施例中,使用网络虚拟化模块(或能力)662来将智能NIC 640表现为连接到单个主机计算机(例如服务器)或一组主机计算机的多个物理功能(PF)。在一些实施例中,每个PF可以被进一步虚拟化为多个虚拟功能(VF)。
如本文献中所使用的,物理功能(PF)和虚拟功能(VF)指由使用PCIe接口来通过PCIe总线连接到主机计算机(或一组主机计算机)的智能NIC所暴露的端口。PF指被识别为具有可分离配置的PCIe接口(例如,与同一智能NIC上的其他PF分离)的独特资源的智能NIC的接口。VF指不可完全配置为分离的PCIe资源而是从与其相关联的PF继承一些配置同时表现简化的配置空间的虚拟化的接口。在一些实施例中,提供VF来提供透传机制,所述透传机制允许在主机计算机上执行的计算节点在不经过主机计算机的虚拟交换机的情况下从智能NIC接收数据报文。在一些实施例中,VF由在智能NIC上执行的虚拟化软件来提供。在一些实施例中,部署VF和PF来支持存储和计算机虚拟化模块661和663。例如,可以部署PF或VF来将智能NIC所提供的存储或计算资源表现为本地设备(即通过PCIe总线连接到主机计算机的设备)。
智能NIC 640还包括本地存储器646和用于安装(和支持)虚拟化层730的一组通用CPU 644,所述虚拟化层730使智能NIC的I/O部分和计算部分上的元件(例如CPU 644、存储器646等)的资源共享成为可能。如图所示,智能NIC操作系统645被存储在存储器646中(并且更具体地,在存储器分区646a中),所述存储器646与CPU 644通信来执行智能NIC操作系统645以安装NIC操作系统660(例如ESX.io)。在一些实施例中,存储器646是包括闪存和闪存控制器的嵌入式多媒体控制器(eMMC)存储器。在一些实施例中,存储器646和CPU 644通过内部PCIe总线643与智能NIC 640的其他元件通信。
智能NIC 640还包括I/O ASIC 647(在未示出的一组附加的ASIC或现场可编程门阵列(FPGA)中),所述I/O ASIC 647可以用于加快数据报文转发或其他联网功能(加密、安全操作、存储操作等)。一组物理端口641也被包括在智能NIC 640中,所述一组物理端口641提供与物理网络的连接并与I/O ASIC 647交互。图4中所述的I/OASIC和物理端口执行类似的操作。
在一些实施例中,主机计算机和智能NIC是为多个租户实现虚拟网络的数据中心的元件。在一些实施例中,在数据中心中实现的虚拟网络包括一个或多个逻辑网络,所述一个或多个逻辑网络包括一个或多个逻辑转发元件,比如逻辑交换机、路由器、网关等。在一些实施例中,通过配置多个物理转发元件(PFE)来定义逻辑转发元件(LFE),所述PFE中的一些或所有与所部署的计算节点(例如VM、Pod、容器等)一起在主机计算机或智能NIC上执行。在一些实施例中,PFE被配置为实现两个或多个LFE以连接所部署的计算节点的两个或多个不同子集。在一些实施例中,虚拟网络是软件定义网络(SDN)(比如NSX-TTM所部署的SDN之类),并包括一组SDN管理器和SDN控制器。在一些实施例中,所述一组SDN管理器管理网络元件,并指示所述一组SDN控制器配置网络元件以实现SDN所期望的转发行为。
图7图示了包括主机计算机710、智能NIC 740、一组SDN控制器计算机770和一组SDN管理器计算机780的系统700。一组SDN管理器计算机780为特定SDN(例如云提供者SDN,或者在云中或在私有数据中心中执行的租户SND)实现管理平面。一组SDN管理器计算机780接收来自用户的输入以实现特定SDN配置,在一些实施例中,所述特定SDN配置包括对于一组LFE、一组计算节点和一组存储资源的配置。一组SDN管理器计算机780向为SDN实现控制平面的一组SDN控制器计算机770传递所期望的配置。一组SDN控制器770为一组主机计算机(包括主机计算机710)生成配置数据,并向主机计算机710上的本地控制器790提供控制报文以配置由用户指定的一组网络元件。在一些实施例中,SDN管理器计算机780和SDN控制器计算机770是由VMware,Inc.授权的NSX-TTM管理器和控制器。
如图所示,一组SDN控制器计算机770通过智能NIC 740(使用物理端口(PP)741和PCIe总线742)向主机计算机710的本地控制器790发送主机计算机管理程序715。在一些实施例中,主机计算机管理程序715是安装器程序,所述安装器程序由主机计算机710的计算资源721执行来安装虚拟化层(例如,诸如VMware,Inc.所提供的ESXiTM之类的管理程序)以使主机计算机710的物理资源720能够在多个虚拟化的机器之间共享。
本地控制器790接收主机计算机管理程序715并将它提供给物理资源720(例如使用主机计算机710的计算资源721来运行主机计算机管理程序715)。基于主机计算机管理程序715,在主机计算机710上安装虚拟化层730(使用虚线表示以区分主机计算机710的硬件与软件)。虽然虚拟化层730被表示为包括计算虚拟化模块731、网络虚拟化模块732和存储虚拟化模块733,但在一些实施例中,虚拟化层730仅支持这些功能的子集、支持附加的功能或支持功能的不同组合。如上文关于图2中所述,作为执行主机计算机管理程序715以安装虚拟化层730的一部分,主机计算机710将向智能NIC 740提供智能NIC操作系统745,以便智能NIC 740执行(例如安装智能NIC虚拟化层)。
图8图示了执行主机计算机管理程序830和用于第一租户(“T1”)的一组计算节点(CN1-CNM)811以及用于第二租户(“T2”)的一组计算节点(CNa-CNx)812的主机计算机810。图8还图示了为T1和T2定义的分离的逻辑网络的逻辑视图。如图所示,用于分离的租户的逻辑网络包括连接租户的计算节点的一组逻辑路由器和逻辑交换机(分别是用于T1的831和832以及用于T2的833和834)。在一些实施例中,两个不同的逻辑网络都由主机计算机管理程序830和智能NIC 840来实现。在一些实施例中,主机计算机管理程序830包括为主机计算机810上的不同租户实现LR和LS的虚拟交换机(例如软件交换机)。在一些实施例中,智能NIC840的I/O ASIC 847由主机计算机管理程序830配置为对于分离的租户执行逻辑路由和逻辑交换操作。在其他实施例中,智能NIC 840的I/O ASIC 847由智能NIC 840的管理程序(未示出)来配置。
在一些实施例中,智能NIC 840的I/O ASIC 847和主机计算机管理程序830为分离的租户(例如分离的逻辑网络)实现分离的处理流水线。在一些实施例中,数据报文(例如进入(ingressing)数据报文T1和T2)基于逻辑网络标识符(例如虚拟局域网(VLAN)或虚拟可扩展LAN(VXLAN)标识符)被分隔到不同租户的不同逻辑网络的不同处理流水线中。
图9图示了提供计算虚拟化961和网络虚拟化962以提供在主机计算机910上执行的计算节点911所要使用的虚拟化的资源(例如计算节点913、物理功能970a-n和一组虚拟功能971)的智能NIC 940(描述为在主机计算机管理程序930内执行)。在一些实施例中,计算节点913是为在主机计算机910上执行的计算节点911提供网关服务的边缘网关机器。
网络虚拟化962提供虚拟化的PCIe接口944,所述虚拟化的PCIe接口944将PCIe总线942表现为包括如上文所定义的一组物理功能(PF 970a-n),以及对于一组物理功能的一组虚拟功能971。主机计算机管理程序930和NIC OS 960两者都执行为计算节点(虚拟机、容器、Pod等)提供逻辑路由和逻辑交换操作的虚拟交换机932。在一些实施例中,智能NIC 940上的虚拟交换机973为智能NIC 940和主机计算机910两者上的计算节点提供逻辑转发操作。在一些实施例中,虚拟交换机973与I/O ASIC 947交互,以代表主机计算机910执行数据报文处理卸载(例如流处理卸载)。
图10图示了一些实施例中I/O ASIC 1047、虚拟交换机1073和快速路径条目生成器1075之间的交互。在一些实施例中,I/O ASIC 1047被配置为对于送往和来自计算节点的数据报文执行快速路径处理,所述计算节点在连接到智能NIC 1040的主机计算机上执行。在一些实施例中,对于数据报文流中的第一数据报文(例如数据报文1080),I/O ASIC 1047被编程为向NIC OS 1060中执行的虚拟交换机1073提供数据报文1080。虚拟交换机1073通过处理流水线1074处理数据报文1080。处理流水线1074包括操作1074a-n。在一些实施例中,操作1074a-n包括一组逻辑转发操作(逻辑交换、桥接、路由等)。在一些实施例中,操作1074a-n还包括为特定逻辑网络(例如属于与数据报文1080相关联的特定逻辑租户)启用的一组中间盒服务(例如防火墙、负载均衡、深度包检测等)。在一些实施例中,处理流水线1074识别一组特定的数据报文属性1081,所述一组特定的数据报文属性1081用于识别数据报文1080所属于的数据报文流或一组数据报文流,并且处理流水线1074确定要对于与识别的数据报文属性1081相匹配的未来的数据报文采取的一组特定的行动(例如慢速路径结果1082)。然后,数据报文属性1081和慢速路径结果1082被提供给快速路径条目生成器1075以被组合成快速路径条目1091,以被编程到I/O ASIC 1047中来处理具有与识别的数据报文属性1081相匹配的属性的未来的数据报文。
图11图示了包括智能NIC 1140和通过两个不同的PCIe总线1142A和1142J连接到智能NIC 1140的一组主机计算机1110A-J的系统1110。每个PCIe总线1142被用于将智能NIC1140的虚拟化的元件表现为连接到主机计算机1110A-J的不同设备。例如,PF 1170a和1170n表现为NIC,而PF 1170b和1170(n-1)表现为连接的存储设备。如图所示,PF 1170a将一组VF表现为绕过主机计算机1110A的虚拟交换机(未示出)的透传端口。PF 1170b和1170(n-1)对主机计算机1110A和1110J表现为由PCIe总线1142连接的(仿真)本地存储1165a和1165b。仿真本地存储1165可以表现为本地存储、虚拟存储区域网络或虚拟卷。在一些实施例中,存储虚拟化1163用使用非易失性存储器快车(NVMe)或NVMe over Fabrics(NVMe-oF)1166的虚拟化的存储来支持仿真本地存储1165。在一些实施例中,所述虚拟化的存储与位于多个物理存储设备1180a-p上的外部存储通信。在一些实施例中,所述通信使用基于远程直接内存访问(RDMA)或传输控制协议(TCP)的NVMe-oF。
许多上述的特征和应用被实现为软件过程,所述软件过程被指定为计算机可读存储介质(也被称为计算机可读介质)上记录的一组指令。当这些指令由一个或多个处理单元(例如一个或多个处理器、处理器的核心或其他处理单元)执行时,它们使处理单元执行指令中指示的动作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、EPROM等。计算机可读介质不包括以无线方式或通过有线连接传递的载波或电子信号。
在本说明书中,术语“软件”意味着包括存在于只读存储器中的固件或存储在磁性存储中应用,所述固件或应用可以被读取到存储器中以便由处理器处理。此外,在一些实施例中,多个软件发明可以被实现为更大的程序的子部分,同时保持不同的软件发明。在一些实施例中,多个软件发明也可以被实现为分离的程序。最后,一起实现这里说明的软件发明的分离程序的任何组合在本发明的范围内。在一些实施例中,当安装所述软件程序以在一个或多个电子系统上运行时,所述软件程序定义了执行并进行所述软件程序的操作的一个或多个具体的机器实现。
图12概念性地图示了用于实现本发明的一些实施例的电子系统1200。电子系统1200可以是计算机(例如桌上计算机、个人计算机、平板计算机、服务器计算机、大型主机、刀片计算机等)、电话、PDA或任何其他种类的电子设备。此类电子系统包括各种类型的计算机可读介质和用于各种其他类型的计算机可读介质的接口。电子系统1200包括总线1205、处理单元1210、系统存储器1225、只读存储器1230、永久存储设备1235、输入设备1240和输出设备1245。
总线1205集体地表示通信地连接电子系统1200的众多内部设备的所有系统、外围和芯片组总线。例如,总线1205使处理单元1210与只读存储器1230、系统存储器1225和永久存储设备1235通信地连接。
处理单元1210从这些不同的存储器单元检索要执行的指令和要处理的数据,以执行本发明的过程。在不同的实施例中,处理单元可以是单处理器或多核处理器。
只读存储器(ROM)1230存储处理单元1210和电子系统的其他模块所需的静态数据和指令。另一方面,永久存储设备1235是读写存储器设备。此设备1235是即使在电子系统1200关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施例使用大容量存储设备(比如磁盘或光盘及其对应的盘驱动器)作为永久存储设备1235。
其他实施例使用可移除存储设备(比如软盘、闪存驱动器等)作为永久存储设备1235。类似于永久存储设备1235,系统存储器1225是读写存储器设备。然而,与存储设备1235不同,系统存储器1225是易失性读写存储器,比如随机存取存储器之类。系统存储器1225存储处理器在运行时需要的一些指令和数据。在一些实施例中,本发明的过程被存储在系统存储器1225、永久存储设备1235和/或只读存储器1230中。处理单元1210从这些不同的存储器单元检索要执行的指令和要处理的数据,以执行一些实施例的过程。
总线1205还连接到输入和输出设备1240和1245。输入设备1240使用户能够向电子系统1200传递信息和选择命令。输入设备1240包括字母数字键盘和定点设备(也称为“光标控制设备”)。输出设备1245显示由电子系统1200生成的图像。输出设备1245包括打印机和显示设备,比如阴极射线管(CRT)或液晶显示器(LCD)之类。一些实施例包括诸如充当输入和输出设备两者的触摸屏之类的设备。
最后,如图12中所示,总线1205还通过网络适配器(未示出)使电子系统1200耦接到网络1265。以这种方式,计算机可以成为计算机的网络(比如局域网(“LAN”)、广域网(“WAN”)或内联网)或者网络的网络(比如因特网)的一部分。可以结合本发明使用电子系统1200的任何或所有组件。
一些实施例包括电子组件,比如在机器可读或计算机可读介质(或者被称为计算机可读存储介质、机器可读介质或机器可读存储介质)中存储计算机程序指令的微处理器、存储装置和存储器之类。此类计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、只读数字多功能光盘(例如DVD-ROM、双层DVD-ROM)、各种可记录/可重写DVD(例如DVD-RAM、DVD-RW、DVD+RW等)、闪存(例如SD卡、mini-SD卡、micro-SD卡等)、磁性和/或固态硬盘驱动器、只读和可记录
Figure BDA0004145128010000181
光盘、超高密度光盘、任何其他光学或磁性介质以及软盘。计算机可读介质可以存储计算机程序,所述计算机程序可以由至少一个处理单元执行,并包括用于执行各种操作的指令集。计算机程序或计算机代码的示例包括机器代码(比如由编译器产生的)和包括更高层次的代码的文件,所述更高层次的代码由计算机、电子组件或微处理器使用解释器来执行。
虽然上述讨论主要涉及执行软件的微处理器或多核处理器,但一些实施例由一个或多个集成电路来执行,比如专用集成电路(ASIC)或现场可编程门阵列(FPGA)之类。在一些实施例中,此类集成电路执行存储在电路自身上的指令。
如本说明书中所使用的,术语“计算机”、“服务器”、“处理器”和“存储器”都指电子或其他技术设备。这些术语不包括人或人群。为了本说明书的目的,术语显示意味着电子设备上的显示。如本说明书中所使用的,术语“计算机可读介质”、“多个计算机可读介质”和“机器可读介质”被完全限制于以可以被计算机读取的形式存储信息的有形的、物理的对象。这些术语不包括任何无线信号、有线下载信号以及任何其他短暂信号。
本说明书始终涉及包括虚拟机(VM)的计算和网络环境。然而,虚拟机只是数据计算节点(DCN)或数据计算端节点(也被称为可寻址节点)的一个示例。DCN可以包括非虚拟化的物理主机、虚拟机、在不需要管理程序或分离的操作系统的情况下在主机操作系统的顶部运行的容器、管理程序内核网络接口模块。
在一些实施例中,VM用其自身的客户操作系统使用由虚拟化软件(例如管理程序、虚拟机监控器等)所虚拟化的主机的资源在该主机上运行。租户(即VM的所有者)可以选择要在客户操作系统的顶部运行哪些应用。另一方面,一些容器是在不需要管理程序或分离的客户操作系统的情况下在主机操作系统的顶部运行的构件。在一些实施例中,主机操作系统使用命名空间来使容器相互隔离,从而提供了运行在不同容器内的不同组的应用的操作系统层次的分隔。此分隔类似于使系统硬件虚拟化的管理程序虚拟化环境中所提供的VM分隔,因此可以被视为使运行在不同容器中的不同组的应用隔离的虚拟化的一种形式。此类容器比VM更轻量。
在一些实施例中,管理程序内核网络接口模块是包括具有管理程序内核网络接口和接收/发送线程的网络堆栈的非VM DCN。管理程序内核网络接口模块的一个示例是作为VMware,Inc.的ESXiTM管理程序的一部分的vmknic模块。
应该理解的是,虽然本说明书涉及VM,但给出的示例可以是任何类型的DCN,包括物理主机、VM、非VM容器以及管理程序内核网络接口模块。事实上,在一些实施例中,示例网络可以包括不同类型的DCN的组合。
虽然已经参照众多具体细节说明了本发明,但本领域一般技术人员将意识到,可以在不脱离本发明的精神的情况下以其他具体形式来实施本发明。此外,一些附图(包括图2、3和5)概念性地图示了过程。这些过程的具体操作可能不是以所示和所述的确切顺序来执行的。所述具体操作可能不是以一个连续系列的操作来执行的,并且可以在不同实施例中执行不同具体操作。此外,可以使用多个子过程或者作为更大的宏观过程的一部分来实现所述过程。因此,本领域一般技术人员将理解,本发明不旨在由前述说明性的细节限制,而是旨在由所附的权利要求书限定。

Claims (24)

1.一种提供第一程序的方法,所述第一程序使得能够在主机计算机的智能网络接口卡(NIC)上进行资源共享,所述方法包括:
在所述主机计算机处:
在所述主机计算机处接收所述第一程序连同第二程序,以用于共享所述主机计算机的资源;
在所述主机计算机上安装所述第二程序;和
向所述智能NIC提供所述第一程序以便所述智能NIC在所述智能NIC上安装。
2.根据权利要求1所述的方法,其中所述第一程序是具有所述第二程序的一个下载包的一部分。
3.根据权利要求1所述的方法,其中所述第一程序和第二程序是不具有当前运行在所述智能NIC和所述主机计算机上的早期版本的程序。
4.根据权利要求3所述的方法,还包括在所述主机计算机处:
接收用于更新所述第一程序的更新第三程序;和
向所述智能NIC提供所述第三程序以更新所述第一程序。
5.根据权利要求1所述的方法,其中所述第一程序和第二程序是作为当前运行在所述智能NIC和所述主机计算机上的早期程序版本的后续版本的更新程序。
6.根据权利要求1所述的方法,还包括在向所述智能NIC提供所述第一程序之前和在接收所述第一程序和第二程序之后,检测所述主机计算机具有所述智能NIC。
7.根据权利要求1所述的方法,还包括引导所述智能NIC安装所述第一程序。
8.根据权利要求1所述的方法,其中接收所述第一程序和第二程序包括在所述主机计算机上执行的计算代理处接收所述第一程序和第二程序以安装操作系统,所述操作系统用于在将在所述主机计算机上执行的各种机器之间共享所述主机计算机的资源。
9.根据权利要求8所述的方法,其中所述第二程序是所述操作系统。
10.根据权利要求9所述的方法,其中所述操作系统是管理程序。
11.根据权利要求1所述的方法,其中所述智能NIC包括专用集成电路(ASIC)、通用中央处理器(CPU)和存储器,所述第一程序用于在所述存储器中存储并由所述CPU执行,所述ASIC用于处理转发到所述主机计算机和从所述主机计算机转发的分组。
12.根据权利要求1所述的方法,其中所述第一程序是用于在所述主机计算机上执行的各种机器之间共享所述智能NIC的资源的操作系统。
13.根据权利要求1所述的方法,其中所述第一程序是用于在多租户数据中心的各个租户之间共享所述智能NIC的资源的操作系统。
14.根据权利要求1所述的方法,其中所述第一程序是计算机操作系统,一个或多个机器通过所述计算机操作系统在所述智能NIC上执行。
15.根据权利要求1所述的方法,其中所述第一程序是用于在所述智能NIC上提供网络虚拟化服务的网络操作系统。
16.根据权利要求15所述的方法,其中所述网络虚拟化服务包括将分组分隔到在数据中心的共享的网络上定义的不同私有网络中,并转发所述私有网络的分组。
17.根据权利要求15所述的方法,其中所述网络虚拟化服务包括网络交换操作和网络路由操作中的至少一个。
18.根据权利要求15所述的方法,其中所述网络虚拟化服务包括中间盒服务。
19.根据权利要求1所述的方法,其中所述第一程序包括用于在所述智能NIC上提供存储虚拟化服务的存储操作系统。
20.根据权利要求19所述的方法,其中所述存储虚拟化服务从在多个主机计算机上执行的一组分布式存储仿真所述主机计算机的本地存储。
21.一种存储程序的机器可读介质,所述程序在由至少一个处理单元实现时,实现根据权利要求1-20中的任何一个所述的方法。
22.一种电子设备,所述电子设备包括:
一组处理单元;和
一种存储程序的机器可读介质,所述程序在由所述处理单元中的至少一个实现时,实现根据权利要求1-20中的任何一个所述的方法。
23.一种包括用于实现根据权利要求1-20中的任何一个所述的方法的装置的系统。
24.一种包括指令的计算机程序产品,所述指令在由计算机执行时,使所述计算机执行根据权利要求1-20中的任何一个所述的方法。
CN202180065857.XA 2020-09-28 2021-09-17 计算机和连接的网络接口卡上的资源共享软件的集成安装 Pending CN116438514A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US202063084536P 2020-09-28 2020-09-28
US63/084,536 2020-09-28
IN202041056829 2020-12-29
IN202041056829 2020-12-29
US17/476,934 2021-09-16
US17/476,934 US20220100491A1 (en) 2020-09-28 2021-09-16 Integrated installation of resource sharing software on computer and connected network interface card
PCT/US2021/050896 WO2022066531A1 (en) 2020-09-28 2021-09-17 Integrated installation of resource sharing software on computer and connected network interface card

Publications (1)

Publication Number Publication Date
CN116438514A true CN116438514A (zh) 2023-07-14

Family

ID=80822544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180065857.XA Pending CN116438514A (zh) 2020-09-28 2021-09-17 计算机和连接的网络接口卡上的资源共享软件的集成安装

Country Status (4)

Country Link
US (1) US20220100491A1 (zh)
EP (1) EP4147128A1 (zh)
CN (1) CN116438514A (zh)
WO (1) WO2022066531A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220100432A1 (en) 2020-09-28 2022-03-31 Vmware, Inc. Distributed storage services supported by a nic
US12021759B2 (en) 2020-09-28 2024-06-25 VMware LLC Packet processing with hardware offload units
US11636053B2 (en) 2020-09-28 2023-04-25 Vmware, Inc. Emulating a local storage by accessing an external storage through a shared port of a NIC
US11593278B2 (en) 2020-09-28 2023-02-28 Vmware, Inc. Using machine executing on a NIC to access a third party storage not supported by a NIC or host
US11875172B2 (en) 2020-09-28 2024-01-16 VMware LLC Bare metal computer for booting copies of VM images on multiple computing devices using a smart NIC
US11792134B2 (en) 2020-09-28 2023-10-17 Vmware, Inc. Configuring PNIC to perform flow processing offload using virtual port identifiers
US11645104B2 (en) * 2020-12-22 2023-05-09 Reliance Jio Infocomm Usa, Inc. Intelligent data plane acceleration by offloading to distributed smart network interfaces
US11995024B2 (en) 2021-12-22 2024-05-28 VMware LLC State sharing between smart NICs
US11863376B2 (en) 2021-12-22 2024-01-02 Vmware, Inc. Smart NIC leader election
CN116346945A (zh) * 2021-12-24 2023-06-27 戴尔产品有限公司 经由智能网络接口控制器实现的可信网络协议代理
US20230342475A1 (en) * 2022-04-25 2023-10-26 Dell Products L.P. Smart network interface controller signature database emulation
US11928062B2 (en) 2022-06-21 2024-03-12 VMware LLC Accelerating data message classification with smart NICs
US11928367B2 (en) 2022-06-21 2024-03-12 VMware LLC Logical memory addressing for network devices
US11899594B2 (en) 2022-06-21 2024-02-13 VMware LLC Maintenance of data message classification cache on smart NIC
US11671350B1 (en) 2022-08-15 2023-06-06 Red Hat, Inc. Data request servicing using multiple paths of smart network interface cards

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11636053B2 (en) * 2020-09-28 2023-04-25 Vmware, Inc. Emulating a local storage by accessing an external storage through a shared port of a NIC

Also Published As

Publication number Publication date
WO2022066531A1 (en) 2022-03-31
US20220100491A1 (en) 2022-03-31
EP4147128A1 (en) 2023-03-15

Similar Documents

Publication Publication Date Title
US20220100491A1 (en) Integrated installation of resource sharing software on computer and connected network interface card
US11716383B2 (en) Accessing multiple external storages to present an emulated local storage through a NIC
US11636053B2 (en) Emulating a local storage by accessing an external storage through a shared port of a NIC
US10461999B2 (en) Methods and systems for managing interconnection of virtual network functions
US11061712B2 (en) Hot-plugging of virtual functions in a virtualized environment
US11875172B2 (en) Bare metal computer for booting copies of VM images on multiple computing devices using a smart NIC
CN109154849B (zh) 包括核心层、用户接口和配备有基于容器的用户空间的服务层的超融合系统
WO2022066270A1 (en) Distributed storage services supported by a nic
US9448783B2 (en) Software delivery for virtual machines
US10846120B2 (en) Configuration tracking in virtualized computing environments
US10437621B2 (en) Monitoring and managing applications on virtual machines using a proxy agent
US11099875B2 (en) Auto-adaptive virtual desktop persistence
US20140115576A1 (en) Extensible Network Configuration Management
US9690612B2 (en) Dynamically managing a serial port interface of virtualization software on host device wherein execution is performed not during boot sequence
US20230021723A1 (en) Automated migration of monolithic applications to container platforms
US20230325222A1 (en) Lifecycle and recovery for virtualized dpu management operating systems
WO2023224720A1 (en) Enabling virtual private network (vpn) support in a virtualized environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: U.S.A.

Address after: California, USA

Applicant after: Weirui LLC

Address before: California, USA

Applicant before: VMWARE, Inc.

Country or region before: U.S.A.

CB02 Change of applicant information