

\selectlanguage{french}
%\mbox{}\vfill
\begin{abstract}

Les thèmes de recherche abordés dans ce manuscrit sont inspirés et motivés de problèmes concrets rencontrés par la société Lokad. Ils ont trait principalement à la parallélisation d'algorithmes de classification non-supervisée (clustering) sur des plateformes de Cloud Computing. Le chapitre \ref{chap:cloudpres} propose un tour d'horizon de ces technologies. Nous y présentons d'une manière générale le Cloud Computing comme plateforme de calcul. Le chapitre \ref{chap:azurepres} présente plus en avant l'offre cloud de Microsoft : Windows Azure. Le chapitre suivant analyse certains enjeux techniques de la conception d'applications cloud et propose certains éléments d'architecture logicielle pour de telles applications. Le chapitre \ref{chap:KMeans} propose une analyse du premier algorithme de classification étudié : le Batch K-Means. En particulier, nous approfondissons comment les versions réparties de cet algorithme doivent être adaptées à une architecture cloud. Nous y montrons l'impact des coûts de communication sur l'efficacité de cet algorithme lorsque celui-ci est implémenté sur une plateforme cloud. Les chapitres \ref{chap:practicalDALVQ} et \ref{chap:cloudDALVQ} présentent un travail de parallélisation d'un autre algorithme de classification : l'algorithme de Vector Quantization (VQ). Dans le chapitre \ref{chap:practicalDALVQ} nous explorons quels schémas de parallélisation sont susceptibles de fournir des résultats satisfaisants en terme d'accélération de la convergence. Le chapitre \ref{chap:cloudDALVQ} présente une implémentation de ces schémas de parallélisation. Les détails pratiques de l'implémentation soulignent un résultat de première importance : c'est le caractère en ligne du VQ qui permet de proposer une implémentation asynchrone de l'algorithme réparti, supprimant ainsi une partie des problèmes de communication rencontrés lors de la parallélisation du Batch K-Means.\\

\textbf{Mots clés : calcul réparti, méthodes de clustering, K-Means, quantification vectorielle, asynchronisme, algorithmes en ligne, Cloud Computing, Windows Azure, descente de gradient répartie.}
\end{abstract}

\jumpOnePage

\selectlanguage{english}
\begin{abstract}
The subjects addressed in this thesis are inspired from research problems faced by the Lokad company. These problems are related to the challenge of designing efficient parallelization techniques of clustering algorithms on a Cloud Computing platform. Chapter \ref{chap:cloudpres} provides an introduction to the Cloud Computing technologies, especially the ones devoted to intensive computations. Chapter \ref{chap:azurepres} details more specifically Microsoft Cloud Computing offer : Windows Azure. The following chapter details technical aspects of cloud application development and provides some cloud design patterns. Chapter \ref{chap:KMeans} is dedicated to the parallelization of a well-known clustering algorithm: the Batch K-Means. It provides insights on the challenges of a cloud implementation of distributed Batch K-Means, especially the impact of communication costs on the implementation efficiency. Chapters \ref{chap:practicalDALVQ} and \ref{chap:cloudDALVQ} are devoted to the parallelization of another clustering algorithm, the Vector Quantization (VQ). Chapter \ref{chap:practicalDALVQ} provides an analysis of different parallelization schemes of VQ and presents the various speedups to convergence provided by them. Chapter \ref{chap:cloudDALVQ} provides a cloud implementation of these schemes. It highlights that it is the online nature of the VQ technique that enables an asynchronous cloud implementation, which drastically reduces the communication costs introduced in Chapter \ref{chap:KMeans}.\\

\textbf{Keywords: distributed computing, clustering methods, K-Means, vector quantization, asynchronous, online algorithms, Cloud Computing, Windows Azure, parallel gradient descent.}
\end{abstract}
%\mbox{}\vfill
%\newpage 