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

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

3天内不再提示

AmpereOne处理器的设计创新对开发人员有何影响

安晟培半导体 来源:安晟培半导体 2025-02-20 11:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Ampere 路线图经过精心设计,以满足数据中心云计算环境不断变化的需求,尤其是随着 AI 推理应用程序在几乎每个领域的增长。Ampere 云原生处理器将性能、可扩展性和能效完美结合,是现代工作负载的理想之选。在 Ampere 2024 年度路线图更新视频中,我们展示了超过 192 个内核和 8 个内存通道的产品计划,并在 7 月下旬向媒体透露了更多路线图相关的信息,以及 AmpereOne 的各种架构细节。

然而,对于软件开发人员来说,CPU 的创新有时会让人感觉很抽象,与他们没有直接的关系。在本文中,我们想分享这些硬件级功能如何与云原生应用程序的开发人员和运营商直接相关。让我们探讨一下 AmpereOne 处理器的一些架构创新是如何向用户空间的开发人员展示的,以及这对新开发人员和经验丰富的开发人员有何影响。

内存标记

内存标记扩展(MTE)是 一项 Arm 架构功能,现可在 AmpereOne CPU 上使用。它在芯片硬件中实现,作为一种防御机制来检测两种类型的内存安全入侵。

Arm64 上内存标记的好处

内存标记旨在通过帮助检测和缓解内存错误来提高内存安全性和可靠性,例如:

•缓冲区溢出:识别并阻止越界内存访问。

•释放后使用 (UAF):检测程序何时尝试访问已释放的内存块,从而减少安全漏洞。

•内存损坏错误:有助于在开发周期的早期发现细微问题,从而提高软件稳定性。

•调试效率:提供硬件级标记,与执行类似功能的基于软件的工具相比,可以减少性能开销。

利用内存标记

内存标记是一项硬件功能,它要求系统和系统 C 库支持此功能并将其开放给用户应用程序。如果您的 system C 库实现(例如 glibc)支持内存标记,则可以按如下方式启用:

确保硬件和内核支持

• 内存标记需要 AmpereOne CPU 或其他支持 Armv8.5-A 或更高版本的 CPU,以及使用内存标记支持 (CONFIG_ARM64_MTE) 编译的 Linux 内核。

• 您可以通过检查 /proc/cpuinfo 中的MTE支持和内核配置来检查您的Linux内核是否已经支持内存标记。

• 默认情况下,内存标记在某些 Linux 发行版(包括 Fedora 39 或更高版本)中可用。

在 glibc 中启用内存标记

• 除了内核支持之外,您的内存分配库 (通常是系统 C 库) 还应支持在分配时进行内存标记。2.38 版引入了对 GNU C 库 (glibc) 中内存标记的支持,包含在最近 Linux 发行的版本中,包括 Fedora 39 及更高版本,以及 Ubuntu 24.04 及更高版本。

• 使用 glibc.mem.tagging 可调参数启用内存标记 – 默认情况下处于禁用状态:export GLIBC_TUNABLES=glibc.mem.tagging=3 启用对所有支持的内存标签检查的支持。

• 这会将标记应用于通过 malloc 和相关函数分配的内存。没有适当标记的未授权内存访问将导致程序停止,并显示未经授权的内存访问错误。

调试和测试

• 在启用内存标记的情况下运行应用程序可能是在开发过程中识别内存访问冲突的有用工具。

• 您可以在运行时使用 gdb 等调试工具检查内存标签。

在生产环境中运行(可选)

• 内存标记可用于生产中,以检测和缓解内存安全问题,而且不会对性能造成重大影响,但用例将取决于应用程序要求。

实际用例

最终用户和开发人员可以利用内存标记来:

• 通过主动捕获内存错误来构建更安全的应用程序。

• 运行具有增强内存安全性的大规模部署。

• 以较低的运行时间开销补充其他内存安全工具。

内存标记扩展对于内存安全和调试效率至关重要的应用程序开发和部署来说,它改变了游戏规则。潜在的应用领域包括汽车、医疗、电信等领域。

系统级缓存的服务质量实施

系统级缓存 (SLC) 是单个缓存内存池,其延迟高于 L2 缓存,但低于系统 RAM 的延迟。服务质量实施(QoS 实施,也称为内存分区和访问管理)允许系统用户声明特定租户只能访问该 SLC 的上限数量。

使用此功能可帮助应用程序作员和系统管理员管理不同进程和应用程序访问内存的方式,从而提供对内存分区和隔离的精细控制。

在 Arm64 上强制实施 QoS 的好处

•安全性:通过提供对内存访问进行分区的功能,内存分区有助于降低侧信道攻击或试图访问其他进程内存的恶意应用程序带来的风险。这提高了运行不受信任或各种工作负载的系统的整体安全性,因为每个应用程序的内存都可以与其他应用程序的内存安全隔离。

•资源管理:内存分区提供了用于在粒度级别管理和跟踪内存访问的工具。操作员可以针对系统的不同部分如何访问内存设置策略,确保关键应用程序始终能够访问所需的资源,同时限制较低优先级任务的内存使用。

•多租户系统:在云计算和多租户环境中,QoS 实施特别有用。它使操作员能够在不同的虚拟机(VM) 或容器之间实施内存访问边界,从而提高整体系统稳定性并防止一个租户的进程影响其他租户的进程,这在共享资源环境中至关重要。

•支持大规模系统:内存分区通过实现更有效的内存管理来增强系统的可扩展性,尤其是在具有复杂工作负载的大型系统中。开发人员可以通过了解和控制其程序与内存的交互方式来创建更高效的应用程序,这可以在数据库或AI 推理等高要求系统中实现更好的性能。

利用内存分区实施QoS

确保硬件和内核支持

• 要在 Linux 上使用内存分区和 SLC QoS 实施,必须首先编译 Linux 内核并支持 MPAM Arm 功能 (CONFIG_ARM_MPAM)。此功能在 Linux 内核版本 5.12 及更高版本中可用。

• 要检查您的内核是否支持此功能,请运行 _grep CONFIG_ARM_MPAM /boot/config-$(uname -r)_

在内核中启用内存分区

如果您的内核支持该功能,但默认情况下未启用,则可能需要手动启用它。

• 首先,挂载 resctrl 虚拟文件系统:_mount -t resctrl resctrl /sys/fs/resctrl _

• 现在,您在 /sys/fs/resctrl 中拥有一个顶级资源组,并且可以通过在此文件夹中创建其他目录来创建其他资源组。

• 创建自定义资源组后,此目录中将填充文件,您可以使用这些文件来配置要应用于此资源组的资源策略约束。

• cpus 文件包含哪些 CPU 内核属于此资源组的位掩码,而 schemata 文件定义应用于此资源组的策略控制。例如,您可以确保专用于延迟敏感型应用程序的核心获得 75% 的 SLC 的 100% 带宽,并限制其他资源组共享剩余的 25%。

实际用例

通过内存分区实施 QoS 对于云运营商、虚拟化技术和构建高性能、内存密集型应用程序的开发人员来说是有益的。它使服务提供商能够提供更好的性能保证,并使运营商能够更有效地管理资源,尤其是在多个应用程序共享同一底层硬件的情况下。

嵌套虚拟化

嵌套虚拟化允许在虚拟机管理程序下运行的虚拟机 (VM) 充当其他 VM 的主机。借助 AmpereOne,Ampere CPU 现在支持 FEAT_NV2 硬件功能(包含在 ARMv8.4-A 及更高版本中),允许网络虚拟化,在 Ampere 基础设施上实现高级工作负载。这在多种情况下特别有用。

Arm64 上嵌套虚拟化的好处

• 云平台支持:嵌套虚拟化使云服务提供商能够为其客户提供在 VM 中运行虚拟机管理程序的能力。客户可以部署自定义虚拟机管理程序或进一步虚拟化其工作负载,以提高灵活性。

• 提高测试效率:需要作系统内核的应用程序的开发人员和测试人员,包括 Hypervisor 和内核开发人员,或 eBPF 相关项目的开发人员,可以在嵌套环境中验证他们的软件,而无需直接访问物理硬件,从而降低资源成本。

• 隔离和安全性:嵌套虚拟化允许应用程序在隔离的深度嵌套环境中运行,从而提高安全性。这在机密计算或需要通过 microVM 隔离工作负载的场景中非常有用。

• 应用程序沙箱:在 VM 中运行复杂应用程序,使使用不同作系统的应用程序能够在同一云环境中一起运行,同时最大限度地减少交互和攻击面。

Linux 中软件支持的可用性

与所有新的硬件功能一样,该功能在硬件中的可用性与其在软件中的支持需要一定的时间来实现。Ampere 工程师正在与生态系统合作伙伴合作,以确保所有客户都能尽快使用 Ampere CPU 上的嵌套虚拟化。Linux 内核中对嵌套虚拟化的当前支持状态尚不完整,但正在开发补丁以完成对该功能的支持。

一旦 Linux 内核和 QEMU 在上游完全支持该功能,Linux 发行版的未来版本将自动包含对此功能的软件支持。

实际用例

Ampere CPU 上的嵌套虚拟化在各行各业具有各种实际应用,特别是随着 Ampere 和其他 ARM CPU 在云、边缘和高性能计算环境中越来越重要。

•管理托管 Kubernetes 集群中的 VM:云服务提供商客户除了使用容器应用程序外,还可以使用托管的 Kubernetes 服务来管理其基于 VM 的应用程序。

•在云中测试操作系统功能:虚拟机管理程序、操作系统内核和 eBPF 相关项目的开发人员和测试人员可以在嵌套环境中验证其软件,而无需直接访问物理硬件,从而降低资源成本。- 提高容器工作负载的安全性:FirecrackerVM 等 MicroVM 使容器工作负载能够减少与多租户云环境中的其他租户共享的资源,从而提供更高级别的安全性。

•基于云的嵌入式应用程序开发:嵌套虚拟化使基于 ARM 的嵌入式应用程序(如汽车软件)的开发人员能够使用云基础设施软件运行和测试其软件,并在 VM 中运行自定义作系统。

AmpereOne 的创新设计建立在 Ampere Altra 系列处理器的成功之上。我们在此处介绍的新功能共同使开发人员能够利用硬件功能的最新进展在 Arm64 上构建更安全、更高效和可扩展的应用程序。随着这些技术的成熟,它们将进一步增强各行各业应用程序的开发和部署。特别是在 AI 计算时代,为开发人员提供一流的工具是推动 AI 采用和数据中心现代化的关键。

关于 Ampere Computing

Ampere Computing 是一家现代化半导体企业,致力于塑造云计算的未来,并推出了世界上首款云原生处理器。为可持续云而生,Ampere 云原生处理器兼具最高性能和最佳每瓦性能,助力加速多种云计算应用的交付,为云提供行业领先的性能、能效和可扩展性。

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

    关注

    68

    文章

    20159

    浏览量

    247663
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11224

    浏览量

    223105
  • AI
    AI
    +关注

    关注

    90

    文章

    38279

    浏览量

    297334
  • Ampere
    +关注

    关注

    1

    文章

    81

    浏览量

    4857

原文标题:通过AmpereOne®的设计创新为开发人员赋能并推动AI的应用

文章出处:【微信号:AmpereComputing,微信公众号:安晟培半导体】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    恩智浦全新FRDM开发板的功能优势

    FRDM搭载MCX微控制 (MCU) 强势回归,为开发人员提供一个超越硬件的灵活模块化平台。在当今瞬息万变的科技世界中,FRDM凭借其对i.MX应用处理器、通用MCU以及无线MCU的全面支持,在业界脱颖而出。同时,所有FRDM
    的头像 发表于 12-11 14:54 639次阅读

    Bourns 深耕印度,在地设计 - Bourns 印度设计中心 为开发人员提供当地先进技术资源助力客户加速创新

    班加罗尔 (Bengaluru) 正式成立首座设计中心。此新中心将作为以客户协作与创新为核心的研发枢纽,为当地开发人员提供完整的设计工具与技术支持,包括运用 Bourns 具业界领先地位的电源与保护组件之参考设计专业服务。 Bourns 印度设计中心采用成熟流程,协助客户
    的头像 发表于 11-19 14:26 255次阅读
    Bourns 深耕印度,在地设计 - Bourns 印度设计中心 为<b class='flag-5'>开发人员</b>提供当地先进技术资源助力客户加速<b class='flag-5'>创新</b>!

    嵌入式开发的关键点介绍

    需要考虑嵌入式系统的资源限制,例如:内存、CPU处理能力等等。因此,嵌入式开发需要开发人员具备优化代码的能力。嵌入式系统的安全性非常重要,开发人员需要考虑各种安全问题,例如:数据加密、
    发表于 11-13 08:12

    嵌入式开发就业还有前景吗?

    。在智能家居领域,嵌入式开发的主要工作是开发各种智能化设备和系统,如智能照明、智能安防、智能家电等。嵌入式开发人员需要掌握相关的硬件和软件技术,如处理器、传感
    发表于 07-16 10:47

    MAX7800X AI 微控制开发人员资源

    使用我们的超低功耗 AI 微控制实现真正的边缘智能 MAX78000 MAX78002 是 Arm® M4F AI 微控制,带有 RISC-V® 协处理器和基于硬件的卷积神经网络 (CNN
    的头像 发表于 05-14 15:09 1207次阅读
    MAX7800X AI 微控制<b class='flag-5'>器</b><b class='flag-5'>开发人员</b>资源

    明远智睿SSD2351开发板:仪器仪表与智慧农业的创新利器

    开发板同样发挥着重要作用。四核处理器能够同时处理农田中各种传感采集到的数据,如土壤墒情、气象信息、作物生长状况等。通过对这些数据的分析和处理
    发表于 05-09 19:09

    Thingy:91 X 为开发人员提供了一个经过全球认证的、多传感、电池供电的蜂窝物联网原型平台

    Thingy:91 X 为开发人员提供了一个经过全球认证的、多传感、电池供电的蜂窝物联网原型平台 挪威奥斯陆 – 2024年12月10日 – 全球领先的低功耗无线连接解决方案提供商Nordic
    的头像 发表于 05-08 17:41 2288次阅读

    NanoEdge AI Studio 面向STM32开发人员机器学习(ML)技术

    NanoEdge™ AI Studio*(NanoEdgeAIStudio)是一种新型机器学习(ML)技术,可以让终端用户轻松享有真正的创新成果。只需几步,开发人员便可基于最少量的数据为其项目创建
    的头像 发表于 04-22 11:09 1019次阅读
    NanoEdge AI Studio 面向STM32<b class='flag-5'>开发人员</b>机器学习(ML)技术

    基于RV1126开发板的人员检测算法开发

    在RV1126上开发人员检测AI算法组件
    的头像 发表于 04-14 13:56 646次阅读
    基于RV1126<b class='flag-5'>开发</b>板的<b class='flag-5'>人员</b>检测算法<b class='flag-5'>开发</b>

    安波福携手风河助力开发人员开展测试左移

    随着汽车智能化程度不断提升,一辆智能汽车的软件代码量动辄上千万行,涵盖基本的信息娱乐、车身控制,到关键性安全功能(如驾驶辅助系统、自动驾驶系统)等核心功能。即便到了量产前夕,软件仍需频繁更新,这对开发速度和质量提出了极高要求,很可能会延误产品的上市。
    的头像 发表于 03-17 15:34 658次阅读

    IBM发布全新Granite 3.2 AI模型

    Granite 3.2 是小型的 AI 模型,通过对开发人员友好的授权条款,提供推理、视觉和护栏功能。
    的头像 发表于 03-06 16:47 912次阅读

    GoPoint嵌入式开发平台 释放i.MX潜力 简化Linux开发

    地进行创新。 在快节奏的嵌入式系统时代,时间是开发人员最宝贵的资源。GoPoint (过去名为NXP Demo Experience) 重新定义了评估和探索过程,开发人员能够快速评估i.MX SoC在下一代项目中的能力。 GoP
    发表于 02-28 10:07 1096次阅读
    GoPoint嵌入式<b class='flag-5'>开发</b>平台 释放i.MX潜力 简化Linux<b class='flag-5'>开发</b>

    恩智浦推出FRDM i.MX 93开发

    我们推出了FRDM开发平台,帮助开发人员进行新创意的原型制作并将创新产品推向市场。目前,我们正在扩展FRDM生态合作体系,以涵盖i.MX应用处理器
    的头像 发表于 02-14 11:22 1282次阅读
    恩智浦推出FRDM i.MX 93<b class='flag-5'>开发</b>板

    Ampere®发布新版AmpereOne®处理器,强化AI与云计算性能

    的规划相一致,公司正稳步构建AmpereOne®的产品路线图,并致力于在云和AI领域的可持续及节能计算方面提供持续创新。 此次发布的最新192核、12内存通道的AmpereOne® M处理器
    的头像 发表于 01-09 18:09 1339次阅读

    Ampere发布最新192核12内存通道AmpereOne M处理器

    Ampere 发布了旗舰产品 AmpereOne 处理器的新版本,拥有 12 个内存通道的最新处理器。正如 Ampere 在去年5月份的年度战略和产品路线图更新中提到的,公司正在构建
    的头像 发表于 01-09 13:44 962次阅读