Département INFormatique |
|||
CSC4508/M2 : Concepts des systèmes d'exploitation et mise en œuvre sous Unix | |||
Contenu | |||
Architecture(Corrigés)
1. Prédiction de branchementTéléchargez l'archive branch_prediction.tgz et extrayez la. Etudiez le programmebranch_prediction.c .Exécutez (plusieurs fois) le programme avec l'argument 0, puis avec l'argument 1. Comparer la durée d'exécution ainsi que le nombre de branchements incorrectement prédits. 2. SIMDTéléchargez l'archive simd.tgz et extrayez la. Etudiez le programmesimd.c . Exécutez (plusieurs fois) le
programme en faisant varier l'argument de 0 à 2. Comparer les durées
d'exécution.
3. Jouons avec les cachesTéléchargez l'archive cache.tgz et extrayez la.3.1. Lignes de cache
Etudiez et lancez le programme
Estimez le nombre d'accès mémoire nécessaire pour ce programme. Lancez le programme avec Modifiez le programme afin de réduire le nombre de cache miss. 3.2. Faux partage
Lancez la commande
Lancez le programme Modifiez le programme pour que les performances soient les même quel que soit le placement des threads. Estimez la taille des lignes de cache sur la machine que vous utilisez. 4. Hyper-threadingTéléchargez l'archive smt.tgz et extrayez la. Exécutez le programme en faisant varier le placement des threads ainsi que le type d'unité de calcul exploitée. 5. Optimisation d'un programmeTéléchargez l'archive program_to_optimize.tgz et extrayez la.
Ce programme crée 4 threads chargés de traiter un ensemble
de jobs. Le résultat de chaque job est stocké dans une
structure event. Lorsque tous les jobs d'un thread ont
été traités, une fonction (
| |||
Last modified: Mon May 11 19:16:34 CEST 2015 |