Algorithmes de classification distribués sur le cloud
La première grande disruption, après la création du projet en 2008, fut l’émergence du cloud computing. Le cloud computing était un nouveau paradigme qui avait révolutionné l’industrie. Du jour au lendemain, le vieux HPC (calcul haute performance) était dépassé, et Lokad a dû adopter son successeur. Le cloud computing représentait le premier éloignement radical de Lokad par rapport à ce que l’on peut encore considérer comme des logiciels d’entreprise. Bien que la plupart des fournisseurs de logiciels d’entreprise proposent aujourd’hui des solutions SaaS, presque aucun n’a adopté un design cloud-native1. L’adoption du cloud computing a été motivée par le travail pionnier de Matthieu Durut, le deuxième employé de Lokad (le premier employé de Lokad étant un autre doctorant).
Tout comme le travail de Benoit Petra, ce manuscrit n’avait jamais été publié auparavant sur le site web de Lokad. Je suis heureux de rectifier cette situation aujourd’hui.
Author: Matthieu Durut
Date: Septembre 2012


Abstract:
Les sujets abordés dans cette thèse s’inspirent des problèmes de recherche rencontrés par l’entreprise Lokad. Ces problèmes sont liés au défi de concevoir des techniques de parallélisation efficaces pour les algorithmes de clustering sur une plateforme Cloud Computing. Le chapitre 2 offre une introduction aux technologies Cloud Computing, en particulier celles dédiées aux calculs intensifs. Le chapitre 3 détaille plus spécifiquement l’offre Cloud Computing de Microsoft : Windows Azure. Le chapitre suivant aborde les aspects techniques du développement d’applications cloud et propose quelques patterns de conception cloud. Le chapitre 5 est consacré à la parallélisation d’un algorithme de clustering bien connu : le Batch K-Means. Il apporte un éclairage sur les défis d’une implémentation cloud du Batch K-Means distribué, en particulier sur l’impact des coûts de communication sur l’efficacité de l’implémentation. Les chapitres 6 et 7 sont consacrés à la parallélisation d’un autre algorithme de clustering, la Vector Quantization (VQ). Le chapitre 6 propose une analyse de différents schémas de parallélisation de la VQ et présente les diverses accélérations de convergence qu’ils offrent. Le chapitre 7 fournit une implémentation cloud de ces schémas. Il met en évidence que c’est la nature en ligne de la technique VQ qui permet une implémentation cloud asynchrone, réduisant drastiquement les coûts de communication évoqués au chapitre 5.
Jury:

-
Un test décisif pour évaluer si un fournisseur dispose d’un design cloud-native consiste à lui demander si, en tant que client, vous pouvez passer de zéro à 10 téraoctets en quelques heures sans l’accord préalable du fournisseur. La plupart des fournisseurs de logiciels d’entreprise ne fonctionnent pas avec des ressources mutualisées ; par conséquent, une négociation initiale est nécessaire pour garantir un pool de ressources dédiées de taille appropriée. ↩︎