Archivio

Archivio autore

Cloud & Geomatica, un incontro promettente

Nella preparazione della tappa italiana dell’IGNITE Competition, promossa da Hexagon Geospatial, ho raccolto alcune considerazioni sui vantaggi che derivano dall’utilizzo del cloud nello sviluppo di applicazioni geospaziali che condivido con questo post.

Il cloud computing è una delle principali direttrici di innovazione dell’information technology degli ultimi anni a livello globale. Nel 2015 ci sono stati investimenti nel cloud, a livello mondiale, per oltre 33 miliardi di dollari, attestandosi, perciò, come la principale linea di investimenti nella implementazione di infrastrutture IT (fonte: Economist).

I principali settori che hanno adottato il cloud sono il bancario, retail, manufatturiero, educazionale e sanitario.

Nel manifatturiero il cloud è stato adottato in tutte le fasi della catena del valore a partire dalla supply chain (gestione degli approvvigionamenti) al design e prototyping di nuovi prodotti fino alla produzione e alla distribuzione.

In analogia a quanto sta avvenendo nel manifatturiero anche il settore della Geomatica può trarre grande beneficio dall’utilizzo del cloud. Se ne analizziamo la catena del valore ci rendiamo conto che l’impatto del cloud potrebbe essere significativo in tutte le fasi tipiche di una applicazione geospaziale: gestione dei rilievi e dati, il design dei servizi, lo sviluppo di prototipi, il rilascio della applicazione, la produzione e aggiornamento degli output sotto forma di una combinazione di dati, report ed indicatori e il loro rilascio via internet.

Di seguito analizziamo i singoli punti della catena del valore della Geomatica.

Gestione dei dati

Una applicazione geospaziale di solito si basa su di una combinazione di dati che possono derivare da fonti informative differenti. I dati proprietari possono essere integrati a dati resi disponibili da altri data provider, sia a pagamento, che gratuitamente, come nel caso degli open data. I data provider sempre più frequentemente forniscono i propri dati sotto forma di servizi web accessibili secondo protocolli standard, ad esempio, conformi dall’OGC secondo il paradigma del DaaS Data as a Service. Quindi il cloud è già la fonte informativa principale dei dati utilizzati per lo sviluppo di applicazioni geospaziali. Inoltre, sempre più frequentemente chi dispone di grandi banche dati sceglie di archiviare sul cloud i dati, per incrementarne la sicurezza e l’accessibilità e, contestualmente, ridurre i costi connessi alla gestione di grossi archivi.

Design e prototipi

Il design di nuove applicazioni, per essere al passo con i tempi, deve essere realizzato in tempi molto rapidi e con strumenti molto semplici da utilizzare, anche per utenti non esperti di informatica, per consentire una rapidità di implementazione e il miglioramento continuo secondo i paradigmi del design thinking e dello sviluppo agile.

I workflow elaborativi e di geoprocessing sono, sempre più spesso, realizzati in ambienti di modellazione grafica (come ad esempio, lo Spatial Modeler di ERDAS Imagine), estendibili e personalizzabili con script in linguaggio Python, che permettono di creare procedure automatiche di acquisizione ed elaborazione dei dati, per la loro gestione, analisi e processamento.

Questi ambienti di geoprocessing e modellazione, oggigiorno, sono disponibili anche su cloud e semplificano notevolmente il design dei processi e la realizzazione di prototipi. Disporre di questi strumenti on-line semplifica il lavoro dei team che possono anche essere dislocati in sedi geograficamente lontane.

L’utilizzo dei paradigmi PaaS/SaaS Platforms as a Service e Software as a Service consente il running delle applicazioni direttamente su cloud e permette di testare immediatamente i prototipi delle applicazioni per verificarne risultati e gradimento da parte degli utenti (user experience). Lo sviluppo di prototipi in ambiente cloud semplifica il loro rilascio e l’interazione con gli utenti, riducendo drasticamente costi e tempi di rilascio.

Produzione e condivisione degli output

In ambiente SaaS il passaggio dal prototipo alla produzione è immediato. La scalabilità delle applicazioni è nativa, in quanto l’ambiente cloud consente di adeguare immediatamente le risorse hardware e software in presenza di picchi di lavoro.

In questo modo, i costi di infrastruttura diventano costi variabili direttamente correlati ai livelli produttivi.

Questi ambienti di produzione sono inoltre caratterizzati dal garantire l’accesso multipiattaforma delle applicazioni sia da ambiente desktop che mobile riducendo drasticamente anche i costi di manutenzione delle applicazioni.

Geo-PaaS: Geo Platform as a service

Da un punto di vista teorico, utilizzando le risorse su Cloud, è possibile sviluppare una applicazione che utilizza dati (geospaziali e alfanumerici) e servizi (WMS, WFS, WCS, ecc.) resi disponibili su internet, con software in ambiente cloud, che restituisce i risultati delle elaborazioni in formato cartografico (WebGIS), report ed indicatori.

Da un punto di vista pratico per poter fare tutto ciò, è necessario disporre di PaaS Platform as a Service che fornisca un ambiente unico per: archiviare dati geospaziali, alfanumerici e file multimediali, connettersi a data provider esterni, elaborare con strumenti di analisi geospaziale tipici dei software applicativi GIS, fotogrammetrici e di image processing; costruire dashboard e ambienti grafici per creare workflow di lavoro in grado di concatenare i processi che sottendono all’applicazione, condividere i risultati dei processi elaborativi.

Smart M.App: la piattaforma Cloud di Hexagon Geospatial

Hexagon Smart M.App è una nuova piattaforma tecnologica su Cloud che mette a disposizione, in un unico ambiente, dati aggiornati su tutta la Terra forniti dai principali provider internazionali e nazionali (immagini satellitari e rilievi aerei), un sistema di archiviazione di dati geospaziali (immagini satellitari, rilievi aerofotogrammetrici, Lidar, cartografie, dati GPS) e dati descrittivi (documenti, database, file multimediali), strumenti per il geoprecessing che sommano le principali funzionalità dei software Hexagon (ERDAS Imagine, Geomedia, IMAGINE Photogrammetry, IMAGE Station, ERDAS APOLLO e Geomedia SMART CLIENT), tool per la creazione di flussi di lavoro automatizzati e strumenti per la rappresentazione grafica ed interattiva delle informazioni.

Con questa piattaforma è possibile creare delle applicazioni, le SMART M.APPS, in grado di gestire grandi quantità di dati sul cloud, disporre di potenti capacità analitiche, anche geospaziali, con una user experience semplice e dinamica (video) e riducendo drasticamente i costi e tempi di implementazione.


IGNITE Competition 2016

L’adozione del Cloud nello sviluppo di applicazioni geospaziali è attualmente limitato dalla scarsa consapevolezza delle sue potenzialità e dei vantaggi che può apportare.

Per superare queste limitazioni e favorire la diffusione dell’utilizzo del cloud nelle applicazioni geospaziali la Hexagon ha lanciato la competizione IGNITE, un concorso di idee a scala mondiale, per la creazione di Applicazioni innovative basate su Hexagon Smart M.App.

L’obiettivo di IGNITE è stimolare sia aziende che singoli sviluppatori a costruire una applicazione su cloud nei più disparati ambiti applicativi: finanziario, alimentare, della sicurezza, delle infrastrutture, della sanità o della salvaguardia delle risorse naturali.

IGNITE ti offre al possibilità di sfruttare le potenzialità del cloud, vincere 100.000$ e farti conoscere a livello mondiale. In qualità di Premium Partner la Planetek Italia sta supportando l’organizzazione della tappa italiana di lancio della competizione che si terra a Roma il 6 aprile 2016.

Se vuoi cogliere la sfida e sottoporre la tua idea di Smart M.App puoi farlo fino al 30 aprile 2016.

Il regolamento completo del concorso è online su https://herox.com/ignite/guidelines.

Per saperne di più sulla competizione: http://www.planetek.it/ignite_competition_2016

Challenge GPU4EO: the winner is…..

Si è concluso con un grande successo il challenge GPU4EO con il team vincitore che, nelle 10 settimane a disposizione, ha ridotto dell’80% il tempo di elaborazione di una coppia interferometrica di immagini radar portandola da 25 a 3 minuti.

Un risultato ottenuto rivisitando gli algoritmi di DORIS, il software per l’elaborazione di immagini radar satellitari, ed utilizzando le potenzialità di una scheda grafica GPU NVIDIA k40.

Il team vincitore è risultato quello capitanato dal Prof. Italo Epicoco dell’Università del Salento, con Francesca Macchia e Francesca Mele. Questo team è stato premiato da Giovanni Sylos Labini CEO di Planetek Italia che ha messo in palio il premio di 5.000 €. (video dell’intervista).

I team finalisti sono risultati variamente composti: il “team Epicoco” formato da ricercatori dell’Università del Salento e del CMCC, il “team Putignano” composto da Putignano-Izzo-Sabella-Chiusolo, professionisti che operano nel settore del remote sensing, e il “team Poliba” composto dal trio Guerriero-Anelli-Pagliara del Politecnico di Bari.

I team si sono confrontati con la sfida che richiedeva, come requisito minimo di partecipazione, di almeno dimezzare i tempi di elaborazione pur garantendo la massima qualità del risultato dell’elaborazione come ha illustrato Raffaele Nutricato di GAP (video) che ha anche spiegato per quale motivo è stato adottato DORIS come software di riferimento per il challenge.

I risultati di tutti i 3 team finalisti hanno dimostrato che con l’adozione delle GPU ci sono ampi margini di ottimizzazione dei software di image processing.

Le strategie di ottimizzazione adottate dai team sono state illustrate durante il workshop (i video dei team Epicoco, Putignano, Poliba). Tutti i team hanno evidenziato che la fase di ricampionamento è quella che richiede i maggiori tempi di elaborazione e per questo motivo si sono concentrati principalmente su questa fase. Il team vincitore ha ridotto i tempi di ricampionamento portandoli da 580 secondi a soli 10 secondi!

Tutti i team hanno meso in evidenza che con il processing con GPU le performance sono fortemente penalizzate dalla frequente lettura/scrittura di file intermedi al termine delle operazioni di elaborazione. Una strategia da perseguire nel porting dei software verso le GPU è proprio la riduzione delle operazioni di lettura/scrittura con la possibilità di mettere in memoria grandi quantità di dati da elaborare sfruttando le caratteristiche delle GPU disponibili sul mercato.

Le modalità di misurazione delle prestazioni dei team sono state illustrate da Giacinto Donvito dell’INFN (vedi il video) che ha anche messo in evidenza che nessun team è comunque riuscito a saturare le capacità elaborative della scheda video a dimostrazione che ci sono ancora ampi margini di miglioramento.

Durante il workshop finale del Challenge GPU4EO il Prof. Hittle dell’Ohio Supercomputer Center nella sua keynote ha illustrato le principali differenze tra il processing su GPU vs CPU e ha presentato alcuni casi applicativi di successo nell’adozione delle GPU per il calcolo scientifico. (video della presentazione e dell’intervista in inglese).

Il Challenge è stato realizzato con il contributo dei partner del progetto RIESCO e grazie alla disponibilità del data center RECAS le cui caratteristiche sono state illustrate dal prof. Bellotti dell’Università di Bari (video).

Il convegno si è aperto con i saluti del prof. Uricchio, Rettore dell’Università di Bari, e gli interventi di Francesca de Leo del CNR, coordinatrice del progetto RIESCO, la dott.ssa Di Ceglie della Regione Puglia e Vincenzo Barbieri di Planetek Italia, che ha illustrato le motivazioni che hanno portato alla organizzazione del Challenge. (video)

Link di approfondimento:

Challenge GPU4EO 2015

GPU4EO 2015 è una sfida tra ricercatori finalizzata a migliorare le performance del software open source DORIS specifico per la elaborazione di dati satellitari radar sfruttando le capacità elaborativa dell GPU NVIDIA k 40.

Ma perchè abbiamo lanciato questa iniziativa?

Le GPU, dette comunemente schede video, stanno diventando sempre più veloci e consentono restituzioni a schermo sempre più realistiche e rendering sempre più accurati per la costruzione di ambienti digitali immersivi.

Tutto questo avviene sotto la spinta del mercato dell’entertaiment che ha portato anche ad una drastica riduzione dei costi delle GPU. Quindi sul mercato sono disponibili schede grafiche molto potenti a basso costo.

Parallelamente, si sta verificando una crescente disponibilità di immagini acquisite da molteplici tipologie di sensori montati a bordo di satelliti, aerei, droni e veicoli di ogni tipo.

L’elaborazione di queste immagini esige capacità elaborative crescenti che deve scontrarsi con l’esigenza di ridurre di 100 o 1000 volte i tempi di elaborazione per poter offrire servizi in tempo reale.

Adottare computer con CPU sempre più potenti e, dove possibile, grid di computer, anche su cloud, per parallelizzare i processi è una possibile soluzione per fare fronte a queste esigenze.

Questa scelta, tuttavia, oltre che costosa, in alcuni casi non è applicabile. Ad esempio, nel caso di elaborazioni in tempo reale di immagini direttamente a bordo di satelliti o di rover inviati in giro per lo spazio dove sono a disposizione limitatissime capacità elaborative. O, molto più semplicemente, quando il trasferimento delle immagini richiede troppo tempo. Tempo che non abbiamo nel caso di applicazioni in real-time e, quindi, è necessario che il processing avvenga lì dove sono archiviati i dati.

In tutti questi casi le GPU possono rappresentare la soluzione ottimale. Dispongono di capacità elaborative molto elevate e sanno fare bene i calcoli che servono per elaborare le immagini. Sono nate per quello!

Ma se vogliamo utilizzare le GPU per processare, ad esempio, le immagini telerilevate da satellite quali sono i problemi da affrontare?

Un semplice porting non è sufficiente per sfruttare a pieno le capacità elaborative delle GPU, che ‘ragionano’ in modo differente dalle CPU. I programmi vanno riscritti e gli algoritmi vanno adattati alle specifiche GPU che si adottano. Quindi in che modo possiamo riusare il codice già scritto nei software che sono disponibili sul mercato, senza dover riscrivere tutto?

Inoltre, ogni modello di GPU lavora in modo differente. Se adottiamo semplicemente le librerie disponibili, come ad esempio le CUDA di INVIDIA, non siamo certi di poter raggiungere le prestazioni massime che potenzialmente la scheda in uso ci può fornire.

Un altro tema da affrontare è la parallelizzazione del processo su un network di GPU, così come si fa con il grid di computer.

Quindi, ci sono ancora molti aspetti da esplorare nell’utilizzo delle GPU che richiedono team multidisciplinari in grado di integrare molteplici competenze: sulle GPU, sulle librerie, sugli algoritmi e sulle applicazioni da realizzare.

Per favorire questo processo di sviluppo di team multidisciplinari, abbiamo lanciato il Challenge GPU4EO con il contributo di CNR, INFN ENEA e Confindustria Puglia, nell’ambito del progetto RIESCO, e GAP s.r.l..  Inoltre, i partecipanti al Challenge potranno utilizzare le infrastrutture del data center ReCaS messo a disposizione dall’Università di Bari e INFN.

Possono partecipare al Challenge team nazionali ed internazionali sia afferenti ad enti di ricerca che team di studenti e/o professionisti che vogliono confrontarsi e unirsi per affrontare questa sfida. (qui il bando)

Una sfida aperta a tutti coloro che vogliono provare a sfidarsi in una frontiera che promette molte sorprese.

Buona sfida a tutti….