Dalam arsitektur EvoX,penjadwal Runtimeadalah pusat eksekusi yang menghubungkan logika algoritma dengan perangkat keras fisik. Penjadwal ini bertanggung jawab memetakan algoritma evolusioner, definisi masalah, dan alur kerja lapisan atas ke sumber daya komputasi heterogen seperti GPU, perangkat akselerator (misalnya TPU/NPU), serta kluster terdistribusi, sekaligus menyembunyikan perbedaan perangkat keras dan mempertahankan komposabilitas modul algoritma yang efisien.
Tanggung Jawab Utama
- Penjadwalan Daya Komputasi Heterogen: mengelola secara terpadu sumber daya eksekusi seperti GPU, perangkat akselerator, dan kluster terdistribusi, serta mengalokasikan tugas, operator, dan graf komputasi tensor dalam komputasi evolusioner ke backend perangkat keras yang paling sesuai.
- Koordinasi Dependensi dan Status: mengoordinasikan hubungan dependensi antar tugas dan status eksekusi, memastikan setiap tahap eksplorasi evolusioner paralel dapat tersinkronisasi dengan benar.
- Antarmuka Penjadwalan Terpadu: lapisan algoritma mengirimkan tugas komputasi melalui antarmuka terpadu, tanpa perlu terikat pada perangkat atau bentuk kluster tertentu, sehingga mengurangi keterikatan pada perangkat keras.
- Komposabilitas Modul: mendukung penggabungan, penggantian, dan penggunaan ulang algoritma, masalah, operator, serta backend eksekusi secara modular, sehingga satu set kode yang sama dapat dengan mudah dipindahkan ke lingkungan perangkat keras yang berbeda.
Nilai dan Contoh
Nilai inti penjadwal Runtime adalah: mewujudkan eksplorasi evolusioner paralel secara efisien di berbagai perangkat keras, tanpa merusak desain modular algoritma lapisan atas. Misalnya, ketika satu set algoritma evolusioner yang sama dipindahkan dari GPU tunggal ke kluster multi-mesin, kode lapisan algoritma tetap tidak berubah, dan Runtime memetakan ulang tugas komputasi serta backend eksekusi. Desain ini memungkinkan peneliti fokus pada inovasi algoritma, tanpa perlu menulis ulang kode untuk setiap jenis perangkat keras.
