クラウドで迅速なチップデザイン
ライセンス・ファースト・アプローチによるスケジューリングと リソース管理の強化
企業情報
Annapurna Labs は、ファブレスチップのスタートアップ企業として 2011 年に設立されました。 急成長するクラウドインフラにイノベーションをもたらすことに注力し、設立 4 年後、Annapurna Labs は Amazon Web Services(AWS)に買収されました。以来 Annapurna Labs はイノベー ションを加速させ、AWS Nitro テクノロジー、Inferentia カスタム機械学習チップ、64 ビット Arm Neoverseアーキテクチャの専用クラウドサーバーをベースにしたAWS Graviton2プロセッ サなど、クラウドのユーザー様に向けた数多くの製品を開発してきました。
課題
チップデザイン企業にとって、市場投入までの時間とエンジニアリングの効率性は、最も重要かつ金額を左右する指標です。こうした考えのもと、Annapurna Labs社のチームは、フロントエンドおよびバックエンドのワークフローにAltair Accelerator™(アルテア アクセラレータ)ジョブスケジューラを選択しました。同チームでは、多数の専用 Amazon Elastic Compute Cloud(EC2)インスタンス上でワークロードを管理しており、新しいオンデマンドインスタンスを手動で追加してスケールアップを行っていました。しかし、このプロセスは自動化されておらず、煩雑さ、非効率、未使用のコンピュートリソースの放置、スケーリング不足や過剰なスケーリング等の原因となっていました。
“Altair Acceleratorのライセンス・ファースト・アプローチのスケジューリング手法により、リソース管理を強化し、使用とコストを適切にコントロールできるようになっただけでなく、Continuous Integration開発フローにより、生産性と製品化までの時間を劇的に改善しました。”
– Nafea Bshara, Annapurna Labs
ソリューション
Annapurna LabsはAcceleratorの機能「Rapid Scaling unused compute resources」を共同開発し、AWSのコンピュートリソースのスケーリングのための仕掛けと効率化を追加、結果が出るまでの時間を短縮、さらに開発モデルをContinuous Integrationに変更しました。
Rapid Scalingは、需要があるときだけ自動的に新しいインスタンスを起動し、その需要が処理されていく速度を見て、速度が十分であればスケールアップを停止します。つまり、スピードとコストの両面から最適な処理を行えます。また、Acceleratorは、ライセンスファーストのスケジューリング手法により、ライセンスを待つワークロードとハードウェアを待つワークロードを効率的に区別できます。ワークロードがハードウェアを待っている場合にのみ、AWSインスタンスをリクエストする意味があります。すべてのリソースは、アイドル状態が1分間続くと解放されます。
Annapurna Labs社の協力により、インスタンスタイプの選択、Spot Instanceのサポート、インスタンスタイプが飽和するなどのエラーへの対処、/tmpのサイズ、新しいインスタンスごとに実行できるジョブ数の微調整など、多くの機能が追加されました。
EDA(Electronic Design Automation)のジョブは通常短時間で、インスタンスのスピンアップ時間はジョブの実行時間と匹敵します。ワークロードの速度とスピンアップコストを把握することで、行き過ぎを回避するRapid Scalingが可能になります。最新のコンピュート、ストレージ、ネットワーク技術をベースに構築されたAmazon EC2は、高いパフォーマンスとセキュリティを備え、最も幅広く深いインスタンスの選択肢を提供します。Rapid Scalingは、ジョブのリソース要求を最適なインスタンスにマッピングします。
AWSには高い順応性がありますが、特定のインスタンスタイプが利用できない場合があります。Rapid Scalingは、第一候補のインスタンスが利用できない場合、バックアップのインスタンスタイプを選択する方法を理解しています。ワークロードの急増が終わると、アイドル状態のインスタンスが終了します。この柔軟性は、AWSのリザーブドインスタンス、オンデマンドインスタンス、スポットインスタンスの概念にうまく対応しています。
結果
Rapid Scalingの導入により、Annapurna Labsは少なくとも50%のコスト削減を実現しました。さらに、Rapid ScalingがAnnapurna Labsのチップ開発のContinuous Integrationフローの一部となったことで、より迅速で継続的な追加開発を実現しています。Annapurna Labsは、引き続きコストを厳しく管理し、プロジェクトやユーザーのリソース使用状況を詳細に把握することで業務に役立てています。