Title
AWS re:Invent 2022 - Boosting .NET application performance with Arm64 and AWS Graviton3 (XNT401)
Summary
- Kirk Davis, a principal solutions architect, and Sri Lakshmi Pai, a principal application architect, presented on improving .NET application performance using AWS Graviton3.
- AWS Graviton is an in-house designed processor by AWS's subsidiary, Annapurna Labs, optimized for cloud workloads with a focus on real-world application performance.
- Graviton processors are part of the AWS Nitro platform, which offloads many features to custom hardware, leaving more CPU for applications.
- Graviton3, built on a 5nm process with DDR5 memory, offers significant performance improvements over previous generations.
- Graviton3 instances are more energy-efficient and cost-effective, contributing to AWS's goal of net-zero carbon emissions by 2040.
- Customers can check their AWS infrastructure's carbon footprint in the AWS management console.
- AWS services like Lambda and Fargate support ARM64, allowing for better performance and cost savings.
- Graviton instances provide physical cores for each vCPU, unlike x86 instances that use hyperthreading, leading to better multi-threaded performance.
- Graviton-based instances are generally cheaper and have become popular for running open-source databases.
- It's recommended to use.NET 6 or.NET 7 for ARM optimizations.
- Microsoft has made performance improvements in.NET 7, including on-stack replacement, vectorization, and thread pool scaling.
- Demonstrations included deploying a.NET 7 app on Graviton3, showing ease of setup, and a load test comparison between Graviton3 and Intel-based instances, with Graviton3 showing better performance.
- The DevOps ecosystem broadly supports Graviton, with managed services like AWS CodeBuild and others offering Graviton-based runners.
- GitLab reported up to 23% cost savings and 36% performance gains with Graviton.
- The session concluded with encouragement to adopt Graviton for its performance and cost benefits, with minimal to no code changes required for most applications.
Insights
- AWS Graviton3's design philosophy prioritizes application performance over traditional chip marketing metrics like core count and clock frequency, which is a differentiator from other cloud providers.
- The energy efficiency and lower operational costs of Graviton3 not only provide direct cost savings to AWS customers but also contribute to environmental sustainability goals.
- The performance benefits of Graviton3 are particularly pronounced in compute-intensive tasks, as demonstrated by the live load testing comparison with Intel-based instances.
- The broad support for Graviton across AWS services and the DevOps ecosystem indicates a strong push from AWS to encourage adoption of their ARM64-based instances.
- The ease of transitioning to Graviton, as shown in the demonstrations, suggests that for many.NET applications, the switch to Graviton can be straightforward and beneficial in terms of both performance and cost.
- The session highlighted the importance of staying up-to-date with the latest.NET releases to take advantage of performance optimizations, especially when targeting new hardware architectures like ARM64.