MyQueue: antarmuka baris perintah dan Python untuk manajemen pekerjaan HPC
MyQueue mengirimkan dan memantau pekerjaan komputasi melalui alat baris perintah dan API Python, menangani restart otomatis untuk timeout dan kegagalan out-of-memory. Dibuat oleh J. J. Mortensen dan tim pengembangan MyQueue untuk utilities-tools, alat ini menyatukan interaksi dengan SLURM, PBS, dan LSF, melacak pekerjaan secara persisten dengan SQLite, dan mendukung alur kerja berbasis folder serta lingkungan virtual Python. Ini ditujukan untuk peneliti dan insinyur yang menjalankan banyak pekerjaan cluster atau lokal dan memerlukan pengiriman ulang otomatis serta pelacakan yang sederhana.
Apa yang dilakukan MyQueue dalam praktik?
MyQueue bertindak sebagai frontend untuk penjadwal HPC, menerima pengiriman melalui perintah mq submit atau API Python, kemudian menyinkronkan pelacakan tugas lokal dengan penjadwal jarak jauh. Ini mencatat tugas yang selesai, gagal, dan berjalan dalam penyimpanan SQLite berbasis folder, dan dapat beroperasi terhadap mesin lokal atau cluster jarak jauh yang menggunakan SLURM, PBS, atau LSF. Inputnya adalah skrip pekerjaan atau tugas Python; outputnya adalah status antrean yang terlihat melalui mq list.
Seberapa andalkah pengulangan otomatis untuk pekerjaan yang gagal?
Aplikasi ini secara otomatis memulai kembali tugas yang gagal karena batas waktu atau kehabisan memori, menyesuaikan sumber daya pada percobaan ulang sesuai dengan logika yang diberikan. Perilaku itu mengurangi percobaan manual dengan meningkatkan sumber daya yang diminta setelah tanda-tanda kegagalan tertentu. Pelacakan yang persisten mempertahankan percobaan sebelumnya, sehingga Anda dapat memeriksa riwayat kegagalan sebelum menerima pengulangan. Logika pengulangan menargetkan kesalahan terkait sumber daya daripada kegagalan sembarangan.
Apakah aman digunakan di cluster produksi?
MyQueue tidak memerlukan database terpisah atau hak istimewa administrator dan menyimpan status secara lokal dengan SQLite dan folder, yang menjaga operasi tetap transparan. Ini berinteraksi dengan penjadwal menggunakan perintah asli mereka, jadi tergantung pada model izin penjadwal untuk pengiriman dan pembatalan pekerjaan. Desain alat ini menghindari penulisan layanan sistem tersembunyi; ia beroperasi dari lingkungan pengguna dan mempertahankan catatan pekerjaan di folder kerja.
Apakah saya memerlukan pengetahuan teknis untuk menjalankannya?
Instalasi memerlukan lingkungan Python (Python 3.9 atau lebih baru) dan instalasi pip, dan operasi menggunakan perintah baris perintah atau API yang disediakan. Pengguna kasual yang tidak akrab dengan skrip pekerjaan atau lingkungan virtual akan menghadapi kurva pembelajaran karena alur kerja mengharapkan deskripsi pekerjaan penjadwal dan aktivasi lingkungan. Peneliti dan insinyur data yang sudah menyiapkan skrip pekerjaan dan lingkungan virtual akan menemukan bahwa ini sejalan dengan praktik yang ada.
Siapa yang harus mengadopsi MyQueue dan mengapa
MyQueue cocok untuk peneliti dan insinyur yang mengirimkan banyak pekerjaan cluster atau lokal dan menginginkan pengiriman ulang otomatis untuk kegagalan terkait sumber daya; ini mengurangi pekerjaan coba ulang manual sambil menjaga riwayat pekerjaan dalam folder yang didukung SQLite lokal. Harapkan alur kerja baris perintah atau skrip dan beberapa pengaturan awal Python dan lingkungan virtual. Direkomendasikan.