Lyft aumenta la capacità di simulazione e riduce i costi utilizzando le istanze spot di Amazon EC2
2020
Lyft, una delle più grandi reti di trasporto negli Stati Uniti e in Canada, ha una missione: migliorare la vita delle persone offrendo il miglior servizio di trasporto del mondo. Come parte del suo impegno per raggiungere questa missione, nel 2017 Lyft ha lanciato Level 5, la propria divisione per i veicoli autonomi (AV) che si va ad aggiungere ai vari servizi offerti, che comprendono corse condivise, sistemi di bike sharing, scooter elettrici e partnership con il trasporto pubblico. Utilizzando petabyte di dati raccolti dalla flotta di AV dell'azienda, ogni anno i tecnici di Lyft eseguono milioni di simulazioni per migliorare le prestazioni e la sicurezza del proprio sistema di guida autonoma.
Tuttavia, tali simulazioni sono ad alta intensità di calcolo e presto Lyft si è resa conto di avere bisogno di un'enorme potenza di calcolo in grado di aumentare e ridimensionarsi a un prezzo accessibile. L'azienda, che utilizza Amazon Web Services (AWS) per la propria piattaforma di corse condivise sin dal suo lancio nel 2012, si è nuovamente rivolta ad AWS per aumentare la sua capacità di calcolo e ridurre i costi, scegliendo infine una combinazione di istanze spot Amazon Elastic Compute Cloud (Amazon EC2 ) e Amazon Elastic Kubernetes Service (Amazon EKS) per il carico di lavoro di simulazione degli AV.
Circa il 77% del nostro parco istanze di calcolo ora si trova sulle istanze spot di Amazon EC2. Abbiamo potuto aumentare notevolmente la nostra capacità di calcolo, riducendo al contempo i costi operativi complessivi".
Eseguire simulazioni con le istanze spot di Amazon EC2
L'esecuzione di simulazioni su migliaia di unità di elaborazione grafica (GPU) in parallelo è fondamentale affinché Level 5 riesca a testare e migliorare il modo in cui gli AV rispondono alle varie situazioni di guida. "La simulazione è uno dei modi principali per migliorare la sicurezza del nostro software prima che venga impiegato in qualsiasi modo, anche solo in una pista di prova", afferma Timothy Perrett, senior staff engineer presso Lyft Level 5. L'esplorazione dello spazio di simulazione (come la variazione di velocità, la posizione o la dinamica del veicolo) richiede test ripetuti e quindi molta flessibilità di calcolo.
Fin dall'inizio, è apparso chiaro che Level 5 avrebbe avuto esigenze informatiche molto diverse rispetto al business di Lyft basato sulle corse condivise. "Level 5 presenta esigenze e vincoli diversi", afferma Perrett. "La maggior parte delle nostre esigenze di calcolo riguarda l'elaborazione di carichi di lavoro di grandi dimensioni in stile batch con un profilo estremamente variabile. Abbiamo bisogno della capacità di crescere per soddisfare picchi di carico elevati, per poi ridimensionarci rapidamente quando l'esigenza decade".
Lyft avrebbe potuto investire in unità di elaborazione e GPU on-premise centralizzate, ma la precedente esperienza del team di Lyft su AWS ha decretato che il Cloud AWS fosse la scelta ideale. Pertanto, sono stati avviati i primi test. I tecnici di Level 5 hanno iniziato utilizzando la capacità delle istanze on demand di Amazon EC2, insieme ad Amazon EKS, il servizio Kubernetes completamente gestito offerto da AWS.
Dopo aver sperimentato l'esecuzione di simulazioni utilizzando le istanze on demand, il team di Lyft responsabile di Level 5 si è subito reso conto che poteva migliorare l'efficienza e ridurre i costi passando alle istanze spot di Amazon EC2. Adesso, oltre il 90% delle simulazioni viene eseguito su istanze spot Amazon EC2, comprese le istanze Amazon EC2 P3 basate su GPU NVIDIA V100 Tensor Core; in questo modo Lyft può sfruttare la capacità Amazon EC2 inutilizzata nel Cloud AWS con uno sconto fino al 70% rispetto ai prezzi on demand. "Quando abbiamo sperimentato l'esecuzione su istanze spot di Amazon EC2, ci siamo resi conto che, considerata la rapida crescita del nostro programma, avevamo l'opportunità di ridurre notevolmente i costi operativi", afferma Perrett.
Consentire alle simulazioni di funzionare in modo efficiente
Per garantire che le simulazioni continuino a essere eseguite anche quando le istanze spot di Amazon EC2 non sono disponibili a causa dell'elevata domanda, il team di Level 5 distribuisce il carico di lavoro di simulazione eseguendo quello che Perrett definisce un "balletto intelligente". I tecnici hanno osservato quali cluster (e quali pool all'interno di tali cluster) hanno funzionato in modo efficiente, tenendo conto dell'utilizzo regionale della zona. "Abbiamo imparato ad agire con maggiore intelligenza nell'allocare il lavoro e nel trasferire le operazioni in un determinato pool di risorse in un giorno specifico", osserva Perrett. Il team ha utilizzato Amazon EKS per assegnare le priorità e dimensionare i pool di risorse in modo che le operazioni utilizzassero le istanze in modo efficiente.
Inoltre, il team di tecnici è stato attento a progettare i sistemi in modo tale che le simulazioni funzionassero su una vasta gamma di hardware, in base a ciò che era disponibile, un concetto che Lyft chiama "diversità del parco istanze". Come spiegato da Perrett: "Ci siamo impegnati molto per far funzionare il nostro stack su qualsiasi tipo di istanza disponibile, ad esempio sulle istanze P3 di Amazon EC2 in luogo delle istanze P2 di Amazon EC2". Questa flessibilità aiuta i tecnici di Level 5 a evitare di temporeggiare per pianificare le simulazioni, anche quando la domanda è elevata.
Lyft deve anche gestire un'enorme quantità di dati raccolti dalle simulazioni e dalla sua flotta di AV e si avvale di Amazon Simple Storage Service (Amazon S3) per archiviare e accedere a un set di dati che è in continua espansione, poiché Lyft sta incrementando il numero di sensori sui suoi veicoli per condurre i test. La raccolta e l'archiviazione di tutte le informazioni dai suoi AV e dalle simulazioni ammontano a petabyte di dati, e il trasferimento di una tale mole di dati direttamente sul cloud, come ha fatto all'inizio il team di Level 5, si è rivelato costoso. Per ridurre tale costo, Lyft utilizza AWS Direct Connect, una connessione di rete dedicata tra il centro di ingegneria di Level 5 e i sistemi cloud. "Disponiamo di una rete ad altissima capacità che si collega ai luoghi in cui operiamo con la nostra flotta di AV", osserva Perrett. "Quindi, carichiamo i dati a un costo per petabyte molto inferiore".
Partizionando e indirizzando con attenzione il traffico di simulazione sulle istanze spot di Amazon EC2, il team di tecnici di Lyft responsabile di Level 5 ha ridotto il costo delle simulazioni a pochi centesimi per ciascuna esecuzione. "Quasi il 77% del nostro parco istanze di calcolo per tutti i carichi di lavoro di Level 5 (e oltre il 90% del nostro carico di lavoro di simulazione degli AV) ora si trova su istanze spot di Amazon EC2, con un risparmio complessivo sui costi di circa due terzi", afferma Perrett. "Abbiamo potuto aumentare notevolmente la nostra capacità di calcolo, riducendo al contempo i costi operativi complessivi".
Il trasporto per il futuro
L'esecuzione di milioni di simulazioni su AWS, con un notevole risparmio sui costi, consente al team di tecnici di Lyft di eseguire i test dall'interno dei propri uffici; in questo modo, il personale prende confidenza con le modifiche al software prima di portare i veicoli fisici nel mondo reale. "Le simulazioni rappresentano un mezzo più conveniente per convalidare le modifiche al software rispetto a portare un veicolo su una pista di prova", afferma Perrett. "Ciò migliora il tempo di iterazione per il personale tecnico e aiuta ad aumentare la sicurezza e la qualità del software in un orizzonte temporale più breve".
Parlando di orizzonti, la capacità di Level 5 di eseguire milioni di simulazioni evidenzia gli sviluppi entusiasmanti che ci attendono in futuro. Utilizzando una combinazione di istanze spot di Amazon EC2 e Amazon EKS, oltre ad altri servizi AWS, Lyft sta dando il proprio contributo a un mondo in cui le auto a guida autonoma consentiranno di usufruire di mezzi di trasporto sicuri e affidabili.
Informazioni su Lyft
Lyft, una delle più grandi reti di trasporto negli Stati Uniti e in Canada, ha una missione: migliorare la vita delle persone offrendo il miglior servizio di trasporto del mondo. Offre corse condivise, sistemi di bike sharing, scooter elettrici e partnership con il trasporto pubblico.
Vantaggi di AWS
● I costi di calcolo sono stati ridotti di due terzi
● La capacità di calcolo è notevolmente aumentata
● La velocità di sviluppo per gli AV è cresciuta
Servizi AWS utilizzati
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) è un servizio Web che fornisce capacità di elaborazione sicura e scalabile nel cloud. È concepito per rendere più semplice il cloud computing su scala Web per gli sviluppatori.
Istanze Spot di Amazon EC2
Le istanze Spot di Amazon EC2 ti permettono di sfruttare la capacità EC2 inutilizzata all'interno di AWS Cloud. Le istanze spot sono disponibili con prezzi scontati fino al 90% inferiori rispetto ai prezzi delle istanze on demand. Puoi utilizzare le istanze spot per diverse applicazioni stateless, tolleranti ai guasti o flessibili.
Amazon EKS
Amazon EKS è un servizio Kubernetes completamente gestito. EKS esegue Kubernetes a monte e offre compatibilità certificata per garantire tutti i vantaggi degli strumenti open source della community.
Nozioni di base
Le aziende di tutte le taglie e di tutti i settori stanno trasformando ogni giorno la propria attività grazie ad AWS. Contatta i nostri esperti e inizia subito il tuo viaggio in AWS Cloud