Mengkonfigurasi domain spasial - AWS SimSpace Weaver

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengkonfigurasi domain spasial

Untuk domain spasial, Anda harus menentukan. partitioning_strategy Nilai properti ini adalah nama yang Anda berikan untuk strategi partisi yang Anda definisikan di bagian lain dari skema.

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
catatan

SimSpace Weaver proyek SDK versi aplikasi 1.12.x menggunakan bucket terpisah untuk file aplikasi.zip dan skema:

  • penenun-lowercase-project-name-account-number-app-ritsleting-region

  • penenun-lowercase-project-name-account-number-skema-region

Strategi partisi dengan Grid topologi (satu-satunya topologi yang didukung dalam rilis ini) mengarahkan SimSpace Weaver untuk mengatur partisi aplikasi spasial domain ini dalam kisi. grid_partitionProperti menentukan jumlah baris dan kolom dari grid partisi.

SimSpace Weaver akan memulai 1 instance aplikasi spasial untuk setiap sel di kisi partisi. Misalnya, jika domain spasial memiliki grid_partition nilai x: 2 dany: 2, ada 2 * 2 = 4 partisi dalam domain spasial. SimSpace Weaver akan memulai 4 instance aplikasi yang dikonfigurasi dalam domain spasial dan menetapkan 1 partisi ke setiap instance aplikasi.

Persyaratan sumber daya untuk domain spasial

Anda dapat menetapkan hingga 17 unit sumber daya komputasi untuk setiap pekerja. Anda menentukan jumlah unit sumber daya komputasi yang digunakan setiap aplikasi spasial di app_config bagian domain spasial Anda.

contoh cuplikan skema yang menampilkan unit sumber daya komputasi untuk aplikasi spasial
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

Untuk menghitung jumlah unit sumber daya komputasi yang dibutuhkan domain, kalikan jumlah sel di kisi Anda (dalamgrid_partition, x *y) dengan jumlah unit sumber daya komputasi yang ditetapkan ke aplikasi spasial.

Untuk contoh sebelumnya, domain MySpatialDomain menentukan:

  • x: 2

  • y: 2

  • compute: 1

Grid untuk MySpatialDomain memiliki 2 * 2 = 4 sel. Domain spasial membutuhkan 4 * 1 = 4 unit sumber daya komputasi.

Jumlah total unit sumber daya komputasi untuk semua domain yang ditentukan dalam skema Anda harus kurang dari atau sama dengan jumlah pekerja dikalikan dengan desired jumlah maksimum unit sumber daya komputasi untuk setiap pekerja (17).

Beberapa domain spasial

Anda dapat mengonfigurasi simulasi Anda untuk menggunakan lebih dari 1 domain spasial. Misalnya, Anda dapat menggunakan 1 domain spasial untuk mengontrol aktor utama dalam simulasi (seperti orang dan mobil) dan domain spasial yang berbeda untuk mengontrol lingkungan.

Anda juga dapat menggunakan beberapa domain spasial untuk menetapkan sumber daya yang berbeda ke berbagai bagian simulasi Anda. Misalnya, jika simulasi Anda memiliki tipe entitas yang memiliki 10x lebih banyak instance entitas daripada tipe lain, Anda dapat membuat domain yang berbeda untuk menangani setiap jenis entitas dan mengalokasikan lebih banyak sumber daya untuk domain dengan lebih banyak entitas.

penting

SimSpace Weaver versi sebelum 1.14.0 tidak mendukung beberapa domain spasial.

penting

AWS SimSpace Weaver Local saat ini tidak mendukung beberapa domain spasial. Untuk informasi lebih lanjut tentang SimSpace Weaver Local, lihat Pembangunan lokal di SimSpace Weaver.

penting

SimSpace Weaver mendukung hingga 5 domain untuk setiap simulasi. Ini mencakup semua domain spasial, kustom, dan layanan.

Konfigurasikan beberapa domain spasial

Untuk mengonfigurasi lebih dari 1 domain spasial, tambahkan definisi domain spasial lainnya sebagai bagian bernama terpisah dalam skema Anda. Setiap domain harus menentukan launch_apps_by_partitioning_strategy kuncinya. Lihat contoh skema berikut.

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

Menempatkan domain spasial bersama-sama

Dalam beberapa skenario, Anda mungkin ingin menempatkan partisi untuk domain spasial pada pekerja di samping partisi dari domain lain. Ini dapat meningkatkan karakteristik kinerja jika partisi tersebut membuat langganan lintas domain satu sama lain.

Tambahkan kunci tingkat atas placement_constraints ke skema Anda untuk menentukan domain mana yang SimSpace Weaver harus ditempatkan bersama. on_workersKunci yang diperlukan harus mengacu pada workers konfigurasi bernama dalam skema.

contoh cuplikan skema yang menunjukkan domain spasial yang ditempatkan bersama
workers: MyComputeWorkers: type: "sim.c5.24xlarge" desired: 2 placement_constraints: - placed_together: ["MySpatialDomain", "MySecondSpatialDomain"] on_workers: ["MyComputeWorkers"]
penting
  • Jika Anda menggunakan grup penempatan:

    • Pastikan bahwa x* y adalah kelipatan dari jumlah pekerja.

    • Pastikan bahwa nilai grup penempatan adalah pembagi umum untuk dimensi kisi domain yang Anda tempatkan bersama.

  • Jika Anda tidak menggunakan grup penempatan:

    • Pastikan bahwa 1 sumbu grid domain spasial Anda memiliki pembagi umum yang sama dengan jumlah pekerja.

Untuk informasi selengkapnya tentang grup penempatan, lihatStrategi partisi.

Pertanyaan yang sering diajukan tentang domain spasial

T1. Bagaimana saya bisa menambahkan domain spasial lain ke simulasi yang ada?

  • Untuk simulasi yang sedang berjalan — Anda tidak dapat mengubah konfigurasi untuk simulasi yang sedang berjalan. Ubah konfigurasi domain dalam skema, unggah skema dan ritsleting aplikasi, dan mulai simulasi baru.

  • Untuk simulasi baru — Tambahkan konfigurasi domain ke skema, unggah skema dan ritsleting aplikasi, dan mulai simulasi baru.

Memecahkan masalah domain spasial

Mungkin mendapatkan kesalahan berikut ketika Anda mencoba memulai simulasi Anda tetapi konfigurasi domain Anda tidak valid.

"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].\"}]"
Potensi penyebab
  • Skema mengalokasikan lebih banyak unit sumber daya komputasi untuk aplikasi daripada yang tersedia pada pekerja.

  • SimSpace Weaver tidak dapat menentukan pengaturan untuk menempatkan domain bersama pada pekerja. Ini terjadi ketika Anda menentukan beberapa domain spasial tetapi tidak ada pembagi umum atau kelipatan antara kisi domain, seperti antara kisi 2x4 dan kisi 3x5).