Using Amazon APerf to go from 50% below to 36% above performance target
Compute Blog
This article discusses using Amazon APerf, a performance analysis tool, to improve the performance of a Java Renaissance benchmark called "finagle-http" on AWS Graviton3 instances.
Specifically, the article covers:
- Overview of APerf and its capabilities for capturing and visualizing system metrics
- Initial performance issue where finagle-http benchmark ran 50% slower on Graviton3 instances compared to a reference system
- Phase 1: Addressing system-level issues identified by APerf such as garbage collection pauses, high CPU interrupts, and kernel scheduling inefficiencies
- Phase 2: Tuning CPU core-level metrics like branch prediction misses, instruction TLB misses, and instructions per cycle (IPC) using JVM options and kernel updates
- By separating the load generator and the benchmark onto different CPU sets, branch prediction was further improved, resulting in a 36% higher performance than the reference system
- Conclusion: APerf enabled identifying and addressing performance bottlenecks, achieving a significant performance improvement
The AWS News Feed is currently looking for gold sponsors. If you want to support the AWS community and reach a large audience of AWS professionals, consider sponsoring the AWS News Feed.
The AWS News Feed is currently looking for silver sponsors. If you want to support the AWS community and reach a large audience of AWS professionals, consider sponsoring the AWS News Feed.