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. Penyelarasan dengan tingkat node persyaratan Spesifikasi platform HPC Intel memungkinkan tingkat interoperabilitas yang tinggi antar sistem.
Fitur
Nonaktifkan update otomatis
Update otomatis dapat berdampak negatif pada performa HPC
menggunakan berbagai aplikasi obrolan. Update otomatis dapat dinonaktifkan saat menggunakan image VM HPC dengan
menetapkan entri metadata google_disable_automatic_updates
ke TRUE
saat
membuat VM. Cara metadata ditetapkan selama pembuatan VM bergantung pada alat tersebut
yang Anda gunakan untuk membuat VM.
Misalnya, saat menggunakan
gcloud compute instances create
untuk membuat
VM, menyediakan
--metadata
argumen. Untuk informasi selengkapnya, lihat 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:
gcc-gfortran
gcc-toolset-12
Lmod
dkms
htop
hwloc
hwloc-devel
kernel-devel
ltrace
libXt
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
Kami sangat menyarankan memilih jenis mesin yang dioptimalkan untuk komputasi, seperti C2, C2D, atau H3. VM ini memiliki tetap pemetaan inti virtual-ke-fisik dan mengekspos arsitektur sel NUMA ke OS tamu, keduanya sangat penting untuk performa aplikasi HPC yang digabungkan.
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. Kami sangat menyarankan memilih 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 ringkas
untuk mencapai latensi jaringan yang rendah. Jika Anda membutuhkan lebih dari VM
dalam satu kebijakan penempatan yang ringkas, bagi VM Anda menjadi beberapa
kebijakan penempatan. Sebaiknya gunakan jumlah minimum penempatan
kebijakan yang 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 mengetahui informasi selengkapnya, lihat Menetapkan jumlah thread per inti.
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 bingkai jumbo. Untuk membantu meminimalkan beban pemrosesan jaringan paket data, kami sarankan untuk menggunakan ukuran paket yang lebih besar. Anda perlu melakukan validasi yang lebih besar ukuran paket yang spesifik untuk aplikasi Anda. Untuk mengetahui informasi tentang penggunaan {i>frame<i} jumbo 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. Menyesuaikan 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
di utilitas Google-hpc-compute
. Langkah ini membantu menginstal dan
mengonfigurasi IntelMPI
2021.11.
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 MPI
aplikasi yang dibangun 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.