Systèmes 2 — L3 Informatique, UBO — 1 mois
Parallélisation de l'algorithme du crible d'Ératosthène en C à l'aide de la bibliothèque pthreads. L'objectif est de calculer tous les nombres premiers jusqu'à une borne N donnée, en répartissant le travail sur plusieurs threads pour exploiter les cœurs du processeur.
Exécution du programme
Comparaison de performance
Création, synchronisation et terminaison de threads avec pthreads.
Tableau partagé entre les threads avec gestion des accès concurrents.
Découpage de l'intervalle [2, N] en segments traités en parallèle.
Benchmark du temps d'exécution selon le nombre de threads.
Ce projet m'a fait manipuler la programmation concurrente bas niveau : synchronisation avec mutex, conditions de course, performance des programmes parallèles. J'ai aussi mesuré concrètement les gains de performance et les limites de la parallélisation (loi d'Amdahl).