Lyft aumenta la capacidad de simulación y reduce los costos con las instancias de spot de Amazon EC2
2020
Lyft, una de las mayores redes de transporte de Estados Unidos y Canadá, tiene una misión: mejorar la vida de las personas a través del mejor transporte del mundo. Además de enfocarse en los viajes compartidos, los sistemas de bicicletas comunitarias, los scooters eléctricos y las asociaciones de transporte público, en 2017, Lyft lanzó su división de vehículos autónomos (AV) Level 5 como parte de su esfuerzo para lograr esta misión. Por medio de petabytes de datos que se recopilan de su flota de AV, los ingenieros de Lyft realizan millones de simulaciones cada año para mejorar el rendimiento y la seguridad de su sistema de conducción autónoma.
Pero esas simulaciones exigen un uso intensivo de la computación, y Lyft sabía que necesitaría una enorme potencia de computación que pudiera escalarse y reducirse verticalmente a un precio asequible. La empresa, que utilizaba Amazon Web Services (AWS) para su plataforma de viajes compartidos desde el día de su lanzamiento en 2012, volvió a recurrir a AWS para aumentar su capacidad de computación y reducir los costos. Finalmente, eligió una combinación de Amazon Elastic Compute Cloud (Amazon EC2), instancias de spot y Amazon Elastic Kubernetes Service (Amazon EKS) para su carga de trabajo de simulación de vehículos autónomos.
Alrededor del 77 % de nuestra flota de computación se encuentra actualmente en las instancias de spot de Amazon EC2. Pudimos escalar verticalmente nuestra capacidad de computación de forma significativa y, al mismo tiempo, reducimos el costo global de operación”.
Ejecución de simulaciones en instancias de spot de Amazon EC2
Llevar a cabo simulaciones en miles de unidades de procesamiento gráfico (GPU) en paralelo es fundamental para que Level 5 pueda probar y mejorar la respuesta de los AV en diversas situaciones de conducción. “La simulación es una de las formas clave de mejorar la seguridad de nuestro software antes de que se dirija a alguna parte, incluso a una pista de prueba”, afirma Timothy Perrett, ingeniero sénior de Lyft Level 5. Explorar el espacio de simulación (como la variación de velocidad, la posición o la dinámica del vehículo) requiere muchas pruebas y, por lo tanto, mucha flexibilidad de computación.
Desde el principio, fue evidente que Level 5 tendría necesidades de computación muy diferentes a las de la empresa de viajes compartidos de Lyft. “Level 5 tiene necesidades y limitaciones diferentes”, afirma Perrett. “La mayor parte de nuestras necesidades de computación consisten en prestar servicios a grandes cargas de trabajo en lotes que tienen un perfil muy cambiante. Necesitamos la capacidad de alcanzar los picos de carga más altos y, luego, apagar todo rápidamente cuando no lo estemos utilizando”.
Lyft podría haber invertido en unidades centrales de procesamiento y GPU en las instalaciones, pero la experiencia previa del equipo de Lyft en AWS hizo que la nube de AWS fuera su primera opción. Y así comenzaron las pruebas. Los ingenieros de Level 5 comenzaron utilizando la capacidad de las instancias bajo demanda de Amazon EC2, junto con Amazon EKS, el servicio de Kubernetes completamente administrado que ofrece AWS.
Después de experimentar con la ejecución de simulaciones mediante las instancias bajo demanda, el equipo de Lyft Level 5 se dio cuenta de inmediato de que podía mejorar la eficiencia y reducir los costos si cambiaba a instancias de spot de Amazon EC2. Ahora, más del 90 % de las simulaciones se ejecutan en instancias de spot de Amazon EC2, incluidas las instancias P3 de Amazon EC2 con tecnología de GPU NVIDIA V100 Tensor Core, lo que permite a Lyft aprovechar la capacidad no utilizada de Amazon EC2 en la nube de AWS con un descuento de hasta el 70 % en comparación con los precios bajo demanda. “Cuando experimentamos con la ejecución de simulaciones en las instancias de spot de Amazon EC2, nos dimos cuenta de que, como nuestro programa crecía con rapidez, existía la oportunidad de reducir significativamente nuestros costos operativos”, afirmó Perrett.
Permitir que las simulaciones se ejecuten de forma eficiente
El equipo de Level 5 distribuye la carga de trabajo de simulación en lo que Perrett denomina un “baile inteligente” para garantizar que las simulaciones sigan ejecutándose incluso cuando las instancias de spot de Amazon EC2 no estén disponibles debido a la alta demanda. El equipo de ingeniería observó qué clústeres (y grupos dentro de esos) funcionaban de forma eficaz y tuvo en cuenta el uso de las zonas por región. “Nos hemos vuelto más inteligentes a la hora de asignar el trabajo y de reubicar los puestos en un grupo de recursos determinado y en un día concreto”, anotó Perrett. El equipo utilizó Amazon EKS para priorizar y escalar los grupos de recursos para que los trabajos utilizaran las instancias de forma eficiente.
El equipo de ingeniería también tuvo cuidado al momento de diseñar sistemas para que las simulaciones funcionaran en diferentes hardware, en función de la disponibilidad; algo que Lyft llama diversidad de flota. “Nos esforzamos mucho en hacer que nuestra pila funcione en cualquier tipo de instancia disponible como, por ejemplo, las instancias P3 de Amazon EC2 frente a las instancias P2 de Amazon EC2”, explicó Perrett. Esa flexibilidad ayuda a los ingenieros de Level 5 a no tener que esperar para programar simulaciones, incluso cuando la demanda es alta.
Lyft también tiene que administrar una gran cantidad de datos recopilados de las simulaciones y de su flota de vehículos autónomos, por lo que aprovecha Amazon Simple Storage Service (Amazon S3) para almacenar y acceder a un conjunto de datos en constante expansión a medida que Lyft aumenta el número de sensores en sus vehículos de prueba. Recopilar y almacenar toda esa información de sus AV y simulaciones supone petabytes de datos, y transferir esa cantidad directo a la nube, como lo hizo en un principio el equipo de Level 5, era costoso. Para reducir esos costos, Lyft utiliza AWS Direct Connect, una conexión de red dedicada entre el centro de ingeniería de Level 5 y sus sistemas en la nube. “Tenemos una red de alta capacidad que se conecta a los lugares donde operamos nuestra flota de AV”, anotó Perrett. “Y luego cargamos los datos por un costo mucho menor por petabyte”.
Por medio de la división y dirección cuidadosa de su tráfico de simulación en las instancias de spot de Amazon EC2, el equipo de ingeniería de Lyft Level 5 redujo el costo de las simulaciones a solo unos centavos por cada ejecución. “Alrededor del 77 % de nuestra flota de computación en todas las cargas de trabajo de Level 5 (y más del 90 % de nuestra carga de trabajo de simulación de AV) se encuentra actualmente en instancias de spot de Amazon EC2 y, en cuanto al ahorro de costos general, este ha sido de alrededor de dos tercios”, afirmó Perrett. “Pudimos escalar verticalmente nuestra capacidad de computación de forma significativa y, al mismo tiempo, reducimos el costo global de operación”.
Transporte para el futuro
Ejecutar millones de simulaciones con un gran ahorro de costos en AWS permite al equipo de ingenieros de Lyft realizar las pruebas desde sus oficinas, lo que posibilita al personal ganar confianza en los cambios de software antes de sacar los vehículos físicos al mundo real. “En comparación con llevar un vehículo a la pista de pruebas, las simulaciones son un medio más rentable de validar los cambios de software”, afirmó Perret. “Esto mejora el tiempo de iteración para el personal de ingeniería y ayuda a mejorar la seguridad y la calidad del software en un futuro cercano”.
Hablando del futuro, la capacidad de Level 5 para ejecutar millones de simulaciones es prueba de los interesantes avances que se esperan. Por medio de la combinación de instancias de spot de Amazon EC2 y Amazon EKS, además de otros servicios de AWS, Lyft está acercando al mundo a un lugar donde los vehículos autónomos faciliten el acceso a un transporte seguro y confiable.
Acerca de Lyft
Lyft, una de las mayores redes de transporte de Estados Unidos y Canadá, tiene una misión: mejorar la vida de las personas a través del mejor transporte del mundo. Ofrece viajes compartidos, scooters eléctricos, sistemas de bicicletas comunitarias y asociaciones de transporte público.
Beneficios de AWS
● Reducción de los costos de computación por dos tercios
● Escalado vertical significativo de la capacidad de computación
● Aumento de la velocidad de desarrollo de los vehículos autónomos
Servicios de AWS utilizados
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) es un servicio web que proporciona capacidad informática en la nube segura y de tamaño modificable. Está diseñado para facilitar a los desarrolladores la informática en la nube a escala web.
Instancias de spot de Amazon EC2
Las instancias de spot de Amazon EC2 permiten aprovechar la capacidad sin usar de EC2 en la nube de AWS. Las instancias de spot están disponibles con un descuento de hasta el 90 % en comparación con los precios bajo demanda. Puede utilizar las instancias de spot para distintas aplicaciones flexibles, sin estado o tolerantes a fallos.
Amazon EKS
Amazon EKS es un servicio de Kubernetes completamente administrado. EKS ejecuta Kubernetes ascendente y cuenta con una certificación de conformidad con Kubernetes, por lo que puede aprovechar todos los beneficios de las herramientas de código abierto de la comunidad.
Introducción
Cada día crece el número de empresas de todos los tamaños y sectores que consiguen transformar sus negocios gracias a AWS. Contacte con nuestros expertos e inicie hoy mismo su proceso de traspaso a la nube de AWS.