Configurazione dei domini spaziali - AWS SimSpace Weaver

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione dei domini spaziali

Per i domini spaziali, è necessario specificare un. partitioning_strategy Il valore di questa proprietà è il nome assegnato a una strategia di partizionamento definita in un'altra parte dello schema.

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
Nota

SimSpace Weaver I progetti app SDK versione 1.12.x utilizzano bucket separati per i file.zip dell'app e lo schema:

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

  • weaver- minuscolo-nome-progetto - numero-conto -schemi- regione

Una strategia di partizionamento con una Grid topologia (l'unica topologia supportata in questa versione) consente di disporre le partizioni spaziali delle app di questo dominio in una griglia. SimSpace Weaver La grid_partition proprietà specifica il numero di righe e colonne della griglia di partizione.

SimSpace Weaver avvierà 1 istanza dell'app spaziale per ogni cella nella griglia di partizione. Ad esempio, se un dominio spaziale ha grid_partition valori x: 2 e y: 2 ci sono 2 * 2 = 4 partizioni nel dominio spaziale. SimSpace Weaver avvierà 4 istanze dell'app configurate nel dominio spaziale e assegnerà 1 partizione a ciascuna istanza dell'app.

Requisiti di risorse per i domini spaziali

È possibile assegnare fino a 17 unità di risorse di calcolo per ogni lavoratore. Specificate il numero di unità di risorse di calcolo utilizzate da ogni app spaziale nella app_config sezione del vostro dominio spaziale.

Esempio frammento di schema che mostra le unità di risorse di calcolo per un'app spaziale
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

Per calcolare il numero di unità di risorse di calcolo richieste da un dominio, moltiplica il numero di celle nella griglia (nel tuogrid_partition, x *y) per il numero di unità di risorse di calcolo assegnate alle app spaziali.

Nell'esempio precedente, il dominio specifica: MySpatialDomain

  • x: 2

  • y: 2

  • compute: 1

La griglia per MySpatialDomain ha 2* 2 = 4 celle. Il dominio spaziale richiede 4* 1 = 4 unità di risorse di calcolo.

Il numero totale di unità di risorse di calcolo per tutti i domini specificati nello schema deve essere inferiore o uguale al numero di worker moltiplicato per il desired numero massimo di unità di risorse di calcolo per ogni lavoratore (17).

Domini spaziali multipli

È possibile configurare la simulazione per utilizzare più di un dominio spaziale. Ad esempio, puoi utilizzare 1 dominio spaziale per controllare gli attori principali di una simulazione (come persone e automobili) e un dominio spaziale diverso per controllare l'ambiente.

Puoi anche utilizzare più domini spaziali per assegnare risorse diverse a diverse parti della simulazione. Ad esempio, se la simulazione ha un tipo di entità che ha 10 volte più istanze di entità rispetto a un altro tipo, è possibile creare domini diversi per gestire ciascun tipo di entità e allocare più risorse per il dominio con più entità.

Importante

SimSpace Weaver le versioni precedenti alla 1.14.0 non supportano più domini spaziali.

Importante

AWS SimSpace Weaver Localattualmente non supporta più domini spaziali. Per ulteriori informazioni su SimSpace Weaver Local, consulta Sviluppo locale in SimSpace Weaver.

Importante

SimSpace Weaver supporta fino a 5 domini per ogni simulazione. Ciò include tutti i domini spaziali, personalizzati e di servizio.

Configura più domini spaziali

Per configurare più di un dominio spaziale, aggiungi le altre definizioni di dominio spaziale come sezioni denominate separate nello schema. Ogni dominio deve specificare la chiave. launch_apps_by_partitioning_strategy Vedi lo schema di esempio seguente.

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

Collocazione di domini spaziali

In alcuni scenari, potresti voler posizionare le partizioni per un dominio spaziale sui worker accanto alle partizioni di un altro dominio. Ciò può migliorare le caratteristiche prestazionali se tali partizioni creano sottoscrizioni tra domini diversi.

Aggiungi la chiave placement_constraints di primo livello allo schema per specificare quali domini SimSpace Weaver devono essere messi insieme. La on_workers chiave richiesta deve fare riferimento a una workers configurazione denominata nello schema.

Esempio frammento di schema che mostra i domini spaziali messi insieme
workers: MyComputeWorkers: type: "sim.c5.24xlarge" desired: 2 placement_constraints: - placed_together: ["MySpatialDomain", "MySecondSpatialDomain"] on_workers: ["MyComputeWorkers"]
Importante
  • Se si utilizzano gruppi di collocamento:

    • Assicurati che x * y sia un multiplo del numero di lavoratori.

    • Assicurati che i valori del gruppo di posizionamento siano divisori comuni per le dimensioni della griglia dei domini che metti insieme.

  • Se non utilizzi i gruppi di collocamento:

    • Assicurati che 1 asse delle griglie del dominio spaziale abbia un divisore comune uguale al numero di lavoratori.

Per ulteriori informazioni sui gruppi di collocamento, vedere. Strategie di partizionamento

Domande frequenti sui domini spaziali

D1. Come posso aggiungere un altro dominio spaziale a una simulazione esistente?

  • Per una simulazione in esecuzione: non è possibile modificare la configurazione di una simulazione di esecuzione. Modifica la configurazione del dominio nello schema, carica lo schema e gli zip dell'app e avvia una nuova simulazione.

  • Per una nuova simulazione: aggiungi la configurazione del dominio allo schema, carica lo schema e gli zip dell'app e avvia la nuova simulazione.

Risoluzione dei problemi relativi ai domini spaziali

È possibile che venga visualizzato il seguente errore quando si tenta di avviare la simulazione ma la configurazione del dominio non è valida.

"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].\"}]"
Cause potenziali
  • Lo schema alloca per le app un numero di unità di risorse di calcolo superiore a quello disponibile per i worker.

  • SimSpace Weaver non è in grado di stabilire una disposizione per l'assegnazione dei domini ai lavoratori. Ciò accade quando si specificano più domini spaziali ma non esiste un divisore o un multiplo comune tra le griglie di dominio, ad esempio tra una griglia 2x4 e una griglia 3x5).