source: anr/annexe-reponse.tex @ 311

Last change on this file since 311 was 311, checked in by coach, 13 years ago

Changed microblaze/plb in \xilinxcpu/\xilinxbus that extend arm/AMBA

  • Property svn:eol-style set to native
  • Property svn:keywords set to Revision HeadURL Id Date
File size: 15.6 KB
Line 
1%\def\t{\\\hspace*{.5em}}
2\def\t{\\{$\bullet$}~}
3\def\sectionPpageP#1{section~\ref{#1} (page~\pageref{#1})\xspace}
4\def\sectionVpage#1{section~\ref{#1}, page~\pageref{#1}\xspace}
5%
6Le projet a été soumis en 2010 au programme ARPEGE.
7Dans la premiÚre section, nous présentons nos réponses aux suggestions et
8remarques des experts en suivant l'ordre du dossier d'évaluation qui nous a été
9retourné. La seconde section quant à elle, synthétise ces réponses.
10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11\subsection{Réponses séquentielles}
12%
13\subsubsection{Pertinence de la proposition au regard de l'appel à projet}
14Pas de faiblesses signalées.
15\subsubsection{Qualité scientifique et technique de la proposition}
16\begin{description}
17  \item[Point 1 (\textit{non prise en compte des outils existants})]\mbox{}
18    \t%\note{O.1}
19    Pour la synthÚse de bas niveau sur FPGA, nous utiliserons intensivement
20    les environnements industriels QUARTUS \& ISE.
21    \t%\note{O.2}
22    Pour la synthÚse de SoC, on pourrait effectivement utilisé des outils
23    tels \mustbecompleted{XXX ou XXX}.
24    Nous avons choisi DSX/SoCLib, car il est open source, et c'est celui que
25    nous maitrisons le plus et nous savons déjà que sont moteur couvre une
26    grande partie des besoins de COACH à ce niveau.
27    \t\note{INT}
28    Enfin COACH ne vise pas les flots de conception de systÚmes complexes tels
29    \mustbecompleted{SOCKET, MDA de MAGILLEM, SPEAR-DE ou XXX}.
30    Il se trouvent à un niveau bien inférieur.
31    Cependant, il est vrai que dans la micro électronique d'aujourd'hui ce
32    niveau ne peut être ignoré.
33    \textit{Nous avons ajouté à COACH ce qui est nécessaire pour qu'il puisse
34    être intégré dans de tels environnements de conception:
35    configuration et description des SoC générés en IP-XACT}.
36    Les livrables {\NOVERStrtSpearde} et {\NOVERSmdsAppSpecification} démontrent cette
37    possibilité.
38  \item[Point 2 (\textit{pas de dimension recherche})]\mbox{}
39    \\ La dimension recherche se trouve à plusieurs niveaux.
40    \t%\note{R.1}
41    D'abord, synthétiser la même description de haut niveau soit par HLS
42    soit par ASIP, est à notre connaissance non encore réalisé à ce jour.
43    \t%\note{R.2}
44    L'utilisation de transformations polyédriques  dans des outils de HLS
45    opérationnels n'est pas courant.
46    \t%\note{R.3}
47    Les IPs sont d'abord des composants matériels génériques, COACH permettra
48    de concevoir des IPs trÚs paramétrables (hardware + software), il sera
49    intéressant de voir ce que de tel IP peuvent apporter à la micro
50    électronique.
51    \t%\note{R.4}
52    Les outils de conception de SoC actuels ont soit une approche matérielle
53    (sans limite sur les choix architecturaux), soit massivement parallÚle à
54    gros grain (MPSoC à mémoire cohérente).
55    Il en résulte des systÚmes trÚs complexes nécessitant des spécialistes en
56    matériel (approche matérielle) ou en programmation parallÚle.\\
57    A l'opposé, dans COACH l'architecture matérielle  est simple et quasiment fixée.
58    Le moyen d'accélération est  parallélisme à grain trÚs fin généré au sein
59    des coprocesseurs par HLS. Il en résulte que des développeurs de logiciel
60    standard pourront utiliser COACH. \\
61    La démonstration de la pertinence ou de la non pertinence de ces choix est
62    notre avis l'axe de recherche principal du projet.
63  \item[Point 3 (\textit{lien entre HPC et SoC embarqué})]\mbox{}
64    \\ %\note{X.1}
65    Le HPC est un terme employé dans tant de contextes qu'il ne veut pas
66    dire grand chose de précis. Ce que nous entendons par le terme HPC est
67    spécifié section~\ref{HPC:definition} (page~\pageref{HPC:definition}) et
68    le fait que notre HPC est une sur-couche du module de conception de SoC
69    est montré sur la figure~\ref{coach-flow} (page~\pageref{coach-flow}).\\
70    BriÚvement notre HPC consiste à accélérer une application existante qui
71    tourne sur un PC. Ceci est fait par:
72        1) l'isolation de moteur de calcul de l'application,
73        2) l'implantation de ce moteur dans un SoC,
74        3) l'ajout sur le bus PCI/E du PC une carte FPGA.\\
75    Comment COACH aide l'utilisateur à isoler le moteur de calcul de l'application
76    est expliqué dans la section~\ref{HPC:howto} (page~\pageref{HPC:howto}) et
77    sur la figure~\ref{archi-hpc} (page~\pageref{archi-hpc}).
78    Comment l'application accélérée est générée fait l'objet de la
79    figure~\ref{coach-flow} (page~\pageref{coach-flow}).
80  \item[Autres]\mbox{}
81    \begin{description}
82      \item[État de l'art incomplet]\mbox{}
83        \\ %\note{EA}
84        Dans l'état de l'art, nous nous sommes concentré d'une part sur les outils
85        de même niveau que COACH,
86            le HPC (\sectionVpage{soa:hpc}) et
87            la synthÚse de systÚme (\sectionVpage{soa:system:synthesis})
88        et d'autre part sur les technologies utilisées,
89            la HLS (\sectionVpage{soa:hls}),
90            l'ASIP (\sectionVpage{soa:asip}),
91            et la parallélisation automatique
92                (\sectionVpage{soa:automatic:parallelization}).
93        \\ %\note{EA}
94        Nous avions fait l'impasse sur les outils de plus haut niveau de
95        conception de SoC, ceux-ci n'étant pas directement le sujet de COACH.
96        Nous avons ajouté le chapitre
97        \og SoC design flow automation using IP-XACT{\fg}
98        (\sectionPpageP{soa:ip-xact}) pour palier ce manque.
99        \\ %\note{EA}
100        Nous sommes conscients que cet état de l'art est loin d'être complet
101        mais à notre décharge, il y a le nombre limité de pages et la grande
102        variété de domaines abordés dans ce projet.
103      \item[Articulation avec SoCLib]\mbox{}\\
104        Voir la note de marge \seenote{SL1} dans la section \ref{coach+soclib} ci-dessous.
105      \item[Pérennité à long terme du logiciel]\mbox{}\\
106        Voir la section \ref{perennite+dissemination} ci-dessous.
107      \item[Mauvais positionnement du projet]\mbox{}\\
108        Il était mentionné qu'il aurait mieux fallu positionner le projet
109        en \og plateforme {\fg} plutÃŽt qu'en \og recherche industrielle \fg.
110        Il nous a été signifié que pour projet plateforme, il faut mieux
111        qu'il y ai plusieurs gros industriels leader.
112        Ce n'est pas le cas de ce projet, nous sommes resté en \og recherche
113        industrielle \fg.
114    \end{description}
115\end{description}
116%
117\subsubsection{Qualité de la construction de la proposition}
118\begin{description}
119  \item[Manque un industriel pour assurer la pérennité]\mbox{}\\
120        \note{IND1}
121        Il était mentionné qu'il fallait un industriel pour assurer
122        la pérennité et la dissémination du projet. \mds est entré dans
123        le consortium pour assurer ce rÃŽle.\\
124        Voyez aussi la section \ref{perennite+dissemination} ci-dessous
125        pour plus d'information.
126  \item[Trop ambitieux]\mbox{}\\
127        Voir la section \ref{trop:ambitieux} ci-dessous.
128\end{description}
129%
130\subsubsection{Impact global du projet}
131\begin{description}
132  \item[Volonté de tout refaire]\mbox{}\\
133    \note{REF}
134    Les experts mentionnent \og une volonté de tout refaire {\fg}. Il est dommage
135    qu'ils n'aient pas explicité leurs pensées. En effet le projet s'appuie sur
136    des briques existantes pour la plus part de ses composants et sur les
137    environnements QUARTUS \& ISE pour la synthÚse de bas niveau.\\
138    Les seuls composants manquants sont les composants matériels de
139    communication mais ils sont incontournables pour la réalisation du projet
140    sur le les trois plateforme cible.
141  \item[Trop gros travail de développement]\mbox{}\\
142    Voir la section \ref{trop:ambitieux} ci-dessous.
143  \item[Absence d'utilisation de standard]\mbox{}\\
144    \note{STD}
145    En effet, le projet n'utilisait pas le standard IP-XACT des flots de
146    conception de SoC. Ceci a été corrigé dans cette soumission en introduisant
147    le standard IP-XACT (livrable \NOVERScsgImplementation),
148    d'une part en entrée pour faciliter la configuration de COACH sur d'autre plateforme
149    et d'autre par en ajoutant une sortie au format IP-XACT des SoC générés pour
150    leur intégration comme IP dans d'autres outils de conception de SoC.
151    Les livrables {\NOVERStrtSpearde} et {\NOVERSmdsAppSpecification} démontrent cette
152    possibilité.
153  \item[Utilisation d'RTOS non industriels]\mbox{}\\
154    L'OS bien que indispensable n'est pas une piÚce maitresse du projet.
155    En effet, on doit pouvoir passer facilement à un autre OS si ce
156    dernier supporte les thread POSIX.
157  \item[Le projet est trop basé sur les composants SoCLib]\mbox{}\\
158    Voir la note de marge \seenote{SL2} dans la section \ref{coach+soclib} ci-dessous.
159\end{description}
160%
161\subsubsection{Qualité du consortium}
162\begin{description}
163    \item[Xilinx n'a pas une part assez active]\mbox{}\\
164        Xilinx ne fait plus parti du consortium.
165    \item[Manque un industriel pour assurer la pérennité]\mbox{}\\
166        \note{IND2}
167        Les experts suggÚrent la société \mds. \mds est entré dans le
168        consortium pour remplir ce rÃŽle.
169    \item[Pas de vision pour intégrer COACH dans un flot de conception
170          industriel]\mbox{}\\
171      Voir les notes de marge \seenote{INT} et \seenote{STD} ci-dessus.
172\end{description}
173%
174\subsubsection{Moyens humains et financiers}
175\begin{description}
176    \item[Incongruités de quelques demandes financiÚres]\mbox{}\\
177        Les experts n'ont pas précisé leurs pensées, nous ne les avons pas
178        trouvées et donc pas corrigées.
179    \item[Déséquilibre entre l'ampleur du développement et les moyens]\mbox{}\\
180        Voir la section \ref{trop:ambitieux} ci-dessous.
181    \item[Doute sur la possibilité d'intégrer l'ensemble des outils existants en
182          un tout cohérent]\mbox{}\\
183        \note{DOU}
184        Cette remarque sous entend que les académiques sont incapables de
185        concevoir, développer, maintenir de gros logiciel.
186        Cette remarque est assez tendancieuse, on peut certes trouver beaucoup
187        de projets académiques qui n'ont pas abouti mais on peut en trouver
188        encore plus du cÃŽté des industriels.
189\end{description}
190%
191\subsubsection{Avis Général}
192\begin{description}
193    \item[Déséquilibre entre l'ampleur du développement et les moyens]\mbox{}\\
194        Voir la section \ref{trop:ambitieux} ci-dessous.
195    \item[Doute sur la possibilité d'intégrer l'ensemble des outils existants en
196          un tout cohérent]\mbox{}\\
197        Voir la note de marge \seenote{DOU} au-dessus.
198    \item[\parbox{\linewidth}{COACH étant une continuation de SoCLib,
199           SoCLib n'étant pas une réussite industrielle $\Longrightarrow$
200           faut-il financer COACH pour donner une chance à SoCLib?}]\mbox{}\\
201        Voir la note de marge \seenote{SL3} dans la section \ref{coach+soclib} ci-dessous.
202    \item[Manque un industriel pour assurer la pérennité]\mbox{}\\
203        Voir les notes de marge \seenote{IND1} et \seenote{IND2} au-dessus.
204    \item[Justifier le positionnement comme une continuité de SoCLib]\mbox{}\\
205        La section \ref{coach+soclib} ci-dessous montre que COACH n'est pas une
206        continuité de SoCLib et cette justification est donc sans objet.
207    \item[Absence de considération pour les outils/standard industriels]\mbox{}\\
208        Voir les notes de marge \seenote{INT} et \seenote{STD} au-dessus.
209    \item[Volonté de tout refaire]\mbox{}\\
210        Voir la note de marge \seenote{REF} au-dessus.
211\end{description}
212%
213%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
214\subsection{SynthÚse}
215%
216\subsubsection{Projet trop ambitieux}
217\label{trop:ambitieux}
218Par rapport au projet 2010, on a grandement réduit la voilure en nous
219concentrant sur le cœur de COACH. Les principales réductions sont:
220\begin{itemize}
221  \item Suppression d'un OS:\\
222    Dans la proposition 2010, nous avions choisi 2 OS (Mutekh et DNA) pour
223    montrer que COACH était assez indépendant de l'OS. \\
224    L'OS bien que indispensable n'est pas une piÚce maitresse du projet.
225    En effet, on doit pouvoir passer facilement à un autre OS si ce
226    dernier supporte les thread POSIX.\\
227    \textit{Nous avons ÃŽté l'OS Mutekh}. Ceci diminue les développements systÚme
228    de moitié.
229  \item Suppression de la reconfiguration dynamique:\\
230    Dans la proposition 2010, la tâche~6 (PC/FPGA communication middleware)
231    contenait une partie importante qui consistait à partager le FPGA entre
232    plusieurs applications et charger dynamiquement certaine de ses parties
233    en fonction des applications qui tournent sur le PC.\\
234    \textit{Nous avons ÃŽté la reconfiguration dynamique}. Ceci diminue de 30 à
235    40 \% les développements de la tâche~6 et enlÚve quelques homme mois dans la
236    tache~3 (System generation).
237  \item Diminution des développements materiels:\\
238    Dans la proposition 2010, nous avions projeté 1) de prototyper les SoC des
239    différentes patrons architecturaux de façon exacte, 2) d'implanter le
240    composant de communication (MWMR) pour les patrons architecturaux XILINX et ALTERA.
241    Ces choix conduisaient à 4 implantations du composants de communication
242    (MWMR) (1 VHDL MWMR/\xilinxbus, 1 VHDL MWMR/AVALON, 1 SystemC
243    MWMR/\xilinxbus et
244    1 SystemC MWMR/AVALON) et probablement à quelques autres modules SystemC.\\
245    \textit{Nous avons ÃŽté ces développements}.
246    En effet pour l'implantation matériel des patrons architecturaux, on
247    utilisera les ponts VCI/\xilinxbus et VCI/AVALON qui sont nécessaires au HPC et
248    pour le prototypage, on se limitera au patron architectural neutre.
249\end{itemize}
250%
251\subsubsection{Projet \& SoCLib}
252\label{coach+soclib}
253{$\bullet$}\note{SL1}
254Dans l'évaluation de la soumission 2010, les experts se posent plusieurs
255questions sur les liens entre le projet COACH et le projet ANR SoCLib.
256Pour répondre à ces questions listons les composants de SoCLib utilisés dans COACH:
257\begin{itemize}
258  \item Les descriptions SystemC de 6 composants sur environ 70.
259  \item L'explorateur de l'espace de conception DSX qui devra être étendu pour
260    supporter la génération matérielle des architectures (VHDL synthétisablé).
261  \item Un OS sur cinq.
262\end{itemize}
263Cette liste montre clairement que SoCLib n'est qu'un composant logiciel parmi
264la dizaine d'autres sur les quels COACH s'appuie.
265Ce n'est pas et de loin le plus irremplaçable, les modÚles VHDL du patron
266architectural neutre comme les outils de synthÚse seraient bien plus difficiles
267à refaire et GCC comme les environnements QUARTUS et ISE sont absolument
268indispensables.
269\t\note{SL2}
270On ne peut donc pas dire que COACH est trop basé sur SoCLIB.
271\t\note{SL3}
272A la question posée par les experts:
273  \og Faut il financer COACH pour donner une chance à SoCLib? {\fg}
274La réponse est que financer COACH n'influencera pas la vie de SoCLib,
275les 2 projets n'étant pas assez corrélés.
276D'ailleurs COACH pourrait trÚs bien survivre à une mort de SoCLib en maintenant
277les quelques composants SoCLib qu'il utilise.
278\t\note{SL4}
279Enfin une réserve concerne l'utilisation du bus VCI jugé obsolÚte via les composants
280SoCLib. Le projet prévoit le développement de pont VCI/AVALON et VCI/\xilinxbus ce qui
281permettra l'utilisation des IP de XILINX et ALTERA dans la patron architectural
282neutre.
283%
284\subsubsection{Pérennité/dissémination du projet}
285\label{perennite+dissemination}
286\mustbecompleted{EMMANUEL C'EST POUR TOI}
287%
288\subsubsection{Projet trop académique}
289\label{trop:academique}
290Le projet a été jugé trop académique. Ceci est un peu corrigé par l'arrivée de
291\mds mais l'essentiel du développement reste à la charge des partenaires
292académiques.
293Ceci s'explique par l'historique du projet qui est né de l'initiative des
294partenaires académiques.
Note: See TracBrowser for help on using the repository browser.