Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Apa itu beban kerja Deadline Cloud
Dengan AWS Deadline Cloud, Anda dapat mengirimkan pekerjaan untuk menjalankan aplikasi Anda di cloud dan memproses data untuk produksi konten atau wawasan yang penting bagi bisnis Anda. Deadline Cloud menggunakan Open Job Description
Beban kerja berskala dari bundel pekerjaan sederhana yang dikirimkan pengguna ke antrian dengan CLI atau GUI yang dibuat secara otomatis, hingga plugin pengirim terintegrasi yang secara dinamis menghasilkan bundel pekerjaan untuk beban kerja yang ditentukan aplikasi.
Bagaimana beban kerja muncul dari produksi
Untuk memahami beban kerja dalam konteks produksi dan cara mendukungnya dengan Deadline Cloud, pertimbangkan bagaimana mereka muncul. Produksi mungkin melibatkan pembuatan efek visual, animasi, permainan, citra katalog produk, rekonstruksi 3D untuk pemodelan informasi bangunan (BIM), dan banyak lagi. Konten ini biasanya dibuat oleh tim spesialis artistik atau teknis yang menjalankan berbagai aplikasi perangkat lunak dan skrip kustom. Anggota tim meneruskan data antara satu sama lain menggunakan pipa produksi. Banyak tugas yang dilakukan oleh pipeline melibatkan perhitungan intensif yang akan memakan waktu berhari-hari jika dijalankan di workstation pengguna.
Beberapa contoh tugas dalam saluran produksi ini meliputi:
-
Menggunakan aplikasi fotogrametri untuk memproses foto yang diambil dari set film untuk merekonstruksi mesh digital bertekstur.
-
Menjalankan simulasi partikel dalam adegan 3D untuk menambahkan lapisan detail ke efek visual ledakan untuk acara televisi.
-
Memasak data untuk level game ke dalam formulir yang diperlukan untuk rilis eksternal dan menerapkan pengaturan pengoptimalan dan kompresi.
-
Merender satu set gambar untuk katalog produk termasuk variasi warna, latar belakang, dan pencahayaan.
-
Menjalankan skrip yang dikembangkan khusus pada model 3D untuk menerapkan tampilan yang dibuat khusus dan disetujui oleh sutradara film.
Tugas-tugas ini melibatkan banyak parameter untuk menyesuaikan untuk mendapatkan hasil artistik atau untuk menyempurnakan kualitas output. Seringkali ada GUI untuk memilih nilai-nilai parameter tersebut dengan tombol atau menu untuk menjalankan proses secara lokal dalam aplikasi. Ketika pengguna menjalankan proses, aplikasi dan mungkin komputer host itu sendiri tidak dapat digunakan untuk melakukan operasi lain karena menggunakan status aplikasi dalam memori dan mungkin menghabiskan semua sumber daya CPU dan memori komputer host.
Dalam banyak kasus prosesnya cepat. Selama produksi, kecepatan proses melambat ketika persyaratan untuk kualitas dan kompleksitas naik. Tes karakter yang memakan waktu 30 detik selama pengembangan dapat dengan mudah berubah menjadi 3 jam ketika diterapkan pada karakter produksi akhir. Melalui perkembangan ini, beban kerja yang memulai kehidupan di dalam GUI dapat tumbuh terlalu besar untuk disesuaikan. Memindahkannya ke Deadline Cloud dapat meningkatkan produktivitas pengguna yang menjalankan proses ini karena mereka mendapatkan kembali kendali penuh atas workstation mereka dan dapat melacak lebih banyak iterasi dari monitor Deadline Cloud.
Ada dua tingkat dukungan yang harus dituju saat mengembangkan dukungan untuk beban kerja di Deadline Cloud:
-
Memindahkan beban kerja dari workstation pengguna ke farm Deadline Cloud tanpa paralelisme atau percepatan. Pendekatan ini mungkin kurang memanfaatkan sumber daya komputasi yang tersedia di peternakan, tetapi kemampuan untuk mengalihkan operasi panjang ke sistem pemrosesan batch memungkinkan pengguna untuk menyelesaikan lebih banyak hal dengan workstation mereka sendiri.
-
Mengoptimalkan paralelisme beban kerja sehingga memanfaatkan skala horizontal Deadline Cloud farm untuk menyelesaikannya dengan cepat.
Ada kalanya jelas bagaimana membuat beban kerja berjalan secara paralel. Misalnya, setiap frame dari render grafis komputer dapat dilakukan secara independen. Namun, penting untuk tidak terjebak pada paralelisme ini. Sebaliknya, pahami bahwa menurunkan beban kerja yang berjalan lama ke Deadline Cloud memberikan manfaat yang signifikan, bahkan ketika tidak ada cara yang jelas untuk membagi beban kerja.
Bahan-bahan dari beban kerja
Untuk menentukan beban kerja Deadline Cloud, terapkan bundel pekerjaan yang dikirimkan pengguna ke antrian dengan Dead line Cloud CLI
-
Aplikasi yang akan dijalankan. Pekerjaan harus dapat meluncurkan proses aplikasi, dan oleh karena itu memerlukan instalasi aplikasi yang tersedia serta lisensi apa pun yang digunakan aplikasi, seperti akses ke server lisensi mengambang. Instalasi dan lisensi biasanya merupakan bagian dari konfigurasi farm, dan tidak tertanam dalam bundel pekerjaan itu sendiri.
-
Definisi parameter pekerjaan. Pengalaman pengguna mengirimkan pekerjaan sangat dipengaruhi oleh parameter yang disediakannya. Contoh parameter termasuk file data, direktori, dan konfigurasi aplikasi.
-
Aliran data file. Ketika pekerjaan berjalan, ia membaca input dari file yang disediakan oleh pengguna, kemudian menulis outputnya sebagai file baru. Untuk bekerja dengan lampiran pekerjaan dan fitur pemetaan jalur, pekerjaan harus menentukan jalur direktori atau file tertentu untuk input dan output ini.
-
Skrip langkah. Skrip langkah menjalankan biner aplikasi dengan opsi baris perintah yang tepat untuk menerapkan parameter pekerjaan yang disediakan. Ini juga menangani detail seperti pemetaan jalur jika file data beban kerja menyertakan referensi jalur absolut alih-alih relatif.
Portabilitas beban kerja
Beban kerja bersifat portabel ketika dapat berjalan di beberapa sistem yang berbeda tanpa mengubahnya setiap kali Anda mengirimkan pekerjaan. Misalnya, mungkin berjalan di peternakan render yang berbeda yang memiliki sistem file bersama yang berbeda dipasang, atau pada sistem operasi yang berbeda seperti Linux atauWindows. Saat Anda menerapkan bundel pekerjaan portabel, lebih mudah bagi pengguna untuk menjalankan pekerjaan di farm spesifik mereka, atau menyesuaikannya untuk kasus penggunaan lainnya.
Berikut adalah beberapa cara Anda dapat membuat bundel pekerjaan Anda portabel.
-
Sepenuhnya menentukan file data input yang dibutuhkan oleh beban kerja, menggunakan parameter
PATHpekerjaan dan referensi aset dalam bundel pekerjaan. Pendekatan ini membuat pekerjaan portabel ke peternakan berdasarkan sistem file bersama dan ke peternakan yang membuat salinan data input, seperti fitur lampiran pekerjaan Deadline Cloud. -
Buat referensi jalur file untuk file input pekerjaan dapat dipindahkan dan dapat digunakan pada sistem operasi yang berbeda. Misalnya ketika pengguna mengirimkan pekerjaan dari Windows workstation untuk dijalankan pada Linux armada.
-
Gunakan referensi jalur file relatif, jadi jika direktori yang berisi mereka dipindahkan ke lokasi yang berbeda, referensi masih diselesaikan. Beberapa aplikasi, seperti Blender
, mendukung pilihan antara jalur relatif dan absolut. -
Jika Anda tidak dapat menggunakan jalur relatif, dukung metadata pemetaan jalur OpenJD
dan terjemahkan jalur absolut sesuai dengan bagaimana Deadline Cloud menyediakan file ke pekerjaan.
-
-
Menerapkan perintah dalam pekerjaan menggunakan skrip portabel. Python dan bash adalah dua contoh bahasa scripting yang dapat digunakan dengan cara ini. Anda harus mempertimbangkan untuk menyediakan keduanya pada semua host pekerja armada Anda.
-
Gunakan biner penerjemah skrip, seperti
pythonataubash, dengan nama file skrip sebagai argumen. Pendekatan ini bekerja pada semua sistem operasi termasukWindows, dibandingkan dengan menggunakan file skrip dengan bit eksekusi yang diaktifkanLinux. -
Tulis skrip bash portabel dengan menerapkan praktik ini:
-
Perluas parameter jalur template dalam tanda kutip tunggal untuk menangani jalur dengan spasi dan pem Windows isah jalur.
-
Saat berjalanWindows, perhatikan masalah yang terkait dengan terjemahan jalur otomatis MinGW. Misalnya, ini mengubah perintah seperti
aws logs tail /aws/deadline/...menjadi AWS CLI perintah yang mirip denganaws logs tail "C:/Program Files/Git/aws/deadline/..."dan tidak akan mengekor log dengan benar. Atur variabelMSYS_NO_PATHCONV=1untuk mematikan perilaku ini. -
Dalam kebanyakan kasus, kode yang sama berfungsi pada semua sistem operasi. Ketika kode perlu berbeda, gunakan
if/elsekonstruk untuk menangani kasus.if [[ "$(uname)" == MINGW* || "$(uname -s)" == MSYS_NT* ]]; then : # Code for Windows elif [[ "$(uname)" == Darwin ]]; then : # Code for MacOS else : # Code for Linux and other operating systems fi
-
-
Anda dapat menulis skrip Python portabel menggunakan
pathlibuntuk menangani perbedaan jalur sistem file dan menghindari fitur khusus operasi. Dokumentasi Python menyertakan anotasi untuk ini, misalnya dalam dokumentasi pustaka sinyal. Linux-dukungan fitur khusus ditandai sebagai “Ketersediaan: Linux.”
-
-
Gunakan parameter pekerjaan untuk menentukan persyaratan aplikasi. Gunakan konvensi yang konsisten yang dapat diterapkan administrator farm di lingkungan antrian.
-
Misalnya, Anda dapat menggunakan
CondaPackagesand/orRezPackagesparameter dalam pekerjaan Anda, dengan nilai parameter default yang mencantumkan nama paket aplikasi dan versi yang diperlukan pekerjaan. Kemudian, Anda dapat menggunakan salah satu contoh lingkungan antrian conda atau Rezuntuk menyediakan lingkungan virtual untuk pekerjaan tersebut.
-