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

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

3天内不再提示

盟通技术干货:通过Hypervisor技术在对称多处理(SMP)处理器上实现多操作系统部署

盟通科技 2023-11-16 15:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

SMP和AMP不同的特点

随着多核处理器的出现,为了提高整个系统性能,诞生了不同的可部署技术。多处理主要有两种类型:对称多处理(SMP)和非对称多处理(AMP)。

在SMP中,所有处理器或CPU内核都被认为是平等的,可以分享相同的系统资源,例如:操作系统、主存的地址空间、I/O和外部设备等;而AMP中,每个处理器或CPU有它们自己的软件,它们独立于其他处理器或内核来处理应用程序。

AMP的设计优势在于,每个CPU在处理特定的应用程序时,不会被其他CPU的任务打断。正如前面所说,在AMP中每个处理器都有自己单独的内核处理逻辑。这样的设计更适合工业现场的实时性需求。

详细的内容可以看文末最后对SMP和AMP不同架构的讨论。

而我们提出了一种新的解决方案,通过Hypervisor技术对SMP架构的CPU进行资源划分,让其每个分割部分运行独立的操作系统和应用程序,同时保证其不会被其他CPU的任务打断。

在SMP架构上实现多操作系统部署

SMP架构上实现单操作系统——Linux使用多个CPU内核

wKgZomVVpoqAFYrpAACzPKm3Is8113.png

在SMP中,大多数情况下一个计算系统运行一个单一的操作系统,如Linux。操作系统可以利用多个处理器或CPU内核来运行系统中的各种应用程序。

02

SMP架构CPU采用共享内存

wKgaomVVppqAEUIAAAAeoI4jtF0067.png

在SMP中各个CPU通过共享内存空间的方式进行数据交互,所有的处理器都可以平等地访问内存、I/O和外部中断。

03

SMP架构上实现多操作系统部署——实时Linux使用多个CPU内核

wKgZomVVpqmAIyFFAAHqMCptVdA724.png

在工业现场上,单个计算系统上部署多个操作系统变得越来越普遍。在使用SMP的管理程序解决方案中,多个不同的操作系统(例如Windows + real-time Linux)可以各自独立地利用一组多个处理器或CPU内核。

Hypervisor技术可以很好的管理这些CPU内核,正如之前所述的SMP的两大特性:多核心处理单任务及共享内存。在工业控制中为了保证实时性,必须确保运行实时任务的CPU不被其他应用占用;必须保证实时任务的内存不被其他应用占用。这些都需要Hypervisor在底层逻辑上将其完全划分开。通过Hypervisor技术,我们可以将专用的CPU和内存分配给实时操作系统。让其他操作系统的应用不能”触碰“这些资源,

相比于直接使用异构的CPU,SMP+Hypervisor的优势还在于可以按需分配整个设备资源,而AMP的异构则是在系统设计之初就固定的了。比如说,我的实际应用需要更强大的非实时应用,需要更多相关资源。相比之下,AMP在异构实现上就有很大的限制,无法按需分配,有时候不得不对应用做减法。而SMP+Hypervisor则可以灵活的倾斜更多资源给非实时应用,而给实时应用的资源可能只需要整个CPU核心的10%。

wKgZomVVpr6AH6sIAALC4h2TeQg052.png

Hypervisor技术不仅仅可以构建一个实时系统,他还可以构建多个实时系统,只要硬件的资源足够丰富,多个不同的操作系统部署在同一个硬件上面是完全可行的。


SMP和AMP不同架构的讨论

对称多处理(SMP)

SMP通常用于高端计算,这些计算环境需要大量的计算能力去执行应用程序任务和进程,许多多处理系统使用SMP架构。SMP最适用于分时(timesharing)和多线程时间共享系统。分时是指将计算资源同时分配给多个用户。类似地,多线程是中央处理器(CPU)的一个特性,它允许单个进程同时执行多个任务。更具体地说,多线程允许指令的多个线程独立执行,所有线程共享相同的处理资源。分时操作系统也使用SMP。这是因为计算资源可以分配给多个用户,多个进程可以并行运行。SMP支持该进程,SMP旨在在不同的处理单元上运行多个进程。出于同样的原因,SMP也是多线程的。这是因为多线程同时处理多个进程,而SMP在每个处理器之间划分线程。但是,SMP通常不会用于那些未针对多线程编程进行修改的pc或应用程序。应用程序和程序集应该设计成允许多线程。允许在不同的并行处理器上调度线程。

SMP架构CPU采用共享内存

wKgaomVVp-qAMqXPAAAetVA-2JI316.png

不对称多处理(AMP)

传统的单处理器系统提供的执行环境与非对称多处理的工作方式非常相似。它提供了一种相对简单的方式来移植代码,并提供了一种控制CPU使用的直接机制。在大多数情况下,你可以使用标准的调试工具和技术。AMP系统可以是同构的(每个CPU运行相同类型和版本的操作系统)或异构的(每个CPU运行不同的操作系统或相同操作系统的不同版本)。此外,AMP最有可能用于不同的CPU架构对特定应用的优化,如数字信号处理器(DSP)和微控制器(MCU)。在AMP系统中,可以在每个处理器或CPU内核上部署不同的操作系统。

如果你的操作系统支持特定的分布式编程模型,则可以充分利用同构环境中的多个cpu。在特定CPU上运行的应用程序将能够与其他CPU上的应用程序和系统服务(例如,协议栈、设备驱动程序等)透明地通信,而不需要传统的处理器间通信所带来的高CPU负载。在异构系统中,必须选择两个共享公共基础资源(最常见的是基于ip的)的操作系统,或者为处理器间的通信实现专有的通信方案。操作系统还应该提供访问共享硬件组件的机制,以帮助避免资源冲突。使用AMP,应用程序使用的共享硬件资源必须在CPU之间分配。外设、物理内存以及中断处理等资源通常是在启动时静态分配的。

动态分配资源会导致CPU之间复杂的协调。在AMP系统中,即使其他CPU空闲,一个进程也总是运行在同一个CPU上。因此,CPU可能会轻负荷或过载。为了解决这个问题,系统可以允许应用程序动态地从一个CPU迁移到另一个CPU。然而,这可能涉及复杂的状态信息检查,如果应用程序在一个CPU上停止,而在另一个CPU上重新启动,可能会中断服务。此外,如果cpu运行不同的操作系统,这样的迁移即使不是不可能,也是非常困难的。

使用AMP在不同的cpu上分区内存和I/O

wKgaomVVp_-ATx0pAABmtvGD5Ys130.png

联系盟通

北京盟通科技有限公司成立于2013年,是工业自动化领域的高新技术企业。公司专注于实时现场总线技术及工业通讯技术的研发、推广及技术支持服务。依托于核心团队多年的海外和行业经验,盟通科技与欧洲多家自动化领域的佼佼者达成战略合作关系,为客户提供EtherCAT主站协议栈、OPC UA SDK软件开发包、CANopen协议栈、FSoE协议软件、CAN总线硬件、DINA安全模块、艾默生Connext软件等工业协议的标准和定制化产品。

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

    关注

    68

    文章

    20148

    浏览量

    247128
  • 操作系统
    +关注

    关注

    37

    文章

    7328

    浏览量

    128626
  • ethercat
    +关注

    关注

    19

    文章

    1373

    浏览量

    43355
  • 操作系统内核

    关注

    0

    文章

    8

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【深度实战】MYD-LR3576 AMP非对称多核开发指南:从配置到实战

    一、什么是AMP?为什么重要?AMP(AsymmetricMulti-Processing)非对称多处理架构,允许单个芯片的不同核心运行不同的操作系统或裸机程序。相比传统的SMP对称多处理
    的头像 发表于 12-05 08:07 3153次阅读
    【深度实战】MYD-LR3576 AMP非<b class='flag-5'>对称多</b>核开发指南:从配置到实战

    云拼接处理器的性能如何?

    性能方面表现卓越,以下从多个维度进行深入解析。 一、硬件设计:稳定与高效的基石 融大视觉的云拼接处理器采用嵌入式纯硬件设计,这一设计理念使其区别于依赖操作系统的软件方案。由于没有传统操作系统的复杂架构,
    的头像 发表于 09-05 00:11 553次阅读

    如何在 MA35 系列微处理器 (MPU) 开发 AMP(非对称多处理)应用程序?

    如何在 MA35 系列微处理器 (MPU) 开发 AMP(非对称多处理)应用程序,并通过建立多个端点的过程促进与其他内核的通道数据传输。
    发表于 08-19 06:11

    Cadence推出对称多处理器HiFi 5s SMP

    新一代消费电子及汽车音频系统的复杂性与日俱增,基于生成式 AI 的音频处理、沉浸式音效以及软件定义汽车中的高级信息娱乐系统等市场驱动因素,对音频 DSP 性能提出了更高的要求。然而,单个 DSP 已无法满足日益增长的计算需求,而
    的头像 发表于 07-16 14:43 2962次阅读

    龙芯处理器支持WINDOWS吗?

    龙芯处理器目前不支持原生运行Windows操作系统,主要原因如下: 架构差异 龙芯架构:龙芯早期基于MIPS架构,后续转向自主研发的LoongArch指令集(与x86/ARM不兼容
    发表于 06-05 14:24

    无人职守自动安装部署操作系统指南

    当组织有服务需要部署linux系统时,需要通过网络方式安装并结合自动应答文件,实现无人职守自动安装部署
    的头像 发表于 05-22 13:38 734次阅读
    无人职守自动安装<b class='flag-5'>部署</b><b class='flag-5'>操作系统</b>指南

    技术分享 | 如何在2k0300(LoongArch架构)处理器跑通qt开发流程

    技术分享 | 如何在2k0300开发板(LoongArch架构)处理器跑通qt开发流程
    的头像 发表于 05-20 11:05 655次阅读
    <b class='flag-5'>技术</b>分享 | 如何在2k0300(LoongArch架构)<b class='flag-5'>处理器</b><b class='flag-5'>上</b>跑通qt开发流程

    异形拼接处理器支持哪些显示技术?

    异形拼接处理器是专门用于实现异形拼接屏功能的设备,它支持多种显示技术,以满足不同场景下的展示需求。以下是对异形拼接处理器所支持的显示技术的详
    的头像 发表于 04-01 09:48 538次阅读

    分享!基于NXP i.MX 8M Plus平台的OpenAMP核间通信方案

    i.MX 8M Plus平台。 OpenAMP架构 AMP(Asymmetric Multi-Processing),即非对称多处理架构。“非对称AMP”双系统是指多个核心相对独立运行不同的
    的头像 发表于 02-27 10:44 872次阅读
    分享!基于NXP i.MX 8M Plus平台的OpenAMP核间通信方案

    “国产双系统”出炉!复旦微FMQL20SM非对称AMP:Linux + 裸机

    “非对称AMP”双系统是什么 AMP(Asymmetric Multi-Processing),即非对称多处理架构。“非对称AMP”双系统
    的头像 发表于 01-24 13:46 1165次阅读
    “国产双<b class='flag-5'>系统</b>”出炉!复旦微FMQL20SM非<b class='flag-5'>对称</b>AMP:Linux + 裸机

    国产适配!积鼎科技CFD通过华为鲲鹏处理器及欧拉操作系统适配认证

    近日,积鼎科技的两款核心流体仿真软件VirtualFlow 和 CFDPro 成功通过华为鲲鹏处理器和欧拉操作系统的国产化适配,双方将携手共建自主可控的信息技术产业生态新篇章。
    的头像 发表于 01-15 10:42 1099次阅读
    国产适配!积鼎科技CFD<b class='flag-5'>通过</b>华为鲲鹏<b class='flag-5'>处理器</b>及欧拉<b class='flag-5'>操作系统</b>适配认证

    EE-167:使用VisualDSP的TigerSHARC多处理器系统简介

    电子发烧友网站提供《EE-167:使用VisualDSP的TigerSHARC多处理器系统简介.pdf》资料免费下载
    发表于 01-14 15:12 0次下载
    EE-167:使用VisualDSP的TigerSHARC<b class='flag-5'>多处理器</b><b class='flag-5'>系统</b>简介

    EE-148:使用VisualDSP的SHARC多处理器系统简介

    电子发烧友网站提供《EE-148:使用VisualDSP的SHARC多处理器系统简介.pdf》资料免费下载
    发表于 01-07 14:37 0次下载
    EE-148:使用VisualDSP的SHARC<b class='flag-5'>多处理器</b><b class='flag-5'>系统</b>简介

    EE-202:将专家链接器用于多处理器LDFs

    电子发烧友网站提供《EE-202:将专家链接器用于多处理器LDFs.pdf》资料免费下载
    发表于 01-06 14:33 0次下载
    EE-202:将专家链接器用于<b class='flag-5'>多处理器</b>LDFs

    EE-324:Blackfin处理器系统优化技术

    电子发烧友网站提供《EE-324:Blackfin处理器系统优化技术.pdf》资料免费下载
    发表于 01-03 15:00 0次下载
    EE-324:Blackfin<b class='flag-5'>处理器</b>的<b class='flag-5'>系统</b>优化<b class='flag-5'>技术</b>