Description
Algorithmique des méthodes d'exploitation des mégadonnées. Analyse de complexité, structures de données, calcul parallèle et distribué.
Ce cours traite de l'analyse algorithmique, de la complexité de calculs et des structures de données. Afin de mieux faire face aux besoins grandissants des entreprises quand à la capacité de traitement de l'information, l'emphase sera mise sur la parallélisation. Les conditions pour le succès de la mise en oeuvre parallèle d'un programme selon divers paradigmes sera abordée. En particulier, les programmes avec mémoire partagée, avec échange d'information au sein d'un réseau local ou le calcul distribué.
Thèmes couverts
1. Programmation séquentielle et analyse algorithmique.
2. Calcul parallèle avec mémoire partagée (utilisation de fils, threads).
3. Calcul parallèle synchronisé sans mémoire partagée (utilisation de MPI).
4. Calcul distribué (utilisation de hadoop/spark).
Remarques importantes
Cours en anglais : MATH 60607A