众核/多核处理的软件架构

简介: 众核/多核处理的软件架构

摘要:当与分布式微内核操作系统结合使用时,当今的高效众核处理器可以赋予自治系统类似人类的技能。

 

今天的自主机器和先进的工业自动化越来越被期望执行人类特别擅长的功能,例如对象识别、上下文感知和决策制定,其中的许多被归类为能够独立捕获、过滤、分级、使用或丢弃大量信息的边缘设备。最大限度地减少与云交换的数据有助于降低带宽成本并保护时间关键流程免受延迟的不利影响。

在自动驾驶系统、工业机器人和精密工业自动化等应用中,通常需要确定性的实时性能,以确保控制回路的可靠性。另一方面,电源限制通常很严格,通常是因为系统由电池供电,或者从尺寸或重量的角度 (SWaP) 来看,不希望使用大而笨重的电源。一些应用,例如汽车系统、无人机或移动机器人,需要考虑所有这些因素。

尽管我们正在寻找这些系统来复制人类的能力,但人脑本身在能源效率方面设定了很高的标准。其庞大的技能范围和实时多任务处理能力代表了相当于 10Tera-FLOPS (10^12) 和 10Yotta FLOPS (10^25) 之间的处理性能,而仅消耗约 20 瓦。

传统的 CPU、DSP、GPU 和包括混合处理器在内的多核还没有接近大脑的高性能和低功耗组合。例如,Nvidia K80 (GK210) 等领先的 GPU 的最高功耗约为 1.87TFLOPS,尽管功耗为 300W。但是 GPU 只能运行特定的专用算法,它不能将计算和通用软件结合起来。

 

大规模并行单芯片

我们今天拥有的最好的是新兴的分布式众核处理器,其中包含大量独立内核和紧密耦合的内存,通过高速片上网络 (NOC) 基础设施互连。这种方法正在成为专业数据中心系统的主流。在嵌入式空间中也有效的一个例子是KalrayCoolidge™ 智能处理器。这是 Kalray 的第三代 MPPA®(大规模并行处理器阵列)设备。MPPA 架构确保了确定性,并使在单个芯片上制造的处理器能够运行不同的应用程序和软件环境。Coolidge 拥有 80 个独立内核,每个内核都相当于当今手机中的现代计算内核,其性能高达 25 TOPS,典型功耗为 25 瓦。

Coolidge 被认为是一种智能处理器,通常适应边缘计算的需求,尤其是高度聚合的汽车计算。它不仅能够处理 AI 算法,还可以同时执行各种工作负载,例如数学算法、信号处理以及网络或存储软件堆栈。

除了高性能和能效之外,安全和安保也是工业和汽车边缘应用的关键要求。系统中不同模块之间的免干扰(FFI)是功能安全(FuSa)设计中的一个重要原则,以及空间和时间隔离,以防止模块相互影响,并确保异常程序不会削弱其他程序的性能。

 

Go Multikernel to Unleash Multicore

为了最大限度地提高新兴异构众核处理器的性能,同时通过隔离和保护 (FFI) 确保安全性,需要一种新的软件方法 - 特别是汇集各种计算元素的操作系统 (OS) 架构。

多内核架构,也可以描述为“分布式微内核”的排列——与微内核操作系统不同——使这些目标触手可及。它为系统系统提供了一个平台,包含一个基于消息的单核内核网络,如图 1 所示。轻量级消息传递允许在操作系统级别进行快速、确定性的通信。

 

daad3de923614a4db0269313dfc197cf_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

图 1. eMCOS“多内核”设计最大化异构多核架构

 

这种架构的一个关键特性是,任何给定内核上的内核实例都不能阻塞另一个内核上的内核实例。这同时确保了内核和应用程序级别的更好的并行性、并发性和确定性。

eSOL 的eMCOS®是一种分布式微内核操作系统,现在可以在众核处理器的每个内核上运行独立的微内核,同时为高速消息传递和其他功能提供统一的平台。图 2 说明了底层结构以及处理硬实时和软实时工作负载的能力。

 

4aa2e7f40e7195687f012f3eb8a87385_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

图 2. eMCOS 使单个独立的微内核能够在每个内核上运行

 

此外,eMCOS POSIX 是一种多进程 RTOS,它提供扩展的 POSIX 支持并允许在一个或多个单独的处理器或 SoC 上进行多集群组织。来自同一进程的线程可以在集群内的任何核心组合上运行,同时与本地或远程跨集群的其他线程通信。

这种方法的一个优点是,这使得内核在设计上非常可移植。因此,它能够服务于小型内核类型,如瑞萨电子 RH850、英飞凌 Aurix™ TCxx 或基于 Cortex®-R 的 SoC,但可以适应更大的系统,如 Cortex-A SoC 或 Kalray MPPA 处理器。

将 eMCOS POSIX 和 Kalray 的 Coolidge 第三代 MPPA 处理器结合在一起,作为视觉和激光雷达处理等应用的多加速器,为先进的自动驾驶系统(包括对象跟踪和路径规划)创建了一个高性能平台。高级工业用例也触手可及,例如利用计算机视觉的视觉检查和托管在同一平台上的 AI 算法。

这种方法还可以灵活地为现有系统增加性能,作为视觉等特定功能的加速器,如图 3 所示。

8c727acf291f1161438840c41a57ec34_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

图 3. 使用 eMCOS 和 MPPA 加速旧系统的性能

 

eMCOS 和 eMCOS POSIX 专注于聚合和可扩展性,支持混合关键性系统,如图 4 所示。

 

5632fa6ffee0cf40c40d7293f206d53a_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

图 4. 具有混合关键性的嵌入式系统的组合

 

这种分布式微内核操作系统 eMCOS 的增量可扩展性使开发人员能够灵活地通过完全优化的新架构进行创新,同时还可以利用其现有平台的最佳性能方面。

相关文章
|
安全 架构师 网络协议
微内核架构
微内核架构
|
1天前
|
人工智能 算法 安全
探索现代操作系统的架构与优化
本文深入探讨现代操作系统的核心架构及其性能优化技术。通过分析操作系统的基本功能和设计原则,阐述其在资源管理、内存分配及多任务处理方面的创新方法。进一步,文章将聚焦于如何通过内核调优、算法改进等手段提升系统效率,确保在高负载环境下的稳定性和响应速度。最后,讨论未来操作系统可能面临的挑战与发展趋势,为相关领域的研究和实践提供参考。
|
11天前
|
存储 Cloud Native 安全
探索现代操作系统的架构与演进
本文旨在深入探讨现代操作系统的核心架构和发展历程,揭示其背后的技术原理与创新动力。通过分析操作系统的基本功能、关键组件以及它们如何协同工作,本文帮助读者更好地理解这一复杂而强大的软件体系。同时,本文还将探讨操作系统在面对新兴技术和应用场景时的演进趋势,展望未来可能的发展路径。
25 0
|
1月前
|
边缘计算 人工智能 物联网
传统架构与RISC-V架构有什么区别?
计算机架构的发展经历了多个阶段,从最早的CISC(复杂指令集计算机)到后来的RISC(精简指令集计算机)。RISC-V作为一种新兴的RISC架构,以其开放性和模块化设计受到广泛关注。
55 2
|
3月前
|
Web App开发 Linux 微服务
了解应用中的微内核架构
【6月更文挑战第25天】**微内核架构**是将系统服务从内核移出,形成可选插件,增强扩展性和适应性。常见于第三方应用和嵌入式系统,如Linux、L4、WinCE。优点包括清晰结构、移植性和扩展性,但缺点是通信开销大、性能较低,不利于整体优化。适合需要灵活功能组合的场景。
74 5
了解应用中的微内核架构
|
2月前
|
边缘计算 分布式计算 算法
探索操作系统的未来:从多核到分布式架构
在数字时代的浪潮中,操作系统作为计算机系统的核心,承载着日益复杂的任务与挑战。随着硬件技术的飞速发展,特别是多核处理器与分布式计算的兴起,操作系统的设计和优化变得尤为重要。本文将深入探讨现代操作系统面临的新需求、设计理念的转变以及未来可能的发展方向,着重分析多核处理和分布式架构对操作系统设计的影响,并提出相应的优化策略。通过对现有操作系统的评估与未来趋势的预测,旨在为读者提供一个关于操作系统发展脉络的全面视角。
32 0
|
4月前
|
算法 调度
软件体系结构 - 嵌入式系统调度算法
【4月更文挑战第4天】软件体系结构 - 嵌入式系统调度算法
58 0
|
4月前
|
C语言
嵌入式系统中重要的编程思想:分层与时间片
嵌入式系统中重要的编程思想:分层与时间片
89 1
|
Unix Linux 程序员
嵌入式系统软件架构
嵌入式系统软件架构
912 0
|
存储 微服务
软件架构-事件驱动架构
事件驱动架构是一种系统或组件之间通过发送事件和响应事件彼此交互的架构风格。
232 0
软件架构-事件驱动架构