Konsep Penjadwalan dan Penskalaan Otomatis CycleCloud

CycleCloud bukan penjadwal, melainkan platform yang memungkinkan pengguna untuk menyebarkan penjadwal mereka sendiri di Azure, untuk mengelola dan mendistribusikan pekerjaan ke dalam kluster simpul. Selain itu, CycleCloud menyediakan REST API dan pustaka Python untuk mengembangkan adaptor penskalaan otomatis untuk penjadwal, memungkinkan kluster terkelola ini untuk mengukur atau menurunkan ukuran sesuai dengan panjang antrean pekerjaan dan kebijakan tata kelola.

Diagram Orkestrasi

Penjadwal

Penjadwal adalah perangkat lunak yang menerima daftar pekerjaan (atau tugas) dan mendistribusikan tugas-tugas ini ke dalam kumpulan sumber daya yang tersedia, dengan mempertimbangkan persyaratan sumber daya pekerjaan serta dependensi dan prioritas antar-pekerjaan. Daftar pekerjaan ini biasanya disebut sebagai antrean.

CycleCloud dilengkapi dengan dukungan bawaan untuk sejumlah penjadwal yang umum digunakan (PBS Professional OSS, Slurm, IBM LSF, Grid Engine, dan HT Condor), menyediakan templat untuk menyebarkan penjadwal ini di Azure. Templat ini adalah topologi default, mewakili praktik terbaik untuk membangun kluster HPC di Azure yang memanfaatkan fitur khusus unik seperti jaringan InfiniBand latensi rendah.

Selain itu, Proyek dibuat untuk setiap penjadwal, dan digunakan untuk menginstal dan menginisialisasi daemon penjadwal pada headnode dan simpul komputasi.

Adapter Penjadwal

Adaptor yang dibuat untuk setiap jenis penjadwal memainkan dua peran utama: 1) persyaratan sumber daya agregat dari antrean penjadwal, dan 2) menerjemahkan persyaratan sumber daya ke dalam permintaan alokasi untuk serangkaian ukuran Azure VM. Permintaan alokasi ini dibangun dengan pertimbangkan batasan tertentu, misalnya kuota VM, batas ukuran kluster, dan batasan yang diberlakukan oleh topologi jaringan InfiniBand (untuk ukuran VM yang sesuai). Dalam aspek tertentu adaptor ini menyerupai broker yang menegosiasikan permintaan dan pasokan dari beberapa pihak.

Monitor

Monitor adalah proses yang berjalan di server aplikasi CycleCloud dan secara berkala melakukan polling layanan Azure untuk ketersediaan sumber daya di langganan Azure. Monitor ini memberikan informasi ini kepada adaptor penjadwal untuk broker permintaan.

Alokator Simpul

Alokator simpul berjalan di server aplikasi CycleCloud. Ini menerima permintaan alokasi dari adaptor penjadwal melalui REST API, menyediakan sumber daya Azure yang diperlukan untuk memenuhi permintaan, dan menyajikan sumber daya yang disediakan kembali ke adaptor penjadwal sebagai set simpul.

Catatan

Meskipun konsep yang mendasar di atas umum di antara penjadwal, detail implementasi berbeda antara penjadwal. Lihat halaman penjadwal individual untuk informasi lebih mendalam tentang setiap implementasi.