Membuat instance VM yang siap digunakan dengan HPC


Pengantar

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, pengetahuan Google Cloud, dan waktu tambahan untuk pemeliharaan. Agar dapat membuat instance VM dengan cepat untuk workload HPC, Anda dapat menggunakan image VM HPC. Atau, Anda dapat membuat VM menggunakan seri mesin H3.

Image VM HPC adalah image VM berbasis CentOS 7.9 atau 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 Google Cloud.

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

Manfaat

Image VM HPC memberikan manfaat berikut:

  1. VM siap pakai untuk HPC. Tidak perlu menyesuaikan performa secara manual, mengelola mulai ulang VM, atau mengikuti update Google Cloud terbaru untuk workload HPC yang terkait erat.
  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.
  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

Menonaktifkan update otomatis

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

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

Penyesuaian kolektif Intel 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.

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
  • kernel-devel
  • libfabric
  • libXt
  • ltrace
  • nfs-utils
  • numactl
  • numactl-devel
  • papi
  • pciutils
  • pdsh
  • perf
  • redhat-lsb-core
  • redhat-lsb-cxx
  • rsh
  • screen
  • strace
  • wget
  • zsh
  • Grup paket "Development Tools"

Panduan Memulai

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 Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

Membuat instance VM HPC

Membuat VM

Sebaiknya pilih jenis mesin yang dioptimalkan untuk komputasi, seperti C2, C2D, atau H3. VM ini telah menetapkan pemetaan inti virtual-ke-fisik dan mengekspos arsitektur sel NUMA ke OS tamu, yang keduanya penting bagi performa aplikasi HPC dengan pengaitan erat.

Konsol

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

  2. Klik Launch.

  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. Sebaiknya pilih jenis mesin yang dioptimalkan untuk komputasi, seperti C2, C2D, atau H3.

  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. Sebaiknya Anda membuat VM HPC menggunakan kebijakan penempatan yang ringkas untuk mencapai latensi jaringan yang rendah. Jika Anda memerlukan lebih dari VM yang dapat muat dalam satu kebijakan penempatan rapat, bagi VM Anda menjadi beberapa kebijakan penempatan. Sebaiknya gunakan jumlah minimum kebijakan penempatan yang dapat sesuai dengan VM Anda.

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

Ganti kode berikut:

  • VM_NAME: nama VM HPC yang akan dibuat.
  • ZONE: zona tempat untuk membuat VM.
  • IMAGE_FAMILY: Kelompok image image untuk membuat instance VM. Gunakan hpc-centos-7 untuk image berbasis CentOS, atau hpc-rocky-linux-8 untuk image berbasis Rocky Linux 8.
  • MACHINE_TYPE: jenis mesin untuk VM baru.

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

gcloud compute instances describe VM_NAME

Mengakses VM

Konsol

Setelah dibuat, instance VM HPC akan otomatis dimulai. Untuk mengaksesnya, lakukan hal berikut:

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

    Buka VM instances

  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

Setelah dibuat, instance VM HPC akan otomatis dimulai. Untuk mengaksesnya menggunakan SSH, gunakan perintah compute ssh:

gcloud compute ssh VM_NAME

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

Pembersihan

Agar tidak menimbulkan tagihan pada akun Google Cloud Anda untuk resource yang digunakan dalam panduan memulai ini, hapus instance VM HPC yang Anda buat.

Konsol

  1. Di Konsol Google Cloud, buka halaman Deployment.

    Buka Deployment

  2. Pilih kotak centang di samping HPC VM deployment.

  3. Klik Delete.

gcloud

Gunakan perintah instances delete:

gcloud compute instances delete VM_NAME

Membuat VM HPC dengan kebijakan penempatan yang ringkas

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

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

  1. Buat kebijakan penempatan yang ringkas.

  2. Lakukan salah satu hal berikut:

Mengonfigurasi VM HPC Anda sesuai dengan praktik terbaik

Untuk mendapatkan performa yang lebih baik dan lebih dapat diprediksi untuk 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.

Menggunakan gVNIC sebagai antarmuka jaringan virtual

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 jaringan lanjutan, yang menyediakan bandwidth lebih tinggi dan memungkinkan juga untuk throughput yang lebih tinggi.

Saat Anda membuat VM baru, Virtio-net akan digunakan sebagai antarmuka jaringan virtual secara default. Untuk menggunakan gVNIC, ikuti langkah-langkah untuk membuat VM HPC dan menyertakan flag --network-interface=nic-type=GVNIC. 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 VM HPC Anda:

    sudo google_mpi_tuning --nomitigation
    
  2. Mulai ulang VM.

Meningkatkan performa jaringan

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

  • Konfigurasikan bandwidth yang lebih tinggi. Untuk mengonfigurasi performa jaringan per VM Tier_1, 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 overhead pemrosesan untuk paket jaringan, sebaiknya gunakan ukuran paket yang lebih besar. Anda perlu memvalidasi ukuran paket yang lebih besar untuk spesifikasi aplikasi Anda. Untuk 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 Google 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 Google Cloud.

Image VM HPC menyertakan utilitas, Google-hpc-compute, untuk menginstal library MPI yang direkomendasikan dengan mudah dan menggunakan penyedia libfabric yang disesuaikan Google Cloud melalui transport TCP.

Gunakan utilitas google-hpc-compute untuk dukungan IntelMPI 2021

Skrip google_install_intelmpi adalah alat terkait MPI dalam utilitas Google-hpc-compute. Alat ini membantu menginstal dan mengonfigurasi IntelMPI.

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

Menginstal IntelMPI 2021

Untuk menginstal library IntelMPI 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.

Image Intel MPI 2018 dalam HPC CentOS 7

Dukungan Intel MPI 2018 tersedia dalam image HPC CentOS 7 di Google Cloud. Periksa panduan pengguna utilitas google_install_mpi untuk informasi selengkapnya.

Untuk kasus penggunaan tambahan terkait Intel MPI 2018, seperti menjalankan aplikasi MPI yang dibuat dengan Intel Parallel Studio XE, gunakan Runtime Intel Parallel Studio XE (PSXE) dengan mengganti intel_mpi dengan intel_psxe_runtime dalam perintah di atas. Runtime PSXE menyertakan beberapa library yang penting untuk menjalankan aplikasi MPI, seperti Intel Math Kernel Library (MKL).

Membuat image kustom menggunakan image VM HPC

  1. Buat VM kustom 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 Google Cloud Console atau Google Cloud CLI.

Konsol

  1. Di Konsol Google 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=VM_NAME \
         --source-disk-zone=VM_ZONE \
         --family=IMAGE_FAMILY \
         --storage-location=LOCATION

Ganti kode berikut:

  • IMAGE_NAME: nama untuk image kustom.
  • VM_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 dan memori C2. Untuk mempelajari lebih lanjut, lihat Harga Compute Engine.

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.

Langkah berikutnya