Nome e qualifica del proponente del progetto: 
sb_p_1688563
Anno: 
2019
Abstract: 

La grande quantità di dati disponibili oggigiorno ha stimolato lo sviluppo di una metodologia adeguata per l'interpretazione e il riuso dell'informazione di interesse contenuta all'interno delle basi di dati. Questa metodologia (chiamata spesso "Knowledge Discovery") risulta essere un processo complesso e articolato, all'interno del quale un ruolo fondamentale è occupato dal cosiddetto Data Mining. Esso consiste nella sintesi automatica di modelli predittivi e descrittivi basati sui dati a disposizione attraverso le tecniche di Machine Learning, il cui scopo è far emergere concetti rilevanti e le eventuali relazioni tra di essi. A tal proposito, un paradigma promettente risulta essere quello basato sul Granular Computing, che poggia le basi nell'estrazione di entità atomiche (i.e. "granuli") formalizzate matematicamente. Molto di frequente i "Big Data" risultano però essere dati strutturati e privi di metrica ben definita, il che li rende poco fruibili per la maggior parte delle tecniche di Data Mining consolidate, le quali si basano su dati rappresentabili come n-ple di numeri reali. Le principali soluzioni adottate per ovviare al problema fanno largo uso di metriche ad-hoc come ad esempio le Graph Edit Distance, caratterizzate da un alto costo computazionale.
Risulta evidente la necessità di poter disporre di soluzioni in grado di distribuire il carico computazionale su diversi agenti di calcolo, come anche di gestire basi di dati memorizzate su diverse macchine de-localizzate. Il progetto propone quindi uno studio sulle possibili realizzazioni di soluzioni distribuite e parallele per l'accelerazione di algoritmi di Data Mining in spazi non-metrici basati sul paradigma del Granular Computing, utilizzando hardware dedicato non ancora esplorato approfonditamente, come FPGA e schede grafiche General Purpose GPU (GP-GPU).

ERC: 
PE6_7
PE6_2
PE6_6
Componenti gruppo di ricerca: 
sb_cp_is_2135166
Innovatività: 

Le implicazioni della ricerca proposta riguardano diversi aspetti sia pratici che teorici nell'ambito del processamento dei Big Data.
L'uso di applicativi basati sul paradigma Granular Computing comporta un'innovazione nell'ambito delle discipline relative al Data Mining. Il processo che porta alla formazione dei granuli di informazione, è un tema di ricerca di grande interesse nel mondo della Computational Intelligence e richiede conoscenza approfondita dell'impianto matematico e teorico sottostante. Di fatto, un framework unificato in grado di sintetizzare queste strutture ricche di informazione non risulta ancora esplorato, mentre diverse soluzioni basate ad esempio su algoritmi di clustering e quindi su l'apprendimento non supervisionato, sono state utilizzate nel campo della bioinformatica [1]. L'innovazione in questo campo non risiede solamente nell'efficacia di analizzare dati complessi, ma anche nella possibile interpretazione dei granuli formati da parte di esperti nel settore di indagine, specie nel caso in cui tali entità siano formalizzate tramite strutture dati come i grafi [2].
Quest'ultimo punto apre la strada verso l'aspetto pratico della ricerca: l'accelerazione in hardware di algoritmi di apprendimento aventi in ingresso lo spazio dei grafi è un tema in crescita e le tecniche di parallelizzazione ottimali per ottenere speed-up soddisfacenti non sono ancora consolidate. Nel campo delle GPGPU, infatti la maggior parte della ricerca si è concentrata intorno alle reti neurali, ed in particolare intorno alle tecniche di Deep Learning, oltre al calcolo matriciale, dato il particolare design dell'architettura [3]. Ancor maggior interesse e potenzialità possono avere le FPGA come acceleratori di algoritmi generici, non riconducibili a sequenze di calcolo matriciale, anche se la progettazione di circuiti digitali comporta certamente fasi di progettazione e test più complesse. Indagare nuovi frameworks per applicazioni riguardanti il Data Mining porterebbe a benefici pratici in termini di tempi di esecuzione ed efficienza energetica, tema anch'esso molto vivo nel campo del Cloud Computing ed in generale nei sistemi distribuiti [4]. Inoltre, uno studio appropriato in questo campo consentirebbe di individuare con più precisione le tecniche di parallelizzazione in hardware adatte per questo tipo di applicazione, diventata popolare solamente dopo la diffusione del Machine Learning.
Un altro tema di ricerca di notevole rilevanza verte sulla progettazione e sviluppo di sistemi eterogenei, ovvero di sistemi di calcolo distribuiti, in cui ciascun nodo è supportato da hardware dedicato per l'accelerazione delle procedure maggiormente onerese. Nell'ambito dell'IoT (Internet of Things), infatti, è in crescita l'interesse nell'Edge Computing [5] che prevede l'aggiunta di nodi di calcolo intermedi tra il richiedente di servizio e la rete in cloud con grande capacità di calcolo e storage. La necessità di aggiungere il nodo di edge intermedio è dettata dalla bassa latenza richiesta per specifiche applicazioni, come ad esempio servizi in real-time, richiedendo perciò vicinanza al device che ha invocato la richiesta e potenza di calcolo sufficiente per lo svolgimento dell'applicazione specifica. Non di rado i servizi richiesti sono incentrati sull'analisi dei dati aggregati ottenuti dai dispositivi connessi, attraverso le tecniche di Data Mining che necessitano dei già discussi metodi di accelerazione hardware.
[1]MARTINO, Alessio, et al. Granular computing techniques for bioinformatics pattern recognition problems in non-metric spaces
[2]DEL VESCOVO, Guido, et al. On the problem of modeling structured data with the MinSOD representative. 2014
[3]OVTCHAROV, Kalin, et al. Accelerating deep convolutional neural networks using specialized hardware. 2015.
[4]BERL, Andreas, et al. Energy-efficient cloud computing. 2010.
[5]SHI, Weisong, et al. Edge computing: Vision and challenges. 2016.

Codice Bando: 
1688563

© Università degli Studi di Roma "La Sapienza" - Piazzale Aldo Moro 5, 00185 Roma