HomeCommunication & Tecnologies

HPC e cloud per affrontare le sfide dell’ intelligenza artificiale: nasce la piattaforma Enea

A fronte della necessità di utilizzare piattaforme hardware eterogenee e architetture di calcolatori differenziate, nasce l’esigenza di arrivare a una convergenza tra l’High Performance Computing e il cloud per affrontare in maniera esaustiva le nuove sfide poste dall’intelligenza artificiale. La soluzione ENEA

HPC e cloud per affrontare le sfide dell’ intelligenza artificiale: nasce la piattaforma Enea

La proliferazione e la diversificazione dei flussi di lavoro nel grande calcolo richiede con sempre maggiore forza la convergenza tra il mondo dell’Hi

Leonardo e Cubbit insieme per il primo cloud superprotetto
Banche: raddoppiata la spesa in tecnologia
Cloud e sicurezza: la mancanza di competenza ai fattori di rischio

La proliferazione e la diversificazione dei flussi di lavoro nel grande calcolo richiede con sempre maggiore forza la convergenza tra il mondo dell’High Performance Computing (HPC) e del cloud computing per affrontare in maniera esaustiva le nuove sfide poste dallintelligenza artificiale (IA).

Se da un lato il mondo dall’HPC per anni è rimasto legato a elaborazioni numeriche anche molto sofisticate in un ambiente monolitico e rigido costruito su misura di una platea di utenti, volto a utilizzare direttamente le risorse dell’hardware sottostante, dall’altro lato il mondo del cloud computing si è andato affermando come paradigma di flessibilità e di versatilità, consentendo di trasportare la capacità computazionale in qualsiasi luogo e su qualsiasi piattaforma, grazie alle enormi potenzialità del web. Sotto un altro punto di vista però l’HPC ha potuto contare su infrastrutture parallele sempre più efficienti e veloci, sebbene con una curva di apprendimento molto ripida, con la difficoltà di individuare gateway di connessione alle risorse che semplificassero il ruolo del ricercatore. D’altra parte il cloud computing ha mostrato una grossa semplicità di utilizzo a fronte dell’uso di complessità di calcolo molto più basse.

Grazie soprattutto alla necessità di utilizzare piattaforme hardware eterogenee e architetture di calcolatori differenziate, nasce dunque l’esigenza di arrivare a una convergenza tra queste due realtà. Le richieste di elaborazioni di algoritmi e modelli di IA spingono verso l’adozione di implementazioni più flessibili delle librerie e degli ambienti di sviluppo e addestramento dei codici. In particolare, emerge sempre più diffusa la richiesta di hardware specializzato, come le Graphic Processor Units (GPU), particolarmente indicate per il calcolo matriciale che è alla base dell’ottimizzazione delle reti neurali.

Il ruolo dell’ENEA nel campo del calcolo distribuito

L’ENEA, l’Agenzia nazionale per le nuove tecnologie, l’energia e lo sviluppo economico sostenibile, opera in diversi settori di ricerca e sviluppo, tra cui tecnologie energetiche, nuovi materiali, scienze della vita e ambientali. A supporto delle sue attività istituzionali di ricerca, la divisione per lo Sviluppo Sistemi per l’Informatica e l’ICT dell’ENEA fornisce risorse computazionali ad alta performance organizzate nell’infrastruttura distribuita ENEAGRID basata sui cluster HPC CRESCO, il cui ultimo cluster, CRESCO6, si è classificato al 420° posto nell’elenco TOP500 di novembre 2018. Queste risorse computazionali distribuite sui differenti centri di ricerca consentono all’ENEA di rivestire il ruolo di seconda realtà pubblica italiana nel campo del calcolo distribuito.

In corrispondenza alla sempre maggiore richiesta di integrazione tra cloud e HPC, queste risorse hardware HPC devono essere messe a disposizione per un insieme diversificato di ambienti e librerie che i ricercatori possono mettere insieme per risolvere i loro bisogni e portare a compimento le proprie attività scientifiche.

La virtualizzazione basata su container

Per applicazioni di elaborazione avanzate come simulazione, elaborazione ad alte performance, calcolo parallelo, machine learning, deep learning e analisi dei dati, la virtualizzazione basata su container può offrire la flessibilità necessaria per eseguire questi carichi di lavoro in ambienti diversi, con un’unica interfaccia per il provisioning e la distribuzione dei container, integrando modelli di framework facilmente scaricabili, integrabili e utilizzabili.

I container consentono a più applicazioni di funzionare in isolamento su un singolo host e incapsulano un’applicazione insieme all’ambiente di runtime di cui ha bisogno, consentendo di spostarsi quasi liberamente tra diversi host senza la necessità di riconfigurazioni speciali. Essi alleggeriscono notevolmente il lavoro degli amministratori di sistema, sono oggetti autoconsistenti, adatti ad essere condivisi e trattati come se fossero delle black box. Soprattutto nell’ambito HPC i container presentano però dei problemi di cosiddetta root escalation: in qualche modo in fase di creazione dei container è necessario utilizzare un utente con privilegi di root e questo utente potrebbe danneggiare o eseguire codice malevolo sull’intera infrastruttura, tale da intaccarne l’integrità. In particolare questa problematica è piuttosto sensibile in un contesto in cui non solo i container devono offrire servizi autoconsistenti ma anche devono eseguire dei compiti di calcolo avanzato su hardware specializzato. Le soluzioni di containerizzazione devono essere in qualche modo ripensate sia nella loro essenza che nell’architettura, ricorrendo a soluzioni open source alternative, create per essere interoperabili con gli strumenti e i flussi di lavoro già comuni nel mondo HPC.

In particolare, ENEA ha scelto di implementare sui propri sistemi il framework di containerizzazione open source “Singularity” che nasce appunto per trasferire il concetto della mobilità computazionale dal mondo cloud al mondo HPC. Tuttavia, il passaggio a Singularity e l’abbandono dell’attuale approccio “bare metal” richiede agli utenti di familiarizzare con un nuovo modo di pensare e con due azioni chiave: creare nuovi contenitori e quindi lanciarli sull’hardware specializzato di destinazione.

La piattaforma SaaS Crescoware

Nello specifico, nell’ambiente di calcolo distribuito CRESCO è nato Crescoware, una piattaforma Software-as-a-Service (SaaS) creata per facilitare gli utenti in questo cambio di paradigma. L’idea è di portare tutte le azioni necessarie per lavorare con i container all’interno di un ambiente visuale in grado di astrarre tutte le complessità insite nel processo di creazione e di fruizione dei container, promuovendo i vantaggi offerti dalla containerizzazione, con l’obiettivo di creare un’esperienza senza attriti nello sfruttamento delle risorse HPC di ENEAGRID.

La piattaforma Crescoware è operativa dalla fine del 2021 e pian piano si sta affermando come strumento utile all’elaborazione di ambienti personalizzati per cogliere tutte le potenzialità offerte dalle risorse HPC sia nell’ambito dello sviluppo di modelli di machine learning e deep learning con le librerie più aggiornate (tensorflow, pytorch, ecc), ma anche in campi molto diversificati, come ad esempio differenti applicazioni grafiche e modelli di simulazione di strutture cristalline e reticolari per l’analisi dei materiali.

Fonte: Agendadigitale.eu

Commenti