View a markdown version of this page

Amazon ECS マネージドインスタンスの GPU 自動修復 - Amazon Elastic Container Service

Amazon ECS マネージドインスタンスの GPU 自動修復

Amazon ECS は、GPU ハードウェアを使用する Amazon ECS マネージドインスタンスの NVIDIA GPU ヘルスをモニタリングします。Amazon ECS は GPU ハードウェアの障害を検出すると、障害が発生しているインスタンスを自動的に置き換えることができます。GPU 自動修復は、Amazon ECS マネージドインスタンスではデフォルトで有効になっています。

仕組み

Amazon ECS は NVIDIA Data Center GPU Manager (DCGM) を使用して、GPU ハードウェアがあるマネージドインスタンスの NVIDIA GPU ヘルスをモニタリングします。DCGM が重大な GPU 障害を報告すると、Amazon ECS はそのインスタンスを異常としてマークします。

GPU 自動修復を有効にすると、Amazon ECS は異常インスタンスをスタートビフォーストップワークフローを使用して置き換えます。

  1. Amazon ECS は異常インスタンスを DRAINING に設定します。新しいタスクはそのインスタンスには配置されません。

  2. Amazon ECS は代替インスタンスをプロビジョニングします。

  3. Amazon ECS は既存のタスクを正常に停止させることができます。Amazon ECS はそのインスタンス上のタスクのタスク停止タイムアウトを優先します。

  4. ドレイン期間が終了すると、Amazon ECS は異常インスタンスを終了します。

Amazon ECS レートで修復アクションを制限することで、置き換えのカスケードを防ぎます。キャパシティープロバイダーに属するインスタンスのうち、一度に使用できる量は 20% までです。キャパシティープロバイダーに 9 つ未満のインスタンスがある場合、一度に最大 1 つのインスタンスのみがドレインされます。

GPU ヘルスのモニタリング

DescribeContainerInstances API を使用して GPU ヘルスを確認できます。詳細については、「Amazon ECS コンテナインスタンスの正常性をモニタリングする」を参照してください。Amazon ECS コンテナインスタンスのヘルス変更イベント を通じて GPU ヘルスの変化をモニタリングすることもできます。

モニタリングされた XID エラーコード

Amazon ECS は、次の NVIDIA Xid エラーコードをモニタリングします。Amazon ECS は、これらのエラーのいずれかを検出すると、そのインスタンスを異常としてマークし、インスタンスを置き換えます。

Xid 説明

46

GPU が処理を停止した

48

ダブルビット ECC エラー

54

補助電源コネクタが接続されていない

62

内部マイクロコントローラーの停止

64

GPU メモリの再マッピングの失敗

74

NVLink エラー

79

GPU がバスから落下した

95

メモリ隔離エラー

109

コンテキストスイッチのタイムアウト

110

GPU がバスから消えた

136

GPU メモリページの廃止制限を超えた

140

ECC 復旧不能エラー

142

修正不可能なエラーにより GPU メモリページが廃止された

143

修正可能なエラーしきい値により GPU メモリページが廃止された

151

GPU から CPU への相互接続エラー

155

GPU NVLink Flit CRC エラー

156

GPU NVLink レーンエラー

158

GPU InfoROM が破損した

XID エラーの詳細については、「NVIDIA GPU のデプロイおよび管理ドキュメント」の「Xid エラー」を参照してください。個々の XID メッセージの詳細については、「NVIDIA GPU Deployment and Management Documentation」の「Understanding Xid Messages」を参照してください。

自動修復の無効化

GPU 自動修復は、Amazon ECS マネージドインスタンスではデフォルトで有効になっています。GPU 自動修復を無効にするには、キャパシティープロバイダーを作成または更新するときに、autoRepairConfigurationactionsStatusDISABLED に設定します。キャパシティープロバイダーを作成または更新するときに、Amazon ECS コンソールで GPU 自動修復を無効にすることもできます。

GPU 自動修復が無効になっている場合、Amazon ECS は GPU ヘルスを引き続きモニタリングしますが、異常インスタンスの自動置換は行いません。

注記

GPU 自動修復を無効にすると、Amazon ECS マネージドデーモン自動修復も無効になります。詳細については、「Amazon ECS マネージドデーモン自動修復」を参照してください。

GPU 自動修復を無効にする方法

aws ecs update-capacity-provider \ --name my-gpu-capacity-provider \ --managed-instances-provider '{ "infrastructureRoleArn": "arn:aws:iam::111122223333:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::111122223333:instance-profile/ecsInstanceRole", "networkConfiguration": { "subnets": ["subnet-0123456789abcdef0"], "securityGroups": ["sg-0123456789abcdef0"] } }, "autoRepairConfiguration": { "actionsStatus": "DISABLED" } }'

GPU 自動修復を有効にする方法

aws ecs update-capacity-provider \ --name my-gpu-capacity-provider \ --managed-instances-provider '{ "infrastructureRoleArn": "arn:aws:iam::111122223333:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::111122223333:instance-profile/ecsInstanceRole", "networkConfiguration": { "subnets": ["subnet-0123456789abcdef0"], "securityGroups": ["sg-0123456789abcdef0"] } }, "autoRepairConfiguration": { "actionsStatus": "ENABLED" } }'

設定を確認する方法

aws ecs describe-capacity-providers \ --capacity-providers my-gpu-capacity-provider