Komputasi kinerja tinggi (HPC) di 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 di Azure, pastikan Anda telah meninjau topik berikut:

  • Memilih 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
  • Menentukan 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.

Contoh arsitektur HPC

Ada banyak cara berbeda untuk merancang dan mengimplementasikan arsitektur HPC Anda di Azure. Aplikasi HPC dapat menskalakan hingga ribuan inti komputasi, memperluas kluster lokal, atau dijalankan sebagai solusi cloud asli 100%.

Skenario berikut menguraikan beberapa cara umum solusi HPC dibangun.

  • Diagram menunjukkan contoh arsitektur HPC untuk layanan rekayasa dengan bantuan komputer di Azure.

    Layanan rekayasa dengan bantuan komputer di Azure

    Menyediakan platform software-as-a-service (SaaS) untuk rekayasa dengan bantuan komputer (CAE) di Azure.

  • Diagram menunjukkan contoh arsitektur HPC untuk simulasi dinamika fluida komputasi di Azure.

    Simulasi dinamika fluida komputasi (CFD) di Azure

    Jalankan simulasi dinamika fluida komputasi (CFD) di Azure.

  • Diagram menunjukkan contoh arsitektur HPC untuk merender video 3D di Azure.

    Perenderan video 3D di Azure

    Menjalankan beban kerja HPC asli di Azure menggunakan layanan Azure Batch

Compute

Azure menawarkan berbagai ukuran yang dioptimalkan untuk beban kerja intensif CPU & 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).

Penyimpanan

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 di Azure:

Untuk informasi selengkapnya yang membandingkan Lustre, GlusterFS, dan BeeGFS di Azure, tinjau e-book Sistem File Paralel di Azure dan blog Lustre di Azure.

Jaringan

VM H16r, H16mr, A8, dan A9 dapat tersambung ke jaringan RDMA back-end 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 komputer virtual Azure atau Virtual Machine Scale Sets.
  2. Gunakan templat Azure Resource Manager untuk menyebarkan manajer beban kerja, infrastruktur, dan aplikasi terkemuka.
  3. Pilih Ukuran VM HPC dan GPU yang menyertakan perangkat keras khusus dan koneksi jaringan untuk beban kerja MPI atau GPU.
  4. Tambahkan penyimpanan berkinerja tinggi untuk beban kerja intensif I/O.

Bursting hibrida dan cloud

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

Pertama, tinjau artikel Opsi 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 dari manajer beban kerja yang ada.

Solusi Marketplace Azure

Ada banyak manajer beban kerja yang ditawarkan di Marketplace Azure.

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 mesin virtual terkelola, dan dapat secara otomatis menskalakan sumber daya komputasi untuk memenuhi kebutuhan pekerjaan Anda.

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

Di Azure Batch semua layanan berjalan di Cloud, gambar di bawah ini menunjukkan bagaimana arsitektur terlihat dengan Azure Batch, memiliki skalabilitas dan konfigurasi jadwal pekerjaan yang berjalan di Cloud sementara hasil dan laporan dapat dikirim ke lingkungan lokal Anda.

Diagram memperlihatkan contoh arsitektur HPC untuk Azure Batch.

Azure CycleCloud

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

CycleCloud memungkinkan Anda untuk:

  • Menyebarkan kluster penuh dan 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 optimalkan 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
  • Memanfaatkan penskalaan otomatis bawaan dan arsitektur referensi yang teruji pertempuran untuk berbagai beban kerja dan industri HPC
Model bursting 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 pekerjaan di kedua beban kerja. Diagram memperlihatkan contoh arsitektur HPC untuk CycleCloud di Azure dalam Hibrid.

Model asli cloud

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

Diagram menunjukkan contoh arsitektur HPC untuk CycleCloud di Azure dalam model asli Cloud .

Bagan perbandingan

Fitur 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 Monitor Azure Monitor Azure Monitor, Grafana
Penyesuaian Kumpulan gambar kustom, gambar Pihak Ketiga, akses API Batch. Gunakan RESTful API yang komprehensif untuk menyesuaikan dan memperluas fungsionalitas, menyebarkan penjadwal Anda sendiri, dan dukungan ke manajer beban kerja yang ada
Integrasi Alur Synapse, Azure Data Factory, Azure CLI CLI Bawaan 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 Ya Bervariasi, tergantung pada pilihan penjadwal

Manajer beban kerja

Berikut ini adalah contoh manajer kluster dan beban kerja yang dapat berjalan di infrastruktur Azure. Buat kluster yang berdiri sendiri di VM Azure atau lakukan burst ke VM Azure dari kluster lokal.

Kontainer

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

Cost management

Mengelola biaya HPC Anda di 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 ringkasan praktik terbaik keamanan di Azure, tinjau Dokumentasi Azure Security.

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 Marketplace Azure untuk solusi siap disebarkan.

Catatan

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 mesin 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, Citrix, atau VMware Horizon.

Tolok ukur kinerja

Kisah pelanggan

Ada banyak pelanggan yang telah melihat kesuksesan besar dengan menggunakan Azure untuk beban kerja HPC mereka. Anda dapat menemukan beberapa studi kasus pelanggan di bawah ini:

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 Microsoft Batch

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