Mengkonfigurasi simulasi - AWS RoboMaker

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

Mengkonfigurasi simulasi

Bagian berikut menjelaskan cara mengonfigurasi tugas simulasi. Untuk informasi lebih lanjut, lihat konsep yang menjelaskanKonfigurasi aplikasi.

Mengkonfigurasi pekerjaan simulasi untuk akses Amazon VPC

Saat Anda membuat sumber daya di Amazon Virtual Private Cloud (Amazon VPC), sumber daya tidak dapat dibaca melalui internet publik. Contoh sumber daya dapat berupa gudang data Amazon Redshift atau ElastiCache klaster Amazon. Mereka juga bisa menjadi layanan Anda pada instans Amazon Elastic Compute Cloud. Secara default, sumber daya di Amazon VPC tidak dapat diakses oleh pekerjaanAWS RoboMaker simulasi.

catatan

AWS RoboMakermenjalankan pekerjaan simulasi Anda pada jaringan terisolasi tanpa konektivitas eksternal. Untuk memungkinkan tugas Anda mengakses sumber daya di Amazon VPC Anda, Anda harus memberikan data spesifik-VPC yang mencakup ID subnet Amazon VPC dan ID grup keamanan. AWS RoboMakermenggunakan data ini untuk mengatur antarmuka jaringan elastis (ENI). ENI membantu pekerjaan Anda untuk terhubung dengan aman ke sumber daya lain di Amazon VPC pribadi Anda.

AWS RoboMakertidak terhubung ke sumber daya dalam VPC sewa khusus. Untuk informasi lebih lanjut, lihat VPC yang didedikasikan.

Anda dapat menambahkan data Amazon VPC ke pekerjaanAWS RoboMaker simulasi Anda dengan menggunakanVpcConfig parameter pada saat Anda membuat pekerjaan (lihatCreateSimulationJob). Berikut ini adalahAWS CLI contoh di mana IP publik ditugaskan.

aws robomaker create-simulation-job \ --output-location s3Bucket=my-bucket,s3Prefix=my-output-folder \ --max-job-duration-in-seconds 3600 \ --iam-role my-role-arn \ --failure-behavior Continue \ --robot-applications application='my-robot-application-arn,launchConfig={command=["roslaunch", "hello_world_robot", "rotate.launch"]}' \ --simulation-applications application='my-simulation-application-arn,launchConfig={command=["roslaunch", "hello_world_simulation", "empty_world.launch"]}' \ --vpc-config assignPublicIp=true,subnets=comma-separated-vpc-subnet-ids,securityGroups=comma-separated-security-group-ids
catatan

Ketika pekerjaan simulasi dikonfigurasi untuk berjalan di VPC, itu menimbulkan penalti ENI. Resolusi alamat mungkin tertunda saat Anda mencoba menyambung ke sumber daya jaringan.

Akses internet untuk pekerjaan simulasi

AWS RoboMakermenggunakan data VPC yang Anda berikan untuk menyiapkan ENI. ENI memungkinkan pekerjaan Anda untuk mengakses sumber daya VPC. Setiap ENI ditugaskan alamat IP privat dari rentang dalam subnet yang Anda tentukan. ENI tidak diberikan alamat IP publik secara default.

Jika pekerjaan Anda membutuhkan akses internet (mungkin untuk menemukanAWS layanan yang tidak memiliki titik akhir VPC), dan Anda menggunakan Subnet pribadi, Anda dapat mengatur NAT di dalam VPC Anda. Anda dapat menggunakan gateway Amazon VPC NAT dan memintaAWS RoboMaker untuk menetapkan IP publik. Untuk informasi lebih lanjut, lihat NAT Gateway di Panduan Pengguna Amazon VPC.

catatan

Anda tidak dapat menggunakan gateway internet yang dilampirkan langsung ke VPC Anda, karena koneksi internet memerlukan ENI untuk memiliki alamat IP publik. Secara default, ENI Anda memiliki alamat IP privat.

Untuk mengonfigurasi akses internet saat menggunakan Subnet publik, aturassignPublicIp=true untuk menetapkan IP publik ke ENI Anda.

Jika pekerjaan simiulasi Anda hanya memerlukan akses keAWS API publik dan Anda menginginkan privasi lebih lanjut, lihatAWS RoboMaker dan antarmuka endpoint VPC (AWS PrivateLink). Dengan informasi ini, Anda dapat membuat endpoint VPC antarmuka Anda dan menambahkan VPC menggunakanCreateSimulationJob API.

MengkonfigurasiSimulationJob komputasi

Untuk menggunakan GPU di AndaSimulationJobs, Anda dapat mengkonfigurasiSimulationJob untuk menggunakan GPU Compute.ComputeType Anda menyadari manfaat berikut saat menggunakan Graphics Processing Unit (GPU) berbasis pekerjaan simulasi diAWS RoboMaker.

  • Pekerjaan simulasi berbasis GPU memungkinkan eksekusi aplikasi yang memerlukan plugin sensor berkemampuan GPU dan rendering dan kinerja kesetiaan tinggi menggunakan OpenGL, CUDA, OpenCL, dan Vulkan.

  • Pekerjaan simulasi berbasis GPU memastikan bahwa alatAWS RoboMaker GUI memiliki resolusi HD berkualitas tinggi sehingga Anda dapat melihat objek secara lebih rinci. Pengalaman alat GUI sangat ideal karena GPU memastikan tingkat frame per detik yang lebih tinggi.

  • Simulasi berbasis GPU mempercepat waktu penyelesaian pekerjaan simulasi. Dengan GPU, Anda dapat menjalankan adegan simulasi yang kompleks tanpa mengambil hit kinerja pada faktor real-time dan frame per detik.

  • Pekerjaan simulasi berbasis GPU meningkatkan pelatihan model pembelajaran penguatan.

Menghitung

ComputeParameter dalamCreateSimulationJob permintaan dapat digunakan untuk mengkonfigurasi jenis Compute diperlukan untukSimulationJob.

ComputeType

ComputeTypemenentukan jenis Compute diperlukan untuk pekerjaan itu. Nilai yang valid adalah CPU dan GPU_AND_CPU. Nilai default-nya adalah CPU. JikaGPU_AND_CPU ditentukan, pekerjaan yang dibuat dapat menggunakan GPU bersama dengan CPU.

GpuUnitLimit

Dengan menggunakanGpuUnitLimit parameter, Anda dapat menentukan jumlah unit GPU yang perlu dialokasikan untuk pekerjaan Anda. UntukGPU_AND_CPU ComputeType, itu harus 1. UntukCPU ComputeType, itu harus 0.

Untuk informasi tentang membangun kontainer untuk memanfaatkan GPU, lihatMembuat gambar untuk menjalankan aplikasi GPU.

Mengkonfigurasi alat simulasi khusus

DenganAWS RoboMaker, Anda dapat mengkonfigurasi alat kustom untuk aplikasi dalam pekerjaan simulasi. Gunakan alat khusus untuk berinteraksi dengan simulasi, sebagai utilitas diagnostik, atau untuk tujuan lain. Anda juga dapat mengkonfigurasi alat default sepertirqt ataurviz disediakan olehAWS RoboMaker. Jika pekerjaan simulasi Anda adalah bagian dari pipeline otomatis, Anda dapat menonaktifkan alat default dan menggunakan lebih sedikit sumber daya.

Anda dapat mengonfigurasi hingga 10 alat khusus. Alat kustom dimulai setelah proses ROS utama dimulai.

Konfigurasi alat kustom mencakup elemen berikut:

  • Nama alat - Nama alat.

  • Command - Perintah untuk memanggil alat dalambash shell. Anda harus menyertakan nama alat yang dapat dieksekusi. Anda dapat menggunakan variabel lingkungan termasuk variabel kustom dalam argumen Anda. Misalnya, untuk menggunakan ID pekerjaan simulasi saat ini, Anda dapat referensiAWS_ROBOMAKER_SIMULATION_JOB_ID.

  • Keluar perilaku - Menentukan tindakan apa yang diambil jika alat kustom keluar. Jika Anda menentukanfail, pekerjaan simulasi gagal. Jika Anda menentukanrestart, alat ini dimulai ulang. Defaultnya adalah restart.

  • Streaming UI - Menentukan apakah sesi streaming dikonfigurasi untuk alat tersebut. Jika True,AWS RoboMaker konfigurasikan koneksi sehingga Anda dapat berinteraksi dengan alat saat berjalan dalam simulasi. Itu harus memiliki antarmuka pengguna grafis. Defaultnya adalah false.

  • Perilaku log - Menentukan apakah alatstdout danstderr dialirkan ke CloudWatch Log. Defaultnya adalah false.

Akses root dan kemampuan sistem

AWS RoboMakermenyediakan akses root (sudo) terbatas ke aplikasi yang berjalan dalam pekerjaan simulasi. Daftar berikut berisi syscalls signifikan (tetapi tidak semua) yang diblokir.

  • acct

  • add_key

  • bpf

  • jam_adjtime

  • clock_settime

  • clone

  • create_module

  • delete_module

  • finit_module

  • get_kernel_syms

  • get_mempolicy

  • init_module

  • ioperm

  • iopl

  • kcmp

  • kexec_file_load

  • kexec_load

  • keyctl

  • lookup_dcookie

  • mbind

  • gunung

  • move_pages

  • name_to_handle_id

  • nfsservctl

  • open_by_handle_id

  • Perf_event_open

  • kepribadian

  • pivot_root

  • process_vm_readv

  • process_vm_writev

  • ptrace

  • query_module

  • kuotaktl

  • mengebut kembali

  • request_key

  • set_mempolicy

  • setns

  • settimeofday

  • stime

  • swapon

  • swapoff

  • sysfs

  • _sysctl

  • umount

  • umount2

  • unshare

  • uselib

  • userfaultfd

  • ustat

  • vm86

  • vm86old