Lyft augmente la capacité de simulation et réduit les coûts à l'aide des instances Spot d'Amazon EC2

2020

Lyft, l'un des réseaux de transport les plus étendus aux États-Unis et au Canada, a pour mission d'améliorer la vie de la communauté avec le meilleur transport au monde. En plus d'avoir porté son attention sur le covoiturage, les systèmes de partage de vélos, les trottinettes électriques et les partenariats avec les transports publics, Lyft a lancé sa division de véhicules autonomes (VA) de niveau 5 en 2017, afin de réussir cette mission. À l'aide des pétaoctets de données provenant de sa flotte de VA, les ingénieurs de Lyft effectuent des millions de simulations chaque année dans le but d'améliorer les performances et la sécurité du système de conduite autonome.

Cependant, ces simulations sont gourmandes en calcul. Lyft était consciente de la nécessité d'une puissance de calcul massive, pouvant se mettre à l'échelle à un prix abordable. L'entreprise, qui utilise Amazon Web Services (AWS) pour sa plateforme de covoiturage depuis son lancement en 2012, s'est à nouveau tournée vers AWS afin de renforcer sa capacité de calcul et de diminuer les coûts. Au final, Lyft a choisi une combinaison d'instances Spot d'Amazon Elastic Compute Cloud (Amazon EC2) et d'Amazon Elastic Kubernetes Service (Amazon EKS) pour sa charge de travail de simulation de VA.

kr_quotemark

Environ 77 % de notre flotte de calcul se trouve désormais dans des instances Spot d'Amazon EC2. Nous avons pu augmenter notre capacité de calcul de manière significative, tout en réduisant le coût global d'exploitation. »

Timothy Perrett
Ingénieur de direction principal, Lyft Level 5

Exécution de simulations sur des instances Spot d'Amazon EC2

L'exécution parallèle de simulations sur des milliers de processeurs graphiques (GPU) est essentielle à la réussite de Level 5 dans les tests et l'amélioration de la réaction des VA aux différentes situations de conduite. « La simulation est l'un des moyens clés par lequel nous améliorons la sécurité de notre logiciel avant son utilisation, même sur une piste de test », explique Timothy Perrett, ingénieur de direction principal chez Lyft Level 5. L'exploration de l'espace de simulation (par exemple la modification de la vitesse, de la position ou de la dynamique du véhicule) requiert des tests répétés, et, par conséquent, une grande flexibilité de calcul.

Il était clair dès le début que Level 5 aurait des besoins en calcul très différents de l'activité de covoiturage de Lyft. « Level 5 présente des exigences et des contraintes différentes », affirme M. Perrett. « La plupart de nos besoins en calcul concernent l'entretien de charges de travail par lots, volumineuses et très irrégulières. Nous avons besoin d'une capacité nous permettant d'augmenter lors des pics d'activité élevés, puis de tout arrêter lorsque nous n'utilisons pas le service. »

Lyft aurait pu investir dans des UC et des GPU sur site, mais son expérience passée sur AWS l'a poussée à se tourner vers le Cloud AWS. Ainsi, les tests ont débuté. Les ingénieurs Level 5 ont commencé par utiliser la capacité des instances à la demande d'Amazon EC2, en parallèle avec Amazon EKS, le service Kubernetes entièrement géré d'AWS.

Après avoir effectué des simulations avec les instances à la demande, l'équipe Level 5 de Lyft a rapidement réalisé qu'elle pouvait améliorer l'efficacité et réduire les coûts en passant aux instances Spot d'Amazon EC2. Désormais, plus de 90 % des simulations sont exécutées sur des instances Spot d'Amazon EC2, y compris des instances P3 d'Amazon EC2, alimentées par des GPU NVIDIA V100 Tensor Core. Cela permet à Lyft de tirer parti de la capacité inutilisée d'Amazon EC2 dans le Cloud AWS, avec une réduction pouvant aller jusqu'à 70 % par rapport aux tarifs à la demande. « En testant les simulations sur les instances Spot d'Amazon EC2, nous nous sommes rendu compte que notre programme évoluait rapidement. Nous avions l'opportunité de réduire considérablement nos coûts d'exploitation », affirme M. Perrett.

Assurer l'efficacité de l'exécution des simulations

L'équipe Level 5 distribue sa charge de travail de simulation lors de ce que Perrett nomme une « danse intelligente », ce qui garantit que les simulations fonctionnent toujours, même lorsque les instances Spot d'Amazon EC2 sont indisponibles en raison d'une demande élevée. Le personnel d'ingénierie a observé quels clusters, et quels groupes au sein de ces clusters, fonctionnaient de manière efficace et a pris en compte l'utilisation par zone régionale. « Nous sommes devenus plus intelligents dans notre façon d'allouer le travail et de relocaliser les tâches au sein d'un groupe de ressources donné, lors d'un jour donné », note M. Perrett. L'équipe utilisait Amazon EKS pour donner la priorité aux groupes de ressources et les mettre à l'échelle, afin que les tâches utilisent les instances de manière efficace.

L'équipe d'ingénierie a également pris soin de concevoir des systèmes permettant le fonctionnement des simulations sur un ensemble de matériels, selon leur disponibilité. Il s'agit de la « diversité des flottes ». « Nous nous sommes efforcés de rendre notre pile utilisable sur tout type d'instances disponible, par exemple, les instances P3 ou les instances P2 d'Amazon EC2 », explique M. Perrett. Cette flexibilité permet aux ingénieurs Level 5 de ne pas devoir attendre pour planifier des simulations, même lorsque la demande est élevée.

Lyft doit également gérer une quantité énorme de données, provenant de simulations et de sa flotte de VA. L'entreprise tire parti d'Amazon Simple Storage Service (Amazon S3) pour stocker et accéder à un jeu de données en pleine expansion, à mesure qu'elle augmente le nombre de capteurs sur ses véhicules de test. La collecte et le stockage de toutes ces informations provenant des VA et des simulations s'élèvent à des pétaoctets de données. Le transfert d'une telle quantité de données directement dans le cloud, comme le faisait l'équipe Level 5 au départ, était coûteux. Afin de réduire ce coût, Lyft utilise AWS Direct Connect, une connexion réseau dédiée entre son centre d'ingénierie Level 5 et ses systèmes cloud. « Nous disposons d'un réseau de très haute capacité, qui se connecte aux emplacements dans lesquels nous utilisons notre flotte de VA », déclare M. Perrett. « Ensuite, nous chargeons les données à un coût bien moins élevé par pétaoctet. »

En divisant et en dirigeant rigoureusement son trafic de simulation sur des instances Spot d'Amazon EC2, l'équipe d'ingénierie de Lyft Level 5 a réduit le coût des simulations à quelques centimes par exécution. « Environ 77 % de notre flotte de calcul, parmi toutes les charges de travail Level 5, et plus de 90 % de notre charge de travail de simulation de VA, se trouve désormais sur des instances Spot d'Amazon EC2. De plus, la réduction globale des coûts a été d'environ deux tiers », note M. Perrett. « Nous avons pu augmenter notre capacité de calcul de manière significative, tout en réduisant le coût global d'exploitation. »

Transports pour l'avenir

L'exécution de millions de simulations à un coût très réduit sur AWS permet à l'équipe d'ingénierie de Lyft d'exécuter ses tests depuis ses locaux. Ainsi, le personnel peut prendre confiance dans les modifications logicielles avant de tester les véhicules physiques dans le monde réel. « Les simulations représentent un moyen bien plus économique de valider les modifications logicielles par rapport aux tests des véhicules sur le terrain », affirme M. Perrett. « Cela améliore le temps d'itération pour le personnel d'ingénierie et permet d'améliorer la sécurité et la qualité du logiciel plus rapidement. »

La capacité de Level 5 à exécuter des millions de simulations signale l'arrivée de développements prometteurs. Grâce à la combinaison d'Amazon EKS et des instances Spot d'Amazon EC2, ainsi que d'autres services AWS, Lyft nous rapproche d'un monde où les voitures autonomes améliorent l'accès à des transports sécurisés et fiables.


À propos de Lyft

Lyft, l'un des réseaux de transport les plus étendus aux États-Unis et au Canada, a pour mission d'améliorer la vie de la communauté avec le meilleur transport au monde. L'entreprise propose des services de covoiturage, de trottinettes électriques et de systèmes de partage de vélos, ainsi que des partenariats avec les transports publics.

Avantages d'AWS

● Réduction de deux tiers des coûts de calcul
● Augmentation considérable de la capacité de calcul
● Augmentation de la vitesse du développement des VA
 


Services AWS utilisés

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) est un service Web qui fournit une capacité de calcul sécurisée et redimensionnable dans le cloud. Destiné aux développeurs, il est conçu pour faciliter l'accès aux ressources de cloud computing à l'échelle du Web.

En savoir plus »

Instances Spot Amazon EC2

Les instances Spot Amazon EC2 vous permettent de profiter des capacités EC2 non utilisées dans le cloud AWS. Les instances Spot sont disponibles avec une réduction allant jusqu'à 90 % par rapport aux tarifs des instances à la demande. Vous pouvez utiliser les instances Spot pour une variété d'applications flexibles, tolérantes aux pannes et sans état.

En savoir plus »

Amazon EKS

Amazon EKS est un service Kubernetes entièrement géré. EKS fonctionne en amont de Kubernetes et est certifié conforme Kubernetes, afin que vous puissiez bénéficier de tous les avantages des outils open source de la communauté.

En savoir plus »


Démarrer

Les entreprises de toute taille et de tous les secteurs d'activités transforment chaque jour leurs activités à l'aide d'AWS. Contactez nos spécialistes et commencez dès aujourd'hui votre transition vers le Cloud AWS.