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.
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
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.cli-profile-name
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.
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_version
Bidang menentukan versi SimSpace Weaver bahwa skema diformat untuk. Nilai yang valid: 1.12
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_properties
Bagian 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
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
workers
Bagian 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.
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
clock
Bagian 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_strategies
Bagian 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
topology
Properti 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
package
Properti 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_command
Properti 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_units
Properti 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_partition
Properti 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
endpoint_config
adalah 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