source: trunk/doc/slides/1_contexte_sujet.tex

Last change on this file was 19, checked in by guillaumeb, 15 years ago

relecture des slides

File size: 3.7 KB
RevLine 
[17]1%==============================================================================
2\section{Contexte et Sujet}
3%==============================================================================
4
[19]5% reviewed 0.2
6% [Contexte : La simulation c'est bien mais c'est lent]
[17]7\begin{frame} \FT{Contexte}
8    \BI
9    \o La simulation de processeurs a acquis une importance capitale pour le
10    développement de compilateurs et d'applications, pour bon nombre de raisons :
11       \BI
[19]12       \o Il n'est pas nécessaire d'avoir à sa disposition le processeur
[17]13       \o Elle permet un diagnostic spécifique à un processeur des performances
14       d'un programme
15       \EI
16    \o Les simulateurs les plus répandus prennent en considération des détails
17    très nombreux des processeurs, il en découle des simulations très lentes,
18    voire inutilisables pour simuler des architectures multic\oe ur.
[19]19
20    \o Un facteur de ralentissement de 10 à 10000 est constaté entre
21    l'exécution native et la simulation d'un programme. À titre d'exemple, il
22    n'est pas rare que la simulation d'un programme s'exécutant nativement en
23    dix minutes dure jusqu'à trois semaines.
[17]24    \EI
25\end{frame} %-------------------------------------------------------------------
[19]26
27% reviewed 0.2
28% [Problématique : Est-ce qu'on peut simplifier la simulation pour aller plus
29%   vite ?]
30\section{Problématique et approche}
31\begin{frame} \FT{Problématique}
32    \BI
33    \o Les simulations complètes sont trop longues pour être exploitables
34    \o Les simulations entraînent souvent des approximations du fait de
35    certaines spécificités non toujours documentées des différents processeurs.
36    \o Les modèles de simulation doivent donc être simplifiés, tout en
37    préservant la pertinence de la simulation : on doit garder une bonne
38    approximation du comportement des applications, notamment dans le cas
39    d'applications utilisant des fonctionnalités  multic\oe urs.
40    \EI
41\end{frame}
42
43% reviewed 0.1++
44% [Approche : simuler seulement le comportement de la mémoire]
45\begin{frame} \FT{Approche}
46    \BI
47    \o % simulation gros grain
48    \o %    hum hum : la mémoire est un facteur déterminant
49    \o % modèle choisi : intégrer uniquement la simulation
50        % des accès mémoire et un temps de traitement des
51        % instructions
52    \o %    et le 1
53    \EI
54\end{frame}
55
56
[17]57\begin{frame} \FT{Description détaillée}
58    \BI
59    \o On cherche à simuler le comportement d'un programme en se focalisant sur
60    l'aspect mémoire :
61        \BI
[19]62        \o La hiérarchie de cache
[17]63        \o La communication entre les cache
64        \o La gestion de la cohérence entre les caches partagés
65        \o La simulation des délais de traitement
66        \EI
67    \o L'objectif est donc d'obtenir des estimations suivantes :
68        \BI
69        \o le nombre de hit/miss
70        \o comptabiliser ces hit/miss pour chaque c\oe ur et pour chaque cache,
71        \EI
72    \EI
73\end{frame}
74
75\begin{frame} \FT{État de l'art}
76    \BI
77    \o Il existe quelques simulateurs, qui sont, pour la plupart orientés vers
78    une simulation complète et précise, il en résulte qu'ils sont toujours
79    relativement lents :
80        \BI
81        \o SimpleScalar, qui est inutilisable (sans extension) pour simuler
[19]82        des systèmes multiprocesseurs ou multic\oe urs.
[17]83        \o Unisim, qui est beaucoup plus modulaire, mais qui procure un
84        framework assez important, dont il aurait fallu extraire la
85        simple modélisation de cache.
86        \o Simics, semble offrir des avantages considérables sur les autres,
[19]87        notamment quant à sa vitesse d'exécution, mais c'est un logiciel
[17]88        propriétaire que nous n'avons pas testé
89        \EI
90    \EI
91
92\end{frame} %-------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.