• Aucun résultat trouvé

Une méthodologie de conception de modèles analytiques de surface et de puissance de réseaux sur puce hautement paramétriques basée sur une méthode d’apprentissage automatique

N/A
N/A
Protected

Academic year: 2021

Partager "Une méthodologie de conception de modèles analytiques de surface et de puissance de réseaux sur puce hautement paramétriques basée sur une méthode d’apprentissage automatique"

Copied!
283
0
0

Texte intégral

(1)

HAL Id: tel-00877956

https://tel.archives-ouvertes.fr/tel-00877956v2

Submitted on 12 May 2014

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Une méthodologie de conception de modèles analytiques de surface et de puissance de réseaux sur puce

hautement paramétriques basée sur une méthode d’apprentissage automatique

Florentine Dubois

To cite this version:

Florentine Dubois. Une méthodologie de conception de modèles analytiques de surface et de puissance de réseaux sur puce hautement paramétriques basée sur une méthode d’apprentissage automatique.

Autre [cs.OH]. Université de Grenoble, 2013. Français. �NNT : 2013GRENM026�. �tel-00877956v2�

(2)

TH ` ESE

Pour obtenir le grade de

DOCTEUR DE L’UNIVERSIT ´ E DE GRENOBLE

Sp ´ecialit ´e : Informatique

Arr ˆet ´e minist ´erial : 978-2-11-129178-2

Pr ´esent ´ee par

Florentine Dubois

Th `ese dirig ´ee parM. Fr ´ed ´eric P ´etrot

pr ´epar ´ee au sein dulaboratoire TIMA, CNRS/Grenoble INP/UJF (CIFRE STMicroelectronics)

et de Ecole Doctorale Math ´ematiques, Sciences et Technologies de l’Information, Informatique (MSTII)

Une m ´ethodologie de conception de mod `eles analytiques de surface et de puissance de r ´eseaux sur puce haute- ment param ´etriques bas ´ee sur une m ´ethode d’apprentissage automatique

Th `ese soutenue publiquement le04/07/2013, devant le jury compos ´e de :

Prof. Olivier Francois

Grenoble INP (TIMC-IMAG), Pr ´esident

Prof. Alain Greiner

Universit ´e de Paris VI, Pierre & Marie Curie (LIP6), Rapporteur

Prof. Olivier Sentieys

Universit ´e de Rennes 1 (ENSSAT), Rapporteur

Prof. Davide Atienza

Ecole polytechnique f ´ed ´erale de Lausanne (ESL), Examinateur

Prof. Fr ´ed ´eric P ´etrot

CNRS/Grenoble INP/UJF (TIMA), Directeur de th `ese

M. Marcello Coppola

(3)
(4)

A machine-learning based

methodology to design analytical area and power models of highly

parametric networks-on-chip

Supervised by Prof. Fr´ed´eric P´etrot

Florentine Dubois

in collaboration with

TIMA Laboratory, CNRS/Grenoble INP/UJF

and

STMicroelectronics

A thesis submitted for the degree of Docteur de l’universit´e de Grenoble

July 2013

(5)
(6)

Remerciements

Je voudrais remercier le professeur Fr´ed´eric P´etrot et M. Marcello Coppola pour m’avoir donn´e l’opportunit´e de r´ealiser cette th`ese ainsi que pour leur pr´ecieuse aide tout au long de sa r´ealisation.

Je souhaite aussi remercier les professeurs Alain Greiner et Olivier Sentieys pour avoir accept´e de rapporter mon travail de th`ese, le professeur Davide Atienza pour avoir accept´e d’examiner mon tra- vail ainsi que le professeur Olivier Franc¸ois pour avoir accept´e de pr´esider le jury.

Je remercie mes coll`egues Adrien Prost-Boucle, Yan Xu, Maryam Bahmani et tous les autres membres de l’´equipe SLS pour leur con- seils et leur bonne humeur.

Je souhaite aussi remercier chaleureusement mes coll`egues Ric- cardo Locatelli, Michael Soulie, Giuseppe Maruccia, Raffaele Guar- rasi, Hajer Ferjani et Christophe Viroulaud de l’´equipe STNoC pour leur soutien quotidien et leur gentillesse. Un grand merci `a Valerio Catalano pour son aide r´eguli`ere et avis´ee dans la r´ealisation de ce travail. Je souhaite `a chacun d’entre vous le meilleur pour la suite.

Je remercie Sarah Badji,mes parents et mes fr`eres pour leurs en- couragements et leur soutien dans les moments les plus difficiles.

Je souhaite enfin remercier Guillaume M´ezin pour son ´ecoute et sa patience.

(7)
(8)

Abstract

In the last decade, Networks-on-chip (NoCs) have emerged as an efficient and flexible interconnect solution to handle the increas- ing number of processing elements included in Systems-on-chip (SoCs). NoCs are able to handle high-bandwidth and scalability needs under tight performance constraints. However, they are usu- ally characterized by a large number of architectural and imple- mentation parameters, resulting in a vast design space. In these conditions, finding a suitable NoC architecture for specific plat- form needs is a challenging issue. Moreover, most of main design decisions (e.g. topology, routing scheme, quality of service) are usu- ally made at architectural-level during the first steps of the design flow, but measuring the effects of these decisions on the final im- plementation at such high level of abstraction is complex.

Static analysis (i.e. non-simulation-based methods) has emerged to fulfill this need of reliable performance and cost estimation meth- ods available early in the design flow. As the level of abstraction of static analysis is high, it is unrealistic to expect an accurate estima- tion of the performance or cost of the chip. Fidelity (i.e. characteri- zation of the main tendencies of a metric) is thus the main objective rather than accuracy.

This thesis proposes a modeling methodology to design static cost analysis of NoC components. The proposed method is mainly ori- ented towards generality. In particular, no assumption is made nei- ther on the number of parameters of the components nor on the de- pendences of the modeled metric on these parameters. We are then able to address components with millions of configurations possi- bilities (order of 1030 configuration possibilities) and to estimate cost of complex NoCs composed of a large number of these com-

(9)

ponents at architectural-level. It is difficult to model that kind of components with experimental analytical models due to the huge number of configuration possibilities. We thus propose a fully- automated modeling flow which can be applied directly to any ar- chitecture and technology. The output of the flow is a NoC com- ponent cost predictor able to estimate a metric of interest for any configuration of the design space in few seconds.

The flow builds fine-grained analytical models on the basis of gate- level results and a machine-learning method. It is then able to de- sign models with a better fidelity than purely-mathematical meth- ods while preserving their main qualities (i.e. low complexity, early availability). Moreover, it is also able to take into account the ef- fects of the technology on the performance. We propose to use an interpolation method based on Kriging theory. By using Kriging methodology, the number of implementation flow runs required in the modeling process is minimized and the main characteristics of the metrics in space are modeled both globally and locally. The method is applied to model logic area of key NoC components. The inclusion of traffic is then addressed and a NoC router leakage and average dynamic power model is designed on this basis.

(10)
(11)
(12)

R´esum´e

Les r´eseaux sur puces (NoCs - Networks-on-chip) sont apparus du- rant la derni`ere d´ecennie en tant que solution flexible et efficace pour interconnecter le nombre toujours croissant d’´el´ements in- clus dans les syst`emes sur puces (SoCs - Systems-on-chip). Les r´eseaux sur puces sont en mesure de r´epondre aux besoins gran- dissants en bande-passante et en scalabilit´e tout en respectant des contraintes fortes de performances. Cependant, ils sont habituelle- ment caract´eris´es par un grand nombre de param`etres architec- turaux et d’impl´ementation qui forment un vaste espace de con- ception. Dans ces conditions, trouver une architecture de NoC adapt´ee aux besoins d’une plateforme pr´ecise est un probl`eme diffi- cile. De plus, la plupart des grands choix architecturaux (topologie, routage, qualit´e de service) sont g´en´eralement faits au niveau ar- chitectural durant les premi`eres ´etapes du flot de conception, mais mesurer les effets de ces d´ecisions majeures sur les performances finales du syst`eme est complexe `a un tel niveau d’abstraction.

Les analyses statiques (m´ethodes non bas´ees sur des simulations) sont apparues pour r´epondre `a ce besoin en m´ethodes d’estimations des performances des SoCs fiables et disponibles rapidement dans le flot de conception. Au vu du haut niveau d’abstraction utilis´e, il est irr´ealiste de s’attendre `a une estimation pr´ecise des perfor- mances et co ˆuts de la puce finale. L’objectif principal est alors la fid´elit´e (caract´erisation des grandes tendances d’une m´etrique per- mettant une comparaison ´equitable des alternatives) plutˆot que la pr´ecision.

Cette th`ese propose une m´ethodologie de mod´elisation pour concevoir des analyses statiques des co ˆuts des composants des NoCs. La m´ethode propos´ee est principalement orient´ee vers la g´en´eralit´e. En particulier, aucune hypoth`ese n’est faite ni sur le nombre de param`etres des composants ni sur la nature des

(13)

d´ependances de la m´etrique consid´er´ee sur ces mˆemes param`etres.

Nous sommes alors en mesure de mod´eliser des composants pro- posant des millions de possibilit´es de configurations (ordre de 1030 possibilit´es de configurations) et d’estimer le co ˆut de r´eseaux sur puce compos´es d’un grand nombre de ces composants au niveau architectural. Il est complexe de mod´eliser ce type de composants avec des mod`eles analytiques exp´erimentaux `a cause du trop grand nombre de possibilit´es de configurations. Nous proposons donc un flot enti`erement automatis´e qui peut ˆetre appliqu´e tel quel `a n’importe quelles architectures et technologies. Le flot produit des pr´edicteurs de co ˆuts des composants des r´eseaux sur puce capables d’estimer les diff´erentes m´etriques pour n’importe quelles configu- rations de l’espace de conception en quelques secondes.

Le flot conc¸oit des mod`eles analytiques `a grains fins sur la base de r´esultats obtenus au niveau porte et d’une m´ethode d’apprentissage automatique. Il est alors capable de concevoir des mod`eles pr´esentant une meilleure fid´elit´e que les m´ethodes bas´ees uniquement sur des th´eories math´ematiques tout en conservant leurs qualit´es principales (basse complexit´e, disponibilit´e pr´ecoce).

Nous proposons d’utiliser une m´ethode d’interpolation bas´ee sur la th´eorie de Kriging. La th´eorie de Kriging permet de minimiser le nombre d’ex´ecutions du flot d’impl´ementation n´ecessaires `a la mod´elisation tout en caract´erisant le comportement des m´etriques

`a la fois localement et globalement dans l’espace. La m´ethode est appliqu´ee pour mod´eliser la surface logique des composants cl´es des r´eseaux sur puces. L’inclusion du trafic dans la m´ethode est ensuite trait´ee et un mod`ele de puissance statique et dynamique moyenne des routeurs est conc¸u sur cette base.

(14)
(15)
(16)

Contents

1 Introduction 22

1.1 Thesis scope . . . 23

1.2 Thesis Organization . . . 24

2 Problem Definition 32 2.1 Networks-on-chip paradigm . . . 34

2.1.1 NoC concept . . . 34

2.1.2 Network Layers . . . 36

2.2 The usage of performance evaluation in NoCs design . . . 37

2.2.1 Levels of abstraction . . . 39

2.2.2 Design flow . . . 40

2.2.2.1 NoCs specifications capture . . . 41

2.2.2.2 The role of performance evaluation methods in NoCs design . . . 43

2.2.3 Existing performance evaluation methods . . . 44

2.2.3.1 Prototyping . . . 44

2.2.3.2 Emulation . . . 44

2.2.3.3 Simulation . . . 45

2.2.3.4 Static performance analysis . . . 45

2.3 Performance metrics addressed in this work . . . 47

2.3.1 Area . . . 47

2.3.2 Power . . . 48

2.4 Summary . . . 49

(17)

3 State of the art 58

3.1 Networks-On-Chip . . . 59

3.2 Traffic modeling . . . 60

3.3 Networks-on-chip performance evaluation . . . 61

3.3.1 Units of abstraction . . . 62

3.3.2 Queuing theory . . . 64

3.3.3 Probability theory . . . 65

3.3.4 Network calculus . . . 66

3.3.5 Analytical models . . . 66

3.3.6 Machine-learning based models . . . 67

3.3.7 Synthesis of existing performance evaluation models . . . 71

3.4 Summary . . . 75

4 NoCs static cost metrics modeling 82 4.1 NoC blocks modeling flow . . . 83

4.1.1 General component model . . . 83

4.1.2 Modeling flow overview . . . 85

4.1.3 Modeling flow description . . . 86

4.1.3.1 Inputs . . . 86

4.1.3.2 Step 1: Training set definition . . . 89

4.1.3.3 Step 2: Training set implementation flow . . . . 91

4.1.3.4 Machine-learning method choice . . . 92

4.1.3.5 Step 3: Model design . . . 97

4.1.3.6 Step 4: Model optimization . . . 102

4.1.3.7 Step 5: Model Validation . . . 108

4.2 NoC components area model . . . 109

4.2.1 Router area model . . . 109

4.2.2 Network interface area model . . . 112

4.2.3 Platform area model . . . 113

4.3 Summary . . . 113

5 Router power model 120 5.1 Router model . . . 121

(18)

5.2 Ports power models . . . 122

5.2.1 Traffic description . . . 122

5.2.2 Power model . . . 126

5.2.3 Static power . . . 128

5.2.4 Dynamic power . . . 129

5.2.4.1 Idle state dynamic power modeling . . . 130

5.2.4.2 Inactive state dynamic power modeling . . . 132

5.2.4.3 Active state dynamic power modeling . . . 134

5.2.5 Final ports power model . . . 138

5.3 Switch power model . . . 139

5.4 Summary . . . 140

6 Experimental results 148 6.1 Experimental conditions . . . 149

6.2 Area models . . . 151

6.2.1 Area model validation . . . 151

6.2.2 Fidelity analysis . . . 153

6.2.2.1 Metrics . . . 153

6.2.2.2 Port and component model results . . . 154

6.2.2.3 Platform model results . . . 158

6.3 Power models . . . 159

6.3.1 Power model validation . . . 159

6.3.2 Fidelity analysis . . . 159

6.3.2.1 Capacitance and leakage models validation . . . 159

6.3.2.2 Port power models validation . . . 165

6.3.2.3 NoCs power models validation . . . 166

6.4 Test case . . . 168

6.5 Discussion on complexity . . . 172

6.6 Summary . . . 173

7 Conclusion and Perspectives 182 7.1 Conclusion . . . 183

7.2 Perspectives . . . 185

(19)

7.2.1 Technical insights to improve the method . . . 186 7.2.2 Possible extensions of the method . . . 186

References 190

Publications 208

Appendix A: Implementation details 210

Appendix B: Area Models 216

Appendix C: Power Models 228

(20)
(21)
(22)

List of Figures

1 Exemple de r´eseau sur puce . . . 4 2 Possibilit´es d’exploration et co ˆuts de modification . . . 9 3 Strat´egie d’exploration de l’espace de conception des NoCs . . . 9 4 Flot de conception g´en´erique des syst`emes bas´es sur des NoCs . 10 5 L’´ecart de capacit´es des batteries . . . 18 2.1 NoC example . . . 34 2.2 Correspondence between NoCs blocks and layers . . . 37 2.3 NoCs design tradeoffs at different levels of abstraction . . . 41 2.4 NoCs design space exploration strategy . . . 41 2.5 Generic NoC-based system design flow . . . 42 2.6 The battery capacity gap . . . 48 3.1 Design space size in function of training set size for machine-

learning based methods . . . 74 4.1 Modeling flow . . . 87 4.2 LHS design example for k = 2 and n = 5; a cross means that a

point was chosen in the interval. . . 90 4.3 Example of 3-layer ANN with 3 inputs, 5 hidden neurons and 2

outputs . . . 93 4.4 Modeling of square root function by different machine-learning

methods (initial function in blue, produced predictor in dashed red) . . . 94 4.5 Effects of additional training points on Kriging interpolation . . 97 4.6 Example of correlation functions with differentθh andph . . . . 100

(23)

4.7 Influence of training points in space . . . 101 4.8 ACE process (initial function in blue, produced predictor in

dashed red, training points as green squares) . . . 103 4.9 ACE-D process . . . 104 4.10 Router architecture (rd = 4,nv = 2) . . . 110 4.11 Network interface architecture . . . 112 5.1 Router architecture (rd = 4,nv = 2) . . . 121 5.2 Example of states repartition . . . 124 5.3 Router internal power in idle state . . . 131 5.4 Router internal power in inactive state . . . 133 5.5 Router internal power in active state . . . 137 6.1 Output port area model validation . . . 152 6.2 Absolute and relative area models errors per area domain . . . . 156 6.3 Router area model inaccuracies (%) . . . 157 6.4 Comparison between DACE error estimation and effective error . 158 6.5 Output port QQ Plot for power model (Ileak(conf igi)) . . . 160 6.6 Idle internal power ratios estimated with different methods . . . 164 6.7 Test case request network . . . 168 6.8 Test case routers area and power estimations . . . 171 6.9 Test case average latencies between the IPs and the DDR - all

results and a zoom on CPUs latencies . . . 172 7.1 Our models locations in the design space size in function of

training set size graph . . . 185 A.1 Greedy configuration correction algorithm . . . 210 A.2 Configurations exploration strategy . . . 211 B.1 Input port area model validation . . . 217 B.2 Switch area model validation . . . 218 B.3 NI IP side area model validation . . . 219 B.4 NI NoC side area model validation . . . 220

(24)

B.5 Output port model average relative error - all errors and a zoom on DACE and MARS errors . . . 221 B.6 Absolute and relative input port area models errors per area do-

main . . . 223 B.7 Absolute and relative switch area models errors per area domain 225 C.1 Output port QQ Plot for power model (Cidle(conf igi)) . . . 229 C.2 Output port QQ Plot for power model (Cactive(conf igi)) . . . 230 C.3 Output port QQ Plot for power model (Cinactive(conf igi)) . . . . 231 C.4 Input port QQ Plot for power model (Ileak(conf igi)) . . . 233 C.5 Input port QQ Plot for power model (Cidle(conf igi)) . . . 234 C.6 Input port QQ Plot for power model (Cactive(conf igi)) . . . 235 C.7 Output port QQ Plot for power model (Cinactive(conf igi)) . . . . 236 C.8 Static output port power ratios estimated with different meth-

ods (Ileak(conf igi)) . . . 240 C.9 Idle internal output port power ratios estimated with different

methods (Cidle(conf igi)) . . . 242 C.10 Active internal output port power ratios estimated with differ-

ent methods (Cactive(conf igi)) . . . 244 C.11 Inactive internal output port power ratios estimated with differ-

ent methods (Cinactive(conf igi)) . . . 246 C.12 Static input port power ratios estimated with different methods

(Ileak(conf igi)) . . . 248 C.13 Active internal input port power ratios estimated with different

methods (Cactive(conf igi)) . . . 250 C.14 Inactive internal input port power ratios estimated with differ-

ent methods (Cinactive(conf igi)) . . . 252

(25)
(26)

List of Tables

1 Architecture et param`etres des NIs . . . 6 2 Architecture et param`etres des routeurs . . . 7 2.1 NI architecture and parameters . . . 38 2.2 Router architecture and parameters . . . 39 3.1 Summary of performance evaluation methods . . . 73 4.1 General notations . . . 84 4.2 Notations example . . . 85 4.3 Kriging properties in NoC context . . . 96 4.4 Mathematical Symbols . . . 98 4.5 Generic router parameters . . . 110 4.6 Generic NI parameters . . . 113 5.1 Generic router parameters for power model . . . 122 5.2 Symbols used in power model . . . 128 6.1 Models properties . . . 149 6.2 Output area port model (nerr = 600) . . . 154 6.3 Router area model (nerr = 800) . . . 154 6.4 NoCs area model . . . 157 6.5 Input port static power model (Ileak(ci)) . . . 161 6.6 Input port internal power model in active state (Cactive(ci)) . . . . 161 6.7 Idle internal power ratios errors . . . 163 6.8 Port power models fidelity measured on 300 ports configurations165 6.9 Router power model fidelity measure on 80 routers configurations167

(27)

6.10 Test case alternative configurations . . . 168 6.11 Test case: platform DACE models fidelity measure . . . 169 6.12 Test case: routers DACE models fidelity measure . . . 169 B.1 Input port area model (nerr = 600) . . . 222 B.2 Switch area model (nerr = 1000) . . . 224 C.1 Output port static power model (Ileak(conf igi)) . . . 237 C.2 Output port idle internal power model (Cidle(conf igi)) . . . 237 C.3 Output port active internal power model (Cactive(conf igi)) . . . . 238 C.4 Output port inactive internal power model (Cinactive(conf igi)) . . 238 C.5 Input port Internal power model in idle state (Cidle(conf igi)) . . 238 C.6 Input port internal power model in inactive state

(Cinactive(conf igi)) . . . 239 C.7 Output port static power ratios errors (Ileak(conf igi)) . . . 239 C.8 Output port Idle internal power ratios errors (Cidle(conf igi)) . . 241 C.9 Output port Active internal power ratios errors (Cactive(conf igi)) 243 C.10 Output port inactive internal power ratios errors

(Cinactive(conf igi)) . . . 245 C.11 Input port static power ratios errors (Ileak(conf igi)) . . . 247 C.12 Input port active internal power ratios errors (Cactive(conf igi)) . 249 C.13 Input port inactive internal power ratios errors (Cinactive(conf igi))251

(28)
(29)
(30)

List of acronyms

ACE ACcumulative Error adaptive design

ACE-D ACcumulative Error adaptive design - Discrete version ANN Artificial Neural Network

CABA Cycle Accurate Byte Accurate CPU Central Processing Unit

CV Cross-Validation

DACE Design and Analysis of Computer Experiments (Kriging) D&C Divide and Conquer

FCFS First-Come-First-Serve flit FLow control unITs

I/O Inputs/Outputs

IP Intellectual Property LHS Latin Hypercube Sample

MARS Multivariate Adaptive Regression Splines

NI Network Interface

NoC Network-On-Chip

QoS Quality of Service RBF Radial basis functions

RR Round-Robin

RTL Register Transfer Level

SoC System-On-Chip

TLM Transaction Level Modeling

VC Virtual Channel

(31)
(32)

1

Introduction

chapitre

D

urant la derni`ere d´ecennie, les syst`emes ´electroniques ont ´evolu´e de l’ex´ecution d’une application sp´ecifique `a la gestion d’un grand nombre de fonctionnalit´es sujettes `a des contraintes fortes de per- formances et de fiabilit´e. Le terme syst`eme sur puce (SoC - Systems-On-Chip) fait r´ef´erence `a l’int´egration de ces syst`emes sur une seule puce. Les SoCs con- tiennent alors tous les diff´erents modules utiles `a leur ex´ecution, tels que, par exemple, les blocs propri´etaires (IP - Intellectual Property), les m´emoires ou encore les syst`emes de gestion des p´eriph´eriques.

Les avanc´ees technologiques et dans le domaine de la conception des syst`emes sur puce permettent aujourd’hui l’int´egration de millions de tran- sistors dans les SoCs. Dans ce contexte, les performances du syst`eme sont limit´ees par l’efficacit´e de la communication. Autrement dit, les performances globales seront mauvaises si l’interconnexion ne peut pas prendre en charge efficacement les besoins en communications, ind´ependamment des perfor- mances des cœurs. De plus, les d´elais des fils dominent les d´elais des portes

`a partir de 0.25µm pour l’aluminium et de 0.18µm pour le cuivre [9]. Les surfaces, puissances et performances des plateformes sont donc aujourd’hui majoritairement domin´ees par les syst`emes de communication, faisant de l’interconnexion un des concepts cl´es de la conception des SoCs.

L’interconnexion id´eale devrait offrir une grande bande-passante, de bonnes performances ainsi qu’une faible consommation et une surface limit´ee.

Les autres propri´et´es int´eressantes sont: (a) la possibilit´e de mise `a l’´echelle pour g´erer le nombre toujours croissant de cœurs int´egr´es dans les SoCs; (b) une possibilit´e de r´eutilisation des blocs mat´eriels afin de faciliter la concep- tion et la v´erification des syst`emes; (c) une certaine flexibilit´e pour faciliter

(33)

l’int´egration des diff´erents blocs et protocoles existants dans les syst`emes, et enfin (d) une grande fiabilit´e.

Historiquement, les interconnexions sont impl´ement´ees avec des bus.

Cependant, cette solution ne passe pas `a l’´echelle et ne fournit qu’une bande passante limit´ee. Les bus hi´erarchiques sont une am´elioration des syst`emes bas´es sur des bus simples. Cette approche est efficace en terme de puissance, peut ˆetre mise `a l’´echelle et permet des communications parall`eles entre les cœurs. Cependant, les performances de ces syst`emes peuvent ˆetre limit´ees par les communications entre les sous-syst`emes qui n´ecessitent l’action agr´eg´ee de plusieurs arbitres.

Les r´eseaux sur puce (NoC - Network-On-Chip) sont apparus durant la derni`ere d´ecennie comme une solution d’interconnexion efficace et capable de r´esoudre les limitations des solutions pr´ec´edentes [34;47]. La suite de cette introduction est organis´ee comme suit: le paradigme des NoC est tout d’abord pr´esent´e bri`evement. Le rˆole des ´evaluations de performance dans les flots de conception des NoCs est ensuite d´ecrit, avec un int´erˆet particulier port´e aux analyses statiques. Enfin, les m´etriques de co ˆuts des SoCs utilis´ees dans cette th`ese sont d´ecrites et les contributions principales r´esum´ees.

Le paradigme des r´eseaux sur puce

Les NoCs sont des infrastructures distribu´ees de communication sur puce.

Ils sont compos´es de blocs pr´ed´efinis et autonomes connect´es les uns aux autres. Ce paradigme pr´esente un grand nombre de bonnes propri´et´es par d´efinition: la parall´elisation des communications permet l’augmentation de la bande-passante et la diminution de la latence, menant `a une possibilit´e de mise `a l’´echelle; la modularit´e intrins`eque au concept permet d’optimiser la r´eutilisation des blocs tout en fournissant une grande flexibilit´e de conception.

Les NoCs sont form´es de trois blocs de constructions principaux:

• L’interface r´eseau (NI - Network Interface), qui sert d’interface entre les IPs et le r´eseau;

3

(34)

Figure 1: Exemple de r´eseau sur puce

• Le router (R), qui d´etermine le bloc du r´eseau auquel un paquet doit ˆetre transmis pour avancer vers sa destination;

• Le lien physique, qui g`ere la transmission physique des donn´ees.

Un exemple de syst`eme avec des r´eseaux ind´ependants de requˆete et de r´eponse est donn´e dans la figure1.

Le nombre de degr´es de libert´e des NoCs est tr`es grand. En particulier, le concepteur doit d´efinir:

• la topologie, qui est la d´efinition de la mani`ere dont les routeurs sont connect´es les uns aux autres;

• le routage, qui est la s´equence de routeurs suivies par les paquets pour atteindre leurs destinations;

• la strat´egie de commutation, qui est le protocole utilis´e lors de la trans- mission des messages dans le r´eseau;

• le contrˆole de flux, qui est la d´efinition du protocole de transmission entre les nœuds;

• la taille des tampons;

• les canaux virtuels;

(35)

• les algorithmes d’arbitration.

Dans la suite, nous d´ecrivons la m´ethodologie de conception des NoCs utilis´ee dans les contextes industriels, avant d’examiner le rˆole des m´ethodes d’´evaluations des performances dans ce processus.

L’utilisation des ´evaluations de performances dans la conception des NoCs

Le principal objectif des interconnexions est la transmission efficace de pa- quets sous des contraintes fortes de performances, puissance et surface.

Cependant, les NoCs sont caract´eris´es par un tr`es grand nombre de param`etres architecturaux et d’impl´ementations, r´esultant dans des milliers, voire des millions, de possibilit´es de configuration; dans ces conditions, tester toutes les alternatives n’est pas une option. De plus, les m´etriques typiques telles que la latence, la puissance ou la surface sont corr´el´ees et la configuration finale doit donc proposer un compromis acceptable entre performances et co ˆuts. Enfin, les d´elais de commercialisation sont critiques dans les contextes industriels et les choix architecturaux doivent donc ˆetre r´ealis´es aussi rapidement que pos- sible.

Afin d’illustrer cette complexit´e, deux exemples de composants et de leurs param`etres sont donn´es dans les tableaux 1 et 2. Le concepteur doit d´efinir tous les param`etres de tous les composants et interfaces en plus des choix syst`emes, tels que la topologie ou le contrˆole de flux, dans le but d’optimiser les performances tout en diminuant les co ˆuts du NoC.

Tous ces faits soulignent l’importance de la stat´egie de s´election d’une con- figuration de l’espace de conception (ensemble de toutes les configurations possibles) dans le processus de conception des NoCs. Pour guider le con- cepteur dans cette tˆache difficile, les flots de conception (s´equence d’actions suivie pour concevoir un SoC) sont g´en´eralement compos´es d’un ensemble de choix architecturaux suivi d’une ´evaluation de la configuration obtenue.

Des m´ethodes d’´evaluations des performances efficaces et fiables sont donc n´ecessaires afin d’estimer si une configuration est satisfaisante ou non. Une

5

(36)

Param`etres du NI Protocole Type de trafic Taille des donn´ees Nombre de destinations Conversion de fr´equence

Tableau 1: Architecture et param`etres des NIs

´evaluation des performances est l’action d’estimer les effets d’un choix archi- tectural sur les principales m´etriques du syst`eme. Le niveau de d´etails adopt´e dans les ´evaluations de performance, qui a un effet direct sur leur pr´ecision et leur complexit´e, est d´efini par son niveau d’abstraction.

Niveaux d’abstraction

Le niveau de pr´ecision d’une ´evaluation des performances augmente avec le niveau de d´etails de l’impl´ementation mod´elis´es. Cependant, la complexit´e et le temps requis pour obtenir des r´esultats augmentent drastiquement quand le niveau d’abstraction diminue. G´en´eralement, les niveaux d’abstractions suiv- ants sont consid´er´es dans le contexte des SoCs ; les niveaux sont donn´es dans un ordre d´ecroissant [29]:

• Niveau fonctionnel: Les mod`eles fonctionnels ne prennent en compte ni le temps ni le partage des ressources et les fonctionnalit´es sont donc ex´ecut´ees instantan´ement. Ces mod`eles sont g´en´eralement utilis´es pour valider conceptuellement un syst`eme;

(37)

Param`etres du routeur Degr´e du routeur

Taille des flits Routage Arbitrage des ports

Param`etres des interfaces Profondeur de la FIFO Nombre de canaux virtuels Arbitrage des canaux virtuels

Contrˆole de flux Tableau 2: Architecture et param`etres des routeurs

7

(38)

• Niveau transactionnel: Dans les mod`eles transactionnels, les transac- tions sont consid´er´ees comme ´etant des op´erations atomiques avec des dur´ees pr´ecises. Ces mod`eles peuvent ˆetre utilis´es pour la validation des protocoles de communications ou pour une ´evaluation pr´eliminaire des performances;

• Pr´ecision au cycle pr`es ou `a l’octet pr`es (CABA): Une notion d’horloge est introduite `a ce niveau pour mod´eliser pr´ecis´ement les d´elais et les fonctionnalit´es;

• Niveau de transfert des registres (RTL): Ces mod`eles prennent en compte les registres et la logique combinatoire. Ils sont pr´ecis au bit pr`es;

• Niveau porte: les mod`eles de portes sont des mod`eles RTL comprenant des informations additionnelles, telles que des donn´ees de temps ou d’agencement;

• Niveau du transistor: Les propri´et´es ´electriques du syst`eme sont prises en compte dans ces mod`eles.

Flot de conception

Dans les flots de conception des SoCs, les choix du concepteur sont valid´es par des ´etapes d’´evaluations allant dans un ordre croissant de complexit´e. En effet, les possibilit´es d’optimisation dans les bas niveaux d’abstraction sont limit´ees aux configurations voisines, notamment `a cause du haut co ˆut de modification des syst`emes et de la complexit´e croissante des m´ethodes d’´evaluation des per- formances. Les niveaux d’abstraction sup´erieurs sont donc consid´er´es en pre- mier: le concepteur explore tout d’abord l’espace de conception `a bas co ˆut afin d’identifier les configurations les plus prometteuses, puis il valide leurs per- formances de mani`ere plus pr´ecise dans des niveaux d’abstraction inf´erieurs.

Cette m´ethode permet une diminution du nombre de validations bas-niveaux co ˆuteuses en termes de temps.

La relation entre les possibilit´es d’exploration et le co ˆut de modification des syst`emes sont sch´ematis´es dans la figure2tandis que la strat´egie d’exploration de l’espace de conception est donn´ee dans la figure3.

(39)

Figure 2: Possibilit´es d’exploration et co ˆuts de modification

Figure 3: Strat´egie d’exploration de l’espace de conception des NoCs

Un flot de conception g´en´erique de NoCs directement inspir´e de ce concept est donn´e dans la figure4. Il d´etaille les diff´erentes ´etapes du frontend, et plus particuli`erement les sous-´etapes de conception de l’interconnexion. Le flot est inspir´e de la m´ethodologie de conception en Y (Y-chart) [60;69],qui consiste `a isoler le d´eveloppement du logiciel de celui du mat´eriel.

Dans la suite, nous d´ecrivons en premier comment les caract´eristiques des NoCs sont d´efinies durant les premi`eres ´etapes du flot avant de d´etailler leur conception.

D´efinition du cahier des charges des NoCs

La conception d’un SoC commence toujours par la d´efinition d’un cahier des charges. Le cahier des charges d´ecrit les besoins du syst`eme: son environ- nement de fonctionnement, les fonctionnalit´es principales et les contraintes de performances y sont notamment d´efinis, ind´ependamment de toute con- sid´eration logicielle ou mat´erielle.

Depuis ces donn´ees, un mod`ele fonctionnel du syst`eme peut ˆetre d´efini (´etape System functional model). Le syst`eme est ici mod´elis´e globalement et aucune distinction n’est faite entre logiciel et mat´eriel. Les fonctionnalit´es sont d´ecrites par des langages de programmation haut-niveau (C, C++, Java) ou par des m´ethodes formelles et les moyens utilis´es pour les r´ealiser ne sont pas d´etaill´es. Le principal objectif de cette ´etape est de v´erifier la faisabilit´e du syst`eme.

9

(40)

Figure 4: Flot de conception g´en´erique des syst`emes bas´es sur des NoCs

(41)

Les fonctionnalit´es sont ensuite partitionn´ees en tˆaches communicant les unes avec les autres. Chacune de ces tˆaches est ensuite assign´ee `a une unit´e logicielle ou mat´erielle (´etape HW/SW partitioning). Le logiciel et le mat´eriel peuvent alors ˆetre d´evelopp´es en parall`ele car leurs fonctionnalit´es et con- traintes respectives sont d´efinies pr´ecis´ement `a ce point du flot.

L’´etape suivant est le regroupement des ressources mat´erielles en sous- syst`emes (´etape Subsystems definition). Chaque sous-syst`eme est conc¸u pour ex´ecuter une tˆache pr´ecise (sous-syst`eme d’affichage ou de gestion des p´eriph´eriques). L’interconnexion est alors d´efinie comme ´etant le moyen de communication entre les diff´erents sous-syst`emes (et non entre les diff´erentes tˆaches). La description des communications entre les sous-syst`emes d´etermine donc les caract´eristiques du NoC.

Dans la suite, nous nous concentrons sur la conception des NoCs. Le d´eveloppement logiciel et la conception des IPs ne sont pas d´ecrits car ils ne font pas partie des sujets trait´es dans cette th`ese.

Le rˆole des m´ethodes d’´evaluations des performances dans la conception des NoCs

Comme pr´ecis´e ci-dessus, les NoCs sont conc¸us au travers d’une s´erie de cycles d’optimisations (op´eration durant laquelle le concepteur am´eliore it´erativement la configuration du syst`eme jusqu’`a ce que les contraintes de per- formances soient respect´ees). Un cycle se d´ecompose comme suit: (1) des choix architecturaux sont faits; (2) les cas d’utilisation sont mapp´es sur les cœurs;

(3) les performances de la plateforme sont ´evalu´ees et compar´ees avec les con- traintes. Si les r´esultats sont satisfaisants, le cycle est ex´ecut´e une nouvelle fois `a un niveau d’abstraction inf´erieur; sinon, le syst`eme est modifi´e selon les r´esultats et le mˆeme cycle est ex´ecut´e une nouvelle fois, comme sch´ematis´e dans la figure4. En parall`ele, des v´erifications sont effectu´ees afin de valider que les propri´et´es fonctionnelles sont assur´ees par le syst`eme (v´erifications fonctionnelles).

Finalement, la plateforme est envoy´ee au backend apr`es une synth`ese et l’ex´ecution de l’algorithme de placement et routage. A ce point dans le proces-

11

(42)

sus de conception, modifier le syst`eme devient consid´erablement complexe, et retourner aux ´etapes du frontend `a cause de mauvais choix de conception peut s’av´erer catastrophique en termes de temps et de co ˆuts pour un projet. Les m´ethodes d’´evaluation des performances sont donc primordiales: elles doivent en effet donner assez d’informations pour permettre aux concepteurs de faire des choix architecturaux judicieux en amont des ´etapes du backend.

Les estimations de performance bas-niveaux fournissent des informations pr´ecises et `a grains-fins sur le comportement du syst`eme. Les principales probl´ematiques `a ces niveaux d’abstraction sont alors la g´en´eralit´e et la fia- bilit´e des r´esultats: un maximum de traces de communications doivent ˆetre test´ees pour assurer la stabilit´e du syst`eme dans un maximum de situations.

Aux niveaux d’abstraction sup´erieurs, les informations disponibles sont limit´ees et les d´etails de l’impl´ementation ne sont g´en´eralement pas encore d´efinis. Dans ces conditions, esp´erer une estimation pr´ecise des performances de l’impl´ementation finale n’est pas r´ealiste. N´eanmoins, l’objectif est plutˆot une exploration efficace de l’espace de conception pour identifier rapidement les configurations prometteuses. Dans ce contexte, une comparaison ´equitable des diff´erentes possibilit´es est suffisante. La propri´et´e de conserver globale- ment les principales tendances d’une m´etrique dans l’espace de conception est g´en´eralement nomm´ee fid´elit´e. Cette propri´et´e assure que le mod`ele est un comparateur ´equitable plutˆot qu’un estimateur pr´ecis des r´esultats finaux, et est donc une caract´eristique cl´e des m´ethodes d’´evaluations des performances

`a haut-niveau. Il est int´eressant de noter que la fid´elit´e est une notion plus g´en´erale que la pr´ecision: il est ´evident qu’une estimation pr´ecise est aussi fid`ele.

Les m´ethodes existantes d’´evaluation des performances

Nous d´ecrivons dans la suite un ensemble de m´ethodes d’´evaluations des per- formances utilis´es dans les milieux industriels, dans un ordre croissant de niveau d’abstraction.

(43)

Prototypage

Concevoir une puce de test (prototype) est la solution historique et naturelle pour l’´evaluation des SoCs. Cette m´ethode fournit toutes les informations ex- actes sur le syst`eme: faisabilit´e, co ˆuts, performances. Cependant, au vu que la complexit´e des syst`emes ne cesse d’augmenter, le temps et le co ˆut n´ecessaires

`a la construction de tels prototypes sont devenus prohibitifs. De plus, un pro- totype ne peut ˆetre utilis´e que pour tester une unique impl´ementation d’un syst`eme, quand la tendance est plutˆot `a l’optimisation de la r´eutilisabilit´e et de la g´en´eralit´e des m´ethodes de validation.

Emulation

L’´emulation des NoCs est g´en´eralement bas´ee sur des circuits logiques pro- grammables (FPGA -Field Programmable Gate Arrays). Cette m´ethode est plus efficace et moins co ˆuteuse que le prototypage, et g´en´eralement plus rapide que les simulations. Cependant, les m´ethodes d’´emulations manquent de flexi- bilit´e notamment `a cause des multiples reconfigurations des FPGA, n´ecessaires

`a l’analyse et `a la comparaison des diff´erentes alternatives de syst`emes, qui sont co ˆuteuses en termes de temps.

Simulation

Les ´evaluations des performances bas´ees sur des simulations sont les m´ethodes les plus utilis´ees dans les contextes industriels aujourd’hui. Les simula- tions peuvent ˆetre ex´ecut´ees `a diff´erents niveaux d’abstraction (niveaux trans- actionnel, CABA ou RTL). Les ´evaluations bas´ees sur des simulations sont plus adapt´ees `a une exploration de l’espace de conception que les m´ethodes pr´ec´edentes car elles sont plus flexibles et plus facilement d´eployables. Cepen- dant, l’augmentation du nombre de blocs int´egr´es dans les SoCs et de la com- plexit´e des communications entre eux font que ce processus peut s’av´erer co ˆuteux en termes de temps. De plus, les mod`eles unitaires de chaque bloc ainsi que du syst`eme assembl´e lui-mˆeme doivent ˆetre v´erifi´es et valid´es pr´ealablement `a toute simulation, retardant la disponibilit´e de ces m´ethodes.

Les analyses statiques sont donc apparues en r´eponse `a ces limitations.

13

(44)

Analyses statiques des performances

Le terme analyse statique d´esigne toutes les m´ethodes d’´evaluation des per- formances qui ne sont pas bas´ees sur des simulations [24; 76]. Toutes les m´ethodes bas´ees sur des th´eories math´ematiques appartiennent `a cette cat´egorie. Ces m´ethodes se sont d´evelopp´ees en tant que solution pour fournir des pr´edictions rapides des performances avec une complexit´e de mod´elisation limit´ee. En effet, elles sont en g´en´eral capables de fournir des pr´edictions en quelques secondes `a quelques heures. De plus, elles sont disponibles tr`es rapi- dement dans le flot de conception. Ce type de m´ethodes est donc hautement adapt´e `a l’exploration de l’espace de conception des NoCs `a grande ´echelle [110].

La plupart des m´etriques de performance des NoCs peuvent ˆetre mod´elis´ees avec des analyses statiques: on peut trouver des travaux sur la latence, la puissance, la surface, la temp´erature ou encore le trafic dans la litt´erature. Les th´eories math´ematiques les plus utilis´ees dans le contexte des NoCs sont les lois de probabilit´es, la th´eorie des queues, les m´ethodes statistiques, la th´eorie du Network Calculus, ou encore l’apprentissage au- tomatique. Nous identifions ci-dessous trois probl´ematiques qui doivent ˆetre consid´er´ees lors de la conception de tels mod`eles [18;58;64;91].

Fid´elit´e et g´en´eralit´e: Comme pr´ecis´e ci-dessus, la pr´ecision des m´ethodes bas´ees sur des th´eories math´ematiques par rapport `a l’impl´ementation finale est souvent faible (erreur allant de 30% `a 50% ou plus), mais la fid´elit´e est la propri´et´e la plus importante dans ce contexte.

Les analyses statiques peuvent pourtant manquer de g´en´eralit´e, car elles sont g´en´eralement construites `a partir d’hypoth`eses restrictives qui visent `a sim- plifier la mod´elisation ou `a la mise en place de l’environnement ad´equat pour pouvoir appliquer une th´eorie. Elles sont donc souvent limit´ees `a des topolo- gies ou architectures sp´ecifiques et/ou `a des conditions de trafic purement th´eoriques. D’un autre cˆot´e, la g´en´eralit´e est une probl´ematique complexe. En effet, prendre en compte toutes les possibilit´es de configurations ou de con- ditions dynamiques (trafic, fr´equences, voltage) implique que l’efficacit´e de la m´ethode doit ˆetre homog`ene sur l’int´egralit´e de l’espace de conception pour

(45)

garantir la fid´elit´e. Trouver un compromis entre les hypoth`eses simplificatri- ces et la g´en´eralit´e tout en garantissant la fid´elit´e est donc un des enjeux cl´es de ce type d’approches.

Efficacit´e: Une autre probl´ematique importante d´ej`a mentionn´ee plus tˆot est le fait que les informations fournies par les mod`eles doivent ˆetre suffisam- ment compl`etes et fiables afin de guider efficacement les concepteurs dans leurs explorations. Cet objectif implique non seulement que la quantit´e de donn´ees fournies par les mod`eles doit ˆetre suffisante, mais aussi qu’un moyen de mesurer la qualit´e des r´esultats peut s’av´erer tr`es utile. Nous donnons ici trois propri´et´es importantes des analyses statiques dans le contexte des NoCs inspir´ees de ces observations.

Tout d’abord, estimer globalement les performances d’un syst`eme n’est pas suffisant pour l’´etude des possibilit´es d’optimisation: des r´esultats `a grains fins sont n´ecessaires pour identifier la source des ´eventuels probl`emes. Ce premier point est complexe, car il implique que l’on doit pouvoir fournir des estima- tions des performances non seulement des composants mais aussi de leur sous- modules, sans perdre aucune g´en´eralit´e dans le processus de mod´elisation.

Deuxi`emement, ces m´ethodes sont utilis´ees avant toute ex´ecution du flot d’impl´ementation et prendre en compte les effets de la technologie et de la synth`ese dans le processus d’´evaluation est donc complexe. Ce constat est encore renforc´e par le fait que ces effets sont g´en´eralement impr´evisibles.

Enfin, et comme pr´ecis´e plus tˆot, une mesure de la fiabilit´e des r´esultats est importante, car le haut niveau d’abstraction et les diff´erentes hypoth`eses m`enent indubitablement `a des impr´ecisions et irr´egularit´es dans le mod`ele lui-mˆeme.

Ces trois propri´et´es ne sont pas simples `a obtenir par elles-mˆemes dans les m´ethodologies usuelles de mod´elisation, et donc concevoir des mod`eles qui fournissent les trois est encore plus complexe.

Automatisation: Un dernier point tr`es important est l’automatisation du processus de mod´elisation. En effet, le grand nombre de degr´es de lib- ert´es des NoCs r´esulte dans des comportements tr`es complexes. Dans ce con- texte, les interventions du concepteur dans la mod´elisation devraient ˆetre min- imis´ees car elles peuvent mener `a des erreurs ou impr´ecisions. En particulier,

15

(46)

pr´evoir les corr´elations entre les param`etres est difficile : les relations entre l’impl´ementation et le comportement des diff´erentes sous parties des com- posants peuvent ˆetre bien trop complexes pour ˆetre estim´ees a priori. Une solution `a ce probl`eme est l’utilisation d’une m´ethode capable d’identifier et caract´eriser ces corr´elations automatiquement.

Les m´etriques mod´elis´ees dans ce travail

Les NoCs peuvent ˆetre ´evalu´es selon diff´erentes m´etriques: performances tem- porelles (latence moyenne, seuil de saturation), puissance ou encore surface.

Si la premi`ere ´evalue les fonctionnalit´es de la plateforme, les deux autres

´evaluent son impl´ementation. Pour cette raison, elles sont difficiles `a estimer pr´ecis´ement avant l’ex´ecution de l’algorithme de placement et routage. Cepen- dant, il est impossible de les n´egliger durant les premi`eres ´etapes du flot de conception car elles sont critiques au bon fonctionnement de la plateforme.

Dans cette th`ese, nous proposons un ensemble de m´ethodologies pour con- cevoir des mod`eles analytiques de la surface et de la puissance des NoCs.

Les mod`eles prennent en entr´ee une configuration et pr´edisent les valeurs des m´etriques correspondantes en quelques secondes `a quelques minutes, au niveau de granularit´e de l’interface, du composant ou de la plateforme. Ces mod`eles peuvent donc ˆetre utilis´es directement dans un cycle d’optimisation au niveau architectural.

Surface

D´eterminer la taille optimale du syst`eme sur la puce et optimiser l’utilisation du silicone disponible sont des points cl´es dans le processus de conception des SoCs. La minimisation de la surface est partiellement trait´ee par les avanc´ees technologies; cependant, la surface du dispositif diminue effective- ment avec la technologie, mais cette tendance n’est pas vraie pour les inter- connexions `a cause de leur nature elle-mˆeme (connecter des sous-syst`emes situ´es `a diff´erents endroits sur la puce). Les concepteurs de NoCs doivent donc faire tr`es attention au processus d’agencement des blocs, et en partic-

(47)

ulier aux compromis entre la longueur des fils, la bande-passante, l’addition de logique et la puissance. En effet, ajouter des registres suppl´ementaires peut am´eliorer les performances; cependant, cette am´elioration est obtenue au prix d’une augmentation de la puissance consomm´ee, car la puissance dissip´ee est directement d´ependante du nombre de portes int´egr´ees dans la plateforme. La quantit´e de logique est donc critique car elle a un effet direct sur le co ˆut, les d´elais et la consommation d’une puce.

Cette th`ese traite en particulier de l’estimation de la surface logique des NoCs. La surface logique repr´esente la quantit´e de logique des blocs des NoCs et est g´en´eralement exprim´ee en kgates. Cette mesure est r´ealis´ee avant les

´etapes du backend et est donc une estimation impr´ecise de la surface effective sur la puce. N´eanmoins, la surface logique pr´eserve les principales tendances de la surface finale des blocs et est disponible plus tˆot. Pour ces raisons, elle est souvent utilis´ee en tant que mesure indicative par les concepteurs dans les contextes industriels. Cependant, cette ´evaluation reste co ˆuteuse en ter- mes de temps: une synth`ese peut durer de quelques heures `a quelques jours selon la taille de la plateforme. Ce processus est donc peu adapt´e `a un cycle d’optimisation.

Puissance

Le r´ecent d´eveloppement des portables et appareils sans fils ainsi que l’augmentation de la demande en performances ont amen´e les fournisseurs `a porter leur attention sur la puissance consomm´ee, l`a o `u seules la surface et les performances ´etaient prises en comptes quelques ann´ees plus tˆot. Ce constat est encore renforc´e par le fait que la densit´e d’int´egration des circuits int´egr´es double tous les 18 mois depuis plus de 30 ans, tandis que les technologies de batteries sont am´elior´ees `a un rythme bien plus lent, comme illustr´e sur la figure 5[50]. Au final, optimiser la puissance consomm´ee par les SoCs est une des probl´ematiques principales de leur conception. Quelques exemples de m´ethodes utilis´ees pour limiter la consommation de puissance sont, mis `a part une optimisation de l’architecture: l’extinction p´eriodique de la puissance (l’alimentation est ´eteinte lorsque le bloc est au repos), l’extinction p´eriodique

17

(48)

Figure 5: L’´ecart de capacit´es des batteries

de l’horloge (l’horloge est ´eteinte lorsque le bloc est au repos), les ˆılots de volt- age et les choix dynamiques de voltages et fr´equences.

Dans ce contexte, un effort particulier doit ˆetre fait sur l’interconnexion, car sa proportion dans la consommation totale augmente largement avec la demande en bande passante et les avanc´ees technologiques, par exemple 28%

dans le puce Intel 80 cœurs teraflop [91].

La puissance est consomm´ee par deux sources distinctes: la puissance statique (courants de dissipation) et puissance dynamique (chargement et d´echargement des capacitances et courts-circuits) [118]. Comme pr´ecis´e plus tˆot, la consommation de puissance statique est directement proportion- nelle `a la quantit´e de logique. D’un autre cˆot´e, la puissance dynamique est d´ependante de la strat´egie d’int´egration des blocs sur la puce ainsi que du trafic. Dans les technologies les plus r´ecentes, aucune de ces sources ne peut ˆetre n´eglig´ees [50]. La consommation est aussi influenc´ee par des ph´enom`enes

´electriques et la temp´erature de la puce, mais ces effets sont ignor´es dans cette th`ese au vu du haut niveau d’abstraction consid´er´e.

(49)

R´esum´e

Cette th`ese pr´esente une m´ethodologie de mod´elisation des composants des NoCs. Ce travail tentera notamment de donner des ´el´ements de r´eponses aux cinq probl´ematiques suivantes:

Les NoCs sont caract´eris´es par un large ´eventail de possibilit´es de config- uration et il est donc complexe de consid´erer l’ensemble de l’espace de con- ception dans un mod`ele haut-niveau. Est-il possible de trouver une m´ethode de conception d’analyses statiques qui ne limite pas le nombre de degr´es de libert´e inh´erents `a la conception des NoCs, i.e. incluant toutes les possibilit´es de configuration et de conditions dynamiques (e.g. trafic, fr´equences)?

L’automatisation du processus de mod´elisation permet d’en limiter la dur´ee tout en ´evitant les in´evitables impr´ecisions induites par des interventions hu- maines. Comment peut-on maximiser le nombre d’´etapes compl`etement au- tomatis´ees dans un proc´ed´e de mod´elisation haut-niveau?

Au vu du fait que le niveau d’abstraction des analyses statiques est ´elev´e, il est irr´ealiste de s’attendre `a une estimation pr´ecise des performances sur la puce. La fid´elit´e est donc l’objectif principal (i.e. le mod`ele respecte glob- alement l’´evolution des performances dans l’espace), plutˆot que la pr´ecision.

Une solution ´evidente pour assurer la fid´elit´e est de baser le mod`ele sur une description du comportement global du syst`eme. Cependant, ce type d’approche entre en conflit avec les probl´ematiques pr´ec´edentes. Comment peut-on optimiser la fid´elit´e d’un mod`ele haut-niveau sur l’ensemble des pos- sibilit´es de configuration sans limiter la g´en´eralit´e de l’approche? En d’autres termes, une analyse statique peut-elle comparer ´equitablement le comporte- ment des diff´erentes configurations et conditions dynamiques sans d´etailler pr´ecis´ement leur impl´ementation ou sans faire d’hypoth`eses simplificatrices?

La quantit´e d’informations fournies par une analyse statique doit ˆetre suff- isante pour permettre une exploration efficace de l’espace de conception. Par ailleurs, et en raison du tr`es haut niveau d’abstraction, fournir au concepteur une mesure de la qualit´e du mod`ele est aussi une question importante. Peut-on trouver une solution qui produise des mod`eles `a grains fins du comportement du syst`eme tout en proposant une mesure de la qualit´e des r´esultats?

19

(50)

Enfin, cette th`ese traite des m´etriques li´ees au co ˆut de l’impl´ementation (i.e. surface et consommation), qui sont directement d´ependantes de la tech- nologie utilis´ee et de l’algorithme d’agencement des blocs. Comment peut-on mod´eliser de telles m´etriques avant toute ex´ecution du flot d’impl´ementation?

Cette th`ese propose une m´ethodologie de mod´elisation pour concevoir des analyses statiques des co ˆuts des composants des NoCs en r´eponse `a ces probl´ematiques. La m´ethode propos´ee est principalement orient´ee vers la g´en´eralit´e. En particulier, aucune hypoth`ese n’est faite ni sur le nombre de param`etres architecturaux consid´er´es ni sur les d´ependances des m´etriques (surface, puissance) sur ces param`etres. Nous sommes alors en mesure de mod´eliser des composants proposant des millions de possibilit´es de config- urations (ordre de 1030 possibilit´es de configurations) et d’estimer le co ˆut de r´eseaux sur puce compos´es d’un grand nombre de ces composants au niveau architectural en quelques secondes `a quelques minutes. Il est complexe de mod´eliser ce type de composants avec des mod`eles analytiques exp´erimentaux

`a cause du trop grand nombre de possibilit´es de configurations. Nous pro- posons donc un flot enti`erement automatis´e qui peut ˆetre appliqu´e tel quel

`a n’importe quelles architecture et technologie. Le flot conc¸oit des mod`eles analytiques `a grains fins sur la base de r´esultats de performances obtenus au niveau porte et d’une m´ethode d’apprentissage automatique. Il est alors capable de concevoir des mod`eles pr´esentant une meilleure fid´elit´e que les m´ethodes de mod´elisation bas´ees uniquement sur des th´eories math´ematiques tout en conservant leurs principales qualit´es (basse complexit´e, disponibilit´e pr´ecoce).

Nous proposons d’utiliser une m´ethode d’interpolation bas´ee sur la th´eorie de Kriging. Kriging permet de minimiser le nombre d’ex´ecutions du flot d’impl´ementation n´ecessaires `a la mod´elisation tout en caract´erisant le com- portement des m´etriques `a la fois localement et globalement dans l’espace de conception, optimisant ainsi la fid´elit´e du mod`ele final. La m´ethode est tout d’abord appliqu´ee `a la surface logique des composants des r´eseaux sur puces.

L’inclusion du trafic dans la m´ethode est ensuite trait´ee et un mod`ele de puis- sance statique et dynamique moyenne des routeurs est conc¸u sur cette base.

(51)
(52)

Introduction 1

chapter

Contents

1.1 Thesis scope . . . 23 1.2 Thesis Organization . . . 24

A

s technology advances, tens (and in the near future several hun- dreds) of elements need to be connected within the same chip, thus requiring an efficient on-chip interconnect. Network-on-Chip (NoC) paradigm is emerging as a flexible solution for interconnecting multi- ple cores into a single System-On-Chip (SoC). NoCs are able to handle high- bandwidth and scalability needs under tight performance constraints. How- ever, NoCs are usually characterized by a vast number of architectural and implementation parameters (e.g. topology, FIFOs depths), resulting in a vast design space (i.e. set of all possible configurations). Moreover, the effects of the configuration on performance, power or area are very complex to fully charac- terize as all those properties are tightly inter-correlated. The final configura- tion must then ensure an acceptable tradeoffbetween the different evaluation metrics.

Due to the large number of possibilities, it is impossible to test every al- ternative NoC configuration. NoC design is thus usually performed with an optimization loop, during which the designer improves iteratively the system

(53)

1. INTRODUCTION

configuration thanks to a set of evaluation methods. The loops are generally performed in a decreasing level of abstraction order (i.e. level of details con- sidered in the model). This step is a critical step in SoCs design; indeed, the design space exploration should be performed as quickly as possible to im- prove the overall SoC’s time-to-market. However, the performance evalua- tion complexity and design modifications cost increase drastically in low-level contexts (e.g. RTL, gate level). Moreover, most of main design decisions (e.g.

topology, routing scheme, quality of service) are usually made at architectural- level. Defining high-level performance evaluation methods that can be applied early is then mandatory to measure the effects of these decisions on the final implementation and identify quickly possible solutions in the design space.

Accurately modeling cost metrics in comparison to the final implementa- tion is impractical in the first steps of the design flow as these metrics are tightly dependent on the technology and layout. However, accuracy is not re- quired in this context: the main objective is rather the possibility to roughly compare different configurations with each other to identify the best ones. The property of preserving the relative order of the different possibilities is usually called fidelity.

1.1 Thesis scope

This thesis addresses the issue of modeling NoCs cost metrics at architectural level. The proposed method focuses particularly on the generality of the ap- proach. In particular, no assumption is made neither on the number of ar- chitectural parameters modeled nor on the dependences of the target metric on these parameters. We are then able to address components with millions of configurations possibilities (order of 1030configuration possibilities) and to estimate cost metrics (e.g. area, power) of complex NoCs composed of a large number of these components in few seconds to few minutes. It is difficult to model that kind of components with experimental analytical models due to the huge number of configuration possibilities. We thus propose a fully- automated modeling flow which can be applied directly to any architectures and technologies. The flow builds fine-grained analytical models on the basis

23

(54)

1.2. THESIS ORGANIZATION

of a set of gate-level results and a machine-learning method. It is then able to design models with a better fidelity than purely-mathematical methods while preserving their main qualities (i.e. low complexity, early availability). More- over, it is also able to take into account the effects of the technology on the performance.

We propose to use an interpolation method based on Kriging theory. By using Kriging methodology, we are able to minimize the number of imple- mentation flow runs required in the modeling process and to catch the main characteristics of the metrics both globally and locally, resulting in a high level of fidelity. The method is applied to model logic area of NoC components. The inclusion of traffic is then addressed and a NoC router leakage and average dy- namic power model is designed on this basis.

1.2 Thesis Organization

The rest of the manuscript is organized as follows:

Chapter2”Problem Definition” describes precisely NoCs design flow and the needs for performance and cost evaluation methods at different levels of abstraction. A particular focus is given to system-level evaluations calledstatic analysisand the main challenges of such approaches are analyzed. Finally, the cost metrics (i.e. area and power) and the main issues addressed by this thesis are described.

Chapter3”State of the Art” provides an analysis of NoCs state of art, with a specific focus on system-level modeling methods. First, a non-exhaustive list of NoCs technologies and topologies is given. Then, the existing methods to model SoC traffic are described, as this is a typical issue in NoC performance evaluations field. Finally, literature in NoC modeling for performance and cost evaluations at system-level is presented.

Chapter4”NoCs static cost metrics modeling” describes in details the pro- posed fully-automated NoC blocks modeling flow, which is the first main con- tribution of this thesis. The method is then applied to design a logic area model of highly-parametric router and network interface architectures.

Chapter 5 ”Router power model” describes a general NoC router power

(55)

1. INTRODUCTION

model based on the modeling flow proposed in chapter 4. The inclusion of traffic data into the modeling method is discussed before detailing the pro- posed power model, which is the second main contribution of this thesis.

Chapter 6 ”Experimental results” provides a set of experimental results.

First, the experimental conditions are described. The NoC area and power models are then validated and their fidelity discussed at different granular- ity levels (interface, component and platform). The other properties of the method are illustrated by additional results, and our modeling methodology is validated in the context of highly parametric NoCs.

Finally, chapter7”Conclusion and Perspectives” concludes the manuscript by summarizing the major contributions of the thesis and proposing interest- ing research directions as future work.

25

(56)
(57)
(58)

2

Probl´ematique

R´esum´e

chapitre

L

e nombre d’´el´ements int´egr´es dans les syst`emes sur puces (SoCs – Systems-on-chips) est en constante augmentation depuis plus de trente ans, notamment grˆace aux avanc´ees technologiques et aux am´eliorations des m´ethodes de conception. Dans ce contexte, les r´eseaux sur puces (NoCs – Networks-on-chips) sont apparus comme une solution d’interconnexion flexible et efficace pour assurer les communications toujours plus complexes au sein des SoCs. Les NoCs sont notamment en mesure de r´epondre aux besoins grandissants en bande-passante et en scalabilit´etout en respectant des contraintes pr´ecises de performances. Cependant, le grand nombre de param`etres architecturaux et d’options d’impl´ementation des NoCs r´esultent en un espace de conception tr`es vaste. De plus, l’influence exacte de la configuration sur les m´etriques de performance telles que la latence, la consommation ou la surface est complexe `a caract´eriser car ces mesures sont corr´el´ees les unes aux autres. La configuration finale doit donc assurer un compromis acceptable entre performances et co ˆuts. Dans ces conditions, la recherche d’une architecture de NoC r´epondant `a des besoins pr´ecis est une probl´ematique difficile.

La conception des NoCs est g´en´eralement bas´ee sur une s´erie de boucles d’optimisations. Le principe est d’am´eliorer it´erativement la configura- tion du NoC en alternant des ´etapes de choix architecturaux et des ´etapes d’´evaluations des syst`emes ainsi d´efinis. Si les r´esultats sont satisfaisants vis-

`a-vis des contraintes, le flot de conception passe `a la phase suivante, sinon la boucle est ex´ecut´ee une nouvelle fois. Les boucles sont r´ealis´ees dans un ordre d´ecroissant de niveaux d’abstraction (niveau de d´etails inclus dans un mod`ele).

Plus le niveau d’abstraction est bas, plus l’estimation est pr´ecise, mais le co ˆut

Références

Documents relatifs

Contributions Dans cette étude, nous avons utilisé l’IRM de diffusion tracto- graphique et l’IRM fonctionnelle au repos pour quantifier les changements de connectivité anatomique

This section provides the core results of the estimation of potential output, the output gap, the NAIRU and the Phillips’ curve using various methods namely a production

Hence, in the singular limit, Carnot efficiency is at the same time the most and the least probable value.. It then follows that in the large-Ω limit small fluctuations might lead

Tian, Optimal Power Control for Cognitive Radio Networks Under Coupled Interference Constraints: A Cooperative Game-Theoretic Perspective, IEEE Trans. Koivunen,

Tian, Optimal power control for cognitive radio networks under coupled interference constraints: a cooperative game-theoretic perspective, IEEE Trans. Koivunen,

• Chapter 3 begins with a review of data mining techniques applied to inter-area oscillations and formalizes the problem of mapping a relationship between a single output (e.g. the

Under the same quality of service constraints, we find the optimal network density that minimizes the area power consumption, whose existence depends on the pathloss exponent and