Servizi CAE (Computer-Aided Engineering) in Azure
Fornire una piattaforma software come un servizio (SaaS) per CAE (Computer-Aided Engineering) in Azure.
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
HpC (High Performance Computing), detto anche "big compute", usa un numero elevato di computer basati su CPU o GPU per risolvere attività matematiche complesse.
In molti settori ci si avvale dell'HPC per risolvere i problemi più difficili, con carichi di lavoro come:
Una delle principali differenze tra un sistema HPC locale e una nel cloud è la possibilità di aggiungere e rimuovere in modo dinamico le risorse man mano che sono necessarie. La scalabilità dinamica rimuove il collo di bottiglia della capacità di calcolo e consente invece ai clienti di dimensionare correttamente l'infrastruttura per i loro requisiti.
Gli articoli seguenti contengono altri dettagli sulla scalabilità dinamica.
Se si intende implementare una soluzione HPC in Azure, assicurarsi di consultare gli argomenti seguenti:
Per creare un sistema HPC sono necessari molti componenti dell'infrastruttura. Calcolo, archiviazione e rete forniscono i componenti sottostanti, indipendentemente dal modo in cui si sceglie di gestire i carichi di lavoro HPC.
Esistono molti modi diversi per progettare e implementare l'architettura HPC in Azure. Le applicazioni HPC possono offrire scalabilità fino a migliaia di core di calcolo, estendere i cluster locali o essere eseguite come soluzioni cloud native al 100%.
Gli scenari seguenti descrivono alcuni modi comuni in cui vengono sviluppate le soluzioni HPC.
Fornire una piattaforma software come un servizio (SaaS) per CAE (Computer-Aided Engineering) in Azure.
Eseguire carichi di lavoro HPC nativi in Azure con il servizio Azure Batch
Azure offre un'ampia gamma di dimensioni ottimizzate per i carichi di lavoro a uso intensivo di CPU e GPU.
Le VM serie N sono dotate di GPU con tecnologia NVIDIA progettate per applicazioni a elevato utilizzo di calcolo o di grafica, inclusi apprendimento e visualizzazione basati sull'intelligenza artificiale (AI).
I carichi di lavoro Batch e HPC su larga scala hanno richieste di archiviazione dati e di accesso che superano le capacità dei tradizionali file system cloud. Esistono molte soluzioni che gestiscono sia la velocità che le esigenze di capacità delle applicazioni HPC in Azure:
Per altre informazioni sul confronto tra Lustre, GlusterFS e BeeGFS in Azure, vedere il blog di Parallel Files Systems on Azure e Lustre on Azure (Sistemi di file paralleli in Azure).
Le VM H16r, H16mr, A8, e A9 possono connettersi a una rete RDMA back-end a velocità effettiva elevata. Questa rete può migliorare le prestazioni delle applicazioni parallele strettamente associate in esecuzione in Microsoft Message Passing Interface meglio nota come MPI o Intel MPI.
La creazione di un sistema HPC da zero in Azure offre una notevole flessibilità, ma è spesso molto intensivo per la manutenzione.
Se si dispone di un sistema HPC locale esistente che si vuole connettere ad Azure, sono disponibili diverse risorse per iniziare.
Prima di tutto, vedere l'articolo sulle opzioni per connettere una rete locale ad Azure nella documentazione. Da qui è possibile trovare informazioni aggiuntive su queste opzioni di connettività:
Questa architettura di riferimento mostra come estendere una rete locale ad Azure tramite una rete privata virtuale (VPN) da sito a sito.
Implementare un'architettura di rete sicura da sito a sito e a disponibilità elevata, che si estende su una rete virtuale di Azure e su una rete locale connessa tramite ExpressRoute con failover del gateway VPN.
Dopo aver stabilito la connettività di rete, è possibile iniziare a usare le risorse di calcolo del cloud su richiesta con le funzionalità burst dell'attuale soluzione di gestione dei carichi di lavoro.
In Azure Marketplace sono disponibili molti gestori dei carichi di lavoro.
Azure Batch è un servizio di piattaforma per l'esecuzione efficiente di applicazioni parallele e HPC su larga scala nel cloud. Azure Batch pianifica l'esecuzione del lavoro a elevato utilizzo di calcolo su un pool di macchine virtuali gestito e può ridimensionare automaticamente le risorse di calcolo in base alle esigenze dei processi.
I fornitori o sviluppatori di SaaS possono usare gli strumenti e gli SDK di Batch per integrare le applicazioni HPC o i carichi di lavoro dei contenitori con Azure, gestire temporaneamente i dati in Azure e creare pipeline per l'esecuzione di processi.
In Azure Batch tutti i servizi sono in esecuzione nel cloud, l'immagine seguente illustra l'aspetto dell'architettura con Azure Batch, con le configurazioni di scalabilità e pianificazione dei processi in esecuzione nel cloud, mentre i risultati e i report possono essere inviati all'ambiente locale.
Azure CycleCloud offre il modo più semplice per gestire carichi di lavoro HPC con qualsiasi utilità di pianificazione (come Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro o Symphony) in Azure
CycleCloud consente di:
In questo diagramma di esempio ibrido è possibile vedere chiaramente come questi servizi vengono distribuiti tra il cloud e l'ambiente locale. Possibilità di eseguire processi in entrambi i carichi di lavoro.
Il diagramma di esempio del modello nativo del cloud riportato di seguito illustra come il carico di lavoro nel cloud gestirà tutto mantenendo comunque la connessione all'ambiente locale.
Funzionalità | Azure Batch | Azure CycleCloud |
---|---|---|
Utilità di pianificazione | API e strumenti batch e script da riga di comando nelle portale di Azure (cloud native). | Usare utilità di pianificazione HPC standard, ad esempio Slurm, PBS Pro, LSF, Grid Engine e HTCondor o estendere i plug-in di scalabilità automatica CycleCloud per lavorare con un'utilità di pianificazione personalizzata. |
Risorse di calcolo | Nodi software distribuita come servizio - Piattaforma distribuita come servizio | Piattaforma distribuita come servizio : piattaforma distribuita come servizio |
Strumenti di monitoraggio | Monitoraggio di Azure | Monitoraggio di Azure, Grafana |
Personalizzazione | Pool di immagini personalizzati, immagini di terze parti, accesso all'API Batch. | Usare l'API RESTful completa per personalizzare ed estendere le funzionalità, distribuire un'utilità di pianificazione personalizzata e supportare i responsabili dei carichi di lavoro esistenti |
Integrazione | Pipeline di Synapse, Azure Data Factory, interfaccia della riga di comando di Azure | Interfaccia della riga di comando predefinita per Windows e Linux |
Tipo utente | Sviluppatori | Amministratori e utenti HPC classici |
Tipo di lavoro | Batch, flussi di lavoro | Strettamente accoppiato (interfaccia/MPI per il passaggio di messaggi). |
Supporto di Windows | Sì | Varia a seconda della scelta dell'utilità di pianificazione |
Di seguito sono riportati esempi di cluster e gestori del carico di lavoro eseguibili nell'infrastruttura di Azure. Creare cluster autonomi nelle macchine virtuali di Azure oppure eseguire il potenziamento in macchine virtuali di Azure da un cluster locale.
È anche possibile usare i contenitori per gestire alcuni carichi di lavoro HPC. Servizi come Azure Kubernetes semplificano la distribuzione di un cluster Kubernetes gestito in Azure.
I costi dell'HPC in Azure possono essere gestiti in vari modi. Assicurarsi di aver esaminato le opzioni di acquisto di Azure per trovare il metodo più appropriato per la propria organizzazione.
Per una panoramica delle procedure consigliate per la sicurezza, vedere la documentazione sulla sicurezza di Azure.
Oltre alle configurazioni di rete disponibili nella sezione Cloud Bursting , è possibile implementare una configurazione hub/spoke per isolare le risorse di calcolo:
L'hub è una rete virtuale in Azure che funge da punto centrale di connettività alla rete locale. Gli spoke sono le reti virtuali peer con l'hub, e possono essere usati per isolare i carichi di lavoro.
Questa architettura di riferimento, basata sull'architettura di riferimento hub-spoke, include nell'hub servizi condivisi che potranno essere utilizzati da tutti gli spoke.
Eseguire applicazioni HPC personalizzate o commerciali in Azure. Per alcuni esempi in questa sezione è disponibile un benchmark per una scalabilità efficiente con altre VM o core di calcolo. Visitare Azure Marketplace per le soluzioni pronte per la distribuzione.
Nota
Verificare le licenze del fornitore di qualsiasi applicazione commerciale o altre restrizioni per l'esecuzione nel cloud. Non tutti i fornitori offrono licenze con pagamento in base al consumo. Può essere necessario un server di gestione licenze nel cloud per la soluzione o connettersi a un server licenze locale.
Eseguire macchine virtuali basate su GPU in Azure nella stessa area dell'output HPC per ottenere la latenza, l'accesso e visualizzare in remoto tramite Desktop virtuale Azure.
Sono molti i clienti che hanno visto un grande successo usando Azure per i carichi di lavoro HPC. Di seguito sono riportati alcuni case study dei clienti:
Per gli annunci più recenti, vedere le risorse seguenti:
Queste esercitazioni forniscono informazioni dettagliate sull'esecuzione di applicazioni in Microsoft Batch: