Latihan - Menambahkan array node kustom ke kluster HPC

Selesai

Perhatian

Konten ini mereferensikan CentOS, distribusi Linux yang merupakan status End Of Life (EOL). Harap pertimbangkan penggunaan dan rencanakan yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.

Nodearray adalah kumpulan node yang dikonfigurasi secara identik dari kluster Azure CycleCloud. Nodearray bertujuan untuk mengakomodasi penskalaan horizontal dari sumber daya komputasi kluster karena jumlah antrean pekerjaan berubah. Setiap nodearray memiliki nama, sekumpulan atribut yang berlaku untuk setiap node, dan atribut opsional yang menjelaskan cara nodearray melakukan penskalaan.

Penjadwal pekerjaan Slurm mengelompokkan simpul ke dalam set logis dan berpotensi tumpang tindih. Tujuan mereka adalah untuk mengoptimalkan pemrosesan pekerjaan dengan memperhitungkan batasan spesifik mereka seperti sumber daya atau batas waktu. Penjadwal mengalokasikan pekerjaan ke node dalam partisi sampai sumber daya habis atau semua pekerjaan sudah diproses.

Anda ingin mengubah kluster yang dikelola Azure CycleCloud yang baru disebarkan untuk memperhitungkan kebutuhan sumber daya khusus pekerjaan. Untuk mencapai tujuan ini, Anda memutuskan untuk mengimplementasikan lebih banyak perubahan pada templat dasar dan memvalidasi pendekatan Anda.

Pada latihan ini, Anda akan melakukan tugas-tugas berikut:

  • Tugas 1: Menambahkan definisi nodearray ke templat Azure CycleCloud
  • Tugas 2: Menambahkan parameter antarmuka grafis ke templat Azure CycleCloud
  • Tugas 3: Mengekspor properti kluster Azure CycleCloud
  • Tugas 4: Mengedit file properti agar menyertakan parameter baru
  • Tugas 5: Mengimpor file templat dan parameter yang sudah diubah ke kluster yang ada

Catatan

Pastikan Anda berhasil menyelesaikan latihan sebelumnya sebelum memulai latihan ini.

Tugas 1: Menambahkan definisi nodearray ke templat Azure CycleCloud

Anda akan mulai dengan menambahkan definisi nodearray dalam templat Slurm yang Anda sesuaikan di latihan sebelumnya. Templat sampel berisi dua partisi berlabel hpc dan htc. Anda akan membuat partisi lain dan nodearray yang sesuai untuk pekerjaan yang memanfaatkan kemampuan Compute Unified Device Architecture (CUDA).

  1. Arahkan ke portal Microsoft Azure. Saat diminta, autentikasi dengan akun Microsoft atau akun Microsoft Entra yang memiliki peran Kontributor atau Pemilik dalam langganan Azure yang Anda gunakan dalam modul ini.

  2. Dari portal Microsoft Azure, buka Cloud Shell dengan memilih ikonnya pada bar alat di samping kotak teks pencarian dan pastikan Anda menjalankan sesi Bash.

  3. Jalankan perintah berikut di Cloud Shell untuk mengatur direktori kerja ke yang menghosting repositori GitHub yang Anda ambil di latihan sebelumnya:

    cd ~/cyclecloud-slurm/templates
    
  4. Jalankan perintah berikut untuk membuka templat yang diunduh di editor nano:

    nano slurm.txt
    
  5. Di antarmuka editor nano, gulir ke bagian [parameters About] dan tambahkan konten berikut langsung sebelum:

    
    [[nodearray cuda]]
    MachineType = $CUDAMachineType
    ImageName = $CUDAImageName
    MaxCoreCount = $MaxCUDAExecuteCoreCount
    
    AdditionalClusterInitSpecs = $CUDAClusterInitSpecs
    
        [[[configuration]]]
        slurm.autoscale = true
        slurm.hpc = true
    
        [[[cluster-init cyclecloud/slurm:execute]]]
    
        [[[network-interface eth0]]]
        AssociatePublicIpAddress = $ExecuteNodesPublic
    
    

    Catatan

    Jika Anda menggunakan komputer Windows, Anda dapat menempelkan konten clipboard dengan menggunakan kombinasi tombol Shift + Insert .

    Catatan

    Perubahan Anda menentukan nodearray tambahan.

Tugas 2: Menambahkan parameter antarmuka grafis ke templat Azure CycleCloud

Agar bisa mengubah nilai parameter templat dengan antarmuka grafis Azure CycleCloud, Anda akan mengimplementasikan lebih banyak perubahan pada templat.

  1. Di antarmuka editor nano, gulir ke bagian [[parameters Auto-Scaling]] dan tambahkan konten berikut langsung sebelum:

    
        [[[parameter CUDAMachineType]]]
        Label = CUDA VM Type
        Description = The VM type for CUDA execute nodes
        ParameterType = Cloud.MachineType
        DefaultValue = Standard_NC24
    
    
  2. Gulir ke bagian [[[parameter HPCMaxScalesetSize]]] dan tambahkan konten berikut langsung sebelum:

    
        [[[parameter MaxCUDAExecuteCoreCount]]]
        Label = Max CUDA Cores
        Description = The total number of CUDA execute cores to start
        DefaultValue = 100
        Config.Plugin = pico.form.NumberTextBox
        Config.MinValue = 0
        Config.IntegerOnly = true
    
    
  3. Gulir ke bagian [[[parameter SchedulerClusterInitSpecs]]] dan tambahkan konten berikut langsung sebelum:

    
        [[[parameter CUDAImageName]]]
        Label = CUDA OS
        ParameterType = Cloud.Image
        Config.OS = linux
        DefaultValue = cycle.image.centos7
        Config.Filter := Package in {"cycle.image.centos7", "cycle.image.ubuntu18"}
    
    
  4. Gulir ke bagian [[parameters Advanced Networking]] dan tambahkan konten berikut langsung sebelum:

    
        [[[parameter CUDAClusterInitSpecs]]]
        Label = CUDA Cluster-Init
        DefaultValue = =undefined
        Description = Cluster init specs to apply to CUDA execute nodes
        ParameterType = Cloud.ClusterInitSpecs
    
    
  5. Pilih kombinasi tombol Ctrl + O, pilih tombol Enter, lalu pilih kombinasi tombol Ctrl + X untuk menyimpan perubahan yang Anda buat dan menutup file.

Tugas 3: Mengekspor properti kluster Azure CycleCloud

Sebelum menerapkan perubahan konfigurasi yang Anda buat di templat Azure CycleCloud ke kluster target, Anda harus terlebih dahulu mengekspor properti kluster.

  1. Jalankan perintah berikut di Cloud Shell untuk mencantumkan kluster yang ada:

    cyclecloud show_cluster
    

    Catatan

    Verifikasi bahwa output mencakup entri contoso-custom-slurm-lab-cluster.

  2. Jalankan perintah berikut untuk mengekspor ke dalam file params.json, daftar parameter kluster contoso-custom-slurm-lab-cluster, dan nilainya:

    cyclecloud export_parameters contoso-custom-slurm-lab-cluster > ~/params.json
    
  3. Jalankan perintah berikut untuk meninjau daftar parameter dan nilainya yang sudah diekspor:

    cat ~/params.json
    

Tugas 4: Mengedit file properti agar menyertakan parameter baru

Sementara pengeditan yang Anda terapkan ke templat Azure CycleCloud menyertakan nilai default untuk semua parameter yang baru diperkenalkan, Anda mungkin perlu mengubah parameter untuk memperhitungkan persyaratan tertentu. Dalam tugas ini, Anda akan menetapkan nilai parameter CUDAMachineType dan MaxCUDAExecuteCoreCount.

  1. Jalankan perintah berikut di Cloud Shell untuk membuka file parameter yang diunduh di editor nano:

    nano ~/params.json
    
  2. Di editor nano, gulir ke akhir file dan tambahkan konten berikut dimulai dengan baris baru sebelum kurung kurawal penutup (}):

       "CUDAMachineType" : "Standard_NC6",
       "MaxCUDAExecuteCoreCount" : 60
    
  3. Tambahkan koma ke akhir baris sebelum baris yang Anda tambahkan di langkah sebelumnya:

       "CUDAMachineType" : "Standard_NC6"
    
  4. Pilih kombinasi tombol Ctrl + O, pilih tombol Enter, lalu pilih kombinasi tombol Ctrl + X untuk menyimpan perubahan yang Anda buat dan menutup file.

Tugas 5: Mengimpor file templat dan parameter yang sudah diubah ke kluster yang ada

Untuk menyimpulkan latihan ini, Anda akan mengimpor templat yang sudah diubah beserta file parameternya ke dalam kluster yang ada dan menimpa konfigurasinya saat ini.

  1. Jalankan perintah berikut di Cloud Shell untuk mengimpor templat yang dimodifikasi dan file parameternya ke dalam kluster yang ada:

    cyclecloud import_cluster contoso-custom-slurm-lab-cluster --file ~/cyclecloud-slurm/templates/slurm.txt -p ~/params.json -c Slurm --force
    

    Catatan

    Anda harus menentukan nama kluster target dan --force bendera untuk menimpa konfigurasi kluster yang ada.

  2. Di komputer Anda, buka jendela browser lain dan buka URL https://< IP_address>. Jika diminta, konfirmasi bahwa Anda ingin melanjutkan.

  3. Jika Anda diminta melakukan autentikasi, masuklah dengan memberikan info masuk akun pengguna aplikasi Azure CycleCloud yang sama dengan yang Anda gunakan untuk mengonfigurasi Azure CycleCloud CLI.

  4. Pada antarmuka grafis Azure CycleCloud, masuk ke halaman Kluster. Dalam daftar kluster, pilih entri contoso-custom-slurm-lab-cluster , lalu pilih Edit.

  5. Di jendela sembul Edit contoso-custom-slurm-lab-cluster, pada halaman Tentang, pilih Berikutnya.

  6. Pada halaman Pengaturan yang diperlukan, verifikasi keberadaan entri CUDA VM Type yang ditetapkan ke nilai Standard_NC6 dan opsi penskalaan otomatis terkait:

Cuplikan layar halaman Pengaturan yang Diperlukan dari jendela pop-up Edit contoso-custom-slurm-lab-cluster.

Selamat! Anda berhasil menyelesaikan latihan kedua modul ini. Dalam latihan ini, Anda telah menyesuaikan kluster Azure CycleCloud lebih lanjut menggunakan templat yang sudah diubah termasuk definisi nodearray baru dengan partisi yang sesuai. Untuk melakukannya, setelah mengedit templat, Anda telah mengekspor dan mengedit file parameter kluster kemudian mengimpornya ke dalam kluster bersama dengan templat yang sudah diubah.

Catatan

Jangan hapus sumber daya yang Anda sebarkan dan konfigurasikan dalam latihan ini jika Anda berencana untuk menjalankan latihan berikutnya. Sumber daya ini diperlukan untuk menyelesaikan latihan berikutnya.