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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 本文介绍了倚天实例上的编译优化特性: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

相关文章
|
存储 固态存储 关系型数据库
性能优化特性之:16K原子写
本文介绍了在倚天实例上进行内存优化的调优特性:16K原子写 的优化原理、使用方法。
|
1月前
|
存储 人工智能 算法
探究现代操作系统的架构与性能优化
本文将深入探讨现代操作系统的核心架构,并重点分析其性能优化的关键策略。我们将从宏观和微观两个角度出发,解释操作系统的基本组成部分及其相互作用,并通过具体实例展示如何通过各种技术手段提升系统性能。无论是软件开发者还是计算机专业的学生,都能从中受益,获得对操作系统更深层次的理解。
|
2月前
|
JavaScript
hyengine 编译问题之性能优化瓶颈如何解决
hyengine 编译问题之性能优化瓶颈如何解决
|
2月前
|
存储 JavaScript Java
hyengine 解释问题之wasm引擎性能瓶颈如何解决
hyengine 解释问题之wasm引擎性能瓶颈如何解决
|
5月前
|
缓存 编译器 调度
【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程
【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程
331 0
|
机器学习/深度学习 缓存 Linux
很底层的性能优化:让CPU更快地执行你的代码
很底层的性能优化:让CPU更快地执行你的代码
|
存储 编译器 C语言
性能优化特性之:LTO
本文介绍了倚天实例上的编译优化特性:LTO,并从优化原理、使用方法进行了详细阐述。
|
编译器 C++ Anolis
性能优化特性之:PGO
本文介绍了倚天实例上的编译优化特性:PGO,并从优化原理、使用方法进行了详细阐述。
|
缓存 移动开发 Rust
Zellij-一个典型的 Rust程序的性能优化案例
Zellij是一款非常优秀的终端工作区和多路复用器(类似于tmux和screen),由于使用Rust语言开发,因此与Zellij与WebAssembly原生兼容。作为一款功能强大,同时又容易上手的终端复用工具,将会话(session)和窗口解耦,使得用户可以在单个窗口内运行多个虚拟终端,真正做到保持界面清爽还提高了工作效率。
Zellij-一个典型的 Rust程序的性能优化案例
|
异构计算
《OpenACC并行程序设计:性能优化实践指南》一 3.8 优化GPU内核
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第3章,第3.8节,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1050 0