0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用虚拟化硬件功能加速虚拟化环境

星星科技指导员 来源:嵌入式计算设计 作者:Michael Miller 2022-07-08 15:18 次阅读

随着时间的推移,该行业已转向虚拟化功能和软件定义网络SDN),以便在数据中心和网络中的各种硬件平台上实现灵活部署。软件现在必须能够跨多个软件和硬件环境进行转移,以既具有成本效益又提供所需的灵活性以满足一系列不断变化的性能需求。

Open vSwitch (OVS) 是一个高级功能的例子,它曾经是硬件,但通过虚拟化交换功能带来了部署的灵活性。在此过程中,一些更适合硬件的功能(如数据包解析和分类)已成为瓶颈。寻找使用硬件加速这些虚拟功能同时保持部署灵活性的方法可以大大提高吞吐量并减少延迟。

带有 FPGA 或专用芯片的 SmartNIC 正在成为一种硬件和软件混合的解决方案。为了与软件功能一起发挥作用,关键的硬件功能必须虚拟化。

pYYBAGLH2kGAGk6TAADStfRD0as714.png

目前在使用 FPGA 加速虚拟环境时存在几个挑战,主要归因于存储容量、内存的聚合随机访问性能和内存访问延迟:

第一个挑战在于难以支持需要大量内存并且需要以真正随机访问模式访问的系统。即使现在的 FPGA 支持更大的芯片资源,甚至那些支持高带宽内存 (HBM) 的 FPGA,问题也变成了需要多少这些资源来支持高速随机访问要求。甚至还有第三种常见情况,即使用片外 QDR SRAM 来增加片上资源,它使用许多 I/O 资源来实现相对较低的密度。问题是,如何仅使用一个设备替换多个具有相同或更多内存的 QDR 设备?

第二个挑战可以概括为投资利用率或可移植性。许多需要数据包分类或 DPI 等功能的 最终用户客户在软件方面投入了大量的开发工作。如果这些客户需要中期性能提升或扩大产品供应范围,除了可能重新设计相关硬件外,还需要大量的软件返工。

虚拟加速器引擎方法

虚拟加速器引擎 (VAE) 方法允许用户设计 API 和 RTL 模块接口,将软件和系统设计的其余部分与底层实现隔离开来。这可以升级以支持性能提升,同时节省软件开发和调试的工作量。此外,虚拟加速器方法在 OVS 等分层解决方案中表现良好,这些解决方案具有“回退”到较慢路径的快速路径,所有这些都使用相同的编程模型来管理表。

目前,有多种方法可以加速基于 FPGA 的设计。当客户特别基于 FPGA 设计系统时,有两种方法可以解决最常见的瓶颈挑战。

该策略一直是定义一个通用 API 函数接口,该接口由一系列具有可扩展性能的硬件环境支持。由于 API 有不同的性能规格可供选择,因此不必知道硬件是什么。因此,从本质上讲,它本质上是一种虚拟硬件解决方案。

poYBAGLH2keAP7thAAFM6eIB7j0064.png

在这里,硬件不会驱动软件决策。定义了软件性能,选择了硬件环境。因此:软件定义,硬件加速。

由于软件系统设计是在 API 级别使用未选择的硬件环境执行的,因此这些解决方案称为虚拟加速器引擎。这允许系统在一系列硬件平台选项上执行这个软件定义的功能,每个选项都可以提供不同的性能点。

虚拟加速器引擎的主要优势在于需要通过使用通用 API 来保护软件投资的应用程序,以便在许多不同的硬件环境中实现可传输性或性能扩展。通过设计通用 API,系统设计人员可以将其无缝移植到一系列性能平台上。

可能的 VAE 平台

下图描述了 VAE 的可扩展硬件环境,该环境将执行通用 API 和模块接口。通过从低端、更具成本效益的硬件环境迁移到性能驱动、硬件定义的系统,一个常见的应用程序可以体验高达 400 倍的性能提升。每个的基本性能取决于底层内存在总的聚合随机读取和写入方面的能力。

poYBAGLH2lCADlGkAAHOqCref9o339.png

这种灵活性允许系统设计人员选择实施适当的 VAE 平台来实现所需的系统性能。

许多市场正在转向软件可移植的世界。虽然这在云计算中很常见,但在较低级别的系统功能中并不常见。

虚拟加速器引擎:软件 + 固件 + 硬件

虚拟加速器引擎被定义为在系统功能级别提供缩放加速。通用 API 与硬件无关。它可以在未连接到专用 IC 的 CPU 或 FPGA 或连接到加速器 IC 的 FPGA 上运行,例如 MoSys 加速器 IC 系列,包括带宽引擎或具有内存计算能力的可编程超高速引擎。

虚拟加速器引擎旨在支持诸如“数据包分类”之类的功能平台。它是“虚拟的”,因为它是一种抽象功能,可以是独立软件、FPGA RTL 或基于嵌入式固件的。

使用 MoSys 的通用软件接口 (API) 和跨多个硬件环境的 RTL 模块接口,系统设计人员可以重用内部开发的软件代码来调整所需的性能。此外,所有基于 FPGA 的 VAE 都使用允许硬件可移植性的通用 RTL。具有通用 API 的 VAE 可以在 CPU 或通用 RTL 模块接口上运行,其中 FGPA 未连接到 MoSys IC 或 FPGA 连接到 MoSys 加速器引擎 IC。

软件定义系统的时代

随着软件可移植性的发展,不仅在云中而且在独立系统中,设计人员需要快速进入具有不同性能/价格点的新系统设计。这就要求系统设计人员将应用程序放入具有不同性能级别的硬件环境中,从而针对每个平台进行设计。

VAE 允许工程师在系统/应用程序级别进行思考,而无需担心“我的硬件做什么?” 借助“功能平台”,这些工程师可以先开发软件定义的系统,然后再从一系列性能环境中选择硬件。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603054
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10855

    浏览量

    211614
  • 接口
    +关注

    关注

    33

    文章

    8580

    浏览量

    151046
收藏 人收藏

    评论

    相关推荐

    如何实现软件的emulate功能 emulation和虚拟的区别是什么

    软件的Emulate功能虚拟的区别 在现代计算机技术中,软件的emulate功能虚拟是两
    的头像 发表于 12-05 15:35 151次阅读

    深入KVM虚拟之构建高效、可扩展的虚拟环境

    的计算机,而且每个逻辑计算机 它可以是不同操作系统 虚拟技术:可以扩大硬件容量,单个cpu模拟出多个cpu并行, 允许一个平台上同时运行多个操作系统,应用程序都可以在相互独立 的空间内运行,而且互不影响。 为什么企业使用
    的头像 发表于 11-26 17:22 229次阅读
    深入KVM<b class='flag-5'>虚拟</b><b class='flag-5'>化</b>之构建高效、可扩展的<b class='flag-5'>虚拟</b><b class='flag-5'>化</b><b class='flag-5'>环境</b>

    虚拟数据恢复—误还原Vmware虚拟机快照的数据恢复案例

    虚拟数据恢复环境: 一台虚拟机从物理机迁移到ESXI虚拟平台,迁移完成后做了一个快照。
    的头像 发表于 11-12 12:23 150次阅读

    虚拟数据恢复—XenServer虚拟机数据恢复案例

    服务器虚拟数据恢复环境: 某品牌720服务器中有一组通过同品牌、型号为H710P的RAID卡+4块STAT硬盘组建的RAID10磁盘阵列。上层部署XenServer虚拟
    的头像 发表于 11-08 10:32 140次阅读
    <b class='flag-5'>虚拟</b><b class='flag-5'>化</b>数据恢复—XenServer<b class='flag-5'>虚拟</b>机数据恢复案例

    emc虚拟技术的应用场景

    在当今的数字化时代,企业面临着数据爆炸式增长和业务需求不断变化的挑战。为了应对这些挑战,企业需要灵活、高效且可扩展的IT基础设施。EMC虚拟技术正是在这样的背景下应运而生,它通过将物理资源抽象
    的头像 发表于 11-01 15:26 326次阅读

    虚拟数据恢复——Hyper-V虚拟机数据恢复案例

    虚拟数据恢复环境: Windows Server操作系统服务器上部署Hyper-V虚拟环境虚拟
    的头像 发表于 10-25 09:26 188次阅读
    <b class='flag-5'>虚拟</b><b class='flag-5'>化</b>数据恢复——Hyper-V<b class='flag-5'>虚拟</b>机数据恢复案例

    云计算中的虚拟技术应用

    : 一、虚拟技术的核心原理 虚拟技术通过引入一个虚拟层(
    的头像 发表于 10-24 09:22 623次阅读

    华纳云:OpenStack是虚拟管理平台吗?其工作原理是什么?

    位于不同供应商产品环境中的业务流程。 但虚拟管理平台主要是方便利用虚拟资源的特性和功能,而 OpenStack 则是使用
    的头像 发表于 09-23 14:20 307次阅读

    虚拟数据恢复—EXSI虚拟机误还原快照如何恢复数据?

    虚拟技术原理是将硬件虚拟供不同的虚拟机使用,一台物理机上可以有多台
    的头像 发表于 09-09 11:56 364次阅读
    <b class='flag-5'>虚拟</b><b class='flag-5'>化</b>数据恢复—EXSI<b class='flag-5'>虚拟</b>机误还原快照如何恢复数据?

    什么是虚拟机?什么是虚拟

    在日新月异的科技世界中,虚拟技术如同一座桥梁,连接着现实与数字的鸿沟,为我们打开了全新的计算维度。虚拟机,这一概念,自其诞生以来,就以其独特的魅力和强大的功能,深深地影响了软件开发、
    的头像 发表于 09-04 14:55 875次阅读

    虚拟数据恢复—XenServer虚拟平台数据恢复案例

    虚拟数据恢复环境: 某品牌R720服务器,4块STAT硬盘通过H710P阵列卡组建了一组raid10磁盘阵列。服务器上部署XenServer虚拟
    的头像 发表于 07-30 13:18 259次阅读
    <b class='flag-5'>虚拟</b><b class='flag-5'>化</b>数据恢复—XenServer<b class='flag-5'>虚拟</b><b class='flag-5'>化</b>平台数据恢复案例

    存储虚拟有哪些常见类型?有什么优点?

    存储虚拟是一种将多个存储设备的物理存储资源抽象出来、将它们集中在一起并将它们呈现为单个逻辑存储单元的技术。此过程简化了存储管理,提高了资源利用率,并实现了跨各种存储设备(例如硬盘驱动器、固态驱动器
    的头像 发表于 03-07 16:47 1166次阅读

    虚拟软件栈有哪些防御措施

    虚拟软件栈是一种在物理服务器上运行多个虚拟机的技术,可以提高服务器资源的利用率和灵活性。然而,虚拟软件栈也带来了新的安全风险,因此需要采
    的头像 发表于 01-25 11:27 761次阅读

    美格智能LXC容器化解决方案,轻松玩转多系统虚拟

    虚拟技术是云计算的基石,促进了云时代的蓬勃发展。当前,物联网走向全面智能,终端设备各类感知、交互功能的实现,均有着更为复杂的控制逻辑。在此背景下,
    的头像 发表于 01-17 17:03 396次阅读
    美格智能LXC容器化解决方案,轻松玩转多系统<b class='flag-5'>虚拟</b><b class='flag-5'>化</b>

    超融合和虚拟的区别

    景。 一、超融合(Hyper-convergence)的定义和原理 超融合是一种集成了计算、存储、网络和虚拟功能的技术架构,它将不同的硬件资源整合到一台服务器中,通过软件定义的方式
    的头像 发表于 01-15 10:36 4231次阅读