

Aviso de fim do suporte: em 20 de maio de 2026, AWS encerrará o suporte para AWS SimSpace Weaver. Depois de 20 de maio de 2026, você não poderá mais acessar o SimSpace Weaver console ou os SimSpace Weaver recursos. Para obter mais informações, consulte [AWS SimSpace Weaver Fim do suporte](https://docs.aws.amazon.com/simspaceweaver/latest/userguide/simspaceweaver-end-of-support.html). 

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Domínios
<a name="working-with_configuring-simulation_domains"></a>

Dê um nome para um conjunto de propriedades de configuração de um domínio. A configuração de lançamento de aplicativos em um domínio determina o tipo de domínio:
+ **`launch_apps_via_start_app_call`**: domínio personalizado
+ **`launch_apps_by_partitioning_strategy`**: domínio espacial
+ **`launch_apps_per_worker`**: domínio de serviço (não incluído no aplicativo de exemplo)

**Importante**  
SimSpace Weaver suporta até 5 domínios para cada simulação. Isso inclui todos os domínios espaciais, personalizados e de serviço.

```
domains:
  MyViewDomain:
    launch_apps_via_start_app_call: {}
    app_config:
      package: "s3://weaver-myproject-111122223333-us-west-2/MyViewApp.zip"
      launch_command: ["MyViewApp"]
      required_resource_units:
        compute: 1
      endpoint_config:
        ingress_ports:
          - 7000
  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 Os projetos do SDK do aplicativo versão 1.12.x usam buckets separados para os arquivos.zip do aplicativo e o esquema:  
weaver- *lowercase-project-name* - *account-number* -app-zips- *region*
weaver- *lowercase-project-name* - *account-number* -esquemas- *region*

**Topics**
+ [Configuração do aplicativo](working-with_configuring-simulation_domains_app-config.md)
+ [Configurar domínios espaciais](working-with_configuring-simulation_domains_spatial.md)
+ [Endpoints de rede](working-with_configuring-simulation_domains_endpoints.md)
+ [Configurar domínios de serviço](working-with_configuring-simulation_domains_service-domains.md)

# Configuração do aplicativo
<a name="working-with_configuring-simulation_domains_app-config"></a>

Especifique a configuração de um aplicativo (`app_config`) como parte da configuração de seu domínio. Todos os tipos de domínios usam essas mesmas propriedades de configuração do aplicativo.

```
    app_config:
      package: "s3://weaver-myproject-111122223333-us-west-2/MyViewApp.zip"
      launch_command: ["MyViewApp"]
      required_resource_units:
        compute: 1
```

**nota**  
SimSpace Weaver Os projetos do SDK do aplicativo versão 1.12.x usam buckets separados para os arquivos.zip do aplicativo e o esquema:  
weaver- *lowercase-project-name* - *account-number* -app-zips- *region*
weaver- *lowercase-project-name* - *account-number* -esquemas- *region*

A propriedade `package` especifica o URI do S3 de um arquivo .zip em um bucket do S3. O arquivo .zip contém o executável do aplicativo (também chamado de *binário*) e quaisquer outros recursos necessários (como bibliotecas). Cada instância do executável do aplicativo é executada em um contêiner do Docker em um operador. 

A propriedade `launch_command` especifica o nome do executável e todas as opções de linha de comando para executar o aplicativo. O valor de `launch_command` é uma matriz. Cada token de toda a cadeia de comando de inicialização é um elemento na matriz.

**Exemplo**
+ Para o comando de lançamento: `MyTestApp --option1 value1`
+ Especifique: `launch_command: ["MyTestApp", "-option1", "value1"]`

A `required_resource_units` propriedade especifica o número de unidades de recursos computacionais que SimSpace Weaver devem ser alocadas para esse aplicativo. Uma unidade de recursos computacionais é uma quantidade fixa de capacidade de processamento (vCPU) e memória (RAM) em um operador. É possível aumentar esse valor para incrementar a quantidade de poder de computação disponível para o aplicativo quando ele é executado em um operador. Há um número limitado de unidades de recursos computacionais em cada operador. Para obter mais informações, consulte [SimSpace Terminais e cotas do Weaver](service-quotas.md).

# Configurar domínios espaciais
<a name="working-with_configuring-simulation_domains_spatial"></a>

Para domínios espaciais, você deve especificar uma `partitioning_strategy`. O valor dessa propriedade é o nome que você deu a uma estratégia de particionamento definida em outra parte do 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 Os projetos do SDK do aplicativo versão 1.12.x usam buckets separados para os arquivos.zip do aplicativo e o esquema:  
weaver- *lowercase-project-name* - *account-number* -app-zips- *region*
weaver- *lowercase-project-name* - *account-number* -esquemas- *region*

Uma estratégia de particionamento com uma `Grid` topologia (a única topologia suportada nesta versão) SimSpace Weaver direciona a organização das partições espaciais de aplicativos desse domínio em uma grade. A propriedade `grid_partition` especifica o número de linhas e colunas da grade de partição. 

SimSpace Weaver iniciará 1 instância do aplicativo espacial para cada célula na grade de partição. Por exemplo, se um domínio espacial tiver `grid_partition` valores `x: 2` e `y: 2` houver 2 \$1 2 = 4 partições no domínio espacial. SimSpace Weaver iniciará 4 instâncias do aplicativo configurado no domínio espacial e atribuirá 1 partição a cada instância do aplicativo.

**Tópicos**
+ [Requisitos de recursos para domínios espaciais](#working-with_configuring-simulation_domains_spatial_resources)
+ [Vários domínios espaciais](#working-with_configuring-simulation_domains_spatial_multiple)
+ [Perguntas frequentes sobre domínios espaciais](#working-with_configuring-simulation_domains_spatial_faq)
+ [Solucionar problemas de domínios espaciais](#working-with_configuring-simulation_domains_spatial_troubleshooting)

## Requisitos de recursos para domínios espaciais
<a name="working-with_configuring-simulation_domains_spatial_resources"></a>

É possível atribuir até 17 unidades de recursos de computação a cada operador. Especifique o número de unidades de recursos computacionais que cada aplicativo espacial usa na seção `app_config` do seu domínio espacial.

**Example Trecho de esquema mostrando as unidades de recursos computacionais para um aplicativo 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 o número de unidades de recursos computacionais que um domínio exige, multiplique o número de células em sua grade (em sua `grid_partition`, `x`\$1`y`) pelo número de unidades de recursos computacionais atribuídas aos aplicativos espaciais.

No exemplo anterior, o domínio `MySpatialDomain` especifica:
+ `x`: `2`
+ `y`: `2`
+ `compute`: `1`

A grade para `MySpatialDomain` tem 2 x 2 = 4 células. O domínio espacial requer 4 x 1 = 4 unidades de recursos computacionais.

O número total de unidades de recursos computacionais para todos os domínios especificados em seu esquema deve ser menor ou igual ao número `desired` de operadores multiplicado pelo número máximo de unidades de recursos computacionais para cada operador (17).

## Vários domínios espaciais
<a name="working-with_configuring-simulation_domains_spatial_multiple"></a>

É possível configurar sua simulação para usar mais de um domínio espacial. Por exemplo, você pode usar um domínio espacial para controlar os principais atores em uma simulação (como pessoas e carros) e um domínio espacial diferente para controlar o ambiente.

Você também pode usar vários domínios espaciais para atribuir recursos distintos a diferentes partes da simulação. Por exemplo, se a simulação tem um tipo de entidade que tem dez vezes mais instâncias de entidade do que outro tipo, é possível criar domínios diferentes para lidar com cada tipo de entidade e alocar mais recursos para o domínio com mais entidades.

**Importante**  
SimSpace Weaver versões anteriores à 1.14.0 não oferecem suporte a vários domínios espaciais.

**Importante**  
AWS SimSpace Weaver Localatualmente não oferece suporte a vários domínios espaciais. Para saber mais sobre o SimSpace Weaver Local, consulte [Desenvolvimento local em SimSpace Weaver](working-with_local-development.md).

**Importante**  
SimSpace Weaver suporta até 5 domínios para cada simulação. Isso inclui todos os domínios espaciais, personalizados e de serviço.

### Configurar vários domínios espaciais
<a name="working-with_configuring-simulation_domains_spatial_multiple_configure"></a>

Para configurar mais de um domínio espacial, adicione as outras definições de domínio espacial como seções nomeadas distintas em seu esquema. Cada domínio deve especificar a chave `launch_apps_by_partitioning_strategy`. Veja o esquema de exemplo a seguir.

```
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
```

### Posicionar domínios espaciais juntos
<a name="working-with_configuring-simulation_domains_spatial_multiple_placement"></a>

Em alguns cenários, você pode desejar posicionar partições para um domínio espacial em operadores ao lado de partições de outro domínio. Isso pode melhorar as características de desempenho se essas partições criarem assinaturas entre domínios.

Adicione a chave de nível superior `placement_constraints` ao seu esquema para especificar quais domínios SimSpace Weaver devem ser colocados juntos. A chave `on_workers` necessária deve se referir a uma configuração de `workers` nomeada no esquema.

**Example Trecho de esquema mostrando domínios espaciais posicionados juntos**  

```
workers:
  MyComputeWorkers:
    type: "sim.c5.24xlarge"
    desired: 2
placement_constraints:
  - placed_together: ["MySpatialDomain", "MySecondSpatialDomain"]
    on_workers: ["MyComputeWorkers"]
```

**Importante**  
Se você usa grupos de posicionamento:  
Certifique-se de que X x Y seja um múltiplo do número de operadores.
Certifique-se de que os valores do grupo de posicionamento sejam divisores comuns para as dimensões da grade dos domínios que você posicionar juntos.
Se você **não usa** grupos de posicionamento:  
Certifique-se de que um eixo de suas grades de domínio espacial tenha um divisor comum igual ao número de operadores.
Para mais informações sobre grupos de posicionamento, consulte [Estratégias de particionamento](working-with_configuring-simulation_partitioning-strategies.md#working-with_configuring-simulation_partitioning-strategies_placement-groups).

## Perguntas frequentes sobre domínios espaciais
<a name="working-with_configuring-simulation_domains_spatial_faq"></a>

### P1. Como adicionar outro domínio espacial a uma simulação existente?
<a name="working-with_configuring-simulation_domains_spatial_faq_q1"></a>
+ **Para uma simulação em execução**: não é possível alterar a configuração de uma simulação em execução. Altere a configuração do domínio no esquema, faça o carregamento do esquema e dos .zips do aplicativo e inicie uma nova simulação.
+ **Para uma nova simulação**: adicione a configuração do domínio ao esquema, carregue o esquema e os .zips do aplicativo e inicie a nova simulação.

## Solucionar problemas de domínios espaciais
<a name="working-with_configuring-simulation_domains_spatial_troubleshooting"></a>

O erro a seguir ocorre ao iniciar a simulação com uma configuração de domínio inválida.

```
"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].\"}]"
```

**Possíveis causas**
+ O esquema aloca mais unidades de recursos computacionais para aplicativos do que as disponíveis para os operadores.
+ SimSpace Weaver não consigo determinar um acordo para colocar domínios juntos em trabalhadores. Isso acontece quando vários domínios espaciais são especificados, mas não há um divisor comum ou um múltiplo entre as grades de domínio, como entre uma grade 2 x 4 e uma grade 3 x 5).

# Endpoints de rede
<a name="working-with_configuring-simulation_domains_endpoints"></a>

Aplicativos personalizados e de serviço podem ter endpoints de rede aos quais clientes externos podem se conectar. Especifique uma lista de números de porta como valor para `ingress_ports` no `endpoint_config`. Esses números de porta são TCP e UDP. O aplicativo personalizado ou de serviço deve ser vinculado aos números de porta que você especifica em`ingress_ports`. SimSpace Weaver aloca dinamicamente os números das portas em tempo de execução e mapeia essas portas para as portas dinâmicas. É possível chamar a API **describe-app** depois que seus aplicativos começarem a encontrar os números de porta dinâmicos (reais). Para obter mais informações, consulte [Obtenha o endereço IP e o número da porta de um aplicativo personalizadoObtenha o endereço IP e o número da porta](working-with_get-ip.md) no tutorial de início rápido.

```
domains:
  MyViewDomain:
    launch_apps_via_start_app_call: {}
    app_config:
      package: "s3://weaver-myproject-111122223333-us-west-2/MyViewApp.zip"
      launch_command: ["MyViewApp"]
      required_resource_units:
        compute: 1
      endpoint_config:
        ingress_ports:
          - 7000
```

**nota**  
SimSpace Weaver Os projetos do SDK do aplicativo versão 1.12.x usam buckets separados para os arquivos.zip do aplicativo e o esquema:  
weaver- *lowercase-project-name* - *account-number* -app-zips- *region*
weaver- *lowercase-project-name* - *account-number* -esquemas- *region*

**nota**  
`endpoint_config` é uma propriedade opcional para aplicativos personalizados e de serviço. Se você não especificar um `endpoint_config`, o aplicativo não terá um endpoint de rede.

# Configurar domínios de serviço
<a name="working-with_configuring-simulation_domains_service-domains"></a>

A presença de `launch_apps_per_worker:` em uma configuração de domínio indica que é um domínio de serviço que tem aplicativos de serviço. SimSpace Weaver inicia e interrompe aplicativos de serviço para você. Quando SimSpace Weaver inicia e interrompe um aplicativo, considera-se que o aplicativo tem um *ciclo de vida gerenciado*. SimSpace Weaver atualmente suporta a inicialização de 1 ou 2 aplicativos de serviço em cada trabalhador. 

**Example Exemplo de um domínio configurado para iniciar um aplicativo de serviço em cada operador**  

```
domains:
  MyServiceDomain:
    launch_apps_per_worker:
      count: 1
    app_config:
      package: "s3://weaver-myproject-111122223333-app-zips-us-west-2/PlayerConnectionServiceApp.zip"
      launch_command: ["PlayerConnectionServiceApp"]
      required_resource_units:
        compute: 1
      endpoint_config:
        ingress_ports:
          - 9000
          - 9001
```

**Example Exemplo de um domínio configurado para iniciar dois aplicativos de serviço em cada operador**  

```
domains:
  MyServiceDomain:
    launch_apps_per_worker:
      count: 2
    app_config:
      package: "s3://weaver-myproject-111122223333-app-zips-us-west-2/PlayerConnectionServiceApp.zip"
      launch_command: ["PlayerConnectionServiceApp"]
      required_resource_units:
        compute: 1
      endpoint_config:
        ingress_ports:
          - 9000
          - 9001
```