Bagikan melalui


Praktik terbaik untuk menggunakan VM HB dan HC

Gambaran Umum

Komputer virtual seri H (VM) adalah penawaran HPC terbaru di Azure. VM seri HB menawarkan prosesor AMD EPYC 60 inti dan dioptimalkan untuk menjalankan aplikasi dengan persyaratan bandwidth memori tinggi, seperti analisis elemen terbatas eksplisit, dinamika fluida, dan pemodelan cuaca. VM seri HC memiliki prosesor Intel Xeon Skylake 44 inti dan dioptimalkan untuk aplikasi yang memerlukan perhitungan CPU intensif, seperti dinamika molekuler dan analisis elemen terbatas implisit. VM HB dan HC memiliki EDR InfiniBand 100 Gb/dtk dan mendukung jenis dan versi MPI terbaru. Untuk informasi selengkapnya tentang cara menskalakan aplikasi HPC pada VM HB dan HC, lihat Panduan Penskalaan Aplikasi HPC.

Azure CycleCloud mendukung VM seri H baru, tetapi untuk pengalaman dan performa terbaik, ikuti panduan dan praktik terbaik dalam artikel ini.

Gambar CentOS 7.6 HPC Marketplace

Gambar CentOS 7.6 HPC Marketplace berisi semua driver untuk mengaktifkan antarmuka InfiniBand serta versi yang telah dikompilasi sebelumnya dari semua varian MPI umum yang diinstal di /opt. Untuk detail tentang apa yang ditawarkan gambar, lihat posting blog ini.

Untuk menggunakan gambar HPC CentOS 7.6 saat membuat kluster Anda, centang kotak Gambar Kustom pada parameter Pengaturan Tingkat Lanjut dan masukkan nilai OpenLogic:CentOS-HPC:7.6:latest.

Gambar HPC CentOS

Untuk mendukung seri VM H16r yang lebih lama dan memastikan node kepala kluster terkunci ke versi CentOS yang sama, 'Cycle CentOS 7' sebagai gambar default di dropdown Sistem Operasi Dasar, menyebarkan CentOS 7.4. Meskipun versi ini berfungsi untuk sebagian besar seri VM, VM HB dan HC memerlukan CentOS 7.6 atau yang lebih baru dan driver Mellanox yang berbeda.

Nonaktifkan SElinux dalam versi CycleCloud yang lebih lama dari 7.7.4

Secara default, SElinux hanya mempertimbangkan /root dan /home menjadi jalur yang valid untuk direktori beranda. Jika pengguna memiliki direktori rumah di luar jalur ini, SElinux memblokir SSH agar tidak menggunakan keypair SSH apa pun di direktori beranda pengguna. Di kluster CycleCloud, Anda membuat direktori beranda pengguna di /shared/home. Meskipun versi CycleCloud yang lebih baru dari 7.7.4 secara otomatis mengatur /shared/home jalur sebagai konteks homedir SElinux yang valid, versi lama tidak mendukung fitur ini. Untuk memastikan SSH berfungsi dengan baik bagi pengguna pada kluster, nonaktifkan SElinux di templat kluster:

[[node defaults]]
    [[[configuration]]]
    cyclecloud.selinux.policy = permissive

Menjalankan tugas MPI dengan Slurm

Pekerjaan MPI yang berjalan pada VM HB atau HC perlu berjalan dalam set skala komputer virtual yang sama. Untuk memastikan penempatan skala otomatis VM yang tepat untuk pekerjaan MPI yang berjalan dengan Slurm, atur atribut berikut di templat kluster Anda:

[[nodearray execute]]
Azure.SingleScaleset = true
Azure.MaxScalesetSize = 300
Azure.Overprovision = true

Mendapatkan kunci p untuk digunakan dengan OpenMPI dan MPICH

Beberapa varian MPI mengharuskan Anda menentukan PKEY InfiniBand saat menjalankan pekerjaan. Gunakan fungsi Bash berikut untuk menentukan PKEY:

get_ib_pkey()
{
    key0=$(cat /sys/class/infiniband/mlx5_0/ports/1/pkeys/0)
    key1=$(cat /sys/class/infiniband/mlx5_0/ports/1/pkeys/1)

    if [ $(($key0 - $key1)) -gt 0 ]; then
        export IB_PKEY=$key0
    else
        export IB_PKEY=$key1
    fi

    export UCX_IB_PKEY=$(printf '0x%04x' "$(( $IB_PKEY & 0x0FFF ))")
}