Lyft erhöht die Simulationskapazität und senkt die Kosten mit Amazon-EC2-Spot-Instances

2020

Lyft, eines der größten Verkehrsnetzwerke in den Vereinigten Staaten und Kanada, hat eine Mission: das Leben der Menschen mit den besten Transportangeboten der Welt zu verbessern. Neben der Konzentration auf Mitfahrgelegenheiten, Bikesharing-Systeme, Elektroroller und Partnerschaften mit dem öffentlichen Nahverkehr hat Lyft 2017 seine Abteilung für autonome Fahrzeuge (AV) Level 5 gegründet, um diese Mission zu erfüllen. Mit Hilfe von Petabytes an Daten, die von der Lyft-Flotte erfasst werden, führen die Ingenieure von Lyft jedes Jahr Millionen von Simulationen durch, um die Leistung und Sicherheit des Systems selbstfahrender Fahrzeuge zu verbessern.

Aber diese Simulationen sind rechenintensiv, und Lyft wusste, dass es eine enorme Rechenleistung benötigt, die zu einem erschwinglichen Preis hoch- oder herunterskaliert werden kann. Das Unternehmen, das seit dem Tag ihrer Einführung im Jahr 2012 Amazon Web Services (AWS) für seine Rideshare-Plattform nutzt, wandte sich erneut an AWS, um seine Rechenkapazität zu erhöhen und die Kosten zu senken, und entschied sich schließlich für eine Kombination aus Spot-Instances von Amazon Elastic Compute Cloud (Amazon EC2) und Amazon Elastic Kubernetes Service (Amazon EKS) für seine AV-Simulations-Workloads.

kr_quotemark

Etwa 77 % unserer Computerflotte läuft jetzt auf Amazon-EC2-Spot-Instances. Wir konnten unsere Computing-Kapazität deutlich erhöhen und gleichzeitig die Gesamtbetriebskosten senken.“

Timothy Perrett
Senior Staff Engineer, Lyft Level 5

Ausführen von Simulationen auf Amazon-EC2-Spot-Instances

Die parallele Ausführung von Simulationen auf Tausenden von Grafikprozessoren (GPUs) ist entscheidend für den Erfolg von Level 5 beim Testen und Verbessern der Reaktion von AVs auf verschiedene Fahrsituationen. „Die Simulation ist eine der wichtigsten Methoden, um die Sicherheit unserer Software zu verbessern, bevor sie irgendwo zum Einsatz kommt – sogar auf einer Teststrecke“, sagt Timothy Perrett, Senior Staff Engineer bei Lyft Level 5. Die Erkundung des Simulationsraums (z. B. das Variieren der Geschwindigkeit, der Position oder der Fahrzeugdynamik) erfordert wiederholte Tests und damit eine große Flexibilität bei der Rechenleistung.

Schon früh war klar, dass Level 5 ganz andere Anforderungen an die Rechenleistung haben würde als das Rideshare-Geschäft von Lyft. „Level 5 hat andere Bedürfnisse und Beschränkungen“, sagt Perrett. „Der größte Teil unseres Bedarfs an Rechenleistung besteht in der Bewältigung großer Batch-Workloads, die ein sehr schwankendes Profil haben. Wir müssen in der Lage sein, hohe Spitzenlasten zu bewältigen und dann alles schnell herunterzufahren, wenn wir es nicht brauchen.“

Lyft hätte auch in zentrale On-Premises-CPUs und und -GPUs investieren können, aber die vorherige Erfahrung des Lyft-Teams mit AWS machte die AWS Cloud zur ersten Wahl. So begann das Testen. Die Ingenieure von Level 5 begannen mit der Nutzung der Kapazität von Amazon-EC2-On-Demand-Instances in Verbindung mit Amazon EKS, dem vollständig verwalteten Kubernetes-Service von AWS.

Nachdem das Level 5-Team von Lyft mit der Ausführung von Simulationen mit On-Demand-Instances experimentiert hatte, erkannte es schnell, dass es durch den Umstieg auf Amazon-EC2-Spot-Instances die Effizienz verbessern und die Kosten senken konnte. Jetzt laufen mehr als 90 Prozent der Simulationen auf Amazon-EC2-Spot-Instances, einschließlich Amazon-EC2-P3-Instances, die von NVIDIA V100 Tensor Core GPUs angetrieben werden. Dadurch kann Lyft ungenutzte Amazon-EC2-Kapazitäten in der AWS Cloud mit einem Rabatt von bis zu 70 Prozent im Vergleich zu On-Demand-Preisen nutzen. „Als wir mit dem Betrieb auf Amazon-EC2-Spot-Instances experimentierten, erkannten wir, dass unser Programm schnell wuchs und wir die Möglichkeit hatten, unsere Betriebskosten erheblich zu senken“, sagt Perrett.

Ermöglichen einer effizienten Ausführung von Simulationen

Das Level 5-Team verteilt seine Simulations-Workloads in einem, wie Perrett es nennt, „cleveren Tanz“, um sicherzustellen, dass die Simulationen auch dann noch laufen, wenn Amazon-EC2-Spot-Instances aufgrund hoher Nachfrage nicht verfügbar sind. Das technische Personal beobachtete, welche Cluster und Pools innerhalb dieser Cluster effizient arbeiteten und berücksichtigte die Nutzung der regionalen Zonen. „Wir sind klüger geworden, wenn es darum geht, wie wir die Arbeit verteilen und wie wir die Jobs in einem bestimmten Ressourcenpool an einem bestimmten Tag verlagern“, stellt Perrett fest. Das Team nutzte Amazon EKS, um Ressourcenpools zu priorisieren und zu skalieren, sodass Jobs die Instances effizient nutzen konnten.

Das Ingenieursteam hat auch darauf geachtet, die Systeme so zu gestalten, dass die Simulationen auf einer Vielzahl von Geräten funktionieren, je nachdem, was zur Verfügung steht – etwas, das Lyft als Flottenvielfalt bezeichnet. Perrett erklärt: „Wir haben uns sehr bemüht, dass unser Stack auf allen verfügbaren Instance-Typen funktioniert, zum Beispiel Amazon-EC2-P3- gegenüber Amazon-EC2-P2-Instances.“ Dank dieser Flexibilität müssen die Level 5-Ingenieure nicht warten, bis sie Simulationen planen können, selbst wenn die Nachfrage hoch ist.

Lyft muss auch eine riesige Menge an Daten verwalten, die bei Simulationen und in seiner AV-Flotte erfasst werden. Das Unternehmen nutzt Amazon Simple Storage Service (Amazon S3), um einen ständig wachsenden Datensatz zu speichern und darauf zuzugreifen, während Lyft die Anzahl der Sensoren in seinen Testfahrzeugen erhöht. Das Erfassen und Speichern all dieser Informationen aus den AVs und Simulationen beläuft sich auf Petabytes an Daten. Diese Datenmenge direkt in die Cloud zu übertragen, wie es das Level 5-Team in den ersten Tagen tat, war kostspielig. Um diese Kosten zu senken, verwendet Lyft AWS Direct Connect, eine dedizierte Netzwerkverbindung zwischen seinem Level 5-Technikzentrum und seinen Cloud-Systemen. „Wir haben ein sehr leistungsfähiges Netzwerk, das die Orte, an denen wir unsere AV-Flotte betreiben, miteinander verbindet“, so Perrett. „Und dann laden wir die Daten zu viel niedrigeren Kosten pro Petabyte hoch.“

Durch die sorgfältige Partitionierung und Lenkung des Simulationsverkehrs auf Amazon-EC2-Spot-Instances konnte das Technikteam von Lyft Level 5 die Kosten für die Simulationen auf nur wenige Cent pro Ausführung reduzieren. „Etwa 77 Prozent unserer Computing-Flotte für alle Level 5-Workloads – und über 90 Prozent unserer AV-Simulations-Workloads – laufen jetzt auf Amazon-EC2-Spot-Instances, und die Kosteneinsparungen liegen insgesamt bei etwa zwei Dritteln“, sagt Perrett. „Wir konnten unsere Computing-Kapazität deutlich erhöhen und gleichzeitig die Gesamtbetriebskosten senken.“

Transport für die Zukunft

Die Durchführung von Millionen von Simulationen in AWS ermöglicht es dem Entwicklungsteam von Lyft, seine Tests von den eigenen Büros aus durchzuführen. So können die Mitarbeiter Vertrauen in Softwareänderungen gewinnen, bevor sie die physischen Fahrzeuge in der realen Welt einsetzen. „Simulationen sind ein kostengünstigeres Mittel, um Softwareänderungen zu validieren, als ein Fahrzeug auf die Teststrecke zu bringen“, sagt Perrett. „Dies verkürzt die Iterationszeit für die Ingenieure und trägt dazu bei, die Sicherheit und Softwarequalität in einem kürzeren Zeitrahmen zu verbessern.“

Apropos Zeitrahmen: Die Fähigkeit von Level 5, Millionen von Simulationen durchzuführen, deutet auf spannende Entwicklungen hin. Mit einer Kombination aus Amazon-EC2-Spot-Instances und Amazon EKS sowie anderen AWS-Services bringt Lyft der Welt selbstfahrende Autos näher, die den Zugang zu sicheren und zuverlässigen Verkehrsmitteln verbessern.


Über Lyft

Lyft, eines der größten Verkehrsnetzwerke in den Vereinigten Staaten und Kanada, hat eine Mission: das Leben der Menschen mit den besten Transportangeboten der Welt zu verbessern. Es bietet die Vermittlung von Fahrdienstleistungen, Elektrorollern, Bikesharing-Systeme und Partnerschaften mit dem öffentlichen Nahverkehr.

Vorteile von AWS

● Senkung der Computing-Kosten um zwei Drittel
● Erhebliche Steigerung der Computing-Kapazität
● Beschleunigung der Entwicklung für AVs
 


Genutzte AWS-Services

Amazon EC2

Der Web-Service Amazon Elastic Compute Cloud (Amazon EC2) stellt sichere, skalierbare Rechenkapazitäten in der Cloud bereit. Der Service ist darauf ausgelegt, Web-Scale-Cloud-Computing für Entwickler zu erleichtern.

Weitere Informationen »

Amazon EC2-Spot-Instances

Mit Amazon EC2 Spot-Instances können Sie die Vorteile nicht genutzter EC2-Kapazitäten in der AWS Cloud nutzen. Spot-Instances sind mit einem Rabatt von bis zu 90 % im Vergleich zum On-Demand-Preis verfügbar. Sie können Spot-Instances für verschiedene zustandlose, fehlertolerante oder flexible Anwendungen verwenden.

Weitere Informationen »

Amazon EKS

Amazon EKS ist ein vollständig verwalteter Kubernetes-Service. EKS läuft im vorgelagerten Kubernetes und ist für Kubernetes zertifiziert, sodass Sie alle Vorteile von Open-Source-Tools von der Community nutzen können.

Weitere Informationen »


Erste Schritte

Unternehmen jeder Größe und aus jeder Branche transformieren ihr Geschäft mit AWS. Kontaktieren Sie unsere Experten und beginnen Sie noch heute damit, AWS Cloud kennen zu lernen.