Add graphics+ small fixes

This commit is contained in:
Mylloon 2024-04-26 03:00:55 +02:00
parent dc9738e4fe
commit a022140f3d
Signed by: Anri
GPG key ID: A82D63DFF8D1317F

View file

@ -33,12 +33,6 @@
\MakeOuterQuote{"} \MakeOuterQuote{"}
% Images
\usepackage{graphicx}
\usepackage{caption}
\captionsetup{justification=centering}
% Aliases % Aliases
\def\coeur{c\oe{}ur} \def\coeur{c\oe{}ur}
\def\mone{\textit{Machine 1}} % fixe \def\mone{\textit{Machine 1}} % fixe
@ -48,8 +42,18 @@
\def\ws{\enquote{work-stealing}} \def\ws{\enquote{work-stealing}}
% Plots
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
% Images
\usepackage{graphicx}
\usepackage{caption}
\captionsetup{justification=centering}
% Metadatas % Metadatas
\def\titleName{Projet : Un ordonnanceur par \ws} \def\titleName{Projet : Un ordonnanceur par work-stealing}
\def\docTitle{\href{https://www.irif.fr/~jch/enseignement/systeme/projet.pdf}{\titleName}} \def\docTitle{\href{https://www.irif.fr/~jch/enseignement/systeme/projet.pdf}{\titleName}}
\def\anri{Anri Kennel} \def\anri{Anri Kennel}
@ -72,7 +76,68 @@
% Commands % Commands
\newcommand{\docref}[1]{\textit{\nameref{#1}}} % italic nameref \newcommand{\docref}[1]{\textit{\nameref{#1}}} % italic nameref
\newcommand{\statPlot}[1]{ % Plot for stats
\begin{figure}[H]
\def\side{0.5\textwidth}
\def\width{\textwidth}
\def\height{0.7\textwidth}
\def\xlabel{Itérations}
\def\ylabel{Secondes}
\def\colname{#1}
\begin{minipage}{\side}
\centering
\begin{tikzpicture}
\begin{axis}[
xlabel={\xlabel},
ylabel={\ylabel},
width=\width,
height=\height
]
\addplot [smooth, color=red] table [
x expr=\coordindex,
y=\colname,
col sep=semicolon,
/pgf/number format/read comma as period] {data/machine1-quicksort.csv};
\addplot [smooth, color=blue] table [
x expr=\coordindex,
y=\colname,
col sep=semicolon,
/pgf/number format/read comma as period] {data/machine2-quicksort.csv};
\end{axis}
\end{tikzpicture}
\caption{Temps d'exécution pour \bone}
\end{minipage}\hfill
\begin{minipage}{\side}
\centering
\begin{tikzpicture}
\begin{axis}[
xlabel={\xlabel},
ylabel={\ylabel},
legend pos=outer north east,
width=\width,
height=\height
]
\addplot [smooth, color=red] table [
x expr=\coordindex,
y=\colname,
col sep=semicolon,
/pgf/number format/read comma as period] {data/machine1-mandelbrot.csv};
\addlegendentry{\mone}
\addplot [smooth, color=blue] table [
x expr=\coordindex,
y=\colname,
col sep=semicolon,
/pgf/number format/read comma as period] {data/machine2-mandelbrot.csv};
\addlegendentry{\mtwo}
\end{axis}
\end{tikzpicture}
\caption{Temps d'exécution pour \btwo}
\end{minipage}
\end{figure}
}
\begin{document} \begin{document}
\maketitle \maketitle
@ -176,6 +241,7 @@ et une adaptation de mandelbrot fournie dans le
\end{description} \end{description}
\end{description} \end{description}
\statPlot{serial}
Ce programme ne bénéficie pas de toute la puissance de la machine. Ce programme ne bénéficie pas de toute la puissance de la machine.
@ -199,6 +265,8 @@ Ce programme ne bénéficie pas de toute la puissance de la machine.
\end{description} \end{description}
\end{description} \end{description}
\statPlot{solution1}
La création des threads pour chaque tâche crée un énorme La création des threads pour chaque tâche crée un énorme
goulot d'étranglement qui réduit de grandement les performances. goulot d'étranglement qui réduit de grandement les performances.
@ -227,6 +295,8 @@ et donc il faut gérer les tâches et décider de quelle tâche va sur quel thre
\end{description} \end{description}
\end{description} \end{description}
\statPlot{solution2}
Le lancement de nouveaux threads étant limité, les performances Le lancement de nouveaux threads étant limité, les performances
sont grandement améliorées par rapport aux tests de \docref{stats:th_ges}. sont grandement améliorées par rapport aux tests de \docref{stats:th_ges}.
@ -238,7 +308,7 @@ Dans la \autoref{fig:btm-lifo}, nous observons que les \coeur{}s du CPU ne sont
tous utilisés à 100 \%. Ceci est dû au fait que l'accès à la liste des tâches est tous utilisés à 100 \%. Ceci est dû au fait que l'accès à la liste des tâches est
limité, car partagé entre les threads. limité, car partagé entre les threads.
\begin{figure}[h!] \begin{figure}[H]
\centering \centering
\includegraphics[alt={Graphique},width=\textwidth]{imgs/bottom-lifo.jpg} \includegraphics[alt={Graphique},width=\textwidth]{imgs/bottom-lifo.jpg}
\caption{Utilisation ressources sur la \mone~avec \docref{desc:th_pile}} \caption{Utilisation ressources sur la \mone~avec \docref{desc:th_pile}}
@ -264,6 +334,8 @@ limité, car partagé entre les threads.
\end{description} \end{description}
\end{description} \end{description}
\statPlot{solution3}
Cette implémentation est identique à \docref{stats:stack}, à l'exception que Cette implémentation est identique à \docref{stats:stack}, à l'exception que
les threads récupèrent une tâche aléatoire de la pile au lieu d'y prendre les threads récupèrent une tâche aléatoire de la pile au lieu d'y prendre
la dernière ajoutée. la dernière ajoutée.
@ -289,6 +361,8 @@ Cette façon de faire réduit les performances.
\end{description} \end{description}
\end{description} \end{description}
\statPlot{solution4}
Dans cette implémentation, nous n'utilisons plus une pile, mais un deque de tâches. Dans cette implémentation, nous n'utilisons plus une pile, mais un deque de tâches.
Cette façon de faire est légèrement meilleur que \docref{desc:th_pile}. Cette façon de faire est légèrement meilleur que \docref{desc:th_pile}.
@ -296,7 +370,7 @@ Dans la \autoref{fig:btm-ws}, nous observons que les \coeur{}s du CPU sont
proches de 100 \% d'utilisation. Comparé à \docref{stats:stack}, nous gagnons proches de 100 \% d'utilisation. Comparé à \docref{stats:stack}, nous gagnons
en moyenne \approx~10 \% de l'utilisation du processeur dans son entièreté. en moyenne \approx~10 \% de l'utilisation du processeur dans son entièreté.
\begin{figure}[h!] \begin{figure}[H]
\centering \centering
\includegraphics[alt={Graphique},width=\textwidth]{imgs/bottom-ws.jpg} \includegraphics[alt={Graphique},width=\textwidth]{imgs/bottom-ws.jpg}
\caption{Exploitation des ressources sur la \mone~avec \docref{desc:ws}} \caption{Exploitation des ressources sur la \mone~avec \docref{desc:ws}}
@ -375,7 +449,7 @@ J'ai utilisé un bout de code de \href{https://expreg.org/amsi/C/}{Farès Belhad
d'un TP de L2 pour afficher une image au format \texttt{bmp} afin vérifier que d'un TP de L2 pour afficher une image au format \texttt{bmp} afin vérifier que
le \btwo~fonctionnait correctement. Ce qui donne la \autoref{fig:mandelbrot}. le \btwo~fonctionnait correctement. Ce qui donne la \autoref{fig:mandelbrot}.
\begin{figure}[h!] \begin{figure}[H]
\centering \centering
\includegraphics[alt={Fractale mandelbrot},width=0.7\textwidth]{imgs/mandelbrot.jpg} \includegraphics[alt={Fractale mandelbrot},width=0.7\textwidth]{imgs/mandelbrot.jpg}
\caption{Example de Mandelbrot} \caption{Example de Mandelbrot}