Apptainer Menghadapi Tantangan Dunia Nyata Meski Populer di HPC

Tim Komunitas BigGo
Apptainer Menghadapi Tantangan Dunia Nyata Meski Populer di HPC

Apptainer, yang sebelumnya dikenal sebagai Singularity, telah muncul sebagai solusi kontainer populer di lingkungan komputasi kinerja tinggi (HPC). Meskipun teknologi ini menjanjikan kontainer yang aman, portabel, dan mudah digunakan, diskusi komunitas terbaru mengungkapkan tantangan praktis yang signifikan yang dihadapi pengguna dalam implementasi dunia nyata.

Antarmuka yang terorganisir menampilkan hasil kontainer Terraform, melambangkan konteks yang lebih luas dari solusi kontainer dalam lingkungan HPC
Antarmuka yang terorganisir menampilkan hasil kontainer Terraform, melambangkan konteks yang lebih luas dari solusi kontainer dalam lingkungan HPC

Isolasi Kontainer Menciptakan Masalah Alur Kerja Pengembangan

Desain fundamental kontainer Apptainer telah menciptakan hambatan tak terduga bagi tim pengembangan. Pengguna melaporkan bahwa isolasi antara kontainer membuat sulit untuk menciptakan alur kerja modular di mana berbagai alat perlu bekerja sama. Ketika alat build penting seperti Make, GCC, dan Git ditempatkan dalam kontainer terpisah, mereka tidak dapat berinteraksi satu sama lain secara efektif. Hal ini memaksa tim untuk mengemas semuanya ke dalam kontainer tunggal yang besar atau meninggalkan pendekatan terkontainerisasi sepenuhnya.

Masalah ini meluas melampaui interaksi alat sederhana. Ketika aplikasi dikompilasi dalam kontainer, mereka sering menciptakan ketergantungan pada pustaka yang hanya ada di dalam lingkungan kontainer tersebut. Ini berarti program mungkin tampak bekerja dengan benar selama pengembangan tetapi gagal ketika diterapkan, karena mereka tidak dapat mengakses dependensi yang diperlukan di luar kontainer asli mereka.

Apptainer vs Solusi Container Lainnya

Fitur Apptainer Docker/Podman Modul Tradisional
Memerlukan hak akses root Tidak Tidak (mode rootless) Tidak
Distribusi file tunggal Ya (format SIF) Tidak (berlapis) Tidak
Interaksi tool Terbatas Terbatas Sangat Baik
Dukungan cluster HPC Sangat Baik Terbatas Sangat Baik
Kompatibilitas network filesystem Sangat Baik Buruk Sangat Baik
Dukungan GPU Native Baik Bervariasi

Lingkungan HPC Mendorong Adopsi Meski Ada Keterbatasan

Meskipun ada tantangan ini, Apptainer tetap banyak digunakan di seluruh kluster HPC utama termasuk Leonardo, LUMI, Fugaku, dan berbagai pusat komputasi universitas. Daya tarik teknologi ini di lingkungan tersebut berasal dari kemampuannya untuk berjalan tanpa hak akses root dan kompatibilitasnya dengan sumber daya komputasi bersama. Tidak seperti Docker atau Podman, kontainer Apptainer dapat ada sepenuhnya dalam direktori home pengguna pada sistem file jaringan, menghindari kebutuhan ruang disk lokal yang sering terbatas pada node komputasi.

Pada node komputasi, / mungkin 500gb nvme. Itu semua disk yang dimilikinya. Pengguna memasang $home mereka melalui nfs dan mendapatkan kuota apa pun yang kami tetapkan. Bisa ratusan tb.

Perbedaan arsitektur ini menjadi krusial ketika menangani skala yang khas di lingkungan HPC, di mana menyalin gambar kontainer besar ke ribuan node komputasi akan menciptakan hambatan jaringan dan tantangan penyimpanan yang signifikan.

Kluster HPC Utama yang Menggunakan Apptainer/Singularity

  • Leonardo (EuroHPC)
  • LUMI (EuroHPC)
  • Fugaku (Japan)
  • NeSI (New Zealand)
  • Levante (Germany)
  • Berbagai pusat komputasi universitas di seluruh dunia

Perbedaan Teknis Muncul Antara Apptainer dan Singularity CE

Ekosistem kontainer telah menjadi lebih kompleks setelah perpecahan proyek Singularity asli. Apptainer mewakili kelanjutan proyek asli di bawah Linux Foundation, sementara Sylabs mempertahankan Singularity CE sebagai fork terpisah. Meskipun kedua sistem tetap sebagian besar kompatibel, perbedaan halus mulai muncul yang mempengaruhi penggunaan dunia nyata.

Penemuan terbaru termasuk bug penanganan zona waktu yang mempengaruhi satu implementasi tetapi tidak yang lain, menciptakan masalah potensial untuk aplikasi komputasi ilmiah yang bergantung pada perhitungan waktu yang tepat. Perbedaan ini menyoroti tantangan mempertahankan kompatibilitas di seluruh basis kode yang serupa tetapi terpisah.

Solusi Alternatif Mendapat Daya Tarik

Kesulitan praktis dengan Apptainer telah membuat beberapa organisasi mengeksplorasi pendekatan alternatif. Sistem modul tradisional seperti modul TCL (sekarang Lua) kembali populer, menawarkan integrasi yang lebih baik antara komponen perangkat lunak yang berbeda tanpa penalti isolasi kontainer. Sistem ini memungkinkan pencampuran dan pencocokan alat dan versi yang berbeda sambil mempertahankan lingkungan yang dapat direproduksi.

Tim lain beralih ke solusi yang lebih baru seperti Flox, yang menyediakan sandboxing aplikasi berbasis Nix, atau tetap dengan konfigurasi Docker dan Podman tanpa root yang dapat memberikan manfaat keamanan serupa dengan dukungan ekosistem yang lebih luas.

Tantangan berkelanjutan dengan Apptainer mencerminkan pertanyaan yang lebih luas tentang peran kontainer dalam lingkungan komputasi ilmiah, di mana kebutuhan untuk reproduktibilitas harus diseimbangkan dengan persyaratan praktis alur kerja yang kompleks dan saling terhubung.

Referensi: EMPOWER YOUR APPLICATIONS.