|
|
xi | |
|
|
xv | |
Foreword |
|
xvii | |
Preface |
|
xix | |
About the Editor |
|
xxiii | |
|
|
xxv | |
|
1 A Bio-Inspired Architecture for Autonomic Network-on-Chip |
|
|
1 | (20) |
|
|
|
2 | (1) |
|
|
3 | (4) |
|
1.2.1 Topology customization |
|
|
4 | (1) |
|
1.2.2 Bandwidth allocation |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
7 | (4) |
|
|
7 | (1) |
|
|
8 | (1) |
|
1.3.3 Flow control schemes |
|
|
9 | (2) |
|
|
11 | (1) |
|
|
12 | (7) |
|
1.5.1 Immune system principles |
|
|
13 | (1) |
|
|
14 | (2) |
|
|
16 | (3) |
|
|
19 | (2) |
|
2 Bio-Inspired NoC Architecture Optimization |
|
|
21 | (26) |
|
|
|
|
|
|
22 | (1) |
|
|
23 | (2) |
|
2.2.1 Employment of known standard architectures |
|
|
24 | (1) |
|
2.2.2 Generation of semi-custom architectures |
|
|
24 | (1) |
|
2.2.3 Generation of fully-custom architectures |
|
|
25 | (1) |
|
2.3 Bio-inspired optimization techniques |
|
|
25 | (1) |
|
2.4 Graph theory representation of NoC applications |
|
|
26 | (1) |
|
|
26 | (7) |
|
|
28 | (2) |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
32 | (1) |
|
2.5.5 Optimization objective function formulation |
|
|
32 | (1) |
|
2.6 Custom architecture generation using GA |
|
|
33 | (5) |
|
2.6.1 Legality criteria for generated architectures |
|
|
34 | (2) |
|
2.6.2 Methodology for custom architecture generation |
|
|
36 | (2) |
|
|
38 | (7) |
|
|
45 | (2) |
|
3 An Autonomic NoC Architecture Using Heuristic Technique for Virtual-Channel Sharing |
|
|
47 | (22) |
|
|
|
|
|
|
48 | (3) |
|
|
51 | (1) |
|
3.3 Resource utilization analysis |
|
|
52 | (2) |
|
|
52 | (1) |
|
3.3.2 Real application-based analysis |
|
|
53 | (1) |
|
3.4 The proposed router architecture: PVS-NoC |
|
|
54 | (10) |
|
|
56 | (2) |
|
3.4.2 The input controller and buffer allocation |
|
|
58 | (2) |
|
3.4.3 The output controller and routing algorithm |
|
|
60 | (1) |
|
3.4.4 Comparison with existing architectures |
|
|
61 | (2) |
|
3.4.5 Virtual-channel sharing under faults |
|
|
63 | (1) |
|
|
64 | (2) |
|
|
65 | (1) |
|
3.5.2 Real application traffic |
|
|
65 | (1) |
|
|
66 | (2) |
|
|
68 | (1) |
|
4 Evolutionary Design of Collective Communications on Wormhole NoCs |
|
|
69 | (36) |
|
|
|
|
70 | (1) |
|
4.2 Collective communications |
|
|
71 | (6) |
|
4.2.1 A model of communication |
|
|
72 | (2) |
|
4.2.2 Classification of collective communications |
|
|
74 | (1) |
|
4.2.3 The lower bounds on time complexity |
|
|
75 | (2) |
|
|
77 | (1) |
|
4.4 Evolutionary design of collective communications |
|
|
78 | (7) |
|
4.4.1 Input data structure and preprocessing |
|
|
80 | (1) |
|
|
80 | (1) |
|
|
81 | (2) |
|
4.4.4 Fitness function definition |
|
|
83 | (1) |
|
4.4.5 Acceleration and restoration heuristics |
|
|
84 | (1) |
|
4.4.6 The mutation operator |
|
|
84 | (1) |
|
4.5 Optimization tools and parameters adjustments |
|
|
85 | (4) |
|
4.5.1 Experimental comparison of optimization quality |
|
|
86 | (1) |
|
4.5.2 Experimental comparison of optimization speed |
|
|
86 | (1) |
|
4.5.3 Experimental comparison of optimization scalability |
|
|
87 | (2) |
|
|
89 | (1) |
|
4.6 Experimental results of the quest for high-quality schedules |
|
|
89 | (9) |
|
4.6.1 Experimental results on common topologies |
|
|
89 | (2) |
|
4.6.2 Experimental results on novel and fat nodes topologies |
|
|
91 | (3) |
|
4.6.3 Experimental results on fault-tolerant topologies and many-to-many patterns |
|
|
94 | (4) |
|
|
98 | (7) |
|
4.7.1 Contributions of the proposed technique |
|
|
101 | (1) |
|
|
102 | (3) |
|
5 Formal Aspects of Parallel Processing on Bio-Inspired on-Chip Networks |
|
|
105 | (30) |
|
|
|
106 | (2) |
|
|
108 | (1) |
|
|
108 | (1) |
|
|
109 | (5) |
|
5.4.1 Category definition |
|
|
109 | (1) |
|
5.4.1.1 Category as a graph |
|
|
109 | (1) |
|
5.4.1.2 Identity morphism and composition of morphisms |
|
|
110 | (2) |
|
5.4.1.3 Identity and associativity for composition of morphisms |
|
|
112 | (1) |
|
|
112 | (1) |
|
|
112 | (1) |
|
5.4.4 Natural isomorphism |
|
|
113 | (1) |
|
|
113 | (1) |
|
5.5 Processing BioChipNet tasks |
|
|
114 | (10) |
|
5.5.1 Parallel composition of BioChipNet tasks |
|
|
114 | (1) |
|
|
115 | (1) |
|
5.5.3 Categorical characteristics of BioChipNet tasks |
|
|
116 | (2) |
|
5.5.4 Core-to-core networks |
|
|
118 | (1) |
|
5.5.4.1 Self-configuration of core-to-core networks |
|
|
118 | (2) |
|
5.5.4.2 Category of core-to-core networks |
|
|
120 | (1) |
|
5.5.4.3 Extensional monoidal category of core-to-core networks |
|
|
121 | (1) |
|
5.5.4.4 Pushout of self-configuring core-to-core networks |
|
|
122 | (2) |
|
5.6 Processing BioChipNet data |
|
|
124 | (8) |
|
|
124 | (2) |
|
5.6.2 Category of BioChipNet data types |
|
|
126 | (1) |
|
5.6.3 Extensional monoidal category of BioChipNet data types |
|
|
127 | (2) |
|
5.6.4 Parallel composition of BioChipNet agents |
|
|
129 | (3) |
|
|
132 | (2) |
|
|
134 | (1) |
|
6 HAMSoC: A Monitoring-Centric Design Approach for Adaptive Parallel Computing |
|
|
135 | (30) |
|
|
|
|
|
|
136 | (1) |
|
6.2 Hierarchical agent monitoring design approach |
|
|
137 | (7) |
|
6.2.1 Monitoring-centric design methodology |
|
|
137 | (2) |
|
6.2.2 Hierarchical agent monitoring |
|
|
139 | (2) |
|
6.2.3 Hierarchical agent monitored system-on-chip |
|
|
141 | (3) |
|
6.3 Formal specification of HAMSoC |
|
|
144 | (12) |
|
6.3.1 Specification framework of HAMSoC |
|
|
144 | (3) |
|
6.3.2 Specification of agents and resources |
|
|
147 | (1) |
|
6.3.2.1 Formal specification of resources |
|
|
147 | (2) |
|
6.3.2.2 Formal specification of agents |
|
|
149 | (1) |
|
6.3.3 Specification of monitoring operations |
|
|
150 | (1) |
|
6.3.3.1 Specification format |
|
|
150 | (1) |
|
6.3.3.2 Types of monitoring operation |
|
|
151 | (1) |
|
6.3.4 State transition of agents and resources |
|
|
152 | (1) |
|
6.3.4.1 State transition of resources |
|
|
153 | (2) |
|
6.3.4.2 State transition of agents |
|
|
155 | (1) |
|
6.4 Design example: hierarchical power monitoring in HAMNoC |
|
|
156 | (7) |
|
|
157 | (2) |
|
6.4.2 Specification of resources |
|
|
159 | (1) |
|
6.4.3 Specification of agents and monitoring operations |
|
|
159 | (2) |
|
6.4.4 Formal modeling of state transitions |
|
|
161 | (2) |
|
|
163 | (1) |
|
|
164 | (1) |
|
7 Toward Self-Placing Applications on 2D and 3D NoCs |
|
|
165 | (24) |
|
|
|
|
|
|
|
165 | (3) |
|
|
168 | (4) |
|
|
172 | (7) |
|
7.3.1 Conservative extension |
|
|
174 | (2) |
|
|
176 | (2) |
|
7.3.3 Location-updating code |
|
|
178 | (1) |
|
7.3.4 Updating replicated memory units |
|
|
179 | (1) |
|
7.4 Placing and replacing resources |
|
|
179 | (8) |
|
7.4.1 The placing algorithm |
|
|
179 | (4) |
|
|
183 | (4) |
|
|
187 | (2) |
|
|
189 | (26) |
|
|
|
|
|
190 | (3) |
|
|
190 | (1) |
|
8.1.2 Process variability |
|
|
191 | (1) |
|
|
192 | (1) |
|
8.2 Power management techniques |
|
|
193 | (10) |
|
8.2.1 Leakage power management |
|
|
194 | (1) |
|
8.2.2 Dynamic power management |
|
|
194 | (3) |
|
8.2.2.1 DVFS architecture overview |
|
|
197 | (3) |
|
|
200 | (1) |
|
|
201 | (1) |
|
8.2.2.4 Sensing the computational activity |
|
|
202 | (1) |
|
8.3 Controlling uncertainty and handling process variability |
|
|
203 | (4) |
|
8.4 Data synchronization in GALS system |
|
|
207 | (5) |
|
8.4.1 GALS wrapper with pausible clocking |
|
|
208 | (1) |
|
|
209 | (1) |
|
8.4.3 Boundary synchronization |
|
|
210 | (2) |
|
|
212 | (1) |
|
|
213 | (2) |
Bibliography |
|
215 | (28) |
Index |
|
243 | |