Bagikan melalui


Komputasi berkinerja tinggi (HPC) pada Azure

Pengantar HPC

Komputasi performa tinggi (HPC), juga disebut komputasi besar, menggunakan sejumlah besar komputer berbasis CPU atau GPU untuk menyelesaikan tugas matematika yang kompleks.

Banyak industri menggunakan HPC untuk memecahkan beberapa masalah mereka yang paling sulit. Ini termasuk beban kerja seperti:

  • Genomics
  • Simulasi minyak dan gas
  • Finance
  • Desain semikonduktor
  • Teknik
  • Pemodelan cuaca

Apa perbedaan HPC di cloud?

Salah satu perbedaan utama antara sistem HPC lokal dan sistem di cloud adalah kemampuan sumber daya untuk ditambahkan dan dihapus secara dinamis sesuai kebutuhan. Penskalaan dinamis menghilangkan kapasitas komputasi sebagai hambatan dan sebagai gantinya memungkinkan pelanggan untuk menyesuaikan ukuran infrastruktur mereka dengan persyaratan pekerjaan mereka.

Artikel berikut memberikan detail lebih lanjut tentang kemampuan penskalaan dinamis ini.

Daftar periksa penerapan

Saat Anda ingin menerapkan solusi HPC Anda sendiri pada Azure, pastikan Anda telah meninjau topik berikut:

  • Pilih arsitektur yang sesuai berdasarkan kebutuhan Anda
  • Mengetahui opsi komputasi mana yang tepat untuk beban kerja Anda
  • Mengidentifikasi solusi penyimpanan yang tepat yang memenuhi kebutuhan Anda
  • Memutuskan bagaimana Anda akan mengelola semua sumber daya Anda
  • Mengoptimalkan aplikasi Anda untuk cloud
  • Mengamankan Infrastruktur Anda

Infrastruktur

Ada banyak komponen infrastruktur yang diperlukan untuk membangun sistem HPC. Komputasi, penyimpanan, dan jaringan menyediakan komponen yang mendasar, tidak peduli bagaimana Anda memilih untuk mengelola beban kerja HPC Anda.

Compute

Azure menawarkan berbagai ukuran yang dioptimalkan untuk beban kerja intensif CPU dan GPU.

Mesin virtual berbasis CPU

Mesin virtual berkemampuan GPU

VM seri-N menampilkan GPU NVIDIA yang dirancang untuk aplikasi intensif komputasi atau grafis, termasuk pembelajaran dan visualisasi kecerdasan buatan (AI).

Storage

Beban kerja Batch dan HPC skala besar menuntut penyimpanan dan akses data yang melebihi kemampuan sistem file cloud tradisional. Ada banyak solusi yang mengelola kebutuhan kecepatan dan kapasitas aplikasi HPC pada Azure:

Untuk informasi selengkapnya membandingkan Lustre, GlusterFS, dan BeeGFS di Azure, tinjau Parallel Files Systems di Azure e-book dan Lustre di blog Azure.

Jaringan

VM H16r, H16mr, A8, dan A9 dapat tersambung ke jaringan RDMA terpadu dengan throughput tinggi. Jaringan ini dapat meningkatkan performa aplikasi paralel yang digabungkan dengan erat yang berjalan di bawah Microsoft Message Passing Interface yang lebih dikenal sebagai MPI atau Intel MPI.

Manajemen

Lakukan sendiri

Membangun sistem HPC dari awal di Azure menawarkan sejumlah besar fleksibilitas, tetapi sering kali sangat intensif pemeliharaan.

  1. Siapkan lingkungan kluster Anda sendiri di Azure komputer virtual atau Virtual Machine Scale Sets.
  2. Gunakan templat Azure Resource Manager untuk menyebarkan manajer workload terkemuka, infrastruktur, dan aplikasi .
  3. Pilih ukuran VM HPC dan GPU yang mencakup perangkat keras khusus dan koneksi jaringan untuk beban kerja MPI atau GPU.
  4. Tambahkan penyimpanan berkinerja tinggi untuk beban kerja intensif I/O.

Hibrida dan penggunaan cloud secara dinamis

Jika Anda memiliki sistem HPC lokal yang ingin Anda sambungkan ke Azure, ada beberapa sumber daya untuk membantu Anda memulai.

Pertama, tinjau artikel Options untuk menyambungkan jaringan lokal ke Azure dalam dokumentasi. Dari sana, Anda dapat menemukan informasi tambahan tentang opsi konektivitas ini:

Setelah konektivitas jaringan dibuat dengan aman, Anda dapat mulai menggunakan sumber daya komputasi cloud sesuai permintaan dengan kemampuan bursting manajer beban kerja yang ada.

Solusi Marketplace

Ada banyak manajer beban kerja yang ditawarkan di Microsoft Marketplace.

Azure Batch

Azure Batch adalah layanan platform untuk menjalankan aplikasi paralel dan HPC skala besar secara efisien di cloud. Azure Batch menjadwalkan pekerjaan intensif komputasi untuk dijalankan pada kumpulan komputer virtual terkelola, dan dapat secara otomatis menskalakan sumber daya komputasi untuk memenuhi kebutuhan pekerjaan Anda.

Penyedia atau pengembang SaaS dapat menggunakan Batch SDK dan alat untuk mengintegrasikan aplikasi HPC atau beban kerja kontainer dengan Azure, mentransfer data ke Azure, dan membangun pipeline eksekusi tugas.

Di Azure Batch semua layanan berjalan di Cloud. Gambar berikut menunjukkan tampilan arsitektur dengan Azure Batch, memiliki skalabilitas dan konfigurasi jadwal pekerjaan yang berjalan di Cloud sementara hasil dan laporan dapat dikirim ke lingkungan lokal Anda.

Diagram menunjukkan contoh arsitektur HPC untuk Azure Batch.

Azure CycleCloud

Azure CycleCloud Menyediakan cara paling sederhana untuk mengelola beban kerja HPC menggunakan penjadwal apa pun (seperti Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro, atau Symphony), pada Azure

CycleCloud memungkinkan Anda untuk:

  • Menyebarkan kluster lengkap serta sumber daya lainnya, termasuk penjadwal, VM komputasi, penyimpanan, jaringan, dan cache.
  • Mengatur alur kerja pekerjaan, data, dan cloud
  • Memberikan admin kontrol penuh atas pengguna mana yang dapat menjalankan pekerjaan, serta di mana dan berapa biayanya
  • Menyesuaikan dan mengoptimalkan kluster melalui fitur kebijakan dan tata kelola tingkat lanjut, termasuk kontrol biaya, integrasi Direktori Aktif, pemantauan, dan pelaporan
  • Menggunakan penjadwal dan aplikasi pekerjaan Anda saat ini tanpa modifikasi
  • Manfaatkan penskalaan otomatis bawaan dan arsitektur referensi yang teruji dalam berbagai kondisi untuk berbagai beban kerja dan industri HPC.
Model pembesaran hibrid / cloud

Dalam diagram contoh Hibrid ini, kita dapat melihat dengan jelas bagaimana layanan ini didistribusikan antara cloud dan lingkungan lokal. Memiliki kesempatan untuk menjalankan tugas dalam kedua beban kerja. Diagram menunjukkan contoh arsitektur HPC untuk CycleCloud pada Azure dalam Hybrid.

Model asli cloud

Diagram contoh model asli cloud berikut menunjukkan bagaimana beban kerja di cloud akan menangani semuanya sambil tetap menghemat koneksi ke lingkungan lokal.

Diagram menunjukkan contoh arsitektur HPC untuk CycleCloud pada Azure di Cloud native model.

Bagan perbandingan

Feature Azure Batch Azure CycleCloud
Scheduler API batch dan alat dan skrip baris perintah di portal Azure (Cloud Native). Gunakan penjadwal HPC standar seperti Slurm, PBS Pro, LSF, Grid Engine, dan HTCondor, atau perluas plugin penskalaan otomatis CycleCloud untuk bekerja dengan penjadwal Anda sendiri.
Sumber Daya Komputasi Perangkat Lunak sebagai Node Layanan – Platform as a Service Platform as a Service Software – Platform as a Service
Alat Pemantauan Azure Monitor Azure Monitor, Grafana
Kustomisasi Kumpulan gambar kustom, gambar Pihak Ketiga, akses API Batch. Gunakan RESTful API yang komprehensif untuk menyesuaikan dan memperluas fungsionalitas, mengimplementasikan penjadwal Anda sendiri, dan mendukung pengelola beban kerja yang ada.
Integrasi Data Factory di Microsoft Fabric, Azure Data Factory, Azure CLI Built-In CLI untuk Windows dan Linux
Tipe pengguna Pengembang Administrator dan pengguna HPC klasik
Jenis Kerja Batch, Alur Kerja Digabungkan erat (Message Passing Interface/MPI).
Dukungan Windows Yes Bervariasi, tergantung pada pilihan penjadwal

Manajer beban kerja

Berikut ini adalah contoh manajer kluster dan beban kerja yang dapat berjalan dalam infrastruktur Azure. Buat kluster mandiri di VM Azure atau perluas sementara ke VM Azure dari kluster on-premises.

Kontainer

Kontainer juga dapat digunakan untuk mengelola beberapa beban kerja HPC. Layanan seperti Azure Kubernetes Service (AKS) memudahkan penyebaran kluster Kubernetes terkelola di Azure.

Manajemen biaya

Mengelola biaya HPC Anda pada Azure dapat dilakukan melalui beberapa cara berbeda. Pastikan Anda telah meninjau opsi pembelian Azure untuk menemukan metode yang paling sesuai untuk organisasi Anda.

Keamanan

Untuk gambaran umum praktik terbaik keamanan tentang Azure, tinjau Dokumentasi Keamanan Azure.

Selain konfigurasi jaringan yang tersedia di bagian Cloud Bursting , Anda dapat menerapkan konfigurasi hub/spoke untuk mengisolasi sumber daya komputasi Anda:

Aplikasi HPC

Jalankan aplikasi HPC kustom atau komersial di Azure. Beberapa contoh di bagian ini dijadikan tolok ukur untuk menskalakan secara efisien dengan VM tambahan atau inti komputasi. Kunjungi Microsoft Marketplace untuk solusi siap digunakan.

Nota

Periksa dengan vendor aplikasi komersial apa pun untuk lisensi atau batasan lain untuk berjalan di cloud. Tidak semua vendor menawarkan lisensi prabayar. Anda mungkin memerlukan server lisensi di cloud untuk solusi Anda, atau tersambung ke server lisensi lokal.

Aplikasi teknik

Grafik dan perenderan

AI dan pembelajaran mendalam

Penyedia MPI

Visualisasi jarak jauh

Jalankan komputer virtual yang didukung GPU di Azure di wilayah yang sama dengan output HPC untuk latensi terendah, akses, dan untuk memvisualisasikan dari jarak jauh melalui Azure Virtual Desktop.

Tolok ukur kinerja

Informasi penting lainnya

  • Pastikan kuota vCPU Anda telah ditingkatkan sebelum mencoba menjalankan beban kerja skala besar.

Langkah berikutnya

Untuk pengumuman terbaru, lihat sumber daya berikut:

Contoh Batch Microsoft

Tutorial ini akan memberi Anda detail tentang menjalankan aplikasi di Microsoft Batch: