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-05-05 14:23:01 +02:00
includes Merge branch 'stacksize' into fares 2024-05-05 14:23:01 +02:00
report add microtype 2024-05-02 23:52:22 +02:00
src Merge branch 'stacksize' into fares 2024-05-05 14:23:01 +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 gzip archive 2024-05-03 20:26:04 +02:00
README new parameter 2024-05-05 14:21:48 +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.
* -n x : où `x` est le nombre minimum de tâches simultanées supporter
         par l'ordonnanceur
* -s   : n'utilises pas d'ordonnanceur

Exemple : quicksort en utilisant tous les cœurs disponibles

  ./ordonnanceur.elf -qt 0


Cibles 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


Informations
------------

Le rapport se trouve dans le dossier courant.
Lien vers le dépôt : https://git.mylloon.fr/Paris7/work-stealing-scheduler

Anri Kennel 22302653