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

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

3天内不再提示

使用虚拟化最大化多核SoC性能

星星科技指导员 来源:嵌入式计算设计 作者:Jim Ready,Patrick M 2022-06-14 14:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

无论软件开发人员喜不喜欢,也不管他们是否为此做好准备,几乎每个称职的半导体制造商都在生产多核片上系统 (SoC)。这些 SoC 通常将两个或更多 CPU 内核与额外的特定应用硬件加速器配对,以提供完整的系统。例如,Cavium Networks、NetLogic Microsystems 和 Freescale Semiconductor 生产用于网络处理的 SoC,而德州仪器和 Broadcom 则生产用于数字媒体设备的 SoC。

对于软件人员来说,这提出了一个有趣的挑战,即使应用程序能够从这些多核 SoC 环境中获得所有可用的处理能力。开发人员如何确保他们的应用程序与可用内核线性扩展,并充分利用媒体加速器和数据包引擎等其他 SoC 硬件组件?需要明确的是,对于许多应用程序来说,可扩展性问题仍然是一个真正的科学项目。然而,有一些系统要构建和产品要发布,所以开发人员不能等待理论上完美的解决方案。

在过去的一年中,MontaVista Software 研究了广泛的应用程序中的大量客户用例,包括网络处理、数字电视、车载信息娱乐、超低功耗服务器 Web 托管等。目标是了解基于 Linux 的软件解决方案如何在广泛的应用需求中充分利用底层 SoC 硬件。该研究确定了任何解决方案都必须满足的以下高级要求。

多核支持

现代嵌入式系统的需求正在加速采用多核 SoC。同时运行多个系统的要求进一步强调了这些要求;因此,该解决方案必须提供一种使用和管理多核环境的有效方式。

安全

根据定义,下载到设备的任何内容都是不安全的。该解决方案必须有效隔离从核心设备功能下载的任何内容,并且不得允许下载的应用程序污染其他应用程序。

资源拥塞

必须防止下载的应用程序占用系统资源。目标是有效地共享内存、CPU 时间和 I/O 等资源。这种共享必须允许更重要的系统功能优先于不太重要的下载应用程序。

国外系统集成

许多环境运行在 Linux 内核之上。但是,这些环境可能需要不同的用户空间库以及不同的内核补丁。例如,Android 系统有自己的设备驱动程序和内核补丁。理想情况下,系统可以运行在 Linux 内核上运行的任何用户空间。与这些环境相关的内核补丁和用户空间必须与安全性和资源共享相结合。

这种分析促成了基于 Linux 的架构的开发,该架构最大限度地发挥了当今强大的多核 SoC 的底层功能。

架构概述

要了解该软件的整体架构,有必要了解一些现代操作系统 (OS) 环境,尤其是虚拟化技术。但小心点; 围绕虚拟化有很多炒作(或者,正如我们喜欢说的,围绕虚拟机管理程序有很多炒作)。

虚拟化是一种将计算机资源划分为多个执行环境的方法。目前使用的虚拟化主要分为三大类,它们之间的主要区别在于发生虚拟化的层:

全虚拟化和半虚拟化:这些类型的虚拟化用于托管多个相互隔离的客户操作系统。虽然功能强大,但由于管理程序和多个操作系统的开销,性能(没有大量优化)非常低。示例包括 QEMU、基于内核的虚拟机 (KVM)、Zen 和 VMware。

操作系统资源虚拟化:这种类型的虚拟化用于隔离和扩展使用单个操作系统的应用程序。这里的优势是单一操作系统和较低的开销,在大多数情况下通常不到 1%。因为开销很小,所以扩展和/或优化性能的能力是一个巨大的好处。示例包括 Linux 容器和 BDS Jails。

硬件分段(非对称多处理或 AMP):这种高性能配置将硬件专用于在用户模式下运行的特定应用程序,以获得最佳性能。这可以通过使用简单的运行时执行程序或利用操作系统资源虚拟化和处理器内核关联功能将内核和 I/O 专用于进程而几乎没有开销来实现。

这些类型的虚拟化提供不同的性能特征,需要不同的设置和维护开销,将独特级别的复杂性引入运行时环境,并解决不同的问题。

虽然业界目前专注于推动完全虚拟化的管理程序作为多核优化的万能解决方案,但现实情况是嵌入式开发人员需要一系列可针对特定应用程序需求量身定制的选项。开发人员将需要一种或多种这些虚拟化技术的某种组合,以提供符合硬件限制并满足设计性能特征的产品。简而言之,诀窍是将应用程序与正确的操作系统服务相匹配,以满足整体系统要求,包括性能、可靠性和安全性。

MontaVista 提供三种基于非专有、开源 Linux 技术的虚拟化方法,并支持多处理器架构。因为它是单个运行时,所以有一个编译器和一组工具可用于任何用例或用例组合。图 1 显示了这种方法的总体情况。这三种方法是:

KVM Hypervisor(完全虚拟化)

Linux 容器(操作系统资源虚拟化)

MontaVista Bare Metal Engine(操作系统资源虚拟化和 SoC 硬件分割)

图 1:一个编译器和一组工具可用于任何用例或使用 MontaVista 的三种虚拟化方法的组合。

pYYBAGKoMOuAN8MwAAYmv9P3H98049.png

微服务器用例

微服务器背后的想法是利用更小、更节能的处理器来降低一类以 Web 为中心的 IT 应用程序的物理和能源消耗足迹。对于某些工作负载,几个低功耗处理器可能比更少、更强大的处理器更高效。Cavium Octeon 处理器和其他半导体供应商的处理器非常适合在内核本身的功率效率的基础上满足微服务器概念的密度和功率效率要求。这些 SoC 还包括专用硬件来处理基于 Web 的应用程序所需的前端安全和加密/解密处理。

从软件的角度来看,MontaVista Linux Containers 和 Bare Metal Engine 技术有助于完成这幅画。容器用于提供操作系统级别的虚拟化,允许对工作负载要求进行非常有效的虚拟化。例如,容器可用于托管数千个独立网站,每个网站彼此安全隔离。容器允许精确控制分配给每个容器的运行时资源,因此每个网站都可以限制在客户购买的性能水平上。或者,更重要的是,可以使用相同的机制阻止流氓网站过度消耗资源,从而阻止拒绝服务类型的攻击。

Bare Metal Engine 为每个托管网站所需的安全和加密/解密操作提供运行时环境。例如,一个 32 核的 SoC 可以利用大部分核心进行应用程序处理,而少数专用于数据包处理,所有这些都由一个 Linux 实例控制。

Linux 提供了一个简单的解决方案

人们普遍认为,必须利用 Linux 与实时操作系统 (RTOS) 或简单的运行时环境的组合来充分实现多核处理器的高性能。助长这种误解的想法是,Linux 本身无法满足要求,因为它太大、太慢且不是实时的。这种谬误还推动了管理程序和/或虚拟化必须调解和隔离不同的运行时环境并促进它们之间的相互通信的要求。通常是 RTOS 供应商自己使这种错误信念永久化。

最后,这些对 Linux 驱动器的误解增加了开发过程的复杂性和成本。由于多个运行时和开发环境(Linux、RTOS 和可能的管理程序各一个),复杂性增加。由于专有 RTOS 和虚拟机管理程序的特许权使用费,成本增加,更不用说开发复杂性本身带来的额外成本,需要更多的开发人员在更长的时间内。

在任何地方都使用 Linux 并在可能无法满足某些要求的地方对其进行修复的方法会产生单一的操作系统环境、单一的工具链以及适用于应用程序所有方面的通用开发和调试工具。正如爱因斯坦所说,“让一切尽可能简单,但不要简单。”

作者:Jim Ready,Patrick MacCartee

审核编辑:郭婷

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

    关注

    54

    文章

    9012

    浏览量

    153353
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217973
  • RTOS
    +关注

    关注

    25

    文章

    862

    浏览量

    122611
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    聚飞光电PLM系统升级推动IPD全流程价值最大化落地

    研发全流程的规范管控与高效协同,为产品创新提速、市场响应提质注入核心动力,推动IPD全流程价值最大化落地。
    的头像 发表于 12-05 09:55 349次阅读
    聚飞光电PLM系统升级推动IPD全流程价值<b class='flag-5'>最大化</b>落地

    提升PLC数据采集效率:性能瓶颈分析与实践

    面对“越快越好”的PLC数据采集需求,如何准确评估设备能力瓶颈?又该如何突破极限,实现采集速度的最大化?本文将系统探讨如何科学评估PLC的数据采集能力极限,并在此基础上,提供一系列旨在最大化采集速度
    的头像 发表于 11-26 11:33 71次阅读
    提升PLC数据采集效率:<b class='flag-5'>性能</b>瓶颈分析与实践

    天合光能解决方案如何助力光伏发电收益最大化

    ,重点介绍了基于市场电力交易特点打造的综合解决方案,并深度解析该方案如何在竞争性电力市场助力光伏发电收益最大化
    的头像 发表于 10-22 11:36 941次阅读
    天合光能解决方案如何助力光伏发电收益<b class='flag-5'>最大化</b>

    KVM虚拟环境部署与性能优化教程

    在云计算时代,虚拟技术已经成为企业IT基础设施的核心组件。作为一名在生产环境管理过上千台虚拟机的运维工程师,我深知选择正确的虚拟平台对业
    的头像 发表于 09-08 17:13 977次阅读

    性能开关在自动导引车的应用

    性能开关在现代自动导引车运行和控制中的价值从未像现在如此巨大。自1928年以来,C&K 的产品组合一直以多种轻触开关、带灯轻触开关、 按动开关和防破坏开关为主,为自动导引车设计师提供最大化的选择。
    的头像 发表于 09-08 11:42 701次阅读

    为什么制造业需要虚拟现实技术

    虚拟现实(VR)正在重塑制造业的格局,为设计、原型开发和流程优化提供强大的工具。随着越来越多的企业采用这一技术,VR带来的优势——包括更快的开发周期、更强的协作能力以及更低的成本——愈发显著。不过,要成功推行VR战略,还需要谨慎规划。从选型硬件与软件,到协调团队与流程,确保VR投资价值
    的头像 发表于 08-27 16:45 873次阅读

    借助DFT技术实现竞争力最大化

    通过改进和优化设计与制造的各个方面,半导体行业已经能够实现 IC 能力的巨大进步。可测试性设计 (DFT)——涵盖从在 RTL 中插入测试逻辑,到对现场退回产品进行失效分析等全流程,是半导体企业获得商业成功的关键环节。如果没有有效的 DFT 策略,公司将难以满足市场对 DFT 集成、缺陷检测以及制造工艺/良率改进的巨大需求。
    的头像 发表于 05-22 15:16 746次阅读

    定制SoC阵列设计

    定制SoC阵列设计融合了多核异构集成与分布式计算架构,其核心在于根据不同应用场景的需求,通过硬件模块设计和软件定义能力实现算力密度与能效比的突破。以下是关键设计要素与技术特征: 一
    的头像 发表于 05-19 07:28 422次阅读
    定制<b class='flag-5'>化</b><b class='flag-5'>SoC</b>阵列设计

    全志科技多核异构SoC助力行业智能创新

    近日, “第十二届开源操作系统年度技术会议”在北京举行,全志科技受邀参会。会上,全志进行了题为《多核异构SoC在行业应用中软件方案的思考与实践》的分享。分享从市场和技术洞察、方案设计创新、场景应用落地三个维度展开系统性分享,全
    的头像 发表于 04-18 09:11 1029次阅读
    全志科技<b class='flag-5'>多核</b>异构<b class='flag-5'>SoC</b>助力行业智能<b class='flag-5'>化</b>创新

    深度解析如何利用时延解决方案最大化相控阵性能

    本文将探讨TDU在相控阵系统中的角色、它们与天线性能的关系,以及不同的设计考量如何影响系统效率。讨论还将深入到TDU与移相器的集成、真时延技术,以及波束宽度、扫描角和阵列尺寸之间的关系。
    的头像 发表于 03-25 11:36 1743次阅读
    深度解析如何利用时延解决方案<b class='flag-5'>最大化</b>相控阵<b class='flag-5'>性能</b>

    精益数字转型:传统工厂的革新之路!

    传统工厂如何在这场数字浪潮中站稳脚跟,甚至实现弯道超车?答案或许就在精益思维中。精益思维源于精益生产,它强调以客户需求为导向,通过消除浪费、优化流程、持续改进等方式,实现资源最大化利用和企业效益
    的头像 发表于 02-07 18:28 550次阅读

    hyper v 虚拟,Hyper-V 虚拟:Hyper-V虚拟的最佳实践

    :Hyper-V虚拟的最佳实践。    在当今的IT环境中,Hyper-V虚拟技术被广泛应用于企业级和数据中心环境中,以实现资源的高效利用和灵活管理。为了确保Hyper-V
    的头像 发表于 02-07 10:24 976次阅读
    hyper v <b class='flag-5'>虚拟</b><b class='flag-5'>化</b>,Hyper-V <b class='flag-5'>虚拟</b><b class='flag-5'>化</b>:Hyper-V<b class='flag-5'>虚拟</b><b class='flag-5'>化</b>的最佳实践

    EE-19:最大化DSP-21xx系列DSP(不包括ADSP-218x)的引导内存效率

    电子发烧友网站提供《EE-19:最大化DSP-21xx系列DSP(不包括ADSP-218x)的引导内存效率.pdf》资料免费下载
    发表于 01-14 16:09 0次下载
    EE-19:<b class='flag-5'>最大化</b>DSP-21xx系列DSP(不包括ADSP-218x)的引导内存效率

    EE-365:在ADSP-CM40x混合信号控制处理器上实现ADC采样速率最大化

    电子发烧友网站提供《EE-365:在ADSP-CM40x混合信号控制处理器上实现ADC采样速率最大化.pdf》资料免费下载
    发表于 01-13 16:52 0次下载
    EE-365:在ADSP-CM40x混合信号控制处理器上实现ADC采样速率<b class='flag-5'>最大化</b>

    璟丰机电丨派克parker江苏代理,携手打造工业自动巅峰性能

    苏州璟丰机电作为派克Parker中国江苏代理商,提供全面的派克自动化解决方案,包括伺服电机、驱动器和减速机。其专业团队提供选型建议与技术支持,确保系统性能最大化,还与多品牌合作提供一站式服务。
    的头像 发表于 12-10 13:36 800次阅读
    璟丰机电丨派克parker江苏代理,携手打造工业自动<b class='flag-5'>化</b>巅峰<b class='flag-5'>性能</b>