- MareNostrum V milik Polytechnic University of Catalonia di Barcelona adalah salah satu dari 15 superkomputer teratas di dunia, sebuah infrastruktur riset publik senilai €200 juta yang menjalankan komputasi terdistribusi di 8.000 node
- Ini bukan satu komputer berperforma tinggi tunggal, melainkan sistem terdistribusi yang menghubungkan ribuan komputer independen dengan topologi fat-tree InfiniBand NDR200, sehingga node mana pun dapat berkomunikasi dengan latensi minimum yang sama
- Pengajuan pekerjaan dilakukan melalui SLURM workload manager, dengan pekerjaan diantrikan ke scheduler menggunakan skrip batch yang mencantumkan permintaan resource, batas waktu, dan anggaran proyek
- Karena dioperasikan dalam lingkungan air-gapped yang memblokir akses internet eksternal, library dan dataset yang dibutuhkan harus disiapkan terlebih dahulu, dan kadang pengambilan hasil justru menjadi bottleneck dibanding komputasinya
- Sebagai resource publik yang disediakan gratis bagi peneliti, akses tersedia bagi institusi Spanyol melalui RES, dan di seluruh Eropa melalui panggilan rutin dari EuroHPC Joint Undertaking
Arsitektur: jaringan adalah komputernya
- Kesalahpahaman terbesar tentang HPC adalah anggapan bahwa ini berarti menyewa satu komputer superkuat, padahal kenyataannya ini adalah struktur untuk mengirim pekerjaan secara terdistribusi ke ribuan komputer independen
- Untuk mencegah masalah GPU menganggur karena menunggu transfer data dalam komputasi terdistribusi, MareNostrum V membangun fabric InfiniBand NDR200 dengan topologi fat-tree
- Pada jaringan biasa, bottleneck bandwidth muncul ketika beberapa komputer berbagi switch yang sama
- Topologi fat-tree meningkatkan bandwidth link semakin ke atas hierarki jaringan untuk menjamin bandwidth non-blocking
- Dari 8.000 node, node mana pun dapat berkomunikasi dengan latensi minimum yang sama
Konfigurasi partisi komputasi
- General Purpose Partition (GPP): dirancang untuk pekerjaan CPU yang sangat paralel, dengan 6.408 node yang masing-masing dilengkapi 112 core Intel Sapphire Rapids, total performa puncak 45,9 PFlops
- Accelerated Partition (ACC): dirancang untuk kebutuhan khusus seperti pelatihan AI dan dinamika molekuler, dengan 1.120 node yang masing-masing dilengkapi 4 GPU NVIDIA H100 SXM, performa puncak 260 PFlops
- Jika harga ritel satu H100 sekitar US$25.000, biaya GPU saja melebihi US$110 juta
- Login Nodes: titik masuk pertama saat terhubung via SSH, khusus untuk pekerjaan ringan seperti memindahkan file, mengompilasi kode, dan mengirim skrip pekerjaan, bukan untuk komputasi
Infrastruktur kuantum
- MareNostrum 5 mengintegrasikan komputer kuantum pertama di Spanyol secara fisik dan logis
- Termasuk sistem kuantum berbasis gerbang digital dan quantum annealer berbasis qubit superkonduktor MareNostrum-Ona
- Quantum Processing Unit (QPU) tidak menggantikan superkomputer klasik, melainkan berperan sebagai akselerator khusus
- Masalah optimisasi atau simulasi kimia kuantum yang sulit ditangani bahkan dengan GPU H100 dapat di-offload ke hardware kuantum untuk mewujudkan pusat kekuatan komputasi hibrida klasik-kuantum skala besar
Air gap, kuota, dan realitas operasional HPC
- Air gap: dapat diakses dari luar melalui SSH, tetapi compute node tidak memiliki akses internet eksternal
pip install, wget, atau menghubungkan ke repositori HuggingFace eksternal tidak dimungkinkan
- Semua yang dibutuhkan skrip harus diunduh dan dikompilasi terlebih dahulu lalu disiapkan di direktori penyimpanan
- Administrator menyediakan sebagian besar library dan software melalui sistem
module
- Perpindahan data: input dan output data dilakukan melalui login node menggunakan
scp atau rsync
- Karena komputasi aktual bisa sangat cepat, proses mengekstrak hasil yang sudah selesai ke mesin lokal kadang menjadi bottleneck
- Batasan dan kuota: setiap proyek mendapat alokasi anggaran waktu CPU tertentu, dan ada hard limit atas jumlah pekerjaan yang bisa dijalankan atau menunggu secara bersamaan oleh satu pengguna
- Semua pekerjaan wajib menetapkan batas wall-time yang ketat
- Jika waktu yang diminta terlewati bahkan 1 detik saja, scheduler akan langsung menghentikan proses
- Logging: setelah pekerjaan dikirim, tidak ada output terminal live; semua
stdout dan stderr otomatis diarahkan ke file log (misalnya sim_12345.out, sim_12345.err)
- Setelah pekerjaan selesai atau crash, hasil diperiksa dan debugging dilakukan dengan meninjau file teks tersebut
- Status pekerjaan yang sudah dikirim dapat dipantau dengan
squeue atau tail -f
SLURM workload manager
- Setelah alokasi riset disetujui dan login lewat SSH, yang muncul hanyalah prompt terminal Linux yang sepenuhnya biasa
- Karena ribuan peneliti menggunakannya secara bersamaan, menjalankan skrip berat langsung dari terminal dapat menjatuhkan login node dan memicu email peringatan dari administrator sistem
- SLURM (Simple Linux Utility for Resource Management) adalah software penjadwalan pekerjaan open source; jika hardware yang dibutuhkan, lingkungan software, dan kode eksekusi dituliskan dalam skrip bash, pekerjaan akan dimasukkan ke antrean, dijalankan saat hardware tersedia, lalu node dilepas kembali
- Direktif
#SBATCH utama:
--nodes: jumlah mesin fisik yang dibutuhkan
--ntasks: jumlah total proses MPI (task) yang akan dibuat, dan SLURM akan menangani distribusinya antar-node
--time: batas waktu wall-clock yang ketat; jika terlampaui proses akan langsung dihentikan
--account: ID proyek yang akan dibebani waktu CPU
--qos: Quality of Service atau antrean tertentu yang ditentukan (misalnya antrean debug memberi akses cepat tetapi membatasi runtime singkat)
Contoh praktik: orkestrasi sweep OpenFOAM
- Untuk memprediksi downforce aerodinamis dengan model surrogate ML, diperlukan 50 simulasi CFD (computational fluid dynamics) presisi tinggi untuk 50 mesh 3D yang berbeda
- Contoh skrip pekerjaan SLURM untuk satu kasus CFD OpenFOAM di general purpose partition:
- Resource ditentukan dengan nilai seperti
--nodes=1, --ntasks=6, --time=00:30:00
- Lingkungan dimuat dengan
module load OpenFOAM/11-foss-2023a
srun --mpi=pmix digunakan untuk menjalankan surfaceFeatureExtract, blockMesh, decomposePar, snappyHexMesh, potentialFoam, simpleFoam, reconstructPar secara berurutan
- Alih-alih mengirim 50 pekerjaan secara manual, digunakan dependency SLURM untuk merantai setiap pekerjaan setelah pekerjaan sebelumnya
- Dengan
sbatch --dependency=afterany:$PREV_JOB_ID, 50 pekerjaan bisa didaftarkan ke antrean dalam hitungan detik
- Pada pagi berikutnya, 50 evaluasi aerodinamika sudah selesai diproses dan dicatat log-nya, siap diubah menjadi tensor untuk pelatihan ML
Batas paralelisasi: hukum Amdahl
- Alasan hanya meminta 6 task untuk simulasi CFD meskipun ada 112 core per node adalah karena hukum Amdahl
- Setiap program memiliki bagian serial (serial fraction) yang tidak bisa diparalelkan, dan percepatan teoretis dibatasi ketat oleh proporsi serial ini
- Rumus: S = 1 / ((1−p) + p/N), dengan S sebagai percepatan total, p sebagai proporsi yang dapat diparalelkan, dan N sebagai jumlah core prosesor
- Bahkan jika hanya 5% kode yang serial, memakai seluruh core MareNostrum V tetap hanya memberi percepatan teoretis maksimum 20x
- Jika task dibagi ke terlalu banyak core, overhead komunikasi melalui jaringan InfiniBand akan meningkat
- Jika mengirim kondisi batas antar-core menghabiskan lebih banyak waktu daripada komputasi aktual, menambah hardware justru dapat memperlambat kinerja
- Saat mensimulasikan sistem kecil (N=100), runtime justru meningkat setelah 16 thread; hardware baru benar-benar produktif pada skala besar (N=10k+)
- Menulis kode untuk superkomputer pada dasarnya adalah latihan mengelola rasio komputasi terhadap komunikasi
Cara mengakses
- Terlepas dari biaya hardwarenya, akses ke MareNostrum V gratis bagi peneliti, karena waktu komputasi diperlakukan sebagai resource ilmiah yang didanai publik
- Peneliti yang berafiliasi dengan institusi di Spanyol dapat mengajukan akses melalui Spanish Supercomputing Network (RES)
- Peneliti di seluruh Eropa dapat mengajukan akses melalui panggilan berkala dari EuroHPC Joint Undertaking
- Jalur "Development Access" dirancang untuk porting kode atau proyek benchmarking model ML, sehingga lebih mudah diakses oleh data scientist
Belum ada komentar.