Mengonfigurasi simulasi Anda - AWS SimSpace Weaver

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

Mengonfigurasi simulasi Anda

Skema simulasi (atau skema) adalah file teksYAML -formatted yang menentukan konfigurasi untuk simulasi. Anda dapat menggunakan skema yang sama untuk memulai beberapa simulasi. File skema tersebut terletak di folder proyek untuk simulasi Anda. Anda dapat menggunakan editor teks apa pun untuk mengedit file. SimSpace Weaver hanya membaca skema Anda ketika memulai simulasi. Setiap pengeditan yang Anda lakukan pada file skema hanya memengaruhi simulasi baru yang Anda mulai setelah pengeditan.

Docker

Untuk mengonfigurasi simulasi Anda, edit file skema simulasi Anda:

project-folder\tools\project-folder-schema.yaml

Anda mengunggah skema simulasi saat membuat simulasi baru. Skrip pembantu mulai cepat untuk proyek Anda akan mengunggah skema sebagai bagian dari prosesnya untuk membangun simulasi Anda:

project-folder\tools\windows\quick-start-project-name-cli.bat

Anda juga dapat menggunakan skrip pembantu skema upload untuk proyek Anda jika Anda tidak menggunakan skrip mulai cepat untuk membuat simulasi Anda:

project-folder\tools\windows\upload-schema-project-name.bat
WSL
penting

Kami menyediakan instruksi ini untuk kenyamanan Anda. Mereka untuk digunakan denganWindows Subsystem for Linux (WSL), dan tidak didukung. Untuk informasi selengkapnya, lihat Siapkan lingkungan lokal Anda untuk SimSpace Weaver.

Anda mengkonfigurasi simulasi Anda dengan mengedit file skema simulasi:

project-folder/tools/project-name-schema.yaml

Anda mengunggah skema simulasi saat membuat simulasi baru. Skrip pembantu mulai cepat untuk proyek Anda akan mengunggah skema sebagai bagian dari prosesnya untuk membangun simulasi Anda:

project-folder/tools/linux/quick-start-project-name-cli.sh

Anda juga dapat menggunakan skrip pembantu skema upload untuk proyek Anda jika Anda tidak menggunakan skrip mulai cepat untuk membuat simulasi Anda:

project-folder/tools/linux/upload-schema-project-name.sh
penting

Jika Anda menggunakanAWS IAM Identity Center (successor to AWS Single Sign-On) atau menamai profil untukAWS Command Line Interface (AWS CLI), Anda harus menggunakan SimSpace Weaver app SDK versi 1.12.1 atau yang lebih tinggi. Versi terbaru adalah 1.12.2. Untuk informasi tentang versi SimSpace Weaver, lihatSimSpace Versi penenun. Skrip SDK aplikasi SimSpace Weaver menggunakanAWS CLI. Jika Anda menggunakan IAM Identity Center, Anda dapat menyalin profil IAM Identity Center untukdefault profil Anda atau memberikan nama profil IAM Identity Center Anda ke skrip SDK aplikasi SimSpace Weaver dengan--profile cli-profile-name parameter.AWS CLI Untuk informasi selengkapnya, lihat MengonfigurasiAWS CLI untuk digunakanAWS IAM Identity Center (successor to AWS Single Sign-On) di PanduanAWS Command Line Interface Pengguna dan Profil Bernama untukAWS CLI di PanduanAWS Command Line Interface Pengguna.

Parameter konfigurasi simulasi

Skema simulasi berisi informasi bootstrap, termasuk:

  • Properti simulasi — Versi SDK dan konfigurasi komputasi (tipe dan jumlah pekerja)

  • Jam - tingkat centang dan toleransi

  • Strategi partisi spasial - topologi spasial (seperti grid), batas, dan kelompok penempatan (pengelompokan partisi spasial pada pekerja)

  • Domain dan aplikasinya — bucket aplikasi, jalur, dan perintah peluncuran

SimSpace Weaver menggunakan konfigurasi skema Anda untuk mengonfigurasi dan mengatur partisi spasial, meluncurkan aplikasi, dan memajukan simulasi pada tingkat centang yang Anda tentukan.

catatan

Skrip create-project di SimSpace Weaver app SDK akan secara otomatis menghasilkan skema simulasi untuk Anda, berdasarkan contoh aplikasi.

Bagian berikut menjelaskan parameter dalam skema simulasi. Untuk penjelasan lengkap tentang skema simulasi, lihatSimSpace Referensi skema simulasi penenun.

Versi SDK

sdk_versionBidang menentukan versi SimSpace Weaver bahwa skema diformat untuk. Nilai yang valid: 1.12

penting

Nilaisdk_version hanya mencakup nomor versi utama dan nomor versi minor pertama. Misalnya, nilai1.12 menentukan semua versi1.12.x, seperti1.12.0,1.12.1, dan1.12.2.

Properti simulasi

simulation_propertiesBagian skema Anda menentukan konfigurasi logging dan tipe data untuk bidang indeks (biasanya lokasi spasial) entitas.

simulation_properties: log_destination_service: "logs" log_destination_resource_name: "MySimulationLogs" default_entity_index_key_type: "Vector3<f32>"

Nilailog_destination_service menentukan interpretasi nilailog_destination_resource_name. Saat ini, satu-satunya nilai yang didukung adalah logs. Ini berarti bahwa nilailog_destination_resource_name adalah nama grup log di Amazon CloudWatch Logs

catatan

Logging adalah opsional. Jika Anda tidak mengkonfigurasi properti tujuan log maka simulasi Anda tidak akan menghasilkan log.

Properti default_entity_index_key_type diperlukan. Satu-satunya nilai yang valid adalah Vector3<f32>.

Pekerja

workersBagian ini menentukan jenis dan jumlah pekerja yang Anda inginkan untuk simulasi Anda. SimSpace Weaver menggunakan tipe pekerja sendiri yang memetakan ke jenis instans Amazon EC2.

workers: MyComputeWorkers: type: "sim.c5.24xlarge" desired: 1

Mengaktifkan simulasi multi-pekerja

Anda dapat membuat simulasi yang menggunakan lebih dari 1 pekerja. Secara default, simulasi menggunakan 1 pekerja. Anda harus memodifikasi skema simulasi Anda sebelum memulai simulasi.

catatan

Anda tidak dapat mengubah simulasi yang telah dimulai. Jika Anda ingin mengaktifkan multi-pekerja untuk simulasi berjalan, Anda harus berhenti dan menghapus simulasi terlebih dahulu.

Untuk menggunakan lebih dari satu pekerja, tetapkandesired jumlah instance komputasi ke nilai yang lebih besar dari 1. Ada jumlah maksimum aplikasi untuk setiap pekerja. Untuk informasi selengkapnya, lihat SimSpace Titik akhir dan kuota penenun. SimSpace Weaver hanya akan menggunakan lebih dari 1 pekerja jika jumlah aplikasi pada pekerja melebihi batas ini. SimSpace Weaver dapat menempatkan aplikasi pada salah satu pekerja yang tersedia. Penempatan aplikasi pada pekerja tertentu tidak dijamin.

Cuplikan skema berikut menunjukkan konfigurasi untuk simulasi yang meminta 2 pekerja. SimSpace Weaver akan mencoba mengalokasikan pekerja kedua jika jumlah aplikasi melebihi jumlah maksimum aplikasi untuk 1 pekerja.

workers: MyComputeWorkers: type: "sim.c5.24xlarge" desired: 2

Jam

clockBagian ini menentukan properti dari jam simulasi. Saat ini, Anda hanya dapat mengonfigurasi tingkat centang (jumlah tick per detik yang dikirim jam ke aplikasi). Tingkat tick adalah tingkat maksimum. Tingkat centang efektif bisa lebih rendah karena semua operasi (seperti pembaruan entitas) untuk tick harus selesai sebelum tick berikutnya dapat dimulai. Satu-satunya tingkat tick yang didukung adalah 10, 15, dan 30. Tingkat tick juga disebut clock rate.

Strategi partisi

partitioning_strategiesBagian ini menentukan properti konfigurasi untuk partisi aplikasi spasial. Anda memberikan nama Anda sendiri untuk strategi partisi (sekumpulan properti di bagian ini) dan menggunakannya dalam konfigurasi aplikasi spasial Anda.

partitioning_strategies: MyGridPartitioning: topology: "Grid" aabb_bounds: x: [0, 1000] y: [0, 1000] grid_placement_groups: x: 1 y: 1

topologyProperti menentukan jenis sistem koordinat yang digunakan simulasi Anda. NilaiGrid menentukan 2-dimensi (2D) grid.

UntukGrid topologi, ruang simulasi dimodelkan sebagai kotak pembatas sumbu sejajar(AABB). Anda menentukan batas koordinat untuk setiap sumbu AABB Anda diaabb_bounds properti. Semua entitas yang ada secara spasial dalam simulasi Anda harus memiliki posisi di dalam AABB.

grup penempatan grid

Grup penempatan adalah kumpulan partisi aplikasi spasial yang Anda ingin SimSpace Weaver tempatkan pada pekerja yang sama. Anda menentukan jumlah dan susunan kelompok penempatan (dalam kotak) digrid_placement_groups properti. SimSpace Weaver akan mencoba untuk merata mendistribusikan partisi di seluruh kelompok penempatan. Area kepemilikan aplikasi spasial dengan partisi dalam grup penempatan yang sama akan berdekatan secara spasial.

Kami merekomendasikan bahwa x * y sama dengan jumlah pekerja yang Anda inginkan. Jika tidak sama, SimSpace Weaver akan mencoba menyeimbangkan kelompok penempatan Anda di seluruh pekerja yang tersedia.

Jika Anda tidak menentukan konfigurasi grup penempatan, SimSpace Weaver akan menghitung satu untuk Anda.

Domain

Anda memberikan nama untuk satu set properti konfigurasi untuk domain. Pengaturan peluncuran untuk aplikasi dalam domain menentukan jenis domain itu:

  • launch_apps_via_start_app_call- domain kustom

  • launch_apps_by_partitioning_strategy— domain spasial

  • launch_apps_per_worker(tidak termasuk dalam aplikasi sampel) — domain layanan

domains: MyViewDomain: launch_apps_via_start_app_call: {} app_config: package: "s3://weaver-myproject-111122223333-app-zips-us-west-2/MyViewApp.zip" launch_command: ["MyViewApp"] required_resource_units: compute: 1 endpoint_config: ingress_ports: - 7000 MySpatialSimulation: launch_apps_by_partitioning_strategy: partitioning_strategy: "MyGridPartitioning" grid_partition: x: 2 y: 2 app_config: package: "s3://weaver-myproject-111122223333-app-zips-us-west-2/MySpatialApp.zip" launch_command: ["MySpatialApp"] required_resource_units: compute: 1

Konfigurasi aplikasi

Anda menentukan konfigurasi app (app_config) sebagai bagian dari konfigurasi untuk domainnya. Semua jenis domain menggunakan properti konfigurasi aplikasi yang sama ini.

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

packageProperti menentukan URI S3 dari file zip dalam bucket S3. File zip berisi aplikasi yang dapat dieksekusi (juga disebut biner) dan sumber daya lain yang dibutuhkannya (seperti pustaka). Setiap instance aplikasi yang dapat dieksekusi berjalan dalamDocker wadah pada pekerja.

launch_commandProperti menentukan nama executable dan opsi baris perintah apa pun untuk menjalankan aplikasi. Nilailaunch_command adalah array. Setiap token dari seluruh string perintah peluncuran adalah elemen dalam array.

Contoh
  • Untuk perintah peluncuran:MyTestApp --option1 value1

  • Tentukan:launch_command: ["MyTestApp", "-option1", "value1"]

required_resource_unitsProperti menentukan jumlah unit sumber daya komputasi yang harus dialokasikan SimSpace Weaver ke aplikasi ini. Unit sumber daya komputasi adalah jumlah tetap kapasitas pemrosesan(vCPU) dan memori(RAM) pada pekerja. Anda dapat meningkatkan nilai ini untuk meningkatkan jumlah daya komputasi yang tersedia untuk aplikasi saat digunakan untuk pekerja. Ada sejumlah unit sumber daya komputasi terbatas pada setiap pekerja. Untuk informasi selengkapnya, lihat SimSpace Titik akhir dan kuota penenun.

Mengonfigurasi Domain spasial

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

MySpatialSimulation: launch_apps_by_partitioning_strategy: partitioning_strategy: "MyGridPartitioning" grid_partition: x: 2 y: 2 app_config: package: "s3://weaver-myproject-111122223333-app-zips-us-west-2/MySpatialApp.zip" launch_command: ["MySpatialApp"] required_resource_units: compute: 1

Strategi partisi denganGrid 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 memilikigrid_partition nilaix: 2 dany: 2, ada partisi 2* 2 = 4 di domain spasial. SimSpace Weaver akan memulai 4 instance aplikasi yang dikonfigurasi dalam domain spasial dan menetapkan 1 partisi ke setiap instance aplikasi.

Titik akhir jaringan

Aplikasi kustom dan layanan dapat memiliki titik akhir jaringan yang dapat dihubungkan oleh klien eksternal. Anda menentukan daftar nomor port sebagai nilai untukingress_ports diendpoint_config. Nomor port ini adalah TCP dan UDP. Aplikasi kustom atau layanan harus mengikat ke nomor port yang Anda tentukaningress_ports. SimSpace Weaver secara dinamis mengalokasikan nomor port pada saat runtime dan memetakan port ini ke port dinamis. Anda dapat memanggildescribe-app API setelah aplikasi Anda mulai menemukan nomor port dinamis (aktual). Untuk informasi selengkapnya, lihatLangkah 4: Dapatkan tutorial mulai cepat.

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

endpoint_configadalah properti opsional untuk aplikasi kustom dan aplikasi layanan. Jika Anda tidak menentukanendpoint_config maka aplikasi tidak akan memiliki titik akhir jaringan.

Mengonfigurasi Domain layanan

Kehadiranlaunch_apps_per_worker: dalam konfigurasi domain menunjukkan bahwa itu adalah domain layanan yang memiliki aplikasi layanan. SimSpace Weaver memulai dan menghentikan aplikasi layanan untuk Anda. Saat SimSpace Weaver memulai dan menghentikan aplikasi, aplikasi dianggap memiliki siklus hidup terkelola. SimSpace Weaver saat ini mendukung memulai 1 atau 2 aplikasi layanan pada setiap pekerja.

contoh Contoh domain yang dikonfigurasi untuk meluncurkan 1 aplikasi layanan pada setiap pekerja
domains: MyServiceDomain: launch_apps_per_worker: count: 1 app_config: package: "s3://example-bucket/PlayerConnectionServiceApp.zip" launch_command: ["PlayerConnectionServiceApp"] required_resource_units: compute: 1 endpoint_config: ingress_ports: - 9000 - 9001
contoh Contoh domain yang dikonfigurasi untuk meluncurkan 2 aplikasi layanan pada setiap pekerja
domains: MyServiceDomain: launch_apps_per_worker: count: 2 app_config: package: "s3://example-bucket/PlayerConnectionServiceApp.zip" launch_command: ["PlayerConnectionServiceApp"] required_resource_units: compute: 1 endpoint_config: ingress_ports: - 9000 - 9001