1. 在CPU/内存层面

基于鲲鹏处理器的加速可以分为软加速和硬加速。软加速又分为针对单核的单核加速和针对多核的多核加速。

1.png

基于鲲鹏芯片微架构的编译器性能优化主要包括了指令布局优化、内存布局优化和循环优化。JDK性能优化主要包括序列化、JVM循环、JIT优化、GC优化和向量化等。

在SMP系统中,核数的扩展受到内存总线的限制,可以采用非统一内存访问架构( Non-uniform memory access)解决这一问题。发挥NUMA性能,需要克服内存访问速度不均匀的挑战。利用CPU亲和性与内存分配策略,让进程与内存的距离更“短”。

2.png

基于鲲鹏技术优势构建的加速库,针对基础、压缩、加解密和多媒体四类业务提供9大加速库,实现典型场景10%-100%性能提升。

此外,鲲鹏RSA加密加速方案,相较于传统方案可以有效提升Web应用Https性能。

2. 在磁盘层面

文件系统决定了磁盘加载到内存过程的快慢。磁盘预取可以充分利用磁盘带宽。

3. 在网卡层面

网卡中断产生频率会影响应用的吞吐和延迟。具体而言,中断产生的频率高会消耗大量的CPU时间片,频率低会影响应用收到数据的时延。

可以通过调整网卡中断聚合,在低时延和高吞吐中取一个平衡点。降低网卡中断频率,可以带来约10%的吞吐提升,但也会造增加20%左右的延迟。

4. 在应用层面

软件调优的本质是充分发挥硬件性能。减少资源抢占,提升并行度,发挥多核性能优势。Tcmalloc使用线程缓存,尺寸小于256K的小内存申请均由ThreadCache进行分配;通过ThreadCache分配过程中不需要任何锁,可以极大的提高分配速度。

3.png

总结:鲲鹏软件性能调优主要通过以下手段实现。

4.png

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐