source: anr/annexe-reponse.tex @ 348

Last change on this file since 348 was 332, checked in by coach, 14 years ago

Correction du lip + ajoute de E.2.3

  • Property svn:eol-style set to native
  • Property svn:keywords set to Revision HeadURL Id Date
File size: 17.7 KB
RevLine 
[310]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é
[324]9retourné. La seconde section, quant à elle, synthétise nos réponses par rapport
10aux principales faiblesses qui ont été relevée pour la précédente version de la
11proposition.
[310]12%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13\subsection{Réponses séquentielles}
14%
15\subsubsection{Pertinence de la proposition au regard de l'appel à projet}
[316]16Pas de faiblesse signalée.
[310]17\subsubsection{Qualité scientifique et technique de la proposition}
18\begin{description}
19  \item[Point 1 (\textit{non prise en compte des outils existants})]\mbox{}
20    \t%\note{O.1}
21    Pour la synthÚse de bas niveau sur FPGA, nous utiliserons intensivement
22    les environnements industriels QUARTUS \& ISE.
23    \t%\note{O.2}
[324]24    Pour la synthÚse de systÚme, on pourrait effectivement utiliser des outils
25    tels que SOP C builder, mais ceux-ci ne permettent pas de faire de prototypage
26    et ne sont pas libres et trop spécifiques à une famille d'IPs propriétaire.
27    Nous avons donc choisi DSX/SoCLib, car il est open source, et c'est celui que
[315]28    nous maitrisons le plus et nous savons déjà que son moteur couvre une
[310]29    grande partie des besoins de COACH à ce niveau.
30    \t\note{INT}
31    Enfin COACH ne vise pas les flots de conception de systÚmes complexes tels
[324]32    que SOCKET, TOPCASED, SPEAR-DE.
33    COACH se positionne en effet comme une sous-partie de ces flots complets et
34    doit être considéré comme un point tool. Cependant, dans la nouvelle
35    version de la proposition, nous avons
36    \textit{ajouté à COACH ce qui est nécessaire pour qu'il puisse
37      être intégré dans de tels environnements de conception:
38      configuration et description des SoC générés en IP-XACT}.
[310]39    Les livrables {\NOVERStrtSpearde} et {\NOVERSmdsAppSpecification} démontrent cette
40    possibilité.
41  \item[Point 2 (\textit{pas de dimension recherche})]\mbox{}
[317]42    \\ La dimension recherche est présente à différents niveaux de ce projet.
[310]43    \t%\note{R.1}
[324]44    Tout d'abord, le fait de synthétiser la même description de haut niveau soit par HLS
[310]45    soit par ASIP, est à notre connaissance non encore réalisé à ce jour.
46    \t%\note{R.2}
[316]47    De plus, l'utilisation de transformations polyédriques  dans des outils de HLS
[310]48    opérationnels n'est pas courant.
49    \t%\note{R.3}
[329]50    Les IPs courantes du marché sont des composants matériels certes génériques mais à configuration/paramétrisation limitées. COACH permettra au contraire de concevoir des IPs qui constitueront de véritables sous-systÚmes à fonctionnalités complexes et trÚs paramétrables (hardware + software), il sera
[324]51    intéressant de voir ce que de tel IP peuvent apporter au monde de la conception de systÚmes embarqués.
[310]52    \t%\note{R.4}
53    Les outils de conception de SoC actuels ont soit une approche matérielle
54    (sans limite sur les choix architecturaux), soit massivement parallÚle à
[316]55    gros grain (MPSoC à mémoire cohérente). 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.
[310]57    A l'opposé, dans COACH l'architecture matérielle  est simple et quasiment fixée.
[316]58    Le moyen d'accélération est  le parallélisme à grain trÚs fin généré au sein
[310]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
[317]62   Ã  notre avis l'axe de recherche principal du projet car il impactera les orientations
63    technologiques liées à l'exploitation des plateformes matérielles de demain.
[310]64  \item[Point 3 (\textit{lien entre HPC et SoC embarqué})]\mbox{}
65    \\ %\note{X.1}
[324]66    Le terme HPC est employé dans de nombreux contextes et il est difficile de s'entendre sur sa définition exacte. Dans notre proposition, le terme HPC est
67    défini section~\ref{HPC:definition} (page~\pageref{HPC:definition}); il
68    s'agit bien d'une sur-couche du module de conception de SoC
69    comme illustré sur la figure~\ref{coach-flow} (page~\pageref{coach-flow}).\\
[310]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,
[324]74        3) l'ajout d'une carte FPGA sur le bus PCI/E du PC. Le FPGA intÚgrera le SoC.\\
75    La façon dont COACH aide l'utilisateur à isoler le moteur de calcul de l'application
76    est expliquée dans la section~\ref{HPC:howto} (page~\pageref{HPC:howto}) et
[310]77    sur la figure~\ref{archi-hpc} (page~\pageref{archi-hpc}).
[324]78    La façon dont l'application accélérée est générée fait l'objet de la
[310]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}
[324]84        Dans l'état de l'art, nous nous sommes concentrés d'une part sur les outils
[310]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{}\\
[324]108        Concernant la remarque sur un positionnement du projet
109        en \og plateforme {\fg} plutÃŽt qu'en \og recherche industrielle \fg,
110        nous avons considéré que l'effort devait être concentré sur les aspects
111techniques innovants plutÃŽt que sur leur mise en application dans un nombre important de flots. En
112effet, dans la nouvelle mouture, nous utilisons les résultats des projets SoCket et Topcased, avec compatibilité IP-XACT, assurant ainsi une généricité pour l'intégration dans de nombreux flots de production, sans pour autant multiplier à outrance les expérimentations dans le cadre du projet. Ainsi la taille du projet nous permet de rester en positionnement \og recherche industrielle \fg.
[310]113    \end{description}
114\end{description}
115%
116\subsubsection{Qualité de la construction de la proposition}
117\begin{description}
118  \item[Manque un industriel pour assurer la pérennité]\mbox{}\\
119        \note{IND1}
120        Il était mentionné qu'il fallait un industriel pour assurer
121        la pérennité et la dissémination du projet. \mds est entré dans
122        le consortium pour assurer ce rÃŽle.\\
123        Voyez aussi la section \ref{perennite+dissemination} ci-dessous
124        pour plus d'information.
125  \item[Trop ambitieux]\mbox{}\\
126        Voir la section \ref{trop:ambitieux} ci-dessous.
127\end{description}
128%
129\subsubsection{Impact global du projet}
130\begin{description}
131  \item[Volonté de tout refaire]\mbox{}\\
132    \note{REF}
133    Les experts mentionnent \og une volonté de tout refaire {\fg}. Il est dommage
134    qu'ils n'aient pas explicité leurs pensées. En effet le projet s'appuie sur
[324]135    des briques existantes pour la plupart de ses composants et sur les
[310]136    environnements QUARTUS \& ISE pour la synthÚse de bas niveau.\\
137    Les seuls composants manquants sont les composants matériels de
138    communication mais ils sont incontournables pour la réalisation du projet
[320]139    sur les trois plateformes cibles.
[310]140  \item[Trop gros travail de développement]\mbox{}\\
141    Voir la section \ref{trop:ambitieux} ci-dessous.
142  \item[Absence d'utilisation de standard]\mbox{}\\
143    \note{STD}
144    En effet, le projet n'utilisait pas le standard IP-XACT des flots de
145    conception de SoC. Ceci a été corrigé dans cette soumission en introduisant
[324]146    le standard IEEE 1685 IP-XACT (livrable \NOVERScsgImplementation),
[310]147    d'une part en entrée pour faciliter la configuration de COACH sur d'autre plateforme
[324]148    et d'autre part en ajoutant une sortie au format IP-XACT des SoC générés pour
149    leur intégration comme sous-systÚme dans les flots de conception de SoC.
[310]150    Les livrables {\NOVERStrtSpearde} et {\NOVERSmdsAppSpecification} démontrent cette
151    possibilité.
[324]152  \item[Utilisation de RTOS non industriels]\mbox{}\\
153    L'OS bien qu'indispensable n'est pas une piÚce maitresse du projet.
[310]154    En effet, on doit pouvoir passer facilement à un autre OS si ce
155    dernier supporte les thread POSIX.
156  \item[Le projet est trop basé sur les composants SoCLib]\mbox{}\\
157    Voir la note de marge \seenote{SL2} dans la section \ref{coach+soclib} ci-dessous.
158\end{description}
159%
160\subsubsection{Qualité du consortium}
161\begin{description}
162    \item[Xilinx n'a pas une part assez active]\mbox{}\\
[324]163        Xilinx ne fait plus partie du consortium.
[310]164    \item[Manque un industriel pour assurer la pérennité]\mbox{}\\
165        \note{IND2}
166        Les experts suggÚrent la société \mds. \mds est entré dans le
167        consortium pour remplir ce rÃŽle.
168    \item[Pas de vision pour intégrer COACH dans un flot de conception
169          industriel]\mbox{}\\
170      Voir les notes de marge \seenote{INT} et \seenote{STD} ci-dessus.
171\end{description}
172%
173\subsubsection{Moyens humains et financiers}
174\begin{description}
175    \item[Incongruités de quelques demandes financiÚres]\mbox{}\\
[324]176        Les experts n'ont pas précisé leurs pensées. Néanmoins, la répartition financiÚre a été complÚtement revue.
177
[310]178    \item[Déséquilibre entre l'ampleur du développement et les moyens]\mbox{}\\
179        Voir la section \ref{trop:ambitieux} ci-dessous.
180    \item[Doute sur la possibilité d'intégrer l'ensemble des outils existants en
181          un tout cohérent]\mbox{}\\
182        \note{DOU}
[324]183        Un rÃŽle principal de \mds tant que chef de file sera d'assurer la coordination de maniÚre professionnelle de ce projet.
184       
[310]185\end{description}
186%
187\subsubsection{Avis Général}
188\begin{description}
189    \item[Déséquilibre entre l'ampleur du développement et les moyens]\mbox{}\\
190        Voir la section \ref{trop:ambitieux} ci-dessous.
191    \item[Doute sur la possibilité d'intégrer l'ensemble des outils existants en
192          un tout cohérent]\mbox{}\\
193        Voir la note de marge \seenote{DOU} au-dessus.
194    \item[\parbox{\linewidth}{COACH étant une continuation de SoCLib,
195           SoCLib n'étant pas une réussite industrielle $\Longrightarrow$
196           faut-il financer COACH pour donner une chance à SoCLib?}]\mbox{}\\
197        Voir la note de marge \seenote{SL3} dans la section \ref{coach+soclib} ci-dessous.
198    \item[Manque un industriel pour assurer la pérennité]\mbox{}\\
199        Voir les notes de marge \seenote{IND1} et \seenote{IND2} au-dessus.
200    \item[Justifier le positionnement comme une continuité de SoCLib]\mbox{}\\
201        La section \ref{coach+soclib} ci-dessous montre que COACH n'est pas une
202        continuité de SoCLib et cette justification est donc sans objet.
203    \item[Absence de considération pour les outils/standard industriels]\mbox{}\\
204        Voir les notes de marge \seenote{INT} et \seenote{STD} au-dessus.
205    \item[Volonté de tout refaire]\mbox{}\\
206        Voir la note de marge \seenote{REF} au-dessus.
207\end{description}
208%
209%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
210\subsection{SynthÚse}
211%
212\subsubsection{Projet trop ambitieux}
213\label{trop:ambitieux}
[324]214Par rapport au projet 2010, nous avons réduit la surface du projet de 20\% en nous
[310]215concentrant sur le cœur de COACH. Les principales réductions sont:
216\begin{itemize}
217  \item Suppression d'un OS:\\
218    Dans la proposition 2010, nous avions choisi 2 OS (Mutekh et DNA) pour
[324]219    montrer que COACH était indépendant de l'OS.
220    L'OS bien qu'indispensable n'est pas une piÚce maitresse du projet.
[310]221    En effet, on doit pouvoir passer facilement à un autre OS si ce
222    dernier supporte les thread POSIX.\\
223    \textit{Nous avons ÃŽté l'OS Mutekh}. Ceci diminue les développements systÚme
224    de moitié.
225  \item Suppression de la reconfiguration dynamique:\\
226    Dans la proposition 2010, la tâche~6 (PC/FPGA communication middleware)
227    contenait une partie importante qui consistait à partager le FPGA entre
228    plusieurs applications et charger dynamiquement certaine de ses parties
229    en fonction des applications qui tournent sur le PC.\\
230    \textit{Nous avons ÃŽté la reconfiguration dynamique}. Ceci diminue de 30 à
231    40 \% les développements de la tâche~6 et enlÚve quelques homme mois dans la
232    tache~3 (System generation).
233  \item Diminution des développements materiels:\\
234    Dans la proposition 2010, nous avions projeté 1) de prototyper les SoC des
[324]235    différents patrons architecturaux de façon exacte, 2) d'implanter le
[310]236    composant de communication (MWMR) pour les patrons architecturaux XILINX et ALTERA.
237    Ces choix conduisaient à 4 implantations du composants de communication
[311]238    (MWMR) (1 VHDL MWMR/\xilinxbus, 1 VHDL MWMR/AVALON, 1 SystemC
239    MWMR/\xilinxbus et
[310]240    1 SystemC MWMR/AVALON) et probablement à quelques autres modules SystemC.\\
241    \textit{Nous avons ÃŽté ces développements}.
242    En effet pour l'implantation matériel des patrons architecturaux, on
[311]243    utilisera les ponts VCI/\xilinxbus et VCI/AVALON qui sont nécessaires au HPC et
[310]244    pour le prototypage, on se limitera au patron architectural neutre.
245\end{itemize}
246%
247\subsubsection{Projet \& SoCLib}
248\label{coach+soclib}
249{$\bullet$}\note{SL1}
250Dans l'évaluation de la soumission 2010, les experts se posent plusieurs
251questions sur les liens entre le projet COACH et le projet ANR SoCLib.
252Pour répondre à ces questions listons les composants de SoCLib utilisés dans COACH:
253\begin{itemize}
254  \item Les descriptions SystemC de 6 composants sur environ 70.
255  \item L'explorateur de l'espace de conception DSX qui devra être étendu pour
[324]256    supporter la génération matérielle des architectures (VHDL synthétisable).
[310]257  \item Un OS sur cinq.
258\end{itemize}
259Cette liste montre clairement que SoCLib n'est qu'un composant logiciel parmi
260la dizaine d'autres sur les quels COACH s'appuie.
[324]261Ce n'est pas, et de loin, le plus irremplaçable, les modÚles VHDL du patron
[310]262architectural neutre comme les outils de synthÚse seraient bien plus difficiles
263à refaire et GCC comme les environnements QUARTUS et ISE sont absolument
264indispensables.
265\t\note{SL2}
266On ne peut donc pas dire que COACH est trop basé sur SoCLIB.
267\t\note{SL3}
268A la question posée par les experts:
[324]269  \og faut il financer COACH pour donner une chance à SoCLib? {\fg}
[310]270La réponse est que financer COACH n'influencera pas la vie de SoCLib,
271les 2 projets n'étant pas assez corrélés.
272D'ailleurs COACH pourrait trÚs bien survivre à une mort de SoCLib en maintenant
273les quelques composants SoCLib qu'il utilise.
274\t\note{SL4}
275Enfin une réserve concerne l'utilisation du bus VCI jugé obsolÚte via les composants
[311]276SoCLib. Le projet prévoit le développement de pont VCI/AVALON et VCI/\xilinxbus ce qui
[324]277permettra l'utilisation des IP de XILINX et ALTERA dans le patron architectural
[310]278neutre.
279%
280\subsubsection{Pérennité/dissémination du projet}
281\label{perennite+dissemination}
[332]282L’arrivée de la société Magillem Design Services dans le consortium permettra de
283répondre aux problÚmes liés à la pérennité et la dissémination des résultats du
284projets. Le rÃŽle de ce nouveau partenaire sera d’orienter les choix afin de
285pouvoir anticiper les besoins des futurs utilisateurs industriels de COACH.
286Deux versions de l’outil seront développées:
287\begin{itemize}
288   \item une version libre qui sans bénéficier de l’environnement complet
289   intégrée à Magillem (sous Eclipse), intÚgrera des moteurs en entrée et en
290   sortie pour assurer la compatibilité du code généré avec un flot standard
291   IP-XACT,
292   \item une version complÚte à vocation commerciale qui pourra être
293   personnalisée en fonctions des besoins spécifiques des futurs clients.
294\end{itemize}
295La société Magillem détient une expertise dans les flots de production
296des SoC car depuis plusieurs années elle a réussi avec succÚs à assister les
297leaders de ce domaine (STM, NXP, TI, Qualcomm, etc.) dans leur migration vers le
298standard IEEE 1685 IP-XACT.
299Ainsi sa présence assure que les outils développés dans COACH seront en
300adéquation avec les besoins correspondant à ce type de clientÚle.
301Magillem a également dans sa clientÚle des systémiers utilisateurs de FPGA
302(Thales, Astrium, ESA, etc.) dont les besoins sont différents qui seront
303considérés comme les cibles privilégiés du projet.
[310]304%
305\subsubsection{Projet trop académique}
306\label{trop:academique}
307Le projet a été jugé trop académique. Ceci est un peu corrigé par l'arrivée de
308\mds mais l'essentiel du développement reste à la charge des partenaires
309académiques.
310Ceci s'explique par l'historique du projet qui est né de l'initiative des
311partenaires académiques.
Note: See TracBrowser for help on using the repository browser.