Configuración de dominios espaciales - AWS SimSpace Weaver

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de dominios espaciales

Para los dominios espaciales, debe especificar un partitioning_strategy. El valor de esta propiedad es el nombre que ha asignado a una estrategia de partición que ha definido en otra parte del esquema.

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 Los proyectos de la SDK versión 1.12.x de la aplicación utilizan cubos separados para los archivos.zip de la aplicación y el esquema:

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

  • tejedora-lowercase-project-name-account-number-esquemas-region

Una estrategia de particionamiento con una Grid topología (la única topología compatible en esta versión) permite organizar las particiones de SimSpace Weaver aplicaciones espaciales de este dominio en una cuadrícula. La propiedad grid_partition especifica el número de filas y columnas de la cuadrícula de particiones.

SimSpace Weaver iniciará 1 instancia de la aplicación espacial para cada celda de la cuadrícula de particiones. Por ejemplo, si un dominio espacial tiene grid_partition valores x: 2 y y: 2 hay 2 * 2 = 4 particiones en el dominio espacial. SimSpace Weaver iniciará 4 instancias de la aplicación configuradas en el dominio espacial y asignará 1 partición a cada instancia de la aplicación.

Requisitos de recursos para los dominios espaciales

Puede asignar hasta 17 unidades de recursos de procesamiento para cada trabajador. Usted especifica el número de unidades de recursos informáticos que utiliza cada aplicación espacial en la sección app_config de su dominio espacial.

ejemplo fragmento de esquema que muestra las unidades de recursos de cómputo de una aplicación espacial
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

Para calcular el número de unidades de recursos informáticos que requiere un dominio, multiplique el número de celdas de la cuadrícula (en su grid_partition, x * y) por el número de unidades de recursos informáticos asignadas a las aplicaciones espaciales.

En el ejemplo anterior, el dominio MySpatialDomain especifica:

  • x: 2

  • y: 2

  • compute: 1

La cuadrícula para MySpatialDomain tiene 2 * 2 = 4 celdas. El dominio espacial requiere 4 x 1 = 4 unidades de recursos informáticos.

El número total de unidades de recursos informáticos para todos los dominios especificados en el esquema debe ser inferior o igual al desired número de trabajadores multiplicado por el número máximo de unidades de recursos informáticos de cada trabajador (17).

Múltiples dominios espaciales

Puede configurar la simulación para que utilice más de un dominio espacial. Por ejemplo, puede usar un dominio espacial para controlar los actores principales de una simulación (como personas y automóviles) y un dominio espacial diferente para controlar el entorno.

También puede utilizar varios dominios espaciales para asignar distintos recursos a distintas partes de la simulación. Por ejemplo, si la simulación tiene un tipo de entidad que tiene 10 veces más instancias de entidad que otro tipo, puede crear diferentes dominios para gestionar cada tipo de entidad y asignar más recursos al dominio con más entidades.

importante

SimSpace Weaver las versiones anteriores a la 1.14.0 no admiten varios dominios espaciales.

importante

AWS SimSpace Weaver Local actualmente no admite varios dominios espaciales. Para obtener más información acerca de SimSpace Weaver Local, consulte Desarrollo local en SimSpace Weaver.

importante

SimSpace Weaver admite hasta 5 dominios para cada simulación. Esto incluye todos los dominios espaciales, personalizados y de servicio.

Configurar varios dominios espaciales

Para configurar más de un dominio espacial, añada las demás definiciones de dominio espacial como secciones con nombres independientes en su esquema. Cada dominio debe especificar la clave launch_apps_by_partitioning_strategy. Consulte el siguiente esquema de ejemplo.

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

Colocar dominios espaciales juntos

En algunos casos, es posible que desee colocar las particiones de un dominio espacial en los trabajadores junto a las particiones de otro dominio. Esto puede mejorar las características de rendimiento si esas particiones se suscriben entre sí a varios dominios.

Añada la clave de nivel superior placement_constraints a su esquema para especificar qué dominios SimSpace Weaver deben colocarse juntos. La clave on_workers requerida debe hacer referencia a una configuración de workers con nombre en el esquema.

ejemplo fragmento de esquema que muestra los dominios espaciales colocados juntos
workers: MyComputeWorkers: type: "sim.c5.24xlarge" desired: 2 placement_constraints: - placed_together: ["MySpatialDomain", "MySecondSpatialDomain"] on_workers: ["MyComputeWorkers"]
importante
  • Si utiliza grupos de ubicación:

    • Asegúrese de que x* y sea múltiplo de la cantidad de trabajadores.

    • Asegúrese de que los valores de los grupos de ubicación sean divisores comunes para las dimensiones de la cuadrícula de los dominios que coloque juntos.

  • Si no utiliza grupos de ubicación:

    • Asegúrese de que 1 eje de las cuadrículas de su dominio espacial tenga un divisor común que sea igual al número de trabajadores.

Para obtener más información acerca de los grupos de ubicación, consulte Estrategias de partición.

Preguntas frecuentes sobre dominios espaciales

Q1 (P1). ¿Cómo puedo añadir otro dominio espacial a una simulación existente?

  • Para una simulación en ejecución: no se puede cambiar la configuración de una simulación en ejecución. Cambie la configuración del dominio en el esquema, cargue el esquema y los archivos comprimidos de la aplicación e inicie una nueva simulación.

  • Para una nueva simulación: añada la configuración del dominio en el esquema, cargue el esquema y los archivos comprimidos de la aplicación e inicie una nueva simulación.

Solución de problemas de dominios espaciales

Cuando intenta iniciar la simulación, pero la configuración de dominio no es válida, puede aparecer el siguiente mensaje de error:

"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].\"}]"
Causas posibles
  • El esquema asigna más unidades de recursos de cómputo a las aplicaciones de las que están disponibles para los trabajadores.

  • SimSpace Weaver no se puede determinar un acuerdo para agrupar los dominios en los trabajadores. Esto ocurre cuando se especifican varios dominios espaciales, pero no hay un divisor común o un múltiplo entre las cuadrículas de dominios (por ejemplo, entre una cuadrícula de 2x4 y una cuadrícula de 3x5).