Top Banner
Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania http://csac.ulbsibiu.ro/ Automatic Multi-Objective Optimization of Mono-Core and Multi-Core Architectures using Domain-Knowledge CONTI Automotive R&D, Invited Talk, Sibiu, March 4 th 2013 Professor Lucian Vinţan, PhD “Lucian Blaga” University of Sibiu (LBUS), Romania Academy of Technical Sciences of Romania
61

CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

Feb 14, 2018

Download

Documents

vanhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Automatic Multi-Objective Optimization of Mono-Core and Multi-Core

Architectures using Domain-Knowledge

CONTI Automotive R&D, Invited Talk, Sibiu, March 4th 2013

Professor Lucian Vin ţan, PhD“Lucian Blaga” University of Sibiu (LBUS), Romania

Academy of Technical Sciences of Romania

Page 2: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

22

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

The LBUS Advanced Computer Architecture

and Processing Systems Research Lab (ACAPS)

� Main on-going Research Projects: � Developing and Optimizing some Innovative

Computer (Micro-)Architectures� Text Mining (Developing Documents Classification

and Clustering Methods)

� Team:� Assoc. Prof. A. Florea, Dr. A. Gellert, Dr. I. D. Morariu,

Dr. R. Cretulescu, Dr. H. Calborean, Dr. C. Radu� PhD Students: Dr. I. Mironescu, R. Chis� MSc StudentsDetails at: http://acaps.ulbsibiu.ro/index.php/en/

Page 3: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

33

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Computer Architecture Research� Scope:

� Development innovative computer architectures and multi-objective optimization of these architectures

� Objectives:

� Developing some novel effective micro-architectures� Develop a robust and fast automatic design space

exploration framework for H/S optimizing computer systems� Research how domain-knowledge could be represented and

integrated into the Design Space Exploration (DSE) algorithms

� Quantify domain-knowledge impact on the DSE process� Evaluate & compare different multi-objective DSE algorithms

Page 4: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

44

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Automatic Design Space Exploration

� A NP-hard Problem� HUGE design space

� 50 parameters, 8 values/parameter� 2150

configurations!� M-SIM 2 � 2,5 millions of billions configurations!� Manual design space exploration � impossible

� Multi-objective optimization (performance, power consumption, complexity…) � problem becomes even (NP-) harder

� Solution� Advanced heuristic algorithms

Page 5: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

55

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Hardware-Software Co-Optimization

� Not only the hardware needs to besimulated; programs are compiled for thathardware with different optimizations -that might work or not work well

� Compiler (scheduler) optimizations aredependent on the hardware architecture

� � We need hardware software co-optimization ���� cross -layer optimization

� It is now even harder for an architect tothink about all these H/S parameters

Page 6: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

66

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Multi-Objective Optimization

� A vector function f that maps a tuple of mparameters to a tuple of n objectives

� This can be expressed like this:� Min/Max y = f(x) = (f1(x), f2(x) … fn(x))� x = (x1, x2, …, xm) Є X - decision vector

(no. of cores, interconnect-net type, caches capacities, no. of. FUs, etc.)

� y = (y1, y2, …, yn) Є Y- objective vector(IPC, Energy, Complexity, WCET, etc.)

Page 7: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

77

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Basic Notions: Pareto Front, Set,

Dominance (Minimization Problem)

Parameter space

p1

p2

p1

p2

o1

o2

Objective space

True Pareto front

Pareto front approx.

Dominated points

Pareto set approx.

Page 8: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

88

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Pareto Front – Minimization

Problem

Page 9: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

99

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Used DSE Algorithms

� Multi-objective evolutionary algorithms (Genetic Algorithms )� SEMO� FEMO� NSGA-II� SPEA2, etc.

� Bio -inspired algorithms� Ex. Particle Swarm Optimization (OMOPSO,

SMPSO, etc.)They are too general… Solutions?

Page 10: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

1010

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

(Multi-objective) Genetic Algorithms

Generate Initial Population

Stop condition met

Selection

Crossover(Recombination)

Mutation

Evaluate objective function

Present results

STOP

START

yes

no

New population

Problem: How do we compare different individuals which are evaluated on multiple objectives?

Page 11: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

1111

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Multi-objective optimization –

different solutions

Multi-objective optimization algorithms:

• Aggregation methods• Lexicographic ordering• Pareto-based algorithms

Page 12: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

1212

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Aggregating methods

� Combine all the objectives into a single objective� Weighted-sum approach

∑=

⋅=N

iii fwZ

1

Page 13: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

1313

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Lexicographic ordering

• The user ranks the objectives in order of importance.

• The optimum solution is obtained by minimizing the objective functions separately, starting with the most important one

• Obviously it is not optimal!

Page 14: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

1414

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Pareto-based approach: NSGA-II

Algorithm Fitness Assignment� How could we sort individuals represented in

an multi-objective space?� The individuals are sorted in Pareto-fronts:

� The non-dominated individuals are extracted from the population; this is front P1.

� The remaining population is again sorted using the non-domination relation and a new front, P2, is extracted … and so on.

� The algorithm prefers an individual from a better front (hyper-surface).

Page 15: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

1515

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Sorting individuals from the same

front? Density estimation…

• Computing crowding distance for each individual.

• If the individuals are on the same front , then a less crowded individual is preferred.

Page 16: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

1616

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

CNSGA-II DSE Algorithm:

assuring populations’ diversity

� N = number of individuals in a generation� n i= max. nr of individuals from front i� r = reduction rate; 0<r<1� k = total nr of fronts after the sorting algorithm

Page 17: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

1717

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

CNSGA-II: Selection Mechanism

Example

Front r = 0.1 r = 0.5 r = 0.9 r = 0.9999

1 90 52 24 20

2 9 26 22 20

3 1 13 20 20

4 0 6 18 20

5 0 3 16 20

Sum 100 100 100 100

Page 18: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

1818

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Pareto Algorithms’ Comparison

f2

f2

Algorithm 1

Algorithm 2

A

B

C

Algorithm 1 is better

Algorithm 2 is better

Page 19: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

1919

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Performance and Quality Metrics

� Hypervolume

� Coverage

''

}''':'';''''{)'','(

X

aaXaXaXXC

f∈∃∈=

Page 20: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

2020

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Two Set Hyper-volume Difference

First Second

� Better understanding about how much one dominates the other in a multi - dimensional space:

TSHD(X1, X2) = HV(X1UX2) – HV(X2)

If [TSHD(X1, X2) = 0 and TSHD(X2, X1) > 0] than X2 is absolutely better than X1

Page 21: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

2121

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Framework for Automatic Design

Space Exploration (FADSE)

� Includes many state-of-the-art multi-objective DSE algorithms (integrated with jMetal)

� Can connect to any existing (architectural) simulator (connector needed)

� Easy to use XML configuration interface� Publicly available:

http://code.google.com/p/fadse/� Implemented by Dr. Horia Calborean under

my PhD supervision at LBUS (ACAPS)

Page 22: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

2222

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

FADSE (cont.)

� Reducing search time:� Database integration (up to 67% reuse)� Distributed evaluation (LANs, HPC)

� Reliable� Clients/network can crash� Power loss/Sever fail � Checkpointing

Page 23: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

2323

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Distributed Evaluation on HPC –

Changing the Algorithms

Page 24: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

2424

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Computer Architecture Domain - Knowledge

in FADSE (I)� How might we develop more specific effective

DSE algorithms?� Fuzzy rules - we are the first ones using fuzzy

logic as a method to express computer architecture knowledge into a DSE toolCPU Fuzzy Rules Examples:

� IF Number_of_Physical_Register_Sets IS small/big THEN Decode/Issue/Commit_Width IS small/big

� IF [(L1_ ICache IS small) AND (L1_ DCache IS small)]THEN (L2_ Cache IS big)

� IF IL1_Size IS big AND DL1_Size IS big THEN UL2_size IS small

Page 25: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

2525

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Associating meaning (semantic) with fuzzy sets results in:� Linguistic Variables: the (labeled!) domain of the fuzzy sets� Linguistic Values: a (labeled!) collection of fuzzy sets on

this domain; Membership function µ:X����[0,1]

Examples:� Age: young, old

� Size: small, medium, tall

Linguistic Variables and Gradual

Memberships

25

Page 26: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

2626

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

� Conjunction:

� Disjunction:

� Negation:

Classical Fuzzy Operators:

Min / Max-Norm…

26

Page 27: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

2727

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Implication Formulas in Fuzzy Logic

• The „best” implication form – and, more general, logic al functions forms –is problem-dependent.

• Open question: what is the most effective fuzzy impli cation form for a certain application? Valuable for other fuzzy logic f unctions (AND, OR), too.

Page 28: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

2828

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Computer Architecture Domain -

Knowledge in FADSE (II)� Fuzzification ����Inferences (

etc.) ���� Defuzzification Processes� System of complete, non-redundant and non-

contradictory fuzzy rules � Micro -ontology� Convergence Speed & Solutions Quality

without/with domain micro-ontology� “Relaxed micro-ontology” vs. “Restricted micro-

ontology”� FADSE used the standard Fuzzy Control

Language (through jFuzzyLogic library)

( ))(),(min),( yxyx BABA µµµ =→

Page 29: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

2929

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Fuzzy Rule into Mutation� For all the genes in the chromosome

� If fuzzy rules exist for this parameter (fuzzy rule output)� Do mutation (with a certain probability) taking into

consideration the crisp value provided by the fuzzy rules;

� Otherwise (do bit flip mutation);� Generate a random number between 0 and 1;� If the random number is smaller than the probability of

mutation;� Change the current variable to a random value;

� STOP.

� Advantages� Further Acceleration (Convergence Speed)� Better Results (Solution Quality)

Page 30: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

3030

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Calculating Degrees of Contradiction

between Fuzzy Logic Rules

Page 31: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

3131

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Our Superscalar/SMT SLVP

Architecture

� Superscalar/SMT architecture with SLVP� M-SIM 2 Simulator� LD_Miss DL1/UL2

Caches�LV_Pred

� Objectives� CPI� Energy Consumption

� SLVP Parameters� Size…

Page 32: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

3232

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

IPC Speedup for the Superscalar

SLVPT

Page 33: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

3333

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Overall Energy Reduction for the

Superscalar SLVPT

Page 34: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

3434

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Manual/Automatic Multi-objective

Optimization of SLVP Architecture

� M-SIM 2 (+SLVP) exploration� Manual exploration� Running with FADSE (different constraints)� Starting from initial good configurations� Running with fuzzy rules

� Constant probability� Gaussian probability

� 24 hours/generation on a HPC with 96 cores� Design space size: 1015

Page 35: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

3535

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

FADSE on HPC systems� LBUS: 112 clients, more instances of FADSE

at the same time. 30 Intel Xeon E5405homogenous quad cores (15 blades, 120cores), operating at 2 GHz� We also ran on the IBM Cell - 4 IBM Cell

Broadband Engine (Cell BE) processors (2blades, 36 cores)

� PU Bucharest : 100 clients (Nehalem,Opteron)

� Augsburg University : 32 core Windowsvirtual machine

Page 36: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

3636

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Starting from an Initial Population

0.25

0.3

0.35

0.4

0.45

0.5

7.00E+09 1.20E+10 1.70E+10 2.20E+10 2.70E+10 3.20E+10 3.70E+10 4.20E+10 4.70E+10

Energy

CP

I

Initial run Run with relaxed bordersRun with initial good configurations Manual

A Problem: Temperature!

Page 37: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

3737

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

The implemented SLVP Micro-

ontology

� UL2 > DL1+IL1 � IF Number_of_Physical_Register_Sets IS

small/big THEN Decode/Issue/Commit_Width IS small/big

� IF SLVP_Size IS small/big THEN L1_Data_Cache IS big/small

� (IF SLVP_N IS small AND SLVP_Assoc IS small THEN SLVP_Size IS big)

Page 38: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

3838

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Pareto front comparisons between

the run without/with fuzzy rules

0.25

0.3

0.35

0.4

0.45

0.5

7.00E+09 1.20E+10 1.70E+10 2.20E+10 2.70E+10 3.20E+10 3.70E+10 4.20E+10 4.70E+10

Energy

CP

I

Run without fuzzy Fuzzy with constant probability Manual

Page 39: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

3939

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Convergence speed

0.54

0.56

0.58

0.6

0.62

0.64

0.66

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Generation count

Hyp

ervo

lum

e

Initial runRun with relaxed bordersRun with initial good configurationsRun with fuzzy with constant probabilityRun with fuzzy with Gaussian probability

Page 40: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

4040

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

A more parameterized SLVP

Page 41: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

4141

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Comparative Pareto Fronts

0.E+00

1.E+10

2.E+10

3.E+10

4.E+10

5.E+10

6.E+10

7.E+10

0.250 0.300 0.350 0.400 0.450 0.500 0.550 0.600

Ener

gy

CPI

Multi_VPT

Last_VPT

C1

C6

C5

C3C4

C2

Page 42: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

4242

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Hotspots…

Page 43: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

4343

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Hardware-Software Multi-objective Optimizations on

GAP Architecture (Augsburg University)

� GAP architecture� GAPtimize

� Code optimization tool

� Objectives� CPI� Hardware complexity

Page 44: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

4444

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Obtained Results

� Hardware (106)

� Hardware &Software (1010)

0 200 400 600 800 1000 1200

0,500

0,525

0,550

0,575

0,600

0,625

0,650

0,675

0,700

0,725

0,750Manually selected

Found by FADSE

Complexity

CP

I

Page 45: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

4545

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Algorithm Comparison on GAP

Architecture

Page 46: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

4646

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Algorithm Comparison on GAP &

GAPtimize

Page 47: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

4747

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Comparing some DSE Multi-Objective

Algorithms on GAP Microarchitecture

Generation No.

H_Vol

Page 48: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

4848

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Multi-core Optimization

� M-SIM 3� Homogeneous dual core� 36 hours/generation on a 96 cores HPC

Page 49: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

4949

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Multi-objective Optimizations on a

Network-on-Chip Architecture

� The application mapping problem for NoCs

� Evaluating application mapping algorithms

for Networks-on-Chip

� The framework design

� The ns-3 NoC simulator

� Automatic Design Space Exploration for

Network-on-Chip

� The framework

Page 50: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

5050

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

The application mapping problem for

NoCs

Page 51: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

5151

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Evaluating application mapping

algorithms for Network-on-Chip� Dr. Ciprian Radu implemented under my PhD

supervision a unified framework (UniMap -

https://code.google.com/p/unimap/ ) for the

evaluation and optimization of application mapping

algorithms on different NoC designs

� It has 3 major components:

� A module that contains the implementation of

different application mapping heuristic algorithms;

� A network traffic generator;

� A Network-on-Chip simulator.

Page 52: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

5252

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

The ns-3 NoC simulator

� Based on ns-3, an event driven simulator for Internet systems

� Aims for a good accuracy – speed trade-off� Flexible and scalable

� Current parameters:� Packet size, packet injection rate, packet injection

probability…;

� Node Buffer Size;

� Network topology (2D/3D mesh, 2D/3D torus…);

� Network size;

� Switching mechanism (SAF, VCT, Wormhole);

� Routing protocol (XY, YX, …), etc.

Page 53: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

5353

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Automatic Design Space Exploration

for Network-on-Chip

� Motivation

� There is no NoC suitable for all kinds of workload

� There is an enormous number of possible NoC architectures

� Exhaustive DSE is no longer suitable

� Automatic DSE uses an heuristic driven exploration

of the design space

� Disadvantage: near-optimal solutions

� Advantage: speed

Page 54: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

5454

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

The framework

� Components:� DSE module

� NoC simulator

� The DSE module works on the best (Pareto) mappings found by our UniMap framework

� The DSE module determines the quasi-optimal parameters’ values of the NoC architecture (energy, run-time, area)� Uses advanced Machine Learning algorithms

� The NoC simulator (ns-3 NoC) is automatically configured to simulate the network architecture determined by the DSE module

Design Space Exploration module

Network-on-Chip simulatorthe simulator

Configure the simulator

Simulation results

Page 55: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

5555

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Example: „Optimal” NoC parameters’

values for 3 objectives on telecom bench

/30 cores/ 6x5 2D mesh NoC

Mapping No.

NoC parametersSoC

energy[Joule]

SoC area

[mm 2]

Application runtime

[ms]Frequency[MHz]

Buffer size[flits]

Flit size[bytes]

Packet size[flits]

Routing

6 100 4 4 10 YX 0.095 50.11 46.1144

5 200 1 4 10 XY 0.158 37.37 46.1132

3 400 1 4 10 YX 0.167 37.37 46.1111

6 900 4 32 6 YX 0.341 81.22 45.4

Page 56: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

5656

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Further Work (I)

� Use the fuzzy information to improve other operators(not only mutation). Crossover?

� Integration of other complex multicore simulatorsprocessing parallel applications

� Particularly, embedded multicore systems with hardreal time constraints would be of interest (WCET…)

� Developing more effective domain micro-ontologiesrelated to such systems (using fuzzy rules, semanticnets, conceptual graphs, etc.)

� Parameters Feature Selection � What are the mostsignificant parameters? � Reducing the search space

Page 57: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

5757

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Further Work (II)� Developing cross-layer automatic methods for DSE,

simultaneously at different system layers and/orabstraction levels (application, software scheduler,hardware architecture etc.)

� Integrate Response Surface Models (RSM) into FADSE �

improving the speed� F: {Input_Par} ����{Objectives_Val}� Training / RSM Performance Evaluation� Methods: Linear/polynomial regression,

interpolation/approximation, neural nets etc.� Main Objective : Maximum approximation accuracy with a

minimum set of training examples� Finding RSMs for multi-objective functions is clearly a

scientific challenge

Page 58: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

5858

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Related Published Papers (I) – see

http://webspace.ulbsibiu.ro/lucian.vintan/html/#10

� A. GELLERT, A. FLOREA, L. VINTAN - Exploiting Selective Instruction Reuse and ValuePrediction in a Superscalar Architecture, Journal of Systems Architecture , vol. 55, issues3, pp. 188-195, ISSN 1383-7621, Elsevier , 2009

� GELLERT A., PALERMO G., ZACCARIA V., FLOREA A., VINTAN L., SI LVANO C. -Energy-Performance Design Space Exploration in SMT Architectures Exploiting SelectiveLoad Value Predictions, Design, Automation & Test in Europe International Conference(DATE 2010), March 8-12, 2010, Dresden, Germany

� R. JAHR, T. UNGERER, H. CALBOREAN, L. VINTAN - Automatic Multi-ObjectiveOptimization of Parameters for Hardware and Code Optimizations, Proceedings of the2011 International Conference on High Performance Computing & Simulation (HPCS2011), Publisher: IEEE, ISBN 978-1-61284-381-0, Istanbul, Turkey , July 2011

� H. CALBOREAN, R. JAHR, T. UNGERER, L. VINTAN - Optimizing a Superscalar Systemusing Multi-objective Design Space Exploration, Proceedings of the 18th InternationalConference on Control Systems and Computer Science (CSCS-18), Bucharest , May 2011

� C. RADU, L. VINTAN - Optimized Simulated Annealing for Network-on-Chip ApplicationMapping, Proceedings of the 18th International Conference on Control Systems andCom1puter Science (CSCS-18), Bucharest , May 2011

� I. D. MIRONESCU, L. VINŢAN - Optimally Mapping a CFD Application on a HPCArchitecture, ACACES 2011 Seventh International Summer School on AdvancedComputer Architecture and Compilation for High-Performance and Embedded Systems,Published by FP7 HiPEAC Network of Excellence, 10-16 July 2011, Fiuggi, Italy

Page 59: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

5959

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Related Published Papers (II) - see

http://webspace.ulbsibiu.ro/lucian.vintan/html/#10

� JAHR R., CALBOREAN H., VINTAN L., UNGERER T. - Boosting Design Space Explorations withExisting or Automatically Learned Knowledge, The 16-th International GI/ITG Conference onMeasurement, Modelling and Evaluation of Computing Systems and Dependability and FaultTolerance (MMB/DFT 2012), March 19-21, 2012, Kaiserslautern, Germany

� Á. GELLÉRT, H. CALBOREAN, L. VIN ŢAN, A. FLOREA - Multi-Objective Optimizations for aSuperscalar Architecture with Selective Value Prediction, IET Computers & Digital Techniques,United Kingdom , Vol. 6, Issue 4, 2012

� C. RADU, L. VINTAN - Domain-Knowledge Optimized Simulated Annealing for Network-on-ChipApplication Mapping, Advances in Intelligent Control Systems and Computer Science. Advances inIntelligent Systems and Computing, Volume 187, Springer Berlin Heidelberg

� H. CALBOREAN, R. JAHR, UNGERER T., L. VINTAN – A Comparison of Multi-Objective Algorithmsfor the Automatic Design Space Exploration of a Superscalar System, Advances in Intelligent ControlSystems and Computer Science. Advances in Intelligent Systems and Computing, Volume 187,Springer Berlin Heidelberg

� JAHR R., CALBOREAN H., VINTAN L., UNGERER T. - Finding Near-Perfect Parameters forHardware and Code Optimizations with Automatic Multi-Objective Design Space Explorations,Concurrency and Computation: Practice and Experience , doi: 10.1002/cpe.2975, John Wiley &Sons , 2013

� C. RADU, MD. S. MAHBUB, L. VINTAN - Developing Domain-Knowledge Evolutionary Algorithmsfor Network-on-Chip Application Mapping, Microprocessors and Microsystems , vol. 37, issue 1,pp. 65-78, ISSN: 0141-9331, Elsevier, February 2013

Page 60: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

6060

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Research Collaboration Ideas CONTI-

LBUS (ACAPS Lab)� Hopefully this talk was just a first step

� We would keep in touch! Continuing presenting our research projects

� Identifying potential common research interests � Research Collaboration based on win-win principles

� Successful long term vision is impossible without strong research!

� A success story… joint PhD LBUS-Siemens AG, CT IC Munich

� CONTI might use our tools and knowledge for optimizing any developed architecture/system

� Cooperation in PhD projects – brilliant Computer Engineers from CONTI might become PhD students!

� Cooperation in National and European Research Projects

Page 61: CONTI Automotive R&D, Invited - ULB Sibiuwebspace.ulbsibiu.ro/lucian.vintan/html/Conti.pdf · 22 Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania The

6161

Computer Engineering Department, “Lucian Blaga” University of Sibiu, Romania

http://csac.ulbsibiu.ro/

Thank you!

CONTI Automotive R&D -Invited Talk, Sibiu,

March 4 th 2013