From 370af6ee596a2bd4fbeb9f4d32e5ec86e421a6e8 Mon Sep 17 00:00:00 2001 From: augustin64 Date: Fri, 12 Jul 2024 15:59:46 +0200 Subject: [PATCH] Add experiments machines --- main.tex | 34 ++++++++++++++++++++++++---------- refs.bib | 26 ++++++++++++++++---------- 2 files changed, 40 insertions(+), 20 deletions(-) diff --git a/main.tex b/main.tex index 3f2b754..c69cb29 100644 --- a/main.tex +++ b/main.tex @@ -46,6 +46,15 @@ Université de \textsc{Rennes} 1} \section{Introduction} +\TODO{ + Points à aborder + \begin{itemize} + \item NUMA balancing + \item Low Core Count, possibilité cores fantôme + \item Pourquoi nombre de coeurs = puissance de 2 ? + \end{itemize} +} + \subsection{Hiérarchie de cache} La mémoire DRAM d'un ordinateur est lente comparée à la fréquence du CPU. Le CPU dispose donc de caches, @@ -213,16 +222,19 @@ par processeur répondant aux critères suivants: sur les processeurs serveur à partir de SkyLake} \end{itemize} -Les machines suivantes ont donc été utilisées +Les machines suivantes ont donc été utilisées\cite{g5k-nodes} \begin{center} - \begin{tabular}{| c c c c |} + \begin{tabular}{|c||c|c|c|} \hline Nom & Nombre de coeurs & Processeur & Micro-architecture \\ \hline - rennes/abacus2 & 16 & \TODO{Xeon E5-2609 v4} & \TODO{Sandy Bridge} \\ - cell4 & cell5 & cell6 & a \\ - cell7 & cell8 & cell9 & a \\ + rennes/roazhon11 & 16 & Xeon E5-2660 & Sandy Bridge \\ + rennes/roazhon12 & 16 & Xeon E5-2660 & Sandy Bridge \\ + rennes/parasilo & 16 & Xeon E5-2630 v3 & Haswell \\ + rennes/paravance & 16 & Xeon E5-2630 v3 & Haswell \\ + lyon/nova & 16 & Xeon E5-2620 v4 & Broadwell \\ + rennes/abacus2 & 16 & Xeon E5-2609 v4 & Broadwell \\ \hline \end{tabular} \end{center} @@ -230,18 +242,19 @@ Les machines suivantes ont donc été utilisées Le turbo a été désactivé sur toutes les machines. La fréquence des coeurs fixée : à la fréquence minimale supportée par les processeurs ; le mode performance ne donnant pas le même résultat que sur les machines \ang{Intel Core}. -\TODO{(Parler du NUMA balancing dans le Background)} Le \ang{NUMA balancing} a -également été désactivé (à l'échelle du système), +Le \ang{NUMA balancing} a également été désactivé (à l'échelle du système), ce qui peut se faire pour le processus courant sans privilèges\footnote{\TODO{à vérifier ! voir les "À faire"}}. +Les fichiers de résultats bruts sont accessibles en ligne\cite{g5k-results}. + \section{Analyse des résultats} \begin{figure}[ht] \centering \includegraphics[width=0.5\textwidth]{low-core-count} - \caption{Topologie \TODO{LCC} Haswell EP d'après \cite{tuningXeon} \TODO{schéma à déplacer}} + \caption{Topologie LCC Haswell EP d'après \cite{tuningXeon} \TODO{schéma à déplacer}} \end{figure} Les schémas de présentation d'Intel suggèrent une topologie en anneau, avec un CPU divisé en deux grandes parties. @@ -263,7 +276,6 @@ du QPI et du \ang{Home Agent}}: Pour simplifier les interprétations, nous les avons renumérotés de la sorte, c'est la numérotation que nous utiliserons pour la suite: -\TODO{Faire une minipage pour perdre moins de place} \begin{center} \begin{tabular}{|c|c|} @@ -302,7 +314,7 @@ est-ce que le modèle marchait bien avec socket(A) = socket(V) ?} Les résultats obtenus quand le \ang{socket} attaquant et victime diffèrent suggèrent l'échange des messages suivant lors d'un \texttt{clflush} qui provoque un \ang{cache miss}: \begin{enumerate} - \item Le coeur attaquant contacte la \ang{slice} locale suivant le schéma \TODO{ref figure en dessous} + \item Le coeur attaquant contacte la \ang{slice} locale suivant \ref{figs:topology-miss}. \item La \ang{slice} locale contacte la \ang{slice} distante en passant par le QPI. Le trajet de la \ang{slice} locale au QPI se fait dans le sens horaire, celui du QPI à la \ang{slice} distante dans le sens anti-horaire. @@ -322,6 +334,7 @@ J'imagine que c'est toujours bon à préciser} \includegraphics[width=0.7\textwidth]{topology-miss} } \caption{\TODO{schéma propre}} + \label{figs:topology-miss} \end{figure} Ainsi, le chemin privilégié pour le trajet coeur attaquant - \ang{slice} locale serait assez proche du plus court, mais tenterait de limiter les passages @@ -335,6 +348,7 @@ passer par lui. supported by a scientific interest group hosted by Inria and including \textsc{Cnrs}, \textsc{Renater} and several Universities as well as other organizations (see \url{https://www.grid5000.fr} ). +%\nocite{*} \bibliographystyle{plain} \bibliography{refs} diff --git a/refs.bib b/refs.bib index 801ba45..d66f71c 100644 --- a/refs.bib +++ b/refs.bib @@ -84,16 +84,6 @@ month=aug } - -@misc{cryptoeprint:2014/140, - author={Yuval Yarom and Naomi Benger}, - title={Recovering {OpenSSL} {ECDSA} Nonces Using the {FLUSH}+{RELOAD} Cache Side-channel Attack}, - howpublished={Cryptology ePrint Archive, Paper 2014/140}, - year={2014}, - note={\url{https://eprint.iacr.org/2014/140}}, - url={https://eprint.iacr.org/2014/140} -} - @misc{tuningXeon, author={Michael Klemm}, from={Software and Service Group Intel}, @@ -115,3 +105,19 @@ keywords={Kernel;Aerospace electronics;Layout;Timing;Memory management;Linux;Address Space Layout Randomization;Timing Attacks;Kernel Vulnerabilities;Exploit Mitigation}, doi={10.1109/SP.2013.23} } + +@online{g5k-nodes, + author={Augustin LUCAS}, + title={g5k-nodes}, + url={https://gitea.augustin64.fr/l3-ENSL/g5k-nodes/}, + note={\url{https://gitea.augustin64.fr/l3-ENSL/g5k-nodes/}}, + year={2024} +} + +@online{g5k-results, + author={Augustin LUCAS}, + title={g5k-results}, + url={https://gitea.augustin64.fr/l3-ENSL/g5k-results/}, + note={\url{https://gitea.augustin64.fr/l3-ENSL/g5k-results/}}, + year={2024} +}