Ordonnanceur par work stealing
This repository has been archived on 2024-05-05. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2024-04-24 23:08:26 +02:00
includes add multiple benchmark support, mandelbrot is still wip 2024-04-24 01:32:17 +02:00
report add m1m 2024-04-24 18:27:44 +02:00
src each structure now have his own mutex, finally taking advantage of the work stealing 2024-04-24 23:00:25 +02:00
.clang-format fix format 2024-04-22 02:31:48 +02:00
.gitignore ordonnanceur.elf 2024-03-15 12:32:26 +01:00
Makefile use the tread sanitizer instead of the leak one 2024-04-24 22:23:53 +02:00
README even better 2024-04-24 23:08:26 +02:00

Projet de programmation système avancée
=======================================

Compilation optimisée avec ordonnanceur *work-stealing*
-------------------------------------------------------

  make

Ce qui créer l'exécutable `ordonnanceur.elf`.

Paramètres disponibles :

- -q   : lance le benchmark avec quicksort
- -m   : lance le benchmark avec mandelbrot
- -t n : où `n` est le nombre de threads à utiliser, 0 signifie qu'on utilise
         tous les cœurs disponibles.
- -s   : n'utilises pas d'ordonnanceur

Exemple : quicksort en utilisant tous les cœurs disponibles

  ./ordonnanceur.elf -qt 0


Cible du makefile
--------------

Il est possible d'utiliser d'autres implémentations d'ordonnanceur en changeant
la cible du Makefile.

- `make threads` : lance juste des threads
- `make lifo`    : utilisation d'une pile
- `make random`  : idem que `lifo` mais en prenant une tâche aléatoire
- `make ws`      : work-stealing


Infos
-----

Le rapport se trouve dans le dossier courant.

Anri Kennel 22302653