Menyiapkan kluster Windows RDMA dengan HPC Pack untuk menjalankan aplikasi MPI

Penting

Komputer virtual klasik akan dihentikan pada 1 Maret 2023.

Jika Anda menggunakan sumber IaaS dari ASM, harap menyelesaikan migrasi sebelum 1 Maret 2023. Kami mendorong Anda untuk beralih lebih cepat untuk memanfaatkan banyak peningkatan fitur di Azure Resource Manager.

Untuk mengetahui informasi selengkapnya, lihat Migrasikan sumber IaaS Anda ke Azure Resource Manager sebelum 1 Maret 2023.

Siapkan kluster Windows RDMA di Azure dengan Microsoft HPC Pack dan ukuran VM HPC berkemampukan RDMA untuk menjalankan aplikasi Message Passing Interface (MPI) paralel. Saat Anda menyiapkan simpul berbasis Windows Server berkemampuan RDMA dalam kluster HPC Pack, aplikasi MPI berkomunikasi secara efisien melalui latensi rendah, jaringan throughput tinggi di Azure yang didasarkan pada teknologi akses memori langsung jarak jauh (RDMA).

Opsi penyebaran kluster HPC Pack

Microsoft HPC Pack adalah alat yang disediakan tanpa biaya tambahan untuk membuat kluster HPC lokal atau di Azure untuk menjalankan aplikasi HPC Windows atau Linux. HPC Pack mencakup lingkungan runtime untuk implementasi Microsoft dari Message Passing Interface untuk Windows (MS-MPI). Saat digunakan dengan instans berkemampukan RDMA yang menjalankan sistem operasi Windows Server yang didukung, HPC Pack menyediakan opsi yang efisien untuk menjalankan aplikasi Windows MPI yang mengakses jaringan Azure RDMA.

Artikel ini memperkenalkan dua skenario dan tautan ke panduan terperinci untuk menyiapkan kluster Windows RDMA dengan Microsoft HPC Pack 2012 R2.

  • Skenario 1. Menyebarkan instans peran pekerja intensif komputasi (PaaS)
  • Skenario 2. Menyebarkan simpul komputasi di VM intensif komputasi (IaaS)

Skenario 1: Menyebarkan instans peran pekerja intensif komputasi (PaaS)

Dari kluster HPC Pack yang ada, tambahkan sumber daya komputasi tambahan di instans peran pekerja Azure (simpul Azure) yang berjalan di layanan cloud (PaaS). Fitur ini, juga disebut "burst to Azure" dari HPC Pack, mendukung berbagai ukuran untuk instans peran pekerja. Saat menambahkan simpul Azure, tentukan salah satu ukuran berkemampuan RDMA.

Berikut ini adalah pertimbangan dan langkah-langkah untuk meledak ke instans Azure berkemampuan RDMA dari kluster yang ada (biasanya lokal). Gunakan prosedur serupa untuk menambahkan instans peran pekerja ke simpul kepala HPC Pack yang disebarkan di Azure VM.

Catatan

Untuk tutorial untuk membuka Azure dengan HPC Pack, lihat Menyiapkan kluster hibrid dengan HPC Pack. Perhatikan pertimbangan dalam langkah-langkah berikut yang berlaku khusus untuk simpul Azure berkemampuan RDMA.

Burst ke Azure

Langkah-langkah

  1. Menyebarkan dan mengonfigurasi head node HPC Pack 2012 R2

    Unduh paket penginstalan HPC Pack dari Pusat Unduhan Microsoft. Untuk persyaratan dan instruksi untuk mempersiapkan penyebaran burst Azure, lihat Burst ke Instans Pekerja Azure dengan Microsoft HPC Pack.

  2. Mengonfigurasi sertifikat manajemen di langganan Azure

    Konfigurasikan sertifikat untuk mengamankan koneksi antara simpul kepala dan Azure. Untuk opsi dan prosedur, lihat Skenario untuk Mengonfigurasi Sertifikat Manajemen Azure untuk HPC Pack. Untuk penyebaran pengujian, HPC Pack menginstal Sertifikat Manajemen Microsoft HPC Azure Default yang dapat Anda unggah dengan cepat ke langganan Azure Anda.

  3. Membuat layanan awan baru dan akun penyimpanan

    Gunakan portal Azure untuk membuat layanan cloud (klasik) dan akun penyimpanan (klasik) untuk penyebaran. Buat sumber daya ini di wilayah tempat ukuran H-series, A8, atau A9 yang ingin Anda gunakan tersedia. Lihat Produk Azure menurut wilayah.

  4. Membuat templat simpul Azure

    Gunakan Wizard Buat Templat Simpul di Manajer Kluster HPC. Untuk langkah-langkahnya, lihat Membuat templat simpul Azure di "Langkah-langkah untuk Menyebarkan Simpul Azure dengan Microsoft HPC Pack".

    Untuk pengujian awal, sebaiknya konfigurasikan kebijakan ketersediaan manual dalam templat.

  5. Menambahkan node ke kluster

    Gunakan Wizard Tambahkan Simpul di Manajer Kluster HPC. Untuk informasi selengkapnya, lihat Menambahkan Simpul Azure ke Kluster WINDOWS HPC.

    Saat menentukan ukuran simpul, pilih salah satu ukuran instans berkemampuan RDMA.

    Catatan

    Dalam setiap penyebaran burst ke Azure dengan instans intensif komputasi, HPC Pack secara otomatis menyebarkan minimal dua instans berkemampuan RDMA (seperti A8) sebagai simpul proksi, selain instans peran pekerja Azure yang Anda tentukan. Simpul proksi menggunakan inti yang dialokasikan untuk langganan dan dikenakan biaya bersama dengan instans peran pekerja Azure.

  6. Mulai (provisikan) simpul dan atur secara online untuk menjalankan pekerjaan

    Pilih simpul dan gunakan tindakan Mulai di MANAJER Kluster HPC. Saat provisi selesai, pilih simpul dan gunakan tindakan Bring Online di HPC Cluster Manager. Simpul siap menjalankan pekerjaan.

  7. Mengirimkan pekerjaan ke kluster

    Gunakan alat pengiriman pekerjaan HPC Pack untuk menjalankan pekerjaan kluster. Lihat Microsoft HPC Pack: Manajemen Pekerjaan.

  8. Hentikan (deprovisi) simpul

    Setelah selesai menjalankan pekerjaan, ambil simpul secara offline dan gunakan tindakan Hentikan di MANAJER Kluster HPC.

Skenario 2: Menyebarkan simpul komputasi di VM intensif komputasi (IaaS)

Dalam skenario ini, Anda menyebarkan simpul kepala HPC Pack dan node komputasi kluster pada VM di jaringan virtual Azure. HPC Pack menyediakan beberapa opsi penyebaran di Azure VM, termasuk skrip penyebaran otomatis dan templat mulai cepat Azure. Sebagai contoh, pertimbangan dan langkah-langkah berikut memandu Anda untuk menggunakan skrip penyebaran HPC Pack IaaS untuk mengotomatiskan penyebaran kluster HPC Pack 2012 R2 di Azure.

Kluster di Azure VM

Langkah-langkah

  1. Membuat simpul kepala kluster dan komputer virtual simpul komputasi dengan menjalankan skrip penyebaran HPC Pack IaaS di komputer klien

    Unduh paket Skrip Penyebaran IaaS Paket HPC dari Pusat Unduhan Microsoft.

    Untuk menyiapkan komputer klien, buat file konfigurasi skrip, dan jalankan skrip, lihat Membuat Kluster HPC dengan skrip penyebaran HPC Pack IaaS.

    Untuk pertimbangan untuk menyebarkan simpul komputasi berkemampuan RDMA, lihat Ukuran VM komputasi performa tinggi dan perhatikan hal berikut:

    • Jaringan virtual: Tentukan jaringan virtual baru di wilayah tempat ukuran seri H, A8, atau A9 yang ingin Anda gunakan tersedia. Lihat Produk Azure menurut wilayah.

    • Sistem operasi Windows Server: Untuk mendukung konektivitas RDMA, tentukan sistem operasi Windows Server yang kompatibel seperti Windows Server 2012 R2 untuk VM simpul komputasi.

    • Layanan cloud: Karena skrip menggunakan model penyebaran klasik, VM kluster disebarkan menggunakan layanan cloud Azure (ServiceName pengaturan dalam file konfigurasi). Sebaiknya sebarkan simpul kepala Anda dalam satu layanan cloud dan simpul komputasi Anda di layanan cloud yang berbeda.

    • Ukuran simpul kepala: Untuk skenario ini, pertimbangkan ukuran setidaknya A4 (Ekstra Besar) untuk simpul kepala.

    • Ekstensi HpcVmDrivers: Skrip penyebaran menginstal Agen Azure VM dan ekstensi HpcVmDrivers secara otomatis saat Anda menyebarkan ukuran simpul komputasi A8 atau A9 dengan sistem operasi Windows Server. HpcVmDrivers menginstal driver pada VM simpul komputasi sehingga mereka dapat terhubung ke jaringan RDMA. Pada VM seri H berkemampukan RDMA, Anda harus menginstal ekstensi HpcVmDrivers secara manual. Lihat Ukuran VM komputasi performa tinggi.

    • Konfigurasi jaringan kluster: Skrip penyebaran secara otomatis menyiapkan kluster HPC Pack di Topologi 5 (semua simpul di jaringan Enterprise). Topologi ini diperlukan untuk semua penyebaran kluster HPC Pack di VM. Jangan ubah topologi jaringan kluster nanti.

  2. Bawa simpul komputasi online untuk menjalankan pekerjaan

    Pilih node dan gunakan tindakan Bring Online di HPC Cluster Manager. Simpul siap menjalankan pekerjaan.

  3. Mengirimkan pekerjaan ke kluster

    Sambungkan ke simpul kepala untuk mengirimkan pekerjaan, atau menyiapkan komputer lokal untuk melakukan ini. Untuk informasi, lihat Mengirimkan Pekerjaan ke kluster HPC di Azure.

  4. Ambil simpul offline dan hentikan (batalkan alokasi) mereka

    Ketika Anda selesai menjalankan pekerjaan, buat simpul offline di HPC Cluster Manager. Kemudian, gunakan alat manajemen Azure untuk mematikannya.

Menjalankan aplikasi MPI pada kluster

Contoh: Menjalankan mpipingpong pada kluster HPC Pack

Untuk memverifikasi penyebaran HPC Pack dari instans berkemampuan RDMA, jalankan perintah mpipingpong HPC Pack pada kluster. mpipingpong mengirim paket data antara simpul yang dipasangkan berulang kali untuk menghitung pengukuran dan statistik latensi dan throughput untuk jaringan aplikasi yang mendukung RDMA. Contoh ini menunjukkan pola umum untuk menjalankan pekerjaan MPI (dalam hal ini, mpipingpong) dengan menggunakan perintah mpiexec kluster.

Contoh ini mengasumsikan Anda menambahkan simpul Azure dalam konfigurasi "burst to Azure" ([Scenario 1](#scenario-1.-deploy-compute-intensive-worker-role-instances-(PaaS) dalam artikel ini). Jika Anda menyebarkan HPC Pack pada kluster Azure VM, Anda harus memodifikasi sintaks perintah untuk menentukan grup simpul yang berbeda dan mengatur variabel lingkungan tambahan untuk mengarahkan lalu lintas jaringan ke jaringan RDMA.

Untuk menjalankan mpipingpong pada kluster:

  1. Pada simpul kepala atau pada komputer klien yang dikonfigurasi dengan benar, buka Prompt Perintah.

  2. Untuk memperkirakan latensi antara pasangan simpul dalam penyebaran burst Azure dari empat simpul, ketik perintah berikut untuk mengirimkan pekerjaan untuk menjalankan mpipingpong dengan ukuran paket kecil dan banyak iterasi:

    job submit /nodegroup:azurenodes /numnodes:4 mpiexec -c 1 -affinity mpipingpong -p 1:100000 -op -s nul
    

    Perintah mengembalikan ID pekerjaan yang dikirimkan.

    Jika Anda menyebarkan kluster HPC Pack yang disebarkan di Azure VM, tentukan grup simpul yang berisi VM simpul komputasi yang disebarkan dalam satu layanan cloud, dan ubah perintah mpiexec sebagai berikut:

    job submit /nodegroup:vmcomputenodes /numnodes:4 mpiexec -c 1 -affinity -env MSMPI_DISABLE_SOCK 1 -env MSMPI_PRECONNECT all -env MPICH_NETMASK 172.16.0.0/255.255.0.0 mpipingpong -p 1:100000 -op -s nul
    
  3. Ketika pekerjaan selesai, untuk melihat output (dalam hal ini, output tugas 1 dari pekerjaan), ketik yang berikut ini

    task view <JobID>.1
    

    di mana <JobID> adalah ID pekerjaan yang dikirimkan.

    Output mencakup hasil latensi yang mirip dengan yang berikut ini.

    Latensi ping pong

  4. Untuk memperkirakan throughput antara pasangan simpul burst Azure, ketik perintah berikut untuk mengirimkan pekerjaan untuk menjalankan mpipingpong dengan ukuran paket besar dan beberapa iterasi:

    job submit /nodegroup:azurenodes /numnodes:4 mpiexec -c 1 -affinity mpipingpong -p 4000000:1000 -op -s nul
    

    Perintah mengembalikan ID pekerjaan yang dikirimkan.

    Pada kluster HPC Pack yang disebarkan di Azure VM, ubah perintah seperti yang disebutkan di langkah 2.

  5. Ketika pekerjaan selesai, untuk melihat output (dalam hal ini, output tugas 1 dari pekerjaan), ketik yang berikut:

    task view <JobID>.1
    

    Output mencakup hasil throughput yang mirip dengan yang berikut ini.

    Throughput ping pong

Pertimbangan aplikasi MPI

Berikut ini adalah pertimbangan untuk menjalankan aplikasi MPI dengan HPC Pack di Azure. Beberapa hanya berlaku untuk penyebaran node Azure (instans peran pekerja ditambahkan dalam konfigurasi "burst to Azure").

  • Instans peran pekerja dalam layanan cloud secara berkala disediakan ulang tanpa pemberitahuan oleh Azure (misalnya, untuk pemeliharaan sistem, atau jika instans gagal). Jika instans diprovisikan ulang saat menjalankan pekerjaan MPI, instans kehilangan datanya dan kembali ke status saat pertama kali disebarkan, yang dapat menyebabkan pekerjaan MPI gagal. Semakin banyak simpul yang Anda gunakan untuk satu pekerjaan MPI, dan semakin lama pekerjaan berjalan, semakin besar kemungkinan salah satu instans disediakan ulang saat pekerjaan sedang berjalan. Pertimbangkan juga ini jika Anda menunjuk satu simpul dalam penyebaran sebagai server file.

  • Untuk menjalankan pekerjaan MPI di Azure, Anda tidak perlu menggunakan instans berkemampukan RDMA. Anda dapat menggunakan ukuran instans apa pun yang didukung oleh HPC Pack. Namun, instans berkemampuan RDMA direkomendasikan untuk menjalankan pekerjaan MPI skala relatif besar yang sensitif terhadap latensi dan bandwidth jaringan yang menghubungkan simpul. Jika Anda menggunakan ukuran lain untuk menjalankan pekerjaan MPI yang sensitif terhadap latensi dan bandwidth, sebaiknya jalankan pekerjaan kecil, di mana satu tugas hanya berjalan pada beberapa simpul.

  • Aplikasi yang disebarkan ke instans Azure tunduk pada istilah lisensi yang terkait dengan aplikasi. Periksa dengan vendor aplikasi komersial apa pun untuk lisensi atau batasan lain untuk berjalan di cloud. Tidak semua vendor menawarkan lisensi prabayar.

  • Instans Azure memerlukan penyiapan lebih lanjut untuk mengakses simpul, berbagi, dan server lisensi lokal. Misalnya, untuk mengaktifkan simpul Azure untuk mengakses server lisensi lokal, Anda dapat mengonfigurasi jaringan virtual Azure situs-ke-situs.

  • Untuk menjalankan aplikasi MPI pada instans Azure, daftarkan setiap aplikasi MPI dengan Windows Firewall pada instans dengan menjalankan perintah hpcfwutil . Ini memungkinkan komunikasi MPI berlangsung pada port yang ditetapkan secara dinamis oleh firewall.

    Catatan

    Untuk penyebaran burst ke Azure, Anda juga dapat mengonfigurasi perintah pengecualian firewall untuk berjalan secara otomatis pada semua simpul Azure baru yang ditambahkan ke kluster Anda. Setelah Anda menjalankan perintah hpcfwutil dan memverifikasi bahwa aplikasi Anda berfungsi, tambahkan perintah ke skrip startup untuk simpul Azure Anda. Untuk informasi selengkapnya, lihat Menggunakan Skrip Startup untuk Simpul Azure.

  • HPC Pack menggunakan variabel lingkungan kluster CCP_MPI_NETMASK untuk menentukan berbagai alamat yang dapat diterima untuk komunikasi MPI. Mulai HPC Pack 2012 R2, variabel lingkungan kluster CCP_MPI_NETMASK hanya memengaruhi komunikasi MPI antara simpul komputasi kluster yang bergabung dengan domain (baik lokal atau di Azure VM). Variabel diabaikan oleh simpul yang ditambahkan dalam burst ke konfigurasi Azure.

  • Pekerjaan MPI tidak dapat berjalan di seluruh instans Azure yang disebarkan di layanan cloud yang berbeda (misalnya, dalam penyebaran Azure dengan templat simpul yang berbeda, atau simpul komputasi Azure VM yang disebarkan di beberapa layanan cloud). Jika Anda memiliki beberapa penyebaran simpul Azure yang dimulai dengan templat simpul yang berbeda, pekerjaan MPI harus berjalan hanya pada satu set simpul Azure.

  • Saat Anda menambahkan simpul Azure ke kluster Anda dan membuatnya online, Layanan Penjadwal Pekerjaan HPC segera mencoba memulai pekerjaan pada simpul. Jika hanya sebagian beban kerja Anda yang dapat berjalan di Azure, pastikan Anda memperbarui atau membuat templat pekerjaan untuk menentukan jenis pekerjaan apa yang dapat berjalan di Azure. Misalnya, untuk memastikan bahwa pekerjaan yang dikirimkan dengan templat pekerjaan hanya berjalan pada simpul Azure, tambahkan properti Grup Simpul ke templat pekerjaan dan pilih AzureNodes sebagai nilai yang diperlukan. Untuk membuat grup kustom untuk simpul Azure Anda, gunakan cmdlet HPC PowerShell Add-HpcGroup.

Langkah berikutnya