AmpereOne处理器的设计创新对开发人员有何影响
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 云原生处理器兼具最高性能和最佳每瓦性能,助力加速多种云计算应用的交付,为云提供行业领先的性能、能效和可扩展性。
(责任编辑:知识)
-
面向未来、引领创新东风汽车在技术上又有新突破,东风汽车首款轴向磁通分布式电驱样机近日在智新科技1号园区下线。分布式驱动系统是一种新型、前沿的电机驱动方式,具有传动链短、结构紧凑、能源利用率高以及轮胎附
...[详细]
-
上周,万维家电网发表《相约在冬季 空调企业缘何集体宣告逆势涨价?》一文,文章报道了月初诸多空调品牌集体“涨价”一事,就在昨天,记者从卖场了解到,美的空调再度发布涨价通知,一台价格将上涨50~200元不
...[详细]
-
3月9日,全球瞩目的2017年AWE展正式在上海拉开帷幕,其中作为“冷暖技术的领导者”海立集团再次亮相AWE,并首次展出了零下30度都有强劲制热能力的睿能6HP低温变频采暖机组,引起业内人士的广泛关注
...[详细]
-
科龙“金镶玉”空调化身“健康空气管家” 抢新年头筹—万维家电网
眼下各大厂商纷纷开始双旦市场圣诞节、元旦节)的抢夺,可以预见在年关冲刺之际,一场硝烟弥漫的市场大促即将展开。科龙空调顺势推出主打健康的新品“金镶玉”空调并于双旦正式上市,成为抢占高端市场的先行利器。双
...[详细]
-
全球低功耗无线连接技术的佼佼者Nordic Semiconductor,近期推出了其最新的物联网原型验证利器——Nordic Thingy:91 X。该平台专为LTE-M、NB-IoT、Wi-FiSS
...[详细]
-
“空调涨价”一直是家电行业沸沸扬扬的话题,近两月钢铁、煤炭、铜、铝等原材料价格均迎来大幅上涨,再加上物流成本和人力成本的上涨,更是让空调跟风上涨。“空调涨价,箭在弦上”这是一位任职苏宁电器空调柜负
...[详细]
-
产量创新高!GMCC合肥冰压工厂单月产量破200万—万维家电网
阳春三月本是播种的季节,对于GMCC合肥冰压工厂来说更是一个收获的季节。最新消息指,2017年3月,GMCC合肥冰压工厂性能下线整体产量高达2002188台,首次突破200万台大关,计划完成率超过10
...[详细]
-
12月29日,第二十三届全国企业管理现代化创新成果评选结果揭晓,共有243项成果被审定为“国家级企业管理现代化创新成果”,其中海尔作为家电行业唯一代表凭借“基于用户全流程最佳体验的互联工厂生态圈建设”
...[详细]
-
00后步入职场,企业如何“接招” 编辑:汤晓雪 来源:中国青年报
...[详细]
-
夏季总是少不了炎热,无论是办公环境还是个人需求,空调的刚需是显而易见的,对于空调销售旺季的到来,相信每一个空调厂商都会高度的重视。线上电商的便捷性改变了消费者的购物行为习惯,不断侵蚀传统的线下零售
...[详细]

2024物联网年会聚焦智慧城市,飞猫科技双奖加冕!
志高十年长约续签成龙透露新野心 欲成就世界级企业—万维家电网
开创女性市场,海信珍珠空调入选年度现象级产品—万维家电网
2016年空调业盘点:三大战略助推志高逆势上涨—万维家电网
汽车高边开关需求激增,本土玩家加速进场
