La prima grande disruzione di Lokad, dopo l’avvio del progetto nel 2008, fu l’emergere del cloud computing. Il cloud computing rappresentava un nuovo paradigma che aveva sconvolto l’industria. In men che non si dica, il vecchio HPC (high-performance computing) era superato, e Lokad dovette adottare il suo successore. Il cloud computing segnò il primo radicale allontanamento di Lokad da quello che può ancora essere considerato il ‘mainstream’ del enterprise software. Sebbene la maggior parte dei vendor di software aziendale offra oggi il SaaS, quasi nessuno ha adottato una progettazione cloud-native1. L’adozione del cloud computing fu guidata dal lavoro pionieristico di Matthieu Durut, il secondo dipendente di Lokad (il primo dipendente di Lokad era un altro dottore di ricerca).

Proprio come il lavoro di Benoit Petra, questo manoscritto non era mai stato pubblicato in precedenza sul sito di Lokad. Sono lieto di porre rimedio a questo errore oggi.

Autore: Matthieu Durut

Data: Settembre 2012

Astratto degli Algoritmi di Classificazione Figura degli Algoritmi di Classificazione

Riassunto:

I temi affrontati in questa tesi sono ispirati dai problemi di ricerca che l’azienda Lokad ha dovuto fronteggiare. Tali problemi riguardano la sfida di progettare tecniche di parallelizzazione efficienti per algoritmi di clustering su una piattaforma di Cloud Computing. Il Capitolo 2 fornisce un’introduzione alle tecnologie del Cloud Computing, in particolare quelle dedicate ai calcoli intensivi. Il Capitolo 3 descrive più in dettaglio l’offerta di Cloud Computing di Microsoft: Windows Azure. Il capitolo seguente illustra aspetti tecnici dello sviluppo di applicazioni cloud e presenta alcuni pattern di progettazione cloud. Il Capitolo 5 è dedicato alla parallelizzazione di un noto algoritmo di clustering: il Batch K-Means. Esso offre approfondimenti sulle sfide di un’implementazione cloud distribuita del Batch K-Means, in particolare l’impatto dei costi di comunicazione sull’efficienza dell’implementazione. I Capitoli 6 e 7 sono dedicati alla parallelizzazione di un altro algoritmo di clustering, la Quantizzazione Vettoriale (VQ). Il Capitolo 6 fornisce un’analisi dei diversi schemi di parallelizzazione del VQ e presenta i vari speedup verso la convergenza da essi offerti. Il Capitolo 7 propone un’implementazione cloud di tali schemi. Evidenzia come la natura online della tecnica VQ consenta un’implementazione cloud asincrona, che riduce drasticamente i costi di comunicazione introdotti nel Capitolo 5.

Giuria:

Giuria degli Algoritmi di Classificazione

Scarica la tesi (PDF)


  1. Un test decisivo per valutare se un vendor adotti una progettazione cloud-native consiste nel chiedere al vendor se, in qualità di cliente, sia possibile passare da zero a 10 terabyte in poche ore senza il consenso del vendor. La maggior parte dei vendor di software aziendale non opera con risorse condivise; pertanto, è necessaria una negoziazione preliminare per assicurarsi un pool di risorse dedicate adeguatamente dimensionato. ↩︎