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:
- Google Cloud CLI
- Konsol Google Cloud Di konsol, image tersedia melalui Cloud Marketplace.
- Pengelola workload Slurm SchedMD yang menggunakan image VM HPC secara default.
- Omnibond CloudyCluster, yang menggunakan image VM HPC secara default.
Manfaat
Image VM HPC memberikan manfaat berikut:
- 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.
- 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.
- Pengoptimalan komputasi untuk workload HPC. Pengoptimalan yang mengurangi jitter sistem akan disertakan, yang membuat performa tinggi node tunggal lebih mudah diprediksi.
- Performa yang konsisten dan dapat direproduksi. Standardisasi image VM akan memberi Anda performa level aplikasi yang konsisten dan dapat direproduksi.
- 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
- Agar dapat menggunakan Google Cloud CLI untuk panduan memulai ini, Anda harus menginstal dan menginisialisasi Google Cloud CLI terlebih dahulu:
- 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
Di konsol Google Cloud, buka halaman HPC VM Cloud Marketplace. Buka halaman Cloud Marketplace HPC VM
Klik Launch.
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.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.
Biarkan Boot disk type, Boot disk size, dan Network interface pada setelan defaultnya.
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. Gunakanhpc-centos-7
untuk image berbasis CentOS, atauhpc-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:
Di konsol Google Cloud, buka halaman VM instances.
Klik nama instance VM Anda.
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
Di Konsol Google Cloud, buka halaman Deployment.
Pilih kotak centang di samping HPC VM deployment.
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:
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:
Jalankan perintah berikut di VM HPC Anda:
sudo google_mpi_tuning --nomitigation
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
dannet.core.busy_read
di/etc/sysctl.conf
, atau gunakantuned-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
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
Di Konsol Google Cloud, buka halaman Images.
Klik Create image.
Tentukan Name untuk image Anda.
Di bagian Source disk, pilih nama boot disk di VM HPC Anda.
Pilih properti lain untuk image Anda.
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
- Pelajari lebih lanjut komputasi berperforma tinggi di Google Cloud.
- Pelajari seri mesin H3 lebih lanjut.
- Pelajari cara menggunakan Bulk Instance API.
- Jika Anda memiliki masukan atau memerlukan dukungan, kirim email ke hpc-image-feedback@google.com.