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

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

3天内不再提示

看虚拟化在PowerVR GPU中是如何进行

电子设计 来源:互联网 作者:佚名 2018-05-17 09:14 次阅读

过去的几年里,虚拟化的概念——将软件从承载其的硬件中分离出来——已经为许多人所熟知。在本文中,我们将描述虚拟化是什么,看看它在PowerVR GPU中是如何工作的,并解释它是如何给各种市场(尤其是汽车行业)带来巨大的利益。

对于电脑来说,目前的虚拟化技术能够让一台计算机同时运行多个操作系统,例如,一个开发人员可以在Microsoft Windows主机上运行一个Linux“访客”操作系统,而对于企业而言,它通常用来整合工作负载以减少CapEx和OpEx。在嵌入式平台上,虚拟化技术的主要目的则是在降低成本的同时通过分离确保安全性。

当涉及到GPU时,虚拟化提供了支持多个操作系统同时运行的能力,每个操作系统都能够将图形工作负载提交给底层的图形硬件实体。这在汽车领域变得越来越重要。例如,通过将一些要求严格的系统比如ADAS(高级驾驶辅助系统)和数字化显示面板分别放在完全独立域内以保证他们安全独立的运行。

为了打破它,虚拟化GPU需要执行如下操作:

• 管理程序(Hypervisor):这基本上是为访客操作系统提供共享虚拟硬件平台(在本例中为GPU硬件)并管理客户操作系统托管的软件实体。

• 主机操作系统(Host OS)——相比访客操作系统,主机操作系统具有完整的驱动程序并且对底层硬件具有更高级的控制能力。

• 访客操作系统(Guest OS):由虚拟机管理程序托管的具有操作系统的虚拟机,可以是一个或多个,它们可以共享底层可用的硬件资源。

硬件虚拟化 vs 半虚拟化

自Series6系列GPU内核以来,PowerVR已经具备高级的、完整的硬件虚拟化特性,并且在Series8XT中得到了进一步的增强,我们将在本文后面深入讨论这个细节。通过完全虚拟化,这意味着管理程序下运行的每个访客操作系统都不会意识到它正与其他访客操作系统和主机操作系统共享GPU资源。每个访客系统都具有完整的驱动程序,并且可以以独立和并发的方式直接向底层硬件提交任务。这种方式的好处是在处理不同“访客”的任务提交时不会再有管理程序的开销,从而也减少了向GPU提交任务的等待时间,因此具有更高的利用率。

这与半虚拟化解决方案有所不同,在半虚拟化方式中,访客操作系统能够意识到它们是虚拟化的并且与其他访客系统共享底层硬件资源。这种情况下访客系统需要通过管理程序(Hypervisor)提交任务,整个系统必须作为一个内聚单元协同工作。该解决方案的缺点是管理程序(运行在CPU上)的开销过高,任务提交延迟过长,这潜在的降低了底层GPU硬件的有效利用率。此外,还需要修改访客操作系统(添加额外的功能)以使得它们能够通过管理程序进行通信

GPU虚拟化使用案例:

GPU虚拟化应用案例很多,下面列举的主要集中在嵌入式市场:
• 汽车
• 数字电视(DTV)/机顶盒(STB)
物联网IoT)/可穿戴设备
智能手机/平板电脑

我们在这篇文章中讨论的虚拟化主要集中在汽车方面,因为在这个市场,虚拟化将会带来很多的好处。它有特定的要求,这使它成为比较复杂的市场之一,对于这方面的内容你可以参考我们的白皮书

为什么汽车市场需要虚拟化?

GPU虚拟化正在成为汽车行业的必备需求。大多数一级代理商和OEM厂商都选择加入更多的ADAS功能,在新款汽车中多个高分辨率的显示器也变得越来越普遍。

随着汽车越来越自动化,ADAS的功能也随之增加。这些功能在计算上十分复杂,而现在GPU强大的并行计算能力使得它们能够很好的处理这些任务。于此同时,仪表板集群和信息娱乐设备(在仪表板和后排座位处)以及挡风玻璃上更高分辨率的显示正在成为发展趋势。

PowerVR虚拟化和Series8XT为汽车行业带来变革

汽车系统虚拟化环境中支持多个应用程序展示

面向汽车行业

那么,为什么PowerVR虚拟化特性如此适合汽车呢?从本质上讲,这是因为它提供了一系列解决多种问题的特性,例如,硬件稳健性以实现最大的安全性和服务质量,以确保持续的性能,同时确保硬件的最大硬件利用率。

隔离

首先让我们看看基本的隔离方式,这是不同操作系统(OS)及其对应的应用程序之间的隔离,这些应用程序通过分离应用程序来提供安全性,当然这是虚拟化基本的好处之一。

下面的视频演示了这个特性,视频中显示的是一个操作系统,一个显示关键信息比如速度、警示灯等的显示器,并在其旁边有一个导航应用程序,这是一个不太重要的操作系统,先是卫星导航应用程序崩溃(人为),紧随其后是“内核崩溃”,然后是全面的重启。我们要注意的关键点是这些并不会影响运行在其他操作系统上的仪表板显示应用;它继续完全不间断的工作,另外请注意,一旦这个操作系统重新启动,它就能再次无缝的向GPU提交任务。

服务质量:保证性能水平

汽车行业的关键要求之一是要求一个或多个关键应用程序/操作系统得到足够的资源来提供所需的性能。在PowerVR上,这是通过优先级机制实现的,GPU中一个专用的微控制器MCU)处理调度并对每个操作系统的优先级进行设置(如果需要也可以设置每个操作系统中应用程序/工作负载的优先级)。当更高优先级操作系统的工作负载提交给GPU时,低优先级操作系统的工作负载会从上下文中切换出来。

在简单的术语中,“上下文切换”是当前操作在尽可能早的时间点暂停的地方,所需的数据会被保存出来以便在稍后的时间点恢复操作时使用。

在本次演示中使用的Series6XT(第一代PowerVR GPU支持完全硬件虚拟化)平台最早可能使用的时间点是:
• 几何处理:调用绘制粒度
• 像素处理:贴片粒度
• 计算处理:工作组粒度

一旦更高优先级操作系统的工作复杂完成后,较低优先级的工作负载就会恢复并完成,这个特性有助于确保关键的更高优先级的工作负载获得所需的GPU资源,从而保证所需性能要求。

下面的视频演示了这一点,视频中在GPU上运

更进一步:Series 8XT增强虚拟化

第一个支持完全硬件虚拟化的PowerVR系列是Series6XT,上文中所有视频/演示使用的都是Series 6XT平台。在本节,我们将讨论在Series8XT如何进一步增强,并提供了一些新特性和增强功能。

上下文切换细粒度

在Series8XT上,中上下文切换可以更细粒度地执行,从而确保更快速的上下文切换,在较低优先级的工作负载和较高优先级的工作负载之间的切换,上下文切换细粒度目前主要是:
• 顶点处理:原始粒度
• 像素处理:次平铺或最坏情况下回到贴片粒度

每个数据主的终止

在优先级较低的应用没有在定义的时间范围内切换上下文的情况下,这时需要根据数据主(计算、顶点或像素处理)采用DoS机制终止某个集成或者将应用程序进行软件复位。前几代只支持计算终止,而顶点和像素处理则需要软复位,因此如果与不安全的低优先级应用程序重叠运行,则会影响高优先级的工作负载。在Series8XT中,现在所有数据主都可以被终止,确保即使高优先级/关键的工作负载与需要结束的应用程序重叠时也不会受到影响。

每个SPU工作负载的提交控制

得益于此特性,一个特定的应用程序就可以在GPU中为它自己的可扩展处理单元(SPU)执行它的工作负载。例如,有利于汽车中基于计算的长时间运行的ADAS应用,在应用程序中可以不间断的运行自己的专用SPU,而其他应用程序,可能来自于其他操作系统,则使用另一种机制(比如基于上下文切换的更高优先级任务)分享剩余的GPU资源。

紧密集成二级MMU

上一代的GPU采用一级MMU,因此要求SoC供应商设计并实现二级/系统级MMU或相似的机制来支持虚拟化。现在Series8XT已经在GPU中集成了二级MMU,这带来了以下好处:
• 优化设计并与一级MMU紧密耦合,实现低延迟并提高效率
• 降低SoC供应商的开发难度,使产品更快的上市
• 在管理应用程序中对于可用的实体设置对应的独立软件
• 支持全/双向相干支持,提高性能并减少系统带宽
• 从本质上说,可以在虚拟化环境中提供更高级别的保护和更小的细粒度(页界,计算机专用名词)安全支持

总结

PowerVR GPU集成的硬件虚拟化技术非常的有效,非常适合并满足汽车行业的许多需求。我们最新的Series8XT GPU已经证明了这一点,它进一步加强了它的功能,以帮助实现下一代车载信息娱乐和自动驾驶, 安全且经济高效。

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

    关注

    27

    文章

    4415

    浏览量

    126665
  • powervr
    +关注

    关注

    0

    文章

    98

    浏览量

    30946
收藏 人收藏

    评论

    相关推荐

    198.云方案5:GPU虚拟,如何通过盒子远程玩游戏(上)

    gpu虚拟
    小凡
    发布于 :2022年10月04日 12:27:00

    labview何进行图像的梯度

    labview何进行图像的梯度请大神指点迷津{:4_107:}
    发表于 12-17 18:51

    【技术系列】浅谈GPU虚拟技术(第一章)

    :)2008年:序言VMware的GPU虚拟VSGA技术是第一次对GPU共享虚拟的尝试,
    发表于 04-16 10:51

    GPU虚拟在哪里发生?

    GPU虚拟在哪里发生?它是否出现在GRID卡,然后将vGPU呈现给管理程序然后呈现给客户?或者,GPU
    发表于 09-28 16:45

    可以使用适用于云计算HPC的GPU虚拟

    是否可以使用NVidia虚拟云计算中使用GPU虚拟创建VM群集?怎么能实现呢?以上来自于谷
    发表于 09-30 10:47

    使用NVIDIA GPU虚拟环境中进行视频转码

    您好,我本论坛阅读了一些主题,并根据这些Q& As我将尝试制定我的问题。我们今天HP刀片服务器BL460上运行虚拟环境,使用
    发表于 09-30 10:43

    PowerVR Furian架构有什么功能?

    PowerVR Furian架构是面向嵌入式GPU的一款全新架构,是业界领先的PowerVR Rogue架构的继任者,新的架构引入了很多全新设计的组件,帮助进一步提升性能、功效、性能密度。其包含了Rogue架构整个生命周期中加入
    发表于 08-02 06:41

    Imagination Rogue GPU技术有哪些优势?

    PowerVR 6系列GPU与竞争对手Mali-T600系列GPU的规格对比PowerVR的看家本领——TBDR渲染技术
    发表于 02-26 07:39

    PowerVR GX5300 GPU怎么样?

    PowerVR GX5300 GPU为极低功耗和面积需求而优化面向可穿戴和IoT的GPU用例
    发表于 03-09 08:04

    Imagination使用Veloce平台进行PowerVR Wizard光线追踪GPU验证

    Technologies在其一款支持光线追踪技术的图形处理器 (GPUPowerVR Wizard GR6500 的内部验证流程中,部署了 Veloce® 硬件仿真平台的虚拟测试平台加速 (TBX) 技术。
    发表于 12-21 16:41 1450次阅读

    虚拟现实中的“存在感”及PowerVR GPU发挥的作用

    的高性能移动VR平台,用Android VR模式进行了优化。Daydream为Android系统带来了高性能的VR体验。本文中,我将介绍一些可以为Android用户提供高质量VR体验的PowerVR
    发表于 02-09 18:48 373次阅读
     <b class='flag-5'>虚拟</b>现实中的“存在感”及<b class='flag-5'>PowerVR</b> <b class='flag-5'>GPU</b>发挥的作用

    Imagination PowerVR GPU获得联发科和展讯青睐

    英国ImaginaTIon可以说与ARM一样在全球赫赫有名,其自主开发的PowerVR自诞生以来一直是全球图形、GPU计算和视觉IP市场领导者,IBM和飞思卡尔都曾经独独青睐PowerVR
    发表于 06-07 13:58 145次阅读

    新一代的PowerVR GPU与前一代的GPU相比

    PowerVR Series9XE和 9XM GPU保持在填充率密度方面的领先地位,并提供显著的性能密度提升 2017年9月21日 ─ Imagination Technologies宣布,推出
    发表于 04-09 07:19 3395次阅读

    PowerVR GPU架构的性能优化建议

    最近在看移动GPU优化的时候对TiledBased GPU有一些疑惑,特别是常说的Alpha-Blend比Alpha-Test在移动GPU上快的奇特性质,于是找了powerVR相关的文
    的头像 发表于 03-15 17:24 3206次阅读
    <b class='flag-5'>PowerVR</b> <b class='flag-5'>GPU</b>架构的性能优化建议

    什么是虚拟GPU虚拟GPU的优势有哪些?

    虚拟 GPU,也称为 vGPU,是通过将数据中心 GPU 进行虚拟化,用户可在多个虚拟机中共享该
    的头像 发表于 11-10 09:48 695次阅读
    什么是<b class='flag-5'>虚拟</b><b class='flag-5'>GPU</b>?<b class='flag-5'>虚拟</b><b class='flag-5'>GPU</b>的优势有哪些?