性能优化特性之:LSE指令集编译优化

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 本文介绍了倚天实例上的编译优化特性:LSE,并从优化原理、使用方法进行了详细阐述。

优化原理

LSE(Large System Extensions)是ARMv8.1新增的原子操作指令集。 在LSE之前,如果想实现某个原子操作,必须要使用带有load_acquire/store_release的指令,如LDXR和STXR,但这两个指令的操作本质上是很多CPU核去抢某个内存变量的独占访问,以前ARM主要用来在低功耗设备上运行,CPU核并不多,不会存在太大的问题。但在数据中心发展场景下,ARM处理器已经发展到几十上百核,如果还是独占访问会存在严重的性能问题。因此,为了支持这种大型系统,在ARMv8.1中特意加入了大量原生原子操作指令以优化性能。在有较多多线程竞争的场景下,使用LSE指令集会有比较明显的性能提升。

使用方法

倚天710建议指定march=armv8.6+sve2 mtune=neoverse-n1 PS: LSE在armv8.1以后by default支持,指定armv8.6或neoverse-n1 都会使用LSE进行编译



---------------------------------------------------------------------------------------

更多调优信息,请参考:

龙蜥社区:https://openanolis.cn/

KeenTune SIG:https://openanolis.cn/sig/KeenTune

阿里云龙蜥操作系统专区:https://developer.aliyun.com/group/aliyun_linux

相关文章
|
10月前
|
存储 固态存储 关系型数据库
性能优化特性之:16K原子写
本文介绍了在倚天实例上进行内存优化的调优特性:16K原子写 的优化原理、使用方法。
|
19天前
|
缓存 编译器 调度
【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程
【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程
126 0
|
19天前
|
缓存 编译器 程序员
C/C++编译器并行优化技术:并行优化针对多核处理器和多线程环境进行优化,以提高程序的并行度
C/C++编译器并行优化技术:并行优化针对多核处理器和多线程环境进行优化,以提高程序的并行度
133 0
|
19天前
|
并行计算 Go 调度
Go语言硬件加速:多核并行化的妙用
Go语言硬件加速:多核并行化的妙用
53 0
|
9月前
|
机器学习/深度学习 缓存 Linux
很底层的性能优化:让CPU更快地执行你的代码
很底层的性能优化:让CPU更快地执行你的代码
|
10月前
|
Web App开发 测试技术
程序性能优化-局部性原理
程序性能优化-局部性原理
63 0
|
10月前
|
存储 编译器 C语言
性能优化特性之:LTO
本文介绍了倚天实例上的编译优化特性:LTO,并从优化原理、使用方法进行了详细阐述。
|
10月前
|
编译器 C++ Anolis
性能优化特性之:PGO
本文介绍了倚天实例上的编译优化特性:PGO,并从优化原理、使用方法进行了详细阐述。
|
异构计算
《OpenACC并行程序设计:性能优化实践指南》一 3.8 优化GPU内核
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.8节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1028 0
|
并行计算 异构计算
《OpenACC并行程序设计:性能优化实践指南》一 3.9 增加GPU任务并行
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.9节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1328 0