Il compute continuum rappresenta una recente evoluzione tecnologica per i sistemi IoT-edge-cloud in cui la gestione delle risorse eterogenee che realizzano i diversi livelli è slegata dalle specifiche elaborazioni che devono essere eseguite, e ha un duplice obiettivo: l’ottimizzazione dell’uso globale di risorse e la soddisfazione dei requisiti di Qualità del Servizio (QoS) delle specifiche applicazioni.
Gli scenari applicativi che stanno evolvendo con questo nuovo paradigma sono molti e li presenteremo di seguito, mostrando le nuove opportunità di sviluppo e di impatto socioeconomico.
Cloud, l’infrastruttura non basta: ecco le priorità per trasformare le organizzazioni
L’utility computing
Per comprendere in che modo la trasformazione digitale abbia portato a nuovi paradigmi di accesso alle risorse di elaborazione, dobbiamo partire dal concetto di utility computing, che permette agli utenti (o alle aziende) di accedere on-demand, cioè solo quando necessario, a risorse hardware e software, come capacità di elaborazione, spazio di archiviazione e applicativi. Gli utenti (o le aziende) pagano i fornitori di servizi informatici in base alle risorse utilizzate (modello “pay as-you-go”) e non hanno nessuna responsabilità nella gestione e manutenzione delle stesse risorse. Questo consente di beneficiare di un’elevata flessibilità nella configurazione delle risorse necessarie, facilitandone l’effettivo utilizzo e ottimizzando il rapporto costi-benefici.
Il cloud Computing è l’implementazione più evidente dell’Utility Computing. Nel cloud le risorse messe a disposizione degli utenti sono virtualizzate, distribuite in centri di calcolo (datacenter) delocalizzati e generalmente rese accessibili tramite Internet. I sistemi cloud consentono a molti utenti di condividere la stessa l’infrastruttura, senza che questi ne abbiano consapevolezza e senza compromettere sicurezza e privacy. Un sistema cloud è scalabile ed elastico, cioè è in grado di auto-adattarsi ad un aumento del carico di lavoro e anche di porre in atto strategie per evitare o risolvere malfunzionamenti del sistema stesso senza causare interruzioni del servizio.
Il cloud Computing per l’Internet of Things (IoT)
In conseguenza alla sua natura scalabile e flessibile, il cloud computing ha rappresentato negli ultimi anni una tecnologia di grande supporto per lo sviluppo di soluzioni IoT. Gli oggetti (Things) nei sistemi IoT sono dispositivi interconnessi in grado di interagire con l’ambiente circostante e/o con l’utente finale, raccogliendo dati ed attuando specifiche automazioni. Questo rende l’ambiente “smart”, cioè in grado di rispondere alle specifiche esigenze che si presentano nel tempo. L’utilizzo di soluzioni di intelligenza artificiale (IA) nei sistemi IoT permette un ulteriore avanzamento per lo sviluppo di soluzioni adattative che, partendo dall’analisi dei dati raccolti dagli oggetti distribuiti in uno specifico contesto, sono in grado di fare reagire il sistema digitale agli eventi che si presentano. Questo permette di avere soluzioni IoT avanzate denominate “user-centric”, in cui le attività non sono pre-configurate ma dipendono dalle effettive esigenze dell’utente stesso, dalle sue preferenze e comportamenti.
Basti pensare, ad esempio, alle Smart Home in cui luminosità e temperatura degli ambienti ed altri comfort (es. musica di sottofondo, cromoterapia, etc.) si adeguano alle preferenze degli utenti in maniera trasparente, in cui gli assistenti vocali soddisfano le richieste degli utenti interagendo con l’esterno tramite internet (accesso ad informazioni, acquisto beni, etc.) e suggeriscono soluzioni o attività (es. manutenzione apparati, attività di svago, etc.). Più in generale, l’IoT permette di sviluppare servizi digitali sofisticati e adattativi, portando notevoli benefici in diversi contesti, come per l’Industria 5.0, la Smart Agriculture, l’e-Health e molti altri.
Tradizionalmente gli oggetti dei sistemi IoT sono dispositivi digitali con limitate risorse di elaborazione e memorizzazione (e energia), generalmente integrate in oggetti di uso quotidiano, come orologi, elettrodomestici, dispositivi di controllo, telecamere, etc. Al contrario, i servizi IoT di nuova generazione hanno bisogno di notevoli risorse hardware e software per conservare ed analizzare i Big Data prodotti dagli oggetti e per eseguire algoritmi di automazione e/o servizi digitali più o meno complessi.
Per sopperire alla mancanza di risorse adeguate negli ambienti IoT e sfruttando la connessione degli oggetti alla rete Internet, è possibile spostare la computazione necessaria agli ambienti “smart” sul cloud. In questo modo, il cloud Computing diventa un’estensione dei sistemi IoT supportandone la complessità computazionale.
L’ecosistema IoT-Edge-cloud
L’integrazione delle tecnologie IoT e cloud ha portato notevoli benefici nella trasformazione digitale dei servizi digitali. Tuttavia, se da un lato il cloud fornisce ai sistemi IoT una disponibilità potenzialmente infinita di risorse hardware (virtuali) e software, dall’altro lato la concentrazione delle risorse in cloud potenzialmente molto distanti dagli IoT comporta problematiche prestazionali dovute alle connessioni di rete come, ad esempio, ritardi nel trasferimento di dati da e verso gli ambienti smart o interruzioni di servizio in presenza di occasionali disconnessioni della rete. La diretta conseguenza è che una vasta classe di applicazioni ancora non sfrutta in modo estensivo i sistemi cloud perché troppo sensibili alla latenza nonché dipendenti dai dati per essere spostate nel cloud pubblico. Queste applicazioni, talvolta denominate Next Generation (o NextGen) trarrebbero invece vantaggio da un’infrastruttura avanzata con presenza onnipresente, sbloccandole dalle aree geografiche fisse, tipiche del cloud. Studi recenti dimostrano che l’edge computing consentirà a tali applicazioni di usufruire dei vantaggi tipici dello Utility computing, e consentirà un loro lancio sul mercato. Tuttavia, le attuali implementazioni dell’edge computing se non messe a sistema con infrastrutture di tipo cloud, potrebbero non consentire una adeguata capacità computazionale o non supportare adeguatamente la collaborazione tra le diverse istanze applicative collocate su edge differenti.
Per ovviare a questi problemi, è possibile progettare e realizzare delle architetture di calcolo a più livelli, in cui uno o più livelli di dispositivi intermedi sono interposti fra gli oggetti e il cloud. In questo modo, i dati critici possono essere mantenuti in prossimità dell’ambiente smart e agli utenti finali, mentre le altre attività che necessitano di minore reattività o di maggiori risorse possono rimanere nel cloud. l’edge computing è quindi una soluzione per i problemi di latenza, mancanza di banda, affidabilità e privacy dei dati che non possono essere gestiti con un sistema cloud convenzionale.
Nell’ecosistema IoT-edge-cloud, i nodi edge si interpongono tra quelli IoT e cloud, come mostrato in figura, ed è possibile allocare attività computazionali e/o di memorizzazione sulle tre le tipologie di nodi, in funzione del tipo di elaborazione da eseguire. Nelle soluzioni tradizionali, è necessario pianificare a priori quali elaborazioni saranno a carico dei nodi IoT, Edge e cloud, nonché definire i protocolli di comunicazione e di interfacciamento per integrare le rispettive attività computazionali. Tuttavia, questo approccio implica una conoscenza a priori del carico computazionale destinato a ciascun nodo e di definire in anticipo dove i differenti task che compongono l’intero servizio/applicazione devono essere eseguiti. Ciò comporta una significativa complessità della progettazione software e bassa flessibilità nell’utilizzo delle risorse.
Il compute continuum
Dal punto di vista degli sviluppatori di servizi ed applicazioni IoT, il Compute Continuum permette di utilizzare infrastrutture ibride IoT-Edge-cloud con grande flessibilità e garantendo alte prestazioni senza doversi preoccupare di come e dove i componenti software sviluppati saranno eseguiti. Ciò comporta, però, sfide tecnologiche importanti nello sviluppo di soluzioni di Compute Continuum che garantiscano un tale livello di astrazione ed efficienza.
La naturale e prossima estensione del Compute Continuum sarà quasi certamente rivolta ai sistemi specialistici per le alte prestazioni (HPC). Per questo, il Laboratorio Nazionale CINI “High Performance Computing: Key Technologies and Tools” (HPC-KTT) è impegnato in attività di ricerca per lo sviluppo di soluzioni di Compute Continuum per supportare la computazione su media e larga scala in ecosistemi IoT-Edge-cloud [AAA21].
Fig. 1: Architettura a livelli IoT-Edge-cloud del Compute Continuum
Casi d’uso ed esempi
Di seguito, un a serie di scenari applicativi e le nuove opportunità di sviluppo e di impatto socioeconomico.
Industry 5.0
Mentre in tutta Europa i principi di Industry 4.0 stanno ormai raggiungendo un certo livello di maturità, la transizione tecnologica continua a guardare verso il futuro. Con il concetto di Industry 5.0, la visione dell’industria punta al di là dell’efficienza e della produttività come unici obiettivi e rafforza il ruolo e il contributo dell’industria alla società. Con la quinta rivoluzione industriale, il benessere del lavoratore è messo al centro del processo produttivo e le nuove tecnologie sono utilizzate per fornire prosperità al di là dell’occupazione e della crescita, nel rispetto dei limiti produttivi del pianeta. La ricerca e l’innovazione sono messe al servizio della transizione verso un’industria sostenibile, incentrata sull’uomo e resiliente.
In questo contesto, Robotica e Smart Manufacturing giocano un ruolo fondamentale. I robot industriali hanno il compito di comprendere il mondo che li circonda, pianificare le loro azioni, interagire con altri robot e soprattutto con gli umani che lavorano nello stesso ambiente. Un livello di autonomia così elevato si basa su una combinazione di intelligenza artificiale, cognizione e interazione uomo-robot. In questi anni, ricerca e sviluppo stanno spingendo per elevare gli attuali standard industriali e perfezionarli con l’adozione di tecnologie di alto livello ingegneristico e facilmente implementabili nei differenti contesti produttivi (Industrial Computer Engineering Lab).
Per operare su scala umana, interagire fisicamente con l’uomo nelle fabbriche, nei magazzini e nelle case ed eseguire missioni critiche per la sicurezza, queste tecnologie abilitanti impongono requisiti di correttezza molteplici e rigorosi. Questi includono, oltre ai requisiti funzionali quali correttezza e precisione, anche vincoli non funzionali come reazioni e risposte istantanee, efficienza energetica, (cyber)security, affidabilità, sicurezza, scalabilità, riservatezza e integrità dei dati.
Proprio in questo contesto le tecnologie attuali ed in particolare le piattaforme di calcolo basate su sistemi dedicati, siano esse Edge Computing, o cloud Computing, applicate separatamente incontrano limiti importanti. Per soddisfare tutti i requisiti nel loro insieme, le applicazioni (Software) che comandano le azioni e le reazioni dei robot industriali devono essere distribuite e coordinate su architetture di elaborazione eterogenee. È qui che la combinazione di IoT, Edge Computing e cloud Computing a formare un continuum di calcolo esprime il suo potenziale e caratterizza la soluzione tecnologica al problema. L’eco-sistema IoT-Edge-cloud soddisfa tutti i requisiti nel loro insieme garantendo risposta di calcolo rapida, ritardo ridotto, larghezza di banda elevata, trust-sensitivity e funzionamento continuo a fronte di disconnessioni di rete intermittenti o complete.
5G, edge computing e big data: le innovazioni digitali per la ripresa post Covid
Smart Agriculture
Il settore agricolo sta affrontando un importante trasformazione nei suoi processi logistici e produttivi a causa delle nuove esigenze che si stanno manifestando, come la crescita demografica mondiale, che richiede una produzione agricola crescente, contro il continuo impoverimento del terreno e l’aumento dei livelli di inquinamento. Per questi motivi, i sistemi agricoli stanno evolvendo per realizzare l’agricoltura di precisione, in cui le tecnologie applicate alle produzioni agricole permetteranno di realizzare interventi mirati per le specifiche esigenze delle colture e delle diverse aree di terreno, monitorare lo stato di salute del suolo, riducendo gli sprechi ed ottimizzando l’utilizzo delle risorse [BBB20].
Le tecnologie attuali per l’agricoltura di precisione utilizzano numerosi sensori per la raccolta di dati (es. dati sulla qualità del terreno e dell’aria, spettro NDVI, dati meteorologici, etc.), attuatori per l’automazione di specifiche attività (es. controllo dei canali di irrigazione, etc.) e applicazioni per la pianificazione delle attività denominate FMIS (Farm Management Information Systems – ISO 11783) rese disponibili su un’unità centrale di elaborazione [CVC20, SSK19]. Tali soluzioni presentano numerosi limiti, tra cui la presenza di un sistema di controllo e pianificazione centralizzato, la mancanza di interazioni real-time con i sistemi di attuazione o per la segnalazione di anomalie, la possibile interruzione del servizio per problemi di disconnessione dalla rete di comunicazione, la difficoltà di poter aggiornare il software, incrementando le funzionalità di sistema o integrando le soluzioni operative con altre nel tempo.
Il Compute Continuum permette di risolvere tali problemi fornendo un’infrastruttura di calcolo distribuita su nodi operativi in diverse zone dell’azienda agricola in grado di effettuare un controllo costante delle aree agricole anche se ampie o sparse in campi distanti, abilitando elaborazioni delocalizzate, in tempo reale, ad elevata affidabilità anche in caso di malfunzionamenti o disconnessione dalla rete e altamente riconfigurabili. Questo permetterà, ad esempio, di montare su macchine agricole sensori intelligenti o videocamere per analizzare in tempo reale lo stato di salute dei campi e delle culture, al fine di informare l’operatore di eventuali problematiche rilevate (es., presenza di parassiti sulle piante, ingiallimento delle foglie, analisi del terreno, etc.) o attuare specifiche azioni correttive di precisione (es., irrorazione di pesticidi solo sulle piante malate, integrazione di concime, etc.).
e-Health
L’opportunità offerta dalle tecnologie Edge di gestire dati in modo distribuito è cruciale per lo sviluppo di tecniche innovative legate alla salute, come la diagnostica assistita dall’intelligenza artificiale (AI) [PKS21], la medicina di precisione e la telemedicina [SAA21]. Tutte queste tecniche utilizzano metodi in continua evoluzione ma anche e soprattutto utilizzano grandissime moli di dati che sono intrinsecamente distribuiti. Per i metodi legati ad AI, il volume dei dati è spesso direttamente collegato alla efficacia delle soluzioni, come per esempio la accuratezza dei classificatori necessari per la diagnostica assistita da AI. Per questo i metodi diagnostici basati su AI oggi più accurati sono allenati su dati aggregati da diverse fonti (pooled datasets), come per esempio succede per lo score PRAISE che è in grado di prevedere l’infarto (entro un anno) con una accuratezza superiore al 90% [DSG21]. Sebbene vantaggiose dal punto di vista dell’AI, le soluzioni centralizzate presentano svantaggi intrinseci, tra cui un aumento del traffico dati e preoccupazioni sulla proprietà dei dati, la riservatezza, la privacy, la sicurezza e la creazione di monopoli di dati che favoriscono gli aggregatori di dati. In questo ambito, il federated learning è sicuramente uno fra gli approcci più promettenti [AME21, RHL20].
Il federated learning (FL) è un paradigma di apprendimento per reti neurali che cerca di affrontare il problema della proprietà e del governo dei dati e della privacy addestrando le reti in modo collaborativo senza dover concentrare i dati in luogo logicamente centralizzato (sebbene distribuito, come avviene per alcuni sistemi cloud).
Sviluppato originariamente per i dispositivi mobili, è recentemente diventato di grande interesse per le applicazioni mediche. Il FL consente di apprendere conoscenza in modo collaborativo, ad esempio sotto forma di un modello di consenso, senza spostare i dati dei pazienti oltre i confini delle istituzioni che ne sono proprietarie. Il processo di apprendimento si verifica localmente in ciascuna istituzione (e.g. nodo Edge) e grazie allo scambio fra nodi di parametri (es. gradienti) che non contengono informazioni sensibili. Recenti ricerche hanno dimostrato che i modelli addestrati da FL possono raggiungere livelli di prestazioni paragonabili a quelli addestrati in modo centralizzato e superiori ai modelli che vedono solo dati isolati di singoli nodi [RHL20]. La suggestione del FL è semplice: affrontare le sfide della privacy e della governance dei dati abilitando l’analisi collaborativa dei dati senza che questi siano visibili ai partner dell’analisi. In un ambiente FL, ciascun titolare del trattamento dei dati non solo definisce il proprio governo dei dati e le politiche sulla privacy associate, ma controlla anche l’accesso ai dati e ha la possibilità di revocarlo. In questo modo, il FL potrebbe consentire nuovi paradigmi metodologici dell’analisi dei dati, come per esempio la validazione istituzionale su larga scala o le ricerche sulle malattie rare, in cui i tassi di incidenza sono bassi e i set di dati in ogni singola istituzione sono troppo piccoli per l’apprendimento di un modello abbastanza generale [RHL20].
Cloud Gaming
Tra le applicazioni pronte a beneficiare del Compute Continuum riveste un ruolo rilevante il cloud gaming. Ovvero l’idea di giocare a qualsiasi gioco su qualsiasi dispositivo senza dover disporre dell’hardware fisico necessario per elaborarlo o aver bisogno di una copia locale del gioco stesso.
Se a prima vista si possa avere l’idea di un ambito limitato, i dati dimostrano una realtà ben diversa avendo, l’industria dei videogiochi, subito una notevole evoluzione. Da settore economico di nicchia nei primi anni ’70 e ’80 a un settore robusto nell’economia globale. Si prevede che il mercato globale dei giochi supererà i 180 miliardi di dollari di ricavi nel alla fine di quest’anno. Il cloud Gaming, a volte indicato come Gaming-as-a-Service (GaaS), emerge come la nuova frontiera, proprio come il mobile gaming ha fatto esplodere il mercato rendendo i giochi accessibili a miliardi di persone tramite smartphone.
Tuttavia, soprattutto per alcuni giochi, i requisiti sulla latenza sono molto severi, poiché è richiesta l’elaborazione del controllo dell’input in tempo reale (in altri termini: il controllo del gioco da parte dell’utente deve avvenire in brevissimo tempo, senza alcun ritardo umanamente apprezzabile). Un approccio comune nel cloud gaming consiste nell’eseguire l’elaborazione grafica e l’analisi della logica di gioco sul cloud su CPU/GPU remote e decodificare il contenuto localmente; tuttavia, lo svantaggio principale è la necessità di maggiori requisiti di larghezza di banda e tempi elevati di elaborazione. A questo proposito, le reti mobili instabili e con larghezza di banda limitata potrebbero non essere in grado di supportare la trasmissione di video di gioco in tempo reale, soprattutto su lunghe distanze e qualora, ipotesi non peregrina, un elevato numero di utenti sia concentrato in un’area fisica limitata.
Risulta evidente che in un contesto come questo, il Compute Continuum può essere una soluzione utile ed efficiente, soprattutto se gestito in modo intelligente ed adattivo, a supporto di infrastrutture di cloud Gaming. Sia dal punto di vista dello sviluppatore (che se adeguatamente supportato da ambienti abilitanti, potrebbe progettare giochi cloud demandando la loro ottimizzazione alla piattaforma di Compute Continuum) così come dell’utente finale (che beneficerebbe di un sistema in grado di fornirgli un’esperienza di gioco piacevole senza dover acquistare hardware ad alte prestazioni).
Smart farming
La gestione di fattorie con stalle è di particolare interesse nel panorama economico italiano. Ad esempio, in Lombardia un quarto del valore dell’intera produzione agronomica è imputabile al latte che rappresenta il 40% della produzione nazionale. Una visione integrata e informatizzata delle aziende conduce ad ottimizzazioni nella gestione degli animali e dei processi produttivi, con conseguente innalzamento delle qualità dei prodotti e della redditività degli investimenti. Lo stato di salute degli animali e la salubrità dell’ambiente “stalla” influenza qualità e quantità del latte prodotto. L’elevata produttività delle moderne razze animali si accompagna a condizioni di stress e ad un maggiore rischio di contrarre malattie [OB10]. Inoltre, la produttività delle vacche è fortemente influenzata dalla temperatura e umidità dell’aria, fattori che influenzano i loro processi metabolici. Le condizioni ideali sono di 24-25°C, limite che se superato causa stress con diminuzione della produzione, riduzione delle fertilità e problemi legato all’aumento del tempo passato dall’animale in posizione eretta per dissipare calore.
Gli allevamenti moderni richiedono strutture IoT e tool di analisi per la gestione efficiente ed integrata della stalla non solo per fini di monitoraggio, ma anche per risolvere rapidamente ed in maniera autonoma eventuali criticità. Sul mercato esistono dispositivi per il monitoraggio dei parametri animali come, ad esempio, il tipo di attività nel tempo, la ruminazione e l’analisi quantitativa e qualitativa del latte prodotto. Tali sensori sono tipicamente posizionati sul collo o sulle zampe della vacca e inviano periodicamente (es. ogni 1-3 ore) i dati ad un ricevitore collegato ad un computer posto in azienda. Successivamente i dati raccolti vengono caricati in cloud per la loro storicizzazione ed una eventuale elaborazione. Normalmente gli allevatori accedono a tali informazioni tramite interfacce web. I principali limiti dei sistemi esistenti sono i seguenti:
- Limitata flessibilità del sistema complessivo.
- Impossible aggiunta di sensori di terze parti.
- Limitato (o impossibile) accesso ai dati grezzi da parte dell’utente.
- Impossible modifica dell’algoritmo di processing dei dati.
- Integrazione delle varie fonti di informazione solo parziale.
- Molte informazioni utili relative alla stalla non verranno comunque raccolte.
Con riferimento ai livelli infrastrutturali mostrati in Fig. 1, al livello più basso si trovano sensori eterogenei per monitorare i parametri vitali e di attività dell’animale, l’ambiente in termini micro-climatici e la presenza di gas correlati alla salubrità ambientale. Videocamere possono complementare e fornire termini di confronto di accuratezza comunque inferiore rispetto a quella dei nodi sensore. Molti dei dispositivi che appartengono a questo livello di astrazione sono alimentati a batteria, con una durata tipica di almeno 18 mesi, per cui l’elaborazione delle informazioni verrà in parte svolta nel livello superiore (Edge) e, con latenze superiori ed una visione di carattere maggiormente statistico, all’interno del nodo cloud. Le modalità scelte per la rappresentazione dei dati sono cruciali per consentire una buona interoperabilità fra i vari algoritmi di analisi e una loro specializzazione, così come l’interazione con funzioni di previsioni meteorologiche per tarare i modelli di evoluzione della temperatura e umidità della stalla e, eventualmente, attivare contromisure ad-hoc come l’attivazione di ventilatori o, nei casi più critici, di docce d’acqua [AF20].
I servizi offerti, che sfrutteranno anche tecniche di analisi basate su AI, potranno essere resi fortemente specifici, superando le inflessibilità dei sistemi attuali e con la possibilità di evolvere per integrazione di nuova sensoristica o aggiornamento periodico o evolutivo degli algoritmi di analisi e gestione della stalla.
Veicoli a guida autonoma e sistemi di trasporto intelligente
Il settore della mobilità di persone e di cose (per la logistica) è in una fase di rivoluzione con il passaggio a veicoli e ITS (Intelligent Transportation Systems) sempre più autonomi, verdi (grazie alla elettrificazione della propulsione ed uso di energie rinnovabili), sicuri. La sfida è fornire sistemi di sicurezza attiva visto che ogni anno più di un milione di persone nel mondo muore per incidenti stradali, abbattere le emissioni di C0/C02 e di inquinanti, ridurre il traffico nelle città e nelle arterie stradali per aumentare la qualità della vita dei cittadini e l’efficienza della logistica, garantire inclusività della società in quanto la guida autonoma permette una maggiore mobilità per persone disabili e/o anziane.
Tra le tecnologie abilitanti di questo scenario vi è una sempre maggiore interconnessione tra veicoli, e tra questi e le infrastrutture, le persone, la rete elettrica per ricarica in uno scenario di V2X (Vehicle to Everything) networking basato sia su connessione WLAN (e.g. IEEE 802.11p) che cellulare (e.g. 5G C-V2X). Inoltre, la disponibilità di sensori di bordo sempre più sofisticati (telecamere nel visibile e infrarosso, Radar, Lidar, Ultrasuoni, IMU-Inertial Measurement Unit) fornisce la capacità ai veicoli di prendere coscienza dell’ambiente circostante, rilevare ostacoli ed cambiare adattivamente la propria dinamica. Tutto questo richiede una enorme capacità di calcolo che non può essere soddisfatta solo con sistemi cloud dati stringenti requisiti di latenza e di safety and security.
Ancora una volta la soluzione può venire da uno schema di Compute Continuum a più livelli come quello di Fig. 1 dove i veicoli vengono equipaggiati con sistemi di embedded HPC (High Performance Computing) e reti ad alte prestazioni. Si pensi che il FSD (Full Self Driving) on-board computer di Tesla promette 144 Tops a bordo auto e che reti Automotive Ethernet o il nuovo standard ASA (automotive Serdes alliance) puntano a velocità di diverse decine di Gbps per linea. Le risorse di comunicazione, sensing e calcolo a bordo dei singoli veicoli, supportati da livelli SW orientati alla functional safety (Adaptive e Classic Autosar) e security, vengono completate da sistemi di interconnessione WLAN, ma soprattutto C-V2X, con Edge e cloud Server per gli aspetti meno critici da un punto di vista della latenza ma più orientati al management dei flussi di traffico e dei sistemi di infotainment. Del resto “data is the new oil” e un veicolo a guida autonoma dovrebbe generare secondo stime di Intel 4TB di dati ogni, A questo va aggiunta la creazione di nuovi modelli di business legati all’update remoto, 0ver-the-Air, del software dei veicoli per diagnostica/manutenzione o aggiunta di nuove funzionalità, configurazioni e servizi post vendita [BMM19, ADB21].
Realtà Virtuale e Aumentata
Il Compute Continuum può migliorare considerevolmente l’applicabilità e le prestazioni delle tecnologie per la Realtà Virtuale e per la Realtà Aumentata, soprattutto in scenari di utilizzo distribuiti, interattivi ed in mobilità. Tali scenari richiedono interazioni con latenza “ultra-bassa” (dell’ordine di 5 millisecondi “end-to-end”); inoltre i dispositivi di AR mobili ed “indossabili” al momento possiedono capacità computazionale limitata, così come limitata capacità delle batterie. L’elevata richiesta computazionale delle applicazioni di AR/VR – ad esempio il tracking dei video streams provenienti dalle videocamere indossabili, ed il loro rendering con le annotazioni di AR – e la latenza tipicamente elevata dell’interconnessione tra i dispositivi mobili ed i servers di elaborazione – mettono a dura prova il soddisfacimento delle richieste di latenza ultra-bassa, nonché altri parametri di QoS tipici di queste applicazioni. Il paradigma computazionale cloud-Edge è sicuramente una risposta valida a tali sfide tecnologiche, in quanto può abilitare il dispiegamento dinamico di componenti computazionali dai servers remoti ai dispositivi smart dei players (o ad edge-servers locali) in modo da effettuare elaborazioni quali il tracking, l’annotazione ed il rendering degli streams video localmente vicino alle sorgenti dei dati, elaborando nel contempo dati “remoti” (e.g. le annotazioni sui video streams) provenienti dinamicamente dai servers remoti, insieme alle componenti computazionali. Il caso d’ uso della AR/VR distribuita è certamente uno scenario complesso, dinamico, multi-livello, multi-task, multi-player ed user-centered, con associati stringenti requisiti di QoS; esso costituisce quindi un banco di prova sfidante per sperimentare l’ efficacia, la dinamicità, la distribuzione, l’adattabilità e la user centricity del paradigma del Compute Continuum, richiedendo la definizione di innovative metodologie di progetto architetturale e di dispiegamento delle componenti di applicazioni distribuite sul continuum cloud-Edge-IoT, e la definizione di nuovi patterns di design e di deployment [DVE20, DA21].
L’innovazione del Compute Continuum
Dall’analisi dei casi d’uso si evince l’importanza strategica di infrastrutture tecnologiche orientate alla raccolta e l’analisi di grandi quantità di dati tramite cui risolvere problematiche specifiche del settore applicativo di riferimento. Tali infrastrutture devono garantire elevate prestazioni computazionali e supportare sistemi real-time per abilitare servizi innovativi in cui l’utente è parte integrante del servizio stesso. Ciò permetterà di avere applicazioni sofisticate che possano effettivamente cambiare il modo di produrre beni e migliorare la nostra qualità della vita.
Questo obiettivo può essere raggiunto sviluppando tecnologie pervasive, sempre più vicine agli utenti ed al tempo stesso ad elevata capacità di elaborazione. Il Compute Continuum rappresenta un approccio tecnologico che spinge in questa direzione di innovazione, fornendo l’astrazione di un sistema per l’esecuzione di servizi ed applicazioni omogeneo, ad alte prestazioni e, se necessario, geo-localizzato, che è in realtà distribuito su infrastrutture eterogenee, che vanno dai cloud pubblici e privati, ai dispositivi IoT fissi e mobili, nodi Edge messi a disposizione da Service Provider, stazioni cellulari e implementazioni private.
Con il Compute Continuum, l’ambiente per l’esecuzione del software si adatta al carico di lavoro ed al tipo di applicazioni in corso, in maniera trasparente rispetto all’utente. Questi benefici derivano dall’integrazione di componenti hardware e software complessi, che risolvono problematiche specifiche, come l’astrazione semantica delle risorse infrastrutturali, l’orchestrazione di risorse eterogenee e geo-localizzate, l’ottimizzazione delle prestazioni, il supporto dei requisiti di Qualità del Servizio (QoS) e la gestione di problematiche di sicurezza per l’isolamento dei servizi, l’instaurazione di comunicazioni affidabili e la riservatezza dei dati.
Il Laboratorio Nazionale CINI HPC-KTT integra al suo interno le diverse competenze per poter affrontare tutte queste tematiche e supporta sia le cooperazioni tra attività di ricerca sul Compute Continuum già esistenti nelle diverse sedi del laboratorio, sia le iniziative volte al trasferimento tecnologico.
_____________________________________________________________________
*Hanno collaborato alla realizzazione di questo articolo anche:
William Fornaciari, Politecnico di Milano-DEIB e CINI HPC-KTT
Sergio Saponara, Università di Pisa e CINI HPC-KTT
Bibliografia
[AAA21] M. Aldinucci, G. Agosta, A. Andreini et al. The Italian research on HPC key technologies across EuroHPC. In ACM Computing Frontiers, pages 279–286, Virtual Conference, Italy, May 2021. ACM.
[BBB20] G. Bucci, D. Bentivoglio, M. Belletti, A. Finco. Measuring a farm’s profitability after adopting precision agriculture technologies: A case study from Italy. ACTA IMEKO. 9. 65 – 74, 2020.
[CVC20] I. Cisternas, I. Velásquez, A. Caro, A. Rodríguez. Systematic literature review of implementations of precision agriculture. Computers and Electronics in Agriculture, Volume 176, 2020
[SSK19] A. Sinha, G. Shrivastava, P. Kumar. Architecting user-centric internet of things for smart agriculture. Sustainable Computing: Informatics and Systems, Volume 23, pages 88-102, 2019.
[PKS21] M. Pennisi, I. Kavasidis, C. Spampinato et al. An explainable AI system for automated COVID-19 assessment and lesion categorization from CT-scans. Artificial intelligence in medicine, p. 102114, 2021. https://doi.org/10.1016/j.artmed.2021.102114
[SAA21] E. Sulis, I. A. Amantea, M. Aldinucci et al. An Ambient Assisted Living Architecture for Hospital at Home coupled with a Process-oriented Perspective. Journal of Ambient Intelligence and Humanized Computing. 2021.
[DSG21] F. D’Ascenzo, O. De Filippo, G. Gallone et al. Machine learning-based prediction of adverse events following an acute coronary syndrome (PRAISE): a modelling study of pooled datasets. The lancet, vol. 397, iss. 10270, pp. 199-207, 2021. https://doi.org/10.1016/S0140-6736(20)32519-8
[AME21] Y. Arfat, G. Mittone, R. Esposito. A review of machine learning for cardiology. Minerva cardiology and angiology, 2021. https://doi.org/10.23736/s2724-5683.21.05709-4
[RHL20] Rieke, N., Hancox, J., Li, W. et al. The future of digital health with federated learning. npj Digit. Med. 3, 119 (2020). https://doi.org/10.1038/s41746-020-00323-1
[OB10] P. Oltenacu, D. M. Broom. “The impact of genetic selection for increased milk yield on the welfare of dairy cows”, May 2010. Animal welfare (South Mimms, England) 19(1).
[AF20] G. Agosta, W. Fornaciari et al. The RECIPE Approach to Challenges in Deeply Heterogeneous High Performance Systems. Microprocessors and Microsystems, Volume 77, 2020. https://www.sciencedirect.com/science/article/pii/S0141933120303525
[BMM19] L. Lo Bello, R Mariani, S Mubeen, S Saponara, Recent advances and trends in on-board embedded and networked automotive systems, – IEEE Trans. Industrial Informatics, Vol 1, n. 2, 2019
[ABD] M Ashjaei, L. Lo Bello, M Daneshtalab et al. Time-Sensitive Networking in automotive embedded systems: State of the art and research opportunities. Journal of systems architecture, 2021
[DVE20] B. Di Martino, S. Venticinque, A. Esposito and S. D’Angelo. A Methodology Based on Computational Patterns for Offloading of Big Data Applications on cloud-Edge Platforms. Future Internet, v. 12(2), n. 28, 2020. Open Access: https://www.mdpi.com/1999-5903/12/2/28
[DA21] B. Di Martino and A. Esposito “Applying Patterns to Support Deployment in cloud-Edge Environments: A Case Study”, In: Barolli L., Woungang I., Enokido T. (eds) Advanced Information Networking and Applications. AINA 2021. Lecture Notes in Networks and Systems, vol 227. Springer Cham. 2021. https://doi.org/10.1007/978-3-030-75078-7_15