Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration de domaines spatiaux
Pour les domaines spatiaux, vous devez spécifier unpartitioning_strategy
. La valeur de cette propriété est le nom que vous avez donné à une stratégie de partitionnement que vous avez définie dans une autre partie du schéma.
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
Note
SimSpace Weaver les projets de SDK la version 1.12.x de l'application utilisent des compartiments distincts pour les fichiers .zip de l'application et le schéma :
tisserand-
lowercase-project-name
-account-number
-app-zips-region
tisserand-
lowercase-project-name
-account-number
-schémas-region
Une stratégie de partitionnement avec une Grid
topologie (la seule topologie prise en charge dans cette version) indique d' SimSpace Weaver organiser les partitions d'applications spatiales de ce domaine dans une grille. La grid_partition
propriété indique le nombre de lignes et de colonnes de la grille de partition.
SimSpace Weaver démarrera 1 instance de l'application spatiale pour chaque cellule de la grille de partition. Par exemple, si un domaine spatial comporte x: 2
y: 2
des grid_partition
valeurs et qu'il comporte 2 * 2 = 4 partitions. SimSpace Weaver démarrera 4 instances de l'application configurées dans le domaine spatial et attribuera une partition à chaque instance d'application.
Rubriques
Besoins en ressources pour les domaines spatiaux
Vous pouvez attribuer jusqu'à 17 unités de ressources de calcul à chaque travailleur. Vous spécifiez le nombre d'unités de ressources de calcul utilisées par chaque application spatiale dans la app_config
section de votre domaine spatial.
Exemple extrait de schéma montrant les unités de ressources de calcul pour une application spatiale
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
Pour calculer le nombre d'unités de ressources de calcul requises par un domaine, multipliez le nombre de cellules de votre grille (dans votregrid_partition
, x
*y
) par le nombre d'unités de ressources de calcul attribuées aux applications spatiales.
Dans l'exemple précédent, le domaine MySpatialDomain
spécifie :
x
:2
y
:2
compute
:1
La grille pour MySpatialDomain
comporte 2 * 2 = 4 cellules. Le domaine spatial nécessite 4 * 1 = 4 unités de ressources de calcul.
Le nombre total d'unités de ressources de calcul pour tous les domaines spécifiés dans votre schéma doit être inférieur ou égal au desired
nombre de travailleurs multiplié par le nombre maximum d'unités de ressources de calcul pour chaque travailleur (17).
Domaines spatiaux multiples
Vous pouvez configurer votre simulation pour utiliser plusieurs domaines spatiaux. Par exemple, vous pouvez utiliser un domaine spatial pour contrôler les principaux acteurs d'une simulation (tels que les personnes et les voitures) et un autre domaine spatial pour contrôler l'environnement.
Vous pouvez également utiliser plusieurs domaines spatiaux pour affecter différentes ressources aux différentes parties de votre simulation. Par exemple, si votre simulation comporte un type d'entité qui possède 10 fois plus d'instances d'entités qu'un autre type, vous pouvez créer différents domaines pour gérer chaque type d'entité et allouer plus de ressources au domaine comportant plus d'entités.
Important
SimSpace Weaver les versions antérieures à la version 1.14.0 ne prennent pas en charge plusieurs domaines spatiaux.
Important
AWS SimSpace Weaver Local ne prend actuellement pas en charge plusieurs domaines spatiaux. Pour plus d'informations sur SimSpace Weaver Local, voir Développement local en SimSpace Weaver.
Important
SimSpace Weaver prend en charge jusqu'à 5 domaines pour chaque simulation. Cela inclut tous les domaines spatiaux, personnalisés et de service.
Configuration de plusieurs domaines spatiaux
Pour configurer plusieurs domaines spatiaux, ajoutez les autres définitions de domaines spatiaux sous forme de sections nommées distinctes dans votre schéma. Chaque domaine doit spécifier la launch_apps_by_partitioning_strategy
clé. Consultez l'exemple de schéma suivant.
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
Mise en commun de domaines spatiaux
Dans certains scénarios, vous souhaiterez peut-être placer les partitions d'un domaine spatial sur des serveurs à côté des partitions d'un autre domaine. Cela peut améliorer les performances si ces partitions créent des abonnements interdomaines les unes aux autres.
Ajoutez la clé de niveau supérieur placement_constraints
à votre schéma pour spécifier les domaines à SimSpace Weaver placer ensemble. La on_workers
clé requise doit faire référence à une workers
configuration nommée dans le schéma.
Exemple extrait de schéma montrant les domaines spatiaux placés ensemble
workers: MyComputeWorkers: type: "sim.c5.24xlarge" desired: 2 placement_constraints: - placed_together: ["MySpatialDomain", "MySecondSpatialDomain"] on_workers: ["MyComputeWorkers"]
Important
Si vous utilisez des groupes de placement :
Assurez-vous que x * y est un multiple du nombre de travailleurs.
Assurez-vous que les valeurs des groupes de placement sont des diviseurs communs pour les dimensions de la grille des domaines que vous placez ensemble.
Si vous n'utilisez pas de groupes de placement :
Assurez-vous qu'un axe de vos grilles de domaine spatial possède un diviseur commun égal au nombre de travailleurs.
Pour plus d'informations sur les groupes de placement, consultezStratégies de partitionnement.
Questions fréquemment posées sur les domaines spatiaux
Q1. Comment puis-je ajouter un autre domaine spatial à une simulation existante ?
-
Pour une simulation en cours d'exécution : vous ne pouvez pas modifier la configuration d'une simulation en cours d'exécution. Modifiez la configuration du domaine dans le schéma, téléchargez le schéma et les fichiers compressés de l'application, puis lancez une nouvelle simulation.
-
Pour une nouvelle simulation : ajoutez la configuration du domaine au schéma, téléchargez le schéma et les fichiers compressés de l'application, puis lancez la nouvelle simulation.
Résolution des problèmes liés aux domaines spatiaux
L'erreur suivante peut s'afficher lorsque vous essayez de démarrer votre simulation mais que la configuration de votre domaine n'est pas valide.
"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].\"}]"
Causes potentielles
Le schéma alloue plus d'unités de ressources de calcul aux applications que celles disponibles pour les travailleurs.
SimSpace Weaver Impossible de déterminer un arrangement pour placer les domaines ensemble entre les mains des travailleurs. Cela se produit lorsque vous spécifiez plusieurs domaines spatiaux mais qu'il n'existe pas de diviseur commun (ou multiple entre les grilles de domaines, par exemple entre une grille 2x4 et une grille 3x5).