Membuat instance VM yang siap digunakan dengan HPC

Workload komputasi berperforma tinggi (HPC) yang dikaitkan secara erat sering kali menggunakan Message Submit Interface (MPI) untuk berkomunikasi antara proses dan instance mesin virtual (VM). Namun, membuat image VM Anda sendiri yang disesuaikan untuk performa MPI optimal memerlukan keahlian sistem, Trusted Cloud by S3NS pengetahuan, dan waktu tambahan untuk pemeliharaan. Untuk menyiapkan lingkungan yang dioptimalkan dengan cepat untuk workload HPC, gunakan image VM HPC.

Image VM HPC adalah image VM berbasis Rocky Linux 8 yang dioptimalkan untuk workload HPC yang terkait erat. Solusi ini mencakup parameter penyesuaian jaringan dan kernel yang telah dikonfigurasi sebelumnya yang diperlukan untuk membuat instance VM yang mencapai performa MPI optimal di Trusted Cloud by S3NS.

Untuk mendapatkan hasil terbaik, deploy image VM HPC pada jenis mesin dari seri mesin yang dioptimalkan untuk HPC, seperti seri H4D atau H3, atau seri mesin yang dioptimalkan untuk Komputasi, seperti C2 atau C2D. Jenis mesin ini dirancang untuk aplikasi HPC yang terkait erat. Untuk menggunakan RDMA dengan H4D, Anda harus menggunakan image VM HPC versi 20241125 atau yang lebih baru.

Anda dapat membuat instance VM yang siap menjalankan HPC menggunakan opsi berikut:

Manfaat

Image VM HPC memberikan manfaat berikut:

  1. Instance VM siap pakai untuk workload HPC. Anda tidak perlu menyesuaikan performa secara manual, mengelola mulai ulang instance VM, atau mengikuti update terbaru untuk workload HPC yang terkait erat. Trusted Cloud
  2. Pengoptimalan jaringan untuk workload yang dikaitkan secara erat. Pengoptimalan yang mengurangi latensi untuk pesan kecil disertakan, yang menguntungkan aplikasi yang sangat bergantung pada komunikasi titik ke titik dan kolektif. Jika menggunakan seri mesin H4D, image VM HPC berisi driver Cloud RDMA yang diperlukan.
  3. Pengoptimalan komputasi untuk workload HPC. Pengoptimalan yang mengurangi jitter sistem akan disertakan, yang membuat performa tinggi node tunggal lebih mudah diprediksi.
  4. Performa yang konsisten dan dapat direproduksi. Standardisasi image VM akan memberi Anda performa level aplikasi yang konsisten dan dapat direproduksi.
  5. Peningkatan kompatibilitas aplikasi. Perataan dengan persyaratan level node dalam spesifikasi platform HPC Intel yang memungkinkan interoperabilitas antar-sistem tingkat tinggi.

Fitur image VM HPC

Image VM HPC menawarkan beberapa fitur yang dirancang untuk mengoptimalkan performa untuk workload komputasi berperforma tinggi (HPC):

  • Update otomatis dinonaktifkan
  • Penyesuaian kolektif Intel MPI
  • RPM yang telah terinstal sebelumnya

Update otomatis dinonaktifkan

Pembaruan otomatis dapat berdampak negatif pada performa beban kerja HPC. Update otomatis dapat dinonaktifkan saat menggunakan image VM HPC dengan menetapkan entri metadata google_disable_automatic_updates ke TRUE saat membuat instance VM. Cara entri metadata ini ditetapkan selama pembuatan instance bergantung pada alat yang Anda gunakan untuk membuat instance.

Misalnya, saat menggunakan perintah gcloud compute instances create untuk membuat instance VM, berikan argumen --metadata. Untuk mengetahui informasi selengkapnya, lihat artikel Tentang metadata VM.

Intel MPI Library

Google merekomendasikan agar Anda menggunakan library Intel MPI 2021 untuk menjalankan tugas MPI di Trusted Cloud by S3NS. Untuk informasi selengkapnya, lihat dokumentasi berikut:

RPM yang telah terinstal sebelumnya

Image VM HPC dilengkapi dengan paket RPM berikut yang telah diinstal sebelumnya:

  • daos-client
  • gcc-gfortran
  • gcc-toolset-12
  • Lmod
  • dkms
  • htop
  • hwloc
  • hwloc-devel
  • infiniband-diags
  • kernel-devel
  • kmod-idpf-irdma
  • libfabric
  • librdmacm-utils
  • libibverbs-utils
  • libXt
  • ltrace
  • nfs-utils
  • numactl
  • numactl-devel
  • papi
  • pciutils
  • pdsh
  • perf
  • perftest
  • rdma-core
  • redhat-lsb-core
  • redhat-lsb-cxx
  • rsh
  • screen
  • strace
  • wget
  • zsh
  • Grup paket "Development Tools"

Panduan Memulai

Tutorial ini menjelaskan langkah-langkah untuk menyiapkan instance VM yang dioptimalkan untuk HPC. Prosedur ini menjelaskan cara:

  • Membuat instance VM HPC (tanpa mengonfigurasi Cloud RDMA)
  • Menentukan kebijakan penempatan rapat saat membuat instance VM HPC
  • Membuat instance VM HPC yang menggunakan Cloud RDMA (Pratinjau)

Anda tidak dapat menambahkan Cloud RDMA ke instance VM HPC yang sudah ada, jadi ikuti langkah-langkah yang sesuai saat membuat instance.

Sebelum memulai

  1. Agar dapat menggunakan Google Cloud CLI untuk panduan memulai ini, Anda harus menginstal dan menginisialisasi Google Cloud CLI terlebih dahulu:
  2. Di konsol Trusted Cloud , pada halaman pemilih project, pilih atau buat Trusted Cloud project.

Membuat instance VM HPC

Sebaiknya pilih jenis mesin dari seri mesin berikut:

VM ini memiliki pemetaan inti virtual-ke-fisik yang tetap dan mengekspos arsitektur sel NUMA ke OS tamu, yang keduanya penting bagi performa aplikasi HPC dengan pengaitan erat.

Konsol

  1. Di konsol Trusted Cloud , buka halaman HPC VM Cloud Marketplace. Buka halaman HPC VM Cloud Marketplace

  2. Klik Mulai.

  3. Di halaman deployment VM HPC, masukkan Nama deployment. Nama ini akan menjadi root nama VM Anda. Compute Engine akan menambahkan -vm ke nama ini saat memberi nama instance Anda.

  4. Pilih Zone dan Machine type. Untuk panduan memulai ini, Anda dapat membiarkan semua setelan apa adanya atau mengubahnya.

  5. Biarkan Boot disk type, Boot disk size, dan Network interface pada setelan defaultnya.

  6. Klik Deploy.

Setelah pembuatan instance VM selesai, Cloud Deployment Manager akan terbuka, dan Anda dapat mengelola VM HPC dan deployment lainnya.

gcloud

Buat VM HPC menggunakan perintah instances create. Jika Anda membuat beberapa instance VM HPC yang saling terhubung, maka buat VM HPC dengan kebijakan penempatan yang ringkas untuk mencapai latensi jaringan yang rendah.

Untuk membuat instance VM HPC tanpa kebijakan penempatan, gunakan perintah yang mirip dengan berikut ini:

gcloud compute instances create INSTANCE_NAME \
        --zone=ZONE \
        --image-family=IMAGE_FAMILY \
        --image-project=cloud-hpc-image-public \
        --maintenance-policy=TERMINATE \
        --machine-type=MACHINE_TYPE

Ganti kode berikut:

  • INSTANCE_NAME: nama untuk instance VM HPC.
  • ZONE: zona tempat instance akan dibuat.
  • IMAGE_FAMILY: Kelompok image image yang akan digunakan saat membuat instance VM. Gunakan hpc-rocky-linux-8 untuk image berbasis Rocky Linux 8 terbaru.
  • MACHINE_TYPE: jenis mesin yang akan digunakan saat membuat instance VM.

Setelah beberapa waktu, pembuatan instance VM selesai. Untuk memverifikasi konfigurasi instance dan melihat statusnya, jalankan perintah berikut:

gcloud compute instances describe INSTANCE_NAME

Membuat instance VM HPC dengan kebijakan penempatan yang ringkas

Anda dapat mengurangi latensi antar-instance VM dengan membuat kebijakan penempatan yang ringkas. Kebijakan penempatan rapat memastikan bahwa instance di zona ketersediaan yang sama berdekatan satu sama lain.

Jika Anda memerlukan lebih banyak instance VM daripada yang dapat dimuat dalam satu kebijakan penempatan ringkas, bagi instance Anda menjadi beberapa kebijakan penempatan. Gunakan jumlah minimum kebijakan penempatan yang dapat memuat semua instance Anda.

Untuk membuat instance VM HPC yang menentukan kebijakan penempatan yang ringkas, ikuti langkah-langkah berikut:

  1. Buat kebijakan penempatan yang ringkas.

  2. Lakukan salah satu hal berikut:

Membuat instance VM HPC yang menggunakan Cloud RDMA

Untuk membuat instance VM HPC yang menggunakan Cloud RDMA, Anda harus membuat setidaknya satu jaringan VPC reguler dan satu jaringan VPC Falcon terlebih dahulu. Jaringan VPC Falcon menggunakan profil jaringan RDMA yang memungkinkan traffic RDMA antar-instance komputasi. Jaringan ini terpisah dari jaringan VPC reguler yang membawa traffic non-RDMA ke Trusted Cloud by S3NS layanan atau internet lainnya.

Untuk membuat instance VM HPC yang menggunakan Cloud RDMA, tugas yang harus diselesaikan adalah sebagai berikut:

  1. Identifikasi atau buat minimal dua jaringan VPC:

    • Jaringan VPC reguler untuk traffic yang melewati antarmuka jaringan gVNIC
    • Jaringan VPC Falcon untuk traffic RDMA
  2. Buat instance VM HPC.

    1. Untuk image sumber, gunakan image VM HPC. Image ini mencakup driver yang diperlukan untuk Cloud RDMA.
    2. Selama pembuatan instance, konfigurasi setidaknya dua antarmuka jaringan—satu yang menggunakan driver gVNIC dan satu yang menggunakan driver IRDMA.

      Untuk penjelasan yang lebih lengkap, lihat Membuat instance yang menggunakan Cloud RDMA.

  3. Jika Anda berencana menjalankan aplikasi MPI pada instance VM HPC yang menggunakan Cloud RDMA, ikuti langkah-langkah konfigurasi MPI di Menyiapkan dan menskalakan aplikasi MPI di VM H4D dengan Cloud RDMA.

Mengakses instance VM HPC

Setelah dibuat, instance VM HPC akan otomatis dimulai. Untuk mengakses instance, lakukan salah satu hal berikut:

Konsol

  1. Di konsol Trusted Cloud , buka halaman VM instances.

    Buka instance VM

  2. Klik nama instance VM Anda.

  3. Di bagian Remote Access, klik menu drop-down pertama dan pilih cara Anda ingin mengakses instance.

Compute Engine menyebarkan kunci SSH dan membuat pengguna Anda. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan ke VM Linux.

gcloud

Untuk mengakses instance menggunakan SSH, gunakan perintah gcloud compute ssh:

gcloud compute ssh INSTANCE_NAME

Compute Engine menyebarkan kunci SSH dan membuat pengguna Anda. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan ke instance.

Pembersihan

Agar tidak menimbulkan biaya pada Trusted Cloud by S3NS akun Anda untuk resource yang digunakan dalam panduan memulai ini, hapus semua instance VM HPC yang Anda buat.

Konsol

  1. Di konsol Trusted Cloud , buka halaman Deployments.

    Buka Deployment

  2. Pilih kotak centang di samping HPC VM deployment.

  3. Klik Delete.

gcloud

Gunakan perintah instances delete:

gcloud compute instances delete INSTANCE_NAME

Mengonfigurasi instance VM HPC Anda sesuai dengan praktik terbaik

Untuk mendapatkan performa yang lebih baik dan lebih dapat diprediksi untuk instance VM HPC Anda, sebaiknya gunakan praktik terbaik berikut.

Menonaktifkan multithreading simultan

Secara default, image VM HPC memungkinkan multithreading simultan (SMT), yang juga dikenal sebagai Hyper-Threading pada prosesor Intel. Menonaktifkan SMT dapat membuat performa Anda lebih dapat diprediksi dan dapat mengurangi waktu tugas.

Anda dapat menggunakan metode berikut untuk menonaktifkan SMT:

  • Untuk menonaktifkan SMT saat membuat VM HPC baru, ikuti langkah-langkah untuk membuat VM HPC dan menyertakan flag --threads-per-core=1.

  • Untuk menonaktifkan SMT di VM HPC yang ada, hubungkan ke VM dan jalankan perintah berikut dari VM:

    sudo google_mpi_tuning --nosmt
    

Untuk informasi selengkapnya, lihat Menetapkan jumlah thread per core.

Mengonfigurasi gVNIC sebagai jenis antarmuka jaringan untuk instance C2 dan C2D

Image VM HPC mendukung Virtio-net dan Google Virtual NIC (gVNIC) sebagai antarmuka jaringan virtual. Menggunakan gVNIC sebagai pengganti Virtio-net dapat meningkatkan skalabilitas aplikasi MPI dengan memberikan performa komunikasi yang lebih baik dan throughput yang lebih tinggi. Selain itu, gVNIC merupakan prasyarat untuk performa jaringan Tier_1 per VM, yang menyediakan bandwidth lebih tinggi dan memungkinkan juga untuk throughput yang lebih tinggi.

Jika Anda membuat instance C2 atau C2D baru, maka secara default, Virtio-net akan digunakan untuk antarmuka jaringan virtual. Untuk menggunakan gVNIC, ikuti langkah-langkah untuk membuat VM HPC dan lakukan salah satu hal berikut:

Konsol

Untuk menetapkan gVNIC sebagai antarmuka jaringan, saat membuat instance, di menu navigasi, klik Networking. Di panel Jaringan yang muncul, lakukan hal berikut:

  1. Buka bagian Network interfaces
  2. Untuk Network interface card, pilih gVNIC.

gcloud

Sertakan flag --network-interface=nic-type=GVNIC dalam perintah gcloud compute instances create.

Image VM HPC menyertakan driver gVNIC sebagai Dukungan Modul Kernel Dinamis (DKMS). Untuk mengetahui informasi selengkapnya, lihat Menggunakan NIC Virtual Google.

Menonaktifkan mitigasi Meltdown dan Spectre

Image VM HPC mengaktifkan mitigasi Meltdown dan Spectre secara default. Pada beberapa kasus, mitigasi ini dapat mengakibatkan penurunan performa spesifik beban kerja. Untuk menonaktifkan mitigasi ini dan menimbulkan risiko keamanan terkait, lakukan tindakan berikut:

  1. Jalankan perintah berikut di instance HPC Anda:

    sudo google_mpi_tuning --nomitigation
    
  2. Mulai ulang instance.

Meningkatkan performa jaringan

Untuk meningkatkan performa jaringan instance Anda, siapkan satu atau beberapa konfigurasi berikut:

  • Konfigurasikan bandwidth yang lebih tinggi. Untuk mengonfigurasi jaringan Tier_1 untuk VM C2 atau C2D, gunakan perintah gcloud compute instances create untuk membuat VM dan tentukan flag --network-performance-configs. Untuk mengetahui informasi selengkapnya, lihat Membuat VM dengan konfigurasi bandwidth tinggi.

  • Gunakan frame jumbo. Untuk membantu meminimalkan biaya tambahan pemrosesan untuk paket jaringan, sebaiknya gunakan ukuran paket yang lebih besar. Anda perlu memvalidasi ukuran paket yang lebih besar untuk spesifikasi aplikasi Anda. Untuk mengetahui informasi tentang penggunaan jumbo frame dan ukuran paket, lihat Panduan unit transmisi maksimum.

  • Meningkatkan batas memori TCP. Bandwidth yang lebih tinggi memerlukan memori TCP yang lebih besar. Ikuti langkah-langkah untuk meningkatkan setelan tcp_*mem.

  • Gunakan profil latensi jaringan. Evaluasi latensi aplikasi Anda dan aktifkan polling sibuk yang mengurangi latensi di jalur penerimaan jaringan. Sesuaikan setelan net.core.busy_poll dan net.core.busy_read di /etc/sysctl.conf, atau gunakan tuned-adm.

Menggunakan Intel MPI 2021

Google merekomendasikan penggunaan library Intel MPI 2021 untuk menjalankan tugas MPI di Trusted Cloud.

Implementasi MPI memiliki banyak parameter konfigurasi internal yang dapat memengaruhi performa komunikasi. Parameter ini sangat relevan untuk komunikasi MPI Collective, yang memungkinkan Anda menentukan algoritma dan parameter konfigurasi yang dapat berperforma sangat berbeda di lingkungan Trusted Cloud by S3NS .

Image VM HPC menyertakan utilitas, google-hpc-compute, yang menginstal library MPI yang direkomendasikan dan menggunakan penyedia libfabric yang disesuaikan Trusted Cloud by S3NS melalui transport TCP.

Batasan

Manfaat tuning akan bervariasi untuk setiap aplikasi. Dalam beberapa kasus, penyesuaian tertentu mungkin berdampak negatif terhadap performa. Sebaiknya tolok ukur aplikasi Anda untuk menemukan konfigurasi yang paling efisien atau hemat biaya.

Menggunakan utilitas google-hpc-compute untuk dukungan Intel MPI 2021

Skrip google_install_intelmpi adalah alat terkait MPI dalam utilitas Google-hpc-compute. Ini membantu menginstal dan mengonfigurasi Intel MPI.

Utilitas google-hpc-compute disertakan dalam image VM HPC.

Menginstal Intel MPI 2021

Untuk menginstal library Intel MPI saat membuat VM HPC baru, ikuti langkah-langkah untuk membuat VM HPC dan sertakan baris berikut saat membuat instance VM:

--metadata=google_install_intelmpi="--impi_2021"

Untuk menginstal library pada VM HPC yang ada, jalankan perintah berikut di VM tersebut:

sudo google_install_intelmpi --impi_2021 --install_dir=PATH_INSTALL_MPI

Lokasi default untuk install_dir ditetapkan ke /opt/intel.

Intel MPI Library 2018 dan penyesuaian kolektif MPI

Image VM HPC mencakup penyesuaian kolektif Intel MPI yang dilakukan pada instance c2-standard-60 dan c2d-standard-112 menggunakan kebijakan penempatan yang ringkas. Penyesuaian ini tersedia di direktori /usr/share/google-hpc-compute/mpitune-configs/intelmpi-2018.

Untuk menerapkan konfigurasi penyetelan ini pada library MPI yang diinstal, sumberkan skrip shell mpivars untuk menyiapkan lingkungan yang tepat. Kemudian, Anda dapat menginstal penyetelan secara langsung dengan perintah berikut (gunakan opsi --sudo jika Anda memerlukan akses root ke direktori): google_install_mpitune

Anda dapat menggunakan mpitune untuk menentukan algoritma dan parameter konfigurasi secara manual untuk komunikasi MPI Collective dan membuat file konfigurasi.

Misalnya, untuk menyesuaikan 22 instance VM dan 30 vCPU per instance, ambil skrip shell mpivars untuk menyiapkan lingkungan yang tepat, lalu jalankan perintah berikut. Anda harus memiliki akses write ke direktori atau menjalankan perintah sebagai pengguna root.

mpitune -hf hostfile -fl 'shm:tcp' -pr 30:30 -hr 22:22

Perintah ini akan membuat file konfigurasi di direktori Intel MPI yang dapat digunakan nanti untuk menjalankan aplikasi. Untuk memanfaatkan konfigurasi penyetelan untuk aplikasi, tambahkan opsi -tune ke command line mpirun, misalnya:

mpirun -tune -hostfile HOSTFILE -genv I_MPI_FABRICS 'shm:tcp' -np 660 -ppn 30 ./APPLICATION_NAME

Ganti kode berikut:

  • HOSTFILE: Nama file di OS tamu yang mencantumkan nama jaringan instance VM
  • APPLICATION_NAME: Nama file aplikasi yang akan dijalankan

Membuat image kustom menggunakan image VM HPC

Untuk menerapkan praktik terbaik dalam skala besar, buat image OS kustom untuk digunakan dengan instance VM HPC Anda. Selesaikan tugas berikut untuk membuat image kustom yang akan digunakan saat membuat instance VM HPC:

  1. Buat VM yang menggunakan image VM HPC.

  2. Menyesuaikan VM dengan penyesuaian MPI.

  3. Buat image kustom menggunakan boot disk image VM HPC Anda sebagai disk sumber. Anda dapat melakukannya menggunakan Trusted Cloud konsol atau Google Cloud CLI.

Konsol

  1. Di konsol Trusted Cloud , buka halaman Images.

    Buka Images

  2. Klik Create image.

  3. Tentukan Name untuk image Anda.

  4. Di bagian Source disk, pilih nama boot disk di VM HPC Anda.

  5. Pilih properti lain untuk image Anda.

  6. Klik Buat.

gcloud

Buat image kustom menggunakan perintah images create.

gcloud compute images create IMAGE_NAME \
         --source-disk=INSTANCE_NAME \
         --source-disk-zone=VM_ZONE \
         --family=IMAGE_FAMILY \
         --storage-location=LOCATION

Ganti kode berikut:

  • IMAGE_NAME: nama untuk image kustom.
  • INSTANCE_NAME: nama VM HPC Anda.
  • INSTANCE_ZONE: zona tempat VM HPC Anda berada.
  • IMAGE_FAMILY: optional. Kelompok image yang mencakup image ini.
  • LOCATION: optional. Region tempat untuk menyimpan image kustom. Lokasi default-nya adalah multi-region yang paling dekat dengan lokasi disk sumber.

Harga

Image VM HPC tersedia tanpa biaya tambahan. Karena image VM HPC berjalan di Compute Engine, Anda mungkin dikenai biaya untuk resource Compute Engine seperti vCPU, disk, dan memori. Untuk mempelajari lebih lanjut, lihat Harga Compute Engine.

Langkah berikutnya