Luncurkan 16.384 Aplikasi Windows di Superkomputer Linux Hanya dalam 5 Menit
- Peneliti MIT mengembangkan model yang secara bersamaan menjalankan 16.384 aplikasi Windows di Superkomputer Linux dalam waktu 5 menit.
- Untuk melakukan hal ini, mereka menggunakan teknologi Lincoln Lab LLMapReduce bersama dengan lapisan kompatibilitas Wine Windows.
Karena kecepatan Hukum Moore berkurang, penggunaan pemrosesan paralel perlu dilakukan untuk meningkatkan kinerja aplikasi. Aplikasi jaringan neural, simulasi fisik, dan analisis data berkembang dengan pesat, dan memanfaatkan kekuatan pemrosesan paralel untuk mencapai sasaran performanya.
Untuk menjalankan aplikasi intensif data seperti itu, Anda memerlukan beberapa perangkat lunak berbasis sistem operasi tertentu, seperti Microsoft Windows, yang memiliki pengalaman panjang dalam mengimplementasikan komputasi paralel.
Namun, 500 superkomputer terbaik di dunia berjalan di Linux, dan mereka mampu menjalankan aplikasi interaktif pada ribuan core dalam hitungan detik. Biasanya, mesin virtual (VM) digunakan untuk menjalankan program Windows di komputer Linus, yang membebankan banyak overhead pada aplikasi.
Mengeksekusi beberapa VM di superkomputer dapat memerlukan waktu beberapa detik (terkadang beberapa menit) per mesin virtual. Menskalakannya hingga ribuan inti di superkomputer yang ada tentu saja menimbulkan masalah efisiensi dan kinerja, sehingga menyulitkan menjalankan banyak aplikasi Windows di superkomputer secara bersamaan.
Kini, tim peneliti di MIT telah menemukan teknik baru yang dengan cepat meluncurkan dan mengeksekusi aplikasi Windows pada ribuan prosesor di superkomputer modern. Secara khusus, mereka telah mendemonstrasikan peluncuran 16.000 aplikasi Windows dalam waktu 5 menit (setiap aplikasi ditangani oleh satu inti).
Bagaimana Cara Kerjanya?
Untuk meluncurkan aplikasi Windows dengan cepat di superkomputer Linux, para peneliti menggunakan teknologi Lincoln Lab LLMapReduce (pengurangan peta multi-level) bersama dengan lapisan kompatibilitas Wine Windows. Untuk komputasi performa tinggi, penjadwalan bertingkat sedikit mengubah kode analisis untuk memproses banyak set data dengan satu peluncuran tugas.
Tumpukan perangkat lunak MIT SuperCloud hadir dengan antarmuka yang mudah digunakan yang memberikan akses ke LLMapReduce untuk menjalankan ribuan tugas secara efisien ke dalam sebuah cluster, mengurangi penjadwalan paralel yang kompleks, resolusi ketergantungan, dan pekerjaan penyerahan tugas ke satu baris kode, sekaligus meningkatkan kinerja tugas dengan meminimalkan latensi setiap tugas.
Karena LLMapReduce tidak didasarkan pada bahasa tertentu, ia bekerja dengan semua executable, sehingga ideal untuk meluncurkan banyak instance Wine secara bersamaan.
Komponen penjadwal SLURM | Atas izin peneliti
Mereka menggunakan penjadwal tugas sumber terbuka yang disebut Slurm Workload Manager untuk mengidentifikasi sumber daya dengan cepat, mengalokasikannya ke tugas, menjadwalkan eksekusi tugas pada sumber daya yang dialokasikan, meluncurkannya, memantau tugas saat sedang berjalan, dan melakukan pembersihan epilog saat tugas dihentikan.
Referensi:arXiv:1808.04345
Hasil
Waktu peluncuran &kecepatan peluncuran instance Windows
Para peneliti mengimplementasikan sistem mereka pada superkomputer yang berisi 648 node komputasi (setiap node memiliki tidak kurang dari 64 inti pemrosesan Xeon Phi) dengan total 41,472 inti. Mereka mengeksekusi satu instance Window pada 1,2,4,8…256 node, diikuti oleh 2,4,8…64 instance pada masing-masing 256 node, yang menghasilkan total 16,384 instance bersamaan.
Baca:Unit Pemrosesan Memori Dapat Mengimplementasikan Algoritma AI Secara Efisien
Semua contoh ini membutuhkan waktu hampir 5 menit untuk dieksekusi, sehingga memungkinkan berbagai aplikasi Windows yang dapat dieksekusi di superkomputer. Tim berencana untuk memperluas kemampuan ini ke lebih banyak prosesor yang menjalankan program yang lebih beragam.