Mejore el Desempeño de Python con Instancias AWS C5 Equipadas con Procesadores Escalables Intel® Xeon® y Granulate

Python

  • Aumente el desempeño de Python en un 9 % al agregar Granulate a instancias AWS c5.large equipadas con procesadores escalables Intel® Xeon® en comparación con instancias c5.large sin Granulate.

  • Aumente el desempeño de Python en un 37 % al seleccionar instancias AWS c5.large equipadas con procesadores escalables Intel® Xeon® con Granulate en comparación con instancias c6g.large con procesadores Graviton.

author-image

Por

El uso de Procesadores Escalables Intel® Xeon® con Optimización Continua Granulate en Tiempo Real Reduce el Tiempo de Ejecución en Comparación con Instancias C6g con Procesadores Graviton

Su organización puede mejorar el desempeño general de las aplicaciones al elegir instancias en la nube que compilen y ejecuten scripts de Python más rápido. Usamos el análisis de referencia de PyPerformance para probar el desempeño de Python que pueden ofrecer varios tipos de instancias Amazon Web Services (AWS) EC2 en la nube. PyPerformance está diseñado para mostrar el desempeño de Python, detectar la regresión del desempeño en implementaciones de Python y validar los cambios de optimización.

Primero, probamos instancias C5 con procesadores escalables Intel® Xeon® de dos maneras: con y sin la optimización continua Granulate en tiempo real (Granulate). Granulate ofrece “optimización autónoma y continua de cargas de trabajo”, que, según Granulate, “mejora el desempeño de las aplicaciones y reduce los costos en hasta un 63 %”.1 Luego, comparamos la instancia C5, con Granulate, con una instancia C6g equipada con procesadores Graviton.

La instancia C5 con Granulate superó a su contraparte C5 sin Granulate y a la instancia C6g con procesadores Graviton. Estos resultados sugieren que las empresas pueden disfrutar de un desempeño mayor para implementaciones de Python al escoger instancias C5 habilitadas por procesadores escalables Intel® Xeon® con Granulate.

Granulate Mejoró el PyPerformance

Como se muestra en la Figura 1, el uso de Granulate mejoró la velocidad de ejecución del análisis de referencia de PyPerformance en un 9 % en instancias c5.large.

Figura 1. Tiempo de ejecución relativo de PyPerformance de instancias c5.large con procesadores escalables Intel® Xeon® con y sin Granulate. Mayo es mejor.

Una Instancia C5 con Granulate Superó a una Instancia C6g Equipada con Procesadores Graviton

Como se muestra en la Figura 2, la instancia c5.large habilitada por procesadores escalables Intel® Xeon® con Granulate proporcionó un 37 % mejor desempeño que la instancia c6g.large equipada con procesadores Graviton.

Figura 2. Tiempo de ejecución relativo de PyPerformance de una instancia c5.large con procesadores escalables Intel® Xeon® y Granulate en comparación con una instancia c6g.large con procesadores Graviton. Mayo es mejor.

Conclusión

Cuanto más rápido se ejecuten sus scripts de Python, mejor desempeño tendrán sus aplicaciones. En las pruebas, una instancia AWS C5 equipadacon procesadores escalables Intel® Xeon®, con optimización continua Granulate en tiempo real, superó a la misma instancia sin Granulate, así como a una instancia AWS C6g equipada con procesadores Graviton. La adición de Granulate aumentó el desempeño en un 9 % en la instancia C5 que probamos, y la instancia C5 habilitada por Granulate superó en un 37 % a la instancia C6g que probamos.

Más Información

Para empezar a ejecutar sus cargas de trabajo de Python en instancias C5 de Amazon con procesadores escalables Intel® Xeon® con Granulate, visite https://aws.amazon.com/ec2/instance-types/c5/.

Pruebas de Intel completadas en octubre de 2021. Todas las pruebas en AWS us-east-2 con 4.14.248-189.473.amzn2.x86_64, 2 vCPUs, 4 GB RAM, 20 GB EBS-GP2 de almacenamiento con 100 IOPS, 10 Gbps de ancho de banda de red, Docker v. 20.10.7, Docker Image Python v. 3.7, y PyPerformance versión 1.0.2. Detalles de instancia: c5.large: Intel® Xeon® 8124M a 3,00 GHz; c5.large +G.io: Intel® Xeon® 8124M a 3,00 Ghz, agente Granulate v. 2.2.0; c6g.large: arm64 Graviton 2.