Konfiguration von räumlichen Domänen - AWS SimSpace Weaver

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfiguration von räumlichen Domänen

Für räumliche Domänen müssen Sie eine angebenpartitioning_strategy. Der Wert dieser Eigenschaft ist der Name, den Sie einer Partitionierungsstrategie gegeben haben, die Sie in einem anderen Teil des Schemas definiert haben.

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
Anmerkung

SimSpace Weaver Projekte der SDK App-Version 1.12.x verwenden separate Buckets für die ZIP-Dateien der App und das Schema:

  • Weber-lowercase-project-name-account-number-app-reißverschlüsse-region

  • Weber-lowercase-project-name-account-number-Schemata-region

Eine Partitionierungsstrategie mit einer Grid Topologie (die einzige Topologie, die in dieser Version unterstützt wird) zielt darauf ab, räumliche App-Partitionen dieser Domäne in einem Raster SimSpace Weaver anzuordnen. Die grid_partition Eigenschaft gibt die Anzahl der Zeilen und Spalten des Partitionsrasters an.

SimSpace Weaver startet für jede Zelle im Partitionsraster eine Instanz der Spatial-App. Wenn eine räumliche Domäne beispielsweise grid_partition Werte hat x: 2 und y: 2 es 2* 2 = 4 Partitionen in der räumlichen Domäne gibt. SimSpace Weaver startet 4 Instanzen der App, die in der räumlichen Domäne konfiguriert sind, und weist jeder App-Instanz eine Partition zu.

Ressourcenanforderungen für räumliche Domänen

Sie können jedem Mitarbeiter bis zu 17 Rechenressourceneinheiten zuweisen. Sie geben im app_config Abschnitt Ihrer räumlichen Domäne die Anzahl der Rechenressourceneinheiten an, die jede Geodaten-App verwendet.

Beispiel Schemaausschnitt, der die Rechenressourceneinheiten für eine Geodaten-App zeigt
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

Um die Anzahl der Rechenressourceneinheiten zu berechnen, die eine Domain benötigt, multiplizieren Sie die Anzahl der Zellen in Ihrem Grid (in Ihremgrid_partition, x *y) mit der Anzahl der Rechenressourceneinheiten, die den Geo-Apps zugewiesen sind.

Für das vorherige Beispiel MySpatialDomain gibt die Domäne Folgendes an:

  • x: 2

  • y: 2

  • compute: 1

Das Raster für MySpatialDomain hat 2 * 2 = 4 Zellen. Die räumliche Domäne benötigt 4 * 1 = 4 Rechenressourceneinheiten.

Die Gesamtzahl der Rechenressourceneinheiten für alle in Ihrem Schema angegebenen Domänen muss kleiner oder gleich der desired Anzahl der Worker multipliziert mit der maximalen Anzahl von Rechenressourceneinheiten für jeden Worker (17) sein.

Mehrere räumliche Domänen

Sie können Ihre Simulation so konfigurieren, dass mehr als eine räumliche Domäne verwendet wird. Sie können beispielsweise einen räumlichen Bereich verwenden, um die Hauptakteure einer Simulation (z. B. Menschen und Autos) zu steuern, und einen anderen räumlichen Bereich, um die Umgebung zu kontrollieren.

Sie können auch mehrere räumliche Domänen verwenden, um verschiedenen Teilen Ihrer Simulation unterschiedliche Ressourcen zuzuweisen. Wenn Ihre Simulation beispielsweise einen Entitätstyp hat, der zehnmal mehr Entitätsinstanzen als ein anderer Typ hat, können Sie verschiedene Domänen erstellen, um jeden Entitätstyp zu behandeln, und der Domäne mit mehr Entitäten mehr Ressourcen zuweisen.

Wichtig

SimSpace Weaver Versionen vor 1.14.0 unterstützen nicht mehrere räumliche Domänen.

Wichtig

AWS SimSpace Weaver Local unterstützt derzeit nicht mehrere räumliche Domänen. Weitere Informationen zur SimSpace Weaver Local, finden Sie unter Lokale Entwicklung in SimSpace Weaver.

Wichtig

SimSpace Weaver unterstützt bis zu 5 Domänen für jede Simulation. Dies umfasst alle räumlichen, benutzerdefinierten und Dienstdomänen.

Konfigurieren Sie mehrere räumliche Domänen

Um mehr als eine räumliche Domäne zu konfigurieren, fügen Sie die anderen räumlichen Domänendefinitionen als separate benannte Abschnitte in Ihrem Schema hinzu. Jede Domäne muss den launch_apps_by_partitioning_strategy Schlüssel angeben. Sehen Sie sich das folgende Beispielschema an.

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

Räumliche Domänen zusammenfügen

In einigen Szenarien möchten Sie möglicherweise Partitionen für eine räumliche Domäne auf Workern neben Partitionen aus einer anderen Domäne platzieren. Dies kann die Leistungsmerkmale verbessern, wenn diese Partitionen domänenübergreifende Abonnements für einander erstellen.

Fügen Sie Ihrem Schema den Schlüssel placement_constraints der obersten Ebene hinzu, um anzugeben, welche Domänen zusammen platziert SimSpace Weaver werden sollen. Der erforderliche on_workers Schlüssel muss sich auf eine benannte workers Konfiguration im Schema beziehen.

Beispiel Schemaausschnitt, der zusammengesetzte räumliche Domänen zeigt
workers: MyComputeWorkers: type: "sim.c5.24xlarge" desired: 2 placement_constraints: - placed_together: ["MySpatialDomain", "MySecondSpatialDomain"] on_workers: ["MyComputeWorkers"]
Wichtig
  • Wenn Sie Platzierungsgruppen verwenden:

    • Stellen Sie sicher, dass x * y ein Vielfaches der Anzahl der Mitarbeiter ist.

    • Stellen Sie sicher, dass es sich bei den Werten der Platzierungsgruppe um gemeinsame Teiler für die Rasterabmessungen der Domänen handelt, die Sie zusammen platzieren.

  • Wenn Sie keine Platzierungsgruppen verwenden:

    • Stellen Sie sicher, dass eine Achse Ihrer räumlichen Domänengitter einen gemeinsamen Teiler hat, der der Anzahl der Arbeiter entspricht.

Weitere Informationen zu Platzierungsgruppen finden Sie unter. Partitionierungsstrategien

Häufig gestellte Fragen zu räumlichen Domänen

F1. Wie kann ich einer vorhandenen Simulation eine weitere räumliche Domäne hinzufügen?

  • Für eine laufende Simulation — Sie können die Konfiguration für eine laufende Simulation nicht ändern. Ändern Sie die Domänenkonfiguration im Schema, laden Sie das Schema und die App-Zip-Dateien hoch und starten Sie eine neue Simulation.

  • Für eine neue Simulation — Fügen Sie die Domänenkonfiguration zum Schema hinzu, laden Sie das Schema und die App-Zip-Dateien hoch und starten Sie die neue Simulation.

Problembehandlung bei räumlichen Domänen

Möglicherweise wird der folgende Fehler angezeigt, wenn Sie versuchen, Ihre Simulation zu starten, Ihre Domänenkonfiguration jedoch ungültig ist.

"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].\"}]"
Mögliche Ursachen
  • Das Schema weist Apps mehr Rechenressourceneinheiten zu, als Workern zur Verfügung stehen.

  • SimSpace Weaver kann keine Vereinbarung treffen, um Domänen auf Workern zusammen zu platzieren. Dies ist der Fall, wenn Sie mehrere räumliche Domänen angeben, es aber keinen gemeinsamen Teiler oder kein Vielfaches zwischen den Domänenrastern gibt (z. B. zwischen einem 2x4-Raster und einem 3x5-Raster).