空間ドメインの設定 - AWS SimSpace Weaver

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

空間ドメインの設定

空間ドメインの場合は、partitioning_strategy を指定する必要があります。このプロパティの値は、スキーマの別の部分で定義したパーティショニング戦略に付けた名前です。

MySpatialDomain: launch_apps_by_partitioning_strategy: partitioning_strategy: "MyGridPartitioning" grid_partition: x: 2 y: 2 app_config: package: "s3://weaver-myproject-111122223333-us-west-2/MySpatialApp.zip" launch_command: ["MySpatialApp"] required_resource_units: compute: 1
注記

SimSpace Weaver アプリケーション SDK バージョン 1.12.x プロジェクトでは、アプリケーション .zip ファイルとスキーマに別々のバケットを使用します。

  • weaver-lowercase-project-name-account-number-app-zips-region

  • weaver-lowercase-project-name-account-number-schemas-region

Grid トポロジ (このリリースでサポートされている唯一のトポロジ) を使用したパーティショニング戦略は、 SimSpace Weaver にこのドメインの空間アプリケーションパーティションをグリッドに配置するように指示します。grid_partition プロパティは、パーティショングリッドの行数と列数を指定します。

SimSpace Weaver は、パーティショングリッド内のセルごとに空間アプリケーションのインスタンスを 1 つ起動します。例えば、空間ドメインにgrid_partitionx: 2と がある場合y: 2、空間ドメインには 2 * 2 = 4 のパーティションがあります。 は、空間ドメインで設定されたアプリケーションの 4 つのインスタンスを起動し、各アプリケーションインスタンスに 1 つのパーティションを割り当て SimSpace Weaver ます。

空間ドメインのリソース要件

各ワーカーには最大 17 コンピュートリソースユニットを割り当てることができます。空間ドメインの app_config セクションで、各空間アプリケーションが使用するコンピュートリソースユニットの数を指定します。

例 空間アプリケーションのコンピュートリソースユニットを示すスキーマスニペット
MySpatialDomain: launch_apps_by_partitioning_strategy: partitioning_strategy: "MyGridPartitioning" grid_partition: x: 2 y: 2 app_config: package: "s3://weaver-myproject-111122223333-artifacts-us-west-2/MySpatialApp.zip" launch_command: ["MySpatialApp"] required_resource_units: compute: 1

ドメインが必要とするコンピュートリソースユニットの数を計算するには、グリッド内のセル数 (grid_partition 内で x * y) に、空間アプリケーションに割り当てられたコンピュートリソースユニットの数を掛けます。

前の例では、ドメイン MySpatialDomain は以下を指定します。

  • x: 2

  • y: 2

  • compute: 1

MySpatialDomain のグリッドには 2 * 2 = 4 個のセルがあります。空間ドメインには 4 * 1 = 4 のコンピュートリソースユニットが必要です。

スキーマで指定する全ドメインのコンピュートリソースユニットの総数は、ワーカー数に各ワーカーのコンピュートリソースユニットの最大数 (17) を掛けた desired の数以下でなければなりません。

複数の空間ドメイン

複数の空間ドメインを使用するようにシミュレーションを設定できます。例えば、1 つの空間ドメインを使用してシミュレーションの主なアクター (人や車など) を制御し、別の空間ドメインを使用して環境を制御できます。

また、複数の空間ドメインを使用して、シミュレーションのさまざまな部分に異なるリソースを割り当てることもできます。例えば、あるタイプのエンティティが他のタイプの 10 倍のエンティティインスタンスを持つタイプのエンティティの場合、エンティティタイプごとに異なるドメインを作成して各エンティティタイプを処理し、そのエンティティの数が多いドメインにより多くのリソースを割り当てることができます。

重要

SimSpace Weaver 1.14.0 より前の バージョンでは、複数の空間ドメインをサポートしていません。

重要

AWS SimSpace Weaver Local は現在、複数の空間ドメインをサポートしていません。SimSpace Weaver Local の詳細については、「でのローカル開発 SimSpace Weaver」を参照してください。

重要

SimSpace Weaver は、シミュレーションごとに最大 5 つのドメインをサポートします。これには、すべての空間ドメイン、カスタムドメイン、およびサービスドメインが含まれます。

複数の空間ドメインを設定する

複数の空間ドメインを設定するには、他の空間ドメイン定義を個別の名前付きセクションとしてスキーマに追加します。各ドメインは launch_apps_by_partitioning_strategy キーを指定する必要があります。次のスキーマの例を参照してください。

sdk_version: "1.14" workers: MyComputeWorkers: type: "sim.c5.24xlarge" desired: 1 clock: tick_rate: "30" partitioning_strategies: MyGridPartitioning: topology: Grid aabb_bounds: x: [0, 1000] y: [0, 1000] domains: MySpatialDomain: launch_apps_by_partitioning_strategy: partitioning_strategy: "MyGridPartitioning" grid_partition: x: 2 y: 2 app_config: package: "s3://weaver-myproject-111122223333-artifacts-us-west-2/MySpatialApp.zip" launch_command: ["MySpatialApp"] required_resource_units: compute: 1 MySecondSpatialDomain: launch_apps_by_partitioning_strategy: partitioning_strategy: "MyGridPartitioning" grid_partition: x: 2 y: 2 app_config: package: "s3://weaver-myproject-111122223333-artifacts-us-west-2/MySpatialApp2.zip" launch_command: ["MySpatialApp2"] required_resource_units: compute: 1

空間ドメインをまとめて配置する

シナリオによっては、空間ドメインのパーティションを別のドメインのパーティションの隣に配置する場合があります。これにより、これらのパーティションが相互にクロスドメインサブスクリプションを作成する場合に、パフォーマンス特性が向上する可能性があります。

最上位キーplacement_constraintsをスキーマに追加して、どのドメインを一緒に配置 SimSpace Weaver するかを指定します。必要な on_workers キーは、スキーマ内の名前付き workers 設定を参照している必要があります。

例 空間ドメインをまとめて配置したスキーマスニペット
workers: MyComputeWorkers: type: "sim.c5.24xlarge" desired: 2 placement_constraints: - placed_together: ["MySpatialDomain", "MySecondSpatialDomain"] on_workers: ["MyComputeWorkers"]
重要
  • 配置グループを使用する場合:

    • x * y がワーカー数の倍数であることを確認します。

    • 配置グループの値が、まとめて配置するドメインのグリッド寸法の共通除数であることを確認します。

  • プレイスメントグループを使用しない場合:

    • 空間ドメイングリッドの 1 つの軸に、ワーカー数と等しい公約数があることを確認します。

グループ配置の詳細については、「パーティショニング戦略」を参照してください。

空間ドメインに関するよくある質問

Q1. 既存のシミュレーションに別の空間ドメインを追加する方法を教えてください。

  • 実行中のシミュレーションの場合 — 実行中のシミュレーションの設定は変更できません。スキーマのドメイン設定を変更し、スキーマとアプリケーションの zip をアップロードして、新しいシミュレーションを開始します。

  • 新しいシミュレーションの場合 — ドメイン設定をスキーマに追加し、スキーマとアプリケーション zip をアップロードして、新しいシミュレーションを開始します。

空間ドメインのトラブルシューティング

ドメインの設定が無効な状態でシミュレーションを開始しようとすると、以下のエラーが表示される可能性があります。

"StartError": "[{\"errorType\":\"SchemaFormatInvalid\",\"errorMessage\":
    \"We were unable to determine an arrangement of your domains that would fit 
    within the provided set of workers. This can generally be resolved by 
    increasing the number of workers if able, decreasing your domains\u0027 
    [\u0027\u0027grid_partition\u0027\u0027] values, or adjusting the 
    dimensions of your [\u0027\u0027grid_placement_groups\u0027\u0027].\"}]"
可能性のある原因
  • スキーマが、ワーカーで使用可能な量よりも多くのコンピュートリソースユニットをアプリケーションに割り当てています。

  • SimSpace Weaver は、ワーカーにドメインをまとめる配置を決定できません。これは、複数の空間ドメインを指定しても、ドメイングリッド間に共通の除数や倍数がない場合 (2x4 グリッドと 3x5 グリッドの間など) に発生します。