Get Faster Python Performance with AWS C5 Instances Featuring Intel® Xeon® Scalable Processors and Granulate

Python

  • Run Python scripts 9% faster by adding Granulate to AWS c5.large instances featuring Intel Xeon Scalable processors vs. c5.large instances without Granulate.

  • Run Python scripts 34% faster by selecting AWS c5.large instances featuring Intel Xeon Scalable processors with Granulate vs. c5a.large instances with AMD EPYC processors.

author-image

By

Using Intel Xeon Scalable Processors with Granulate Real-Time Continuous Optimization Shrinks Execution Time Compared to C5a Instances with AMD EPYC Processors

The instance type you use to support your Python use cases matters—by executing scripts faster, your users will see better performance. To test the Python performance that multiple Amazon Web Services (AWS) EC2 cloud instance types can deliver, we used the PyPerformance benchmark.

PyPerformance showcases Python performance, detects performance regression in Python implementations, and validates optimization changes.

First, we tested C5 instances featuring Intel Xeon Scalable processors two ways: with and without Granulate Real-Time Continuous Optimization (Granulate). Granulate offers “autonomous, continuous workload optimization,” which, according to Granulate, “improves application performance and cuts costs by up to 63%.”1 Next, we compared the C5 instance with Granulate to a C5a instance using AMD EPYC processors.

The C5 instance with Granulate outperformed both its C5 counterpart without Granulate and the C5a instance with AMD EPYC processors. These results suggest that businesses can enjoy faster performance for Python implementations by choosing C5 instances enabled by Intel Xeon Scalable processors with Granulate.

Granulate Improved PyPerformance

As Figure 1 shows, on c5.large instances, using Granulate improved execution speed of the PyPerformance benchmark by 9%.

Figure 1. Relative PyPerformance execution time of c5.large instances, featuring Intel Xeon Scalable processors, both with and without Granulate. Higher is better.

A C5 Instance with Granulate Outperformed an AMD EPYC Processor-Based C5a Instance

As Figure 2 shows, the c5.large instance enabled by Intel® Xeon® Scalable processors with Granulate delivered 34% better performance than the c5a.large instance based on AMD EPYC processors.

Figure 2. Relative PyPerformance execution time of a c5.large instance with Intel Xeon Scalable processors and Granulate vs. a c5a.large instance with AMD EPYC processors. Higher is better.

Conclusion

To optimize your organization’s Python implementations, it’s critical to choose cloud instances that shrink execution times. In tests, an AWS C5 instance featuring Intel Xeon Scalable processors with Granulate Real-Time Continuous Optimization outperformed the same instance without Granulate and an AWS C5a instance based on AMD EPYC processors. Adding Granulate sped up execution time by 9% on the C5 instance we tested, and the Granulate-enabled C5 instance was 34% faster than the C5a instance we tested.

Learn More

To begin running your Python workloads on Amazon C5 instances with Intel Xeon Scalable processors with Granulate, visit

https://aws.amazon.com/ec2/instance-types/c5/.

1. Granulate, https://granulate.io/.

Tests by Intel completed Oct. 2021. All tests on AWS us-east-2 with 4.14.248-189.473.amzn2.x86_64, 2 vCPUs, 4GB RAM, 20GB EBS-GP2 storage with 100 IOPS, 10Gbps network BW, Docker v. 20.10.7, Docker Image Python v. 3.7, and PyPerformance version 1.0.2. Instance details: c5.large: Intel Xeon 8124M @3.00Ghz; c5.large +G.io: Intel Xeon 8124M @3.00Ghz, Granulate agent v. 2.2.0; c5a.large: AMD EPYC 7832.