Lyft が Amazon EC2 スポットインスタンスを使用してシミュレーション能力を高め、コストを削減
2020 年
Lyft は、米国とカナダにおける最大規模の輸送ネットワーク企業であり、世界最高の輸送を通じた人々の暮らしの向上を使命としています。ライドシェア、自転車シェアシステム、電動スクーター、公共交通機関とのパートナーシップに重点を置きつつ、2017 年には使命を果たすための取り組みの一環として、レベル 5 自動運転車 (AV) 部門を発足させました。Lyft のエンジニアは、AV フリートから収集したペタバイト規模のデータを使用して年間数百万件のシミュレーションを実行し、自動運転システムの性能と安全性の向上を図っています。
しかし、このようなシミュレーションはコンピューティング負荷が高いことから、Lyft は、手頃な料金でスケールアップとスケールダウンが可能な、きわめて高いコンピューティング能力が必要になることを予見していました。2012 年に設立して以来、ライドシェアのプラットフォームとしてアマゾン ウェブ サービス (AWS) を使用していた同社は、コンピューティング性能の増強とコスト削減のため、再び AWS を利用することにしました。AV のシミュレーションワークロードには最終的に Amazon Elastic Compute Cloud (Amazon EC2) スポットインスタンスと Amazon Elastic Kubernetes Service (Amazon EKS) を組み合わせて活用することを選択しました。
当社のコンピューティングフリートの約 77% は、現在 Amazon EC2 スポットインスタンスで実行されています。コンピューティング性能を大幅にスケールアップしながら、オペレーションの全体的コストを下げることができました。
シミュレーションを Amazon EC2 スポットインスタンスで実行
自動運転レベル 5 の実用化に向けて、さまざまな運転状況に対する AV の反応をテストし、改善していくためには、数千基のグラフィックス処理ユニット (GPU) でシミュレーションを並行処理することが欠かせません。Lyft レベル 5 部門のシニアスタッフエンジニアである Timothy Perrett 氏は次のように言います。「シミュレーションは、当社のソフトウェアの安全性を、実際の使用前に改善するために欠かせません。テストコースで使用する場合にも同様です」。シミュレーションの状況 (速度、姿勢、車体力学の変化など) を検討するには、テストを何度も繰り返す必要があり、したがって、柔軟性に富んだコンピューティングが必要になります。
レベル 5 部門が必要とするコンピューティングが、ライドシェア部門が必要とするそれとは全く異なるであろうことは、最初から明らかでした。「レベル 5 部門には、他の部門とは異なるニーズと制約があります。当部門のコンピューティングに必要なことの大半は、短時間だけ急増する大規模なバッチ式ワークロードへの対処に関することです。最大負荷時には一気に勢いを増し、未使用時にはすべてがすぐに停止するといった能力が必要なのです」。
オンプレミスの中央処理装置と GPU に投資することは可能でしたが、チームに AWS の使用経験があったことから、AWS クラウドを選びました。そして、試験的な使用が始まります。レベル 5 部門のエンジニアはまず、Amazon EC2 オンデマンドインスタンスの機能を、AWS が提供しているフルマネージドの Kubernetes サービスである Amazon EKS と併せて使用しました。
オンデマンドインスタンスを使用して複数のシミュレーションを試験実行した結果、レベル 5 部門はすぐに、Amazon EC2 スポットインスタンスに移行すれば効率を改善しつつコストを下げられることに気付きました。現在は、同部門のシミュレーションの 90% 以上が Amazon EC2 スポットインスタンス (NVIDIA V100 Tensor Core GPU を活用した Amazon EC2 P3 インスタンスを含む) で実行されています。このようにして AWS クラウドの未使用の Amazon EC2 容量を活用している Lyft は、コンピューティングの料金をオンデマンドに比べ最大 70% 節約できています。Perrett 氏は、「Amazon EC2 スポットインスタンスを使用して実験した際、当社のプログラムがすばやく拡張するとき、運用コストを大幅に削減する機会があることに気付きました」と言います。
シミュレーションの効率的な実行が可能に
レベル 5 部門は、シミュレーションのワークロードを分散することで (Perrett 氏が「クレバーダンス (clever dance)」と呼ぶ方法)、需要の増加により Amazon EC2 スポットインスタンスを使用できないときでもシミュレーションを実行できるようにしました。エンジニアリングスタッフは、どのクラスターが、そしてクラスター内のどのプールが効率的に実行されているかを観察し、リージョンごとの使用状況にも注目しました。「ある特定の日のあるリソースプールにどのように作業を割り当て、また再割り当てするか、という点で以前よりも賢くなりました」と Perrett 氏は言います。チームは、Amazon EKS で優先順位付けを行ってリソースプールを拡張し、ジョブが効率的にインスタンスを使用できるようにしました。
また、エンジニアリングチームもシステムを注意深く設計し、利用可能なものに応じて、さまざまなハードウェアでシミュレーションを実行できるようにしました。Lyft ではこれを、フリートダイバーシティと呼んでいます。Perrett 氏は次のように説明します。「多大な努力を払って、Amazon EC2 P3 インスタンスや Amazon EC2 P2 インスタンスなど、どのタイプのインスタンスが利用できる場合でもスタックが機能するようにしました」。 この柔軟性により、レベル 5 部門のエンジニアは、需要が増加したときでも待たされることなくシミュレーションの予定を組めています。
また Lyft では、シミュレーションと AV フリートから収集した膨大なデータを管理する必要があります。試験車両に搭載したセンサーと共に増加を続けるデータセットの保存とアクセスには、Amazon Simple Storage Service (Amazon S3) を活用しています。レベル 5 部門では当初、AV やシミュレーションから得られたペタバイト規模の情報のすべてを収集、保存し、クラウドに直接転送していましたが、これには高いコストがかかっていました。そのコストを削減するため、Lyft は、レベル 5 部門のエンジニアリングセンターとクラウドシステムをつなぐ専用のネットワーク接続に、AWS Direct Connect を使用しています。「当社には、AV フリートが稼働している場所に接続された超大容量のネットワークがあります。そして、1 ペタバイトあたりのコストを大幅に抑えながら、データをアップロードしています」と Perrett 氏は言います。
Amazon EC2 スポットインスタンスでシミュレーションのトラフィックを慎重に分離し転送することにより、レベル 5 部門のエンジニアリングチームは、シミュレーションのコストを 1 回あたりわずか数セントにまで下げることができました。「レベル 5 部門の全ワークロードにおけるコンピューティングフリートの約 77%、そして AV シミュレーションワークロードの 90% 以上が、現在 Amazon EC2 スポットインスタンスで実行されており、全体的なコストは約 3 分の 2 削減されました。こうして、コンピューティング能力を大幅にスケールアップしながら、オペレーションの全体的コストを下げることができました」と Perrett 氏は言います。
未来に向けた輸送
AWS で大幅にコストを下げながら数百万件のシミュレーションを実行できるようになったことで、Lyft のエンジニアリングチームは、オフィスにいながらテストを実行することが可能になり、スタッフはソフトウェアの変更に自信を持った状態で、実際の車両走行に臨めるようになりました。「シミュレーションは、ソフトウェアの変更を検証するのに、車両をテストコースに運ぶよりもコスト効率が高い手段です。それによって、エンジニアリングスタッフは反復作業の時間を短縮でき、より短期間で安全性とソフトウェア品質を改善できます」と Perrett 氏は言います。
何百万件ものシミュレーションを実行できるようになったレベル 5 部門は、刺激に満ちた今後の発展を見据えています。Amazon EC2 スポットインスタンスと Amazon EKS、さらに他の AWS のサービスを組み合わせて使用することで、Lyft は世界をまた一歩前進させています。同社の目指す先は、安全かつ信頼性の高い輸送が、自動運転車によってさらに利用しやすくなった未来です。
Lyft について
Lyft は、米国とカナダにおける最大規模の輸送ネットワーク企業であり、世界最高の輸送を通じた人々の暮らしの向上を使命としています。ライドシェア、電動スクーター、自転車シェアシステムといったサービスを提供しているほか、公共交通機関とパートナーシップを結んでいます。
AWS の利点
● コンピューティングコストを 3 分の 2 削減
● コンピューティング性能を大幅にスケールアップ
● AV の開発を高速化
使用されている AWS のサービス
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) は、安全でサイズ変更可能なコンピューティング性能をクラウド内で提供するウェブサービスです。デベロッパーがウェブスケールのクラウドコンピューティングを簡単に利用できるように設計されています。
Amazon EC2 スポットインスタンス
Amazon EC2 スポットインスタンスを使うと、AWS クラウド内の使用されていない EC2 キャパシティーを活用できます。スポットインスタンスは、オンデマンド料金の最大 90% 割引でご利用いただけます。スポットインスタンスは、ステートレス性、耐障害性、あるいは柔軟性のある各種アプリケーションに使用できます。
Amazon EKS
Amazon EKS は、フルマネージド Kubernetes サービスです。EKS はアップストリーム Kubernetes を実行し、Kubernetes 準拠として認定されているため、コミュニティによるオープンソースツールの利点をすべて活用できます。
開始方法
あらゆる業界のさまざまな規模のお客様が、AWS を活用してビジネスを日々変革しています。AWS のエキスパートにお問い合わせのうえ、今すぐ AWS クラウドジャーニーを開始しましょう。