prototypage virtuel de système sur puce pour une ... · temps et parallélisme consommation et...

57
Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et fidèle Matthieu Moy Verimag (Grenoble INP) Grenoble, France 29 janvier 2014 Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 1 / 21 >

Upload: truongkhanh

Post on 13-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Temps et parallélisme Consommation et température

Prototypage virtuel de système sur puce pour unesimulation rapide et fidèle

Matthieu Moy

Verimag (Grenoble INP)Grenoble, France

29 janvier 2014

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 1 / 21 >

Temps et parallélisme Consommation et température

Plan

1 Temps et parallélisme

2 Estimation de consommation et température

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 2 / 21 >

Temps et parallélisme Consommation et température

Plan

1 Temps et parallélisme

2 Estimation de consommation et température

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 2 / 21 >

Temps et parallélisme Consommation et température

Parallélisation des simulations

SPI

I2C

LIN

CAN Ethernet

USB

WIFI

GPU

MEM CTLR

CORE

ITC

MMU

TIMER

UART

PWM

PRCMU

CORE

ITC

MMU

TIMER

UART

Capteur

Capteur

DOCSIS

Compo

DISPLAY

Audio

H.265

CORE

ITC

MMU

TIMER

UART

CORE

ITC

MMU

TIMER

UART

DAC

DAC

ADC

ADC

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 3 / 21 >

Temps et parallélisme Consommation et température

Problèmes et solutions pour l’exécution parallèle deSystemC/TLM

(1) Ordre d’exécution imposé par la sémantique de SystemC(2) Accès concurrent aux ressources partagées

(comme x++ sur une variable globale)

; Pas de solution efficace 100% automatique pour TLM

Notre proposition = des constructions en plus :Désynchronisation (1) / Synchronisation (2)

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 4 / 21 >

Temps et parallélisme Consommation et température

Problèmes et solutions pour l’exécution parallèle deSystemC/TLM

(1) Ordre d’exécution imposé par la sémantique de SystemC(2) Accès concurrent aux ressources partagées

(comme x++ sur une variable globale)

; Pas de solution efficace 100% automatique pour TLM

Notre proposition = des constructions en plus :Désynchronisation (1) / Synchronisation (2)

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 4 / 21 >

Temps et parallélisme Consommation et température

Problèmes et solutions pour l’exécution parallèle deSystemC/TLM

(1) Ordre d’exécution imposé par la sémantique de SystemC(2) Accès concurrent aux ressources partagées

(comme x++ sur une variable globale)

; Pas de solution efficace 100% automatique pour TLM

Notre proposition = des constructions en plus :Désynchronisation (1) / Synchronisation (2)

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 4 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: l’idée

SC_THREAD_1

SC_THREAD_2

...

SC_THREAD_N

OS thread_1

OS thread_2

OS thread_N

SystemCFils d’exécution OS

(thread)

SystemC non-modifiéCertains calculs délégués à d’autres threadsSynchronisation faible entre SystemC et les threads grâce auxtâches avec durée

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 5 / 21 >

Temps et parallélisme Consommation et température

Temps simulé en SystemC et sc-duringS

yste

mC

sc-d

urin

g

A

B

P

Q

Processus A://Calculf();//Temps pris par fwait(20);

f()wait(20)

Processus P:g();wait(20);during(15, h);

g()wait(20)

h()

i() j()

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 6 / 21 >

Temps et parallélisme Consommation et température

Temps simulé en SystemC et sc-duringS

yste

mC

sc-d

urin

g

A

B

P

Q

Processus A://Calculf();//Temps pris par fwait(20);

f()wait(20)

Processus P:g();wait(20);during(15, h);

g()wait(20)

h()

i() j()

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 6 / 21 >

Temps et parallélisme Consommation et température

Temps simulé en SystemC et sc-duringS

yste

mC

sc-d

urin

g

A

B

P

Q

Processus A://Calculf();//Temps pris par fwait(20);

f()wait(20)

Processus P:g();wait(20);

during(15, h);

g()wait(20)

h()

i() j()

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 6 / 21 >

Temps et parallélisme Consommation et température

Temps simulé en SystemC et sc-duringS

yste

mC

sc-d

urin

g

A

B

P

Q

Processus A://Calculf();//Temps pris par fwait(20);

f()wait(20)

Processus P:g();wait(20);during(15, h);

g()wait(20)

h()

i() j()

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 6 / 21 >

Temps et parallélisme Consommation et température

Temps simulé en SystemC et sc-duringS

yste

mC

sc-d

urin

g

A

B

P

Q

Processus A://Calculf();//Temps pris par fwait(20);

f()wait(20)

Processus P:g();wait(20);during(15, h);

g()wait(20)

h()

i() j()

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 6 / 21 >

Temps et parallélisme Consommation et température

Impact sur le parallélisme

P1

P2

P3

P4

Recouvrement entre tâches ; exécution parallèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 7 / 21 >

Temps et parallélisme Consommation et température

Impact sur le parallélisme

P1

P2

P3

P4

Recouvrement entre tâches ; exécution parallèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 7 / 21 >

Temps et parallélisme Consommation et température

Impact sur le parallélisme

P1

P2

P3

P4

Recouvrement entre tâches ; exécution parallèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 7 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

during(d, f);

création duthread

f

2 wait(d)join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

during(d, f);

création duthread

f

2 wait(d)join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

1

during(d, f);

création duthread

f

2 wait(d)join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

1

during(d, f);

création duthread

f

2 wait(d)

join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

1

during(d, f);

création duthread

f

2 wait(d)

join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

1

during(d, f);

création duthread

f

2 wait(d)join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

1

during(d, f);

création duthread

f

2 wait(d)join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: nouvelles primitives de synchronisationextra_time(t): Augmenter la durée de la tâche en cours

Pwait(5)

duréeinitiale extra time

catch_up(): Attendre que SystemC ait atteint la fin de la tâche

while (!c) {extra_time(10);catch_up(); // Assure l’équité

}

sc_call(f): Appel de f dans le contexte de SystemC

x++; // Interdit dans une// tâche avec durée

sc_call([]{ x++; }); // OK

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 9 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: nouvelles primitives de synchronisationextra_time(t): Augmenter la durée de la tâche en cours

Pwait(5)

duréeinitiale extra time

catch_up(): Attendre que SystemC ait atteint la fin de la tâche

while (!c) {extra_time(10);catch_up(); // Assure l’équité

}

sc_call(f): Appel de f dans le contexte de SystemC

x++; // Interdit dans une// tâche avec durée

sc_call([]{ x++; }); // OK

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 9 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: nouvelles primitives de synchronisationextra_time(t): Augmenter la durée de la tâche en cours

Pwait(5)

duréeinitiale extra time

catch_up(): Attendre que SystemC ait atteint la fin de la tâche

while (!c) {extra_time(10);catch_up(); // Assure l’équité

}

sc_call(f): Appel de f dans le contexte de SystemC

x++; // Interdit dans une// tâche avec durée

sc_call([]{ x++; }); // OK

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 9 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: implémentations

SC_THREAD_1

SC_THREAD_2

...

SC_THREAD_N

sync_task_1 OS thread_1

sync_task_2 OS thread_2

sync_task_N OS thread_N

SystemCFils d’exécution OS

(thread)

Stratégies:SEQ Séquentiel (= référence)

THREAD Création + destruction de thread pour chaque tâchePOOL Ensemble de threads pré-alloués

ONDEMAND Thread créé sur demande et réutiliséMatthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 10 / 21 >

Temps et parallélisme Consommation et température

SC-DURING: résultats et conclusions

0

2

4

6

8

10

12

14

10 20 30 40 50 60

Acc

élér

atio

n

Nombre de processeurs dans la plate−forme

Faible couplage temporel(synchronisations explicites)

Fort couplage temporel

Machine de test : 4× 12 = 48 cœursMatthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 11 / 21 >

Temps et parallélisme Consommation et température

Plan

1 Temps et parallélisme

2 Estimation de consommation et température

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 11 / 21 >

Temps et parallélisme Consommation et température

Estimation de consommation et de températureUn exemple

« Comment valider un logiciel embarqué quirégule la température de la puce ? »

while (true) {// Température d’un ou// plusieurs points de la pucelecture_capteurs();

calcul_decision();

// Réduction de fréquence/tension,// extinction d’urgence, ...controle_actionneurs();

}

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 12 / 21 >

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraireScénarioCalculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraireScénarioCalculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraire

ScénarioCalculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraire

Scénario

Calculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraireScénario

Calculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraireScénario

Calculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Temps et parallélisme Consommation et température

Puissance consommée, température,et dissipation de chaleur

Composant

Puissance(effet Joule)

Dissipation(vers l’extérieur)

Dissipation

(vers un autrecomposant)

Dissipation

(depuis un autrecomposant)

; système d’équation différentielles, résolu par des solveurs dédiés

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 14 / 21 >

Temps et parallélisme Consommation et température

Puissance consommée, température,et dissipation de chaleur

Composant

Puissance(effet Joule)

Dissipation(vers l’extérieur)

Dissipation

(vers un autrecomposant)

Dissipation

(depuis un autrecomposant)

; système d’équation différentielles, résolu par des solveurs dédiés

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 14 / 21 >

Temps et parallélisme Consommation et température

Estimation de consommation avec des modèles à état

SPI

I2C

LIN

CAN Ethernet

USB

WIFI

GPU

MEM CTLR

CORE

ITC

MMU

TIMER

UART

PWM

PRCMU

CORE

ITC

MMU

TIMER

UART

Capteur

Capteur

DOCSIS

Compo

DISPLAY

Audio

H.265

CORE

ITC

MMU

TIMER

UART

CORE

ITC

MMU

TIMER

UART

DAC

DAC

ADC

ADC

Sleep Idle

Run

0 watt 0.1 watt

0.4 watt

// Processus SystemCvoid compute() {

while (true) {

set_state("run");

f();wait(10);

set_state("idle");

wait();}

}

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 15 / 21 >

Temps et parallélisme Consommation et température

Estimation de consommation avec des modèles à état

SPI

I2C

LIN

CAN Ethernet

USB

WIFI

GPU

MEM CTLR

CORE

ITC

MMU

TIMER

UART

PWM

PRCMU

CORE

ITC

MMU

TIMER

UART

Capteur

Capteur

DOCSIS

Compo

DISPLAY

Audio

H.265

CORE

ITC

MMU

TIMER

UART

CORE

ITC

MMU

TIMER

UART

DAC

DAC

ADC

ADC

Sleep Idle

Run

0 watt 0.1 watt

0.4 watt// Processus SystemCvoid compute() {

while (true) {set_state("run");f();wait(10);set_state("idle");wait();

}}

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 15 / 21 >

Temps et parallélisme Consommation et température

Des états à la consommation

État sleep run idle run

Consommation0 watt

0.4 watt

0.1 watt

0.4 watt

Énergie(Consommation

× Temps)

Total

2.5joules

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 16 / 21 >

Temps et parallélisme Consommation et température

De la consommation à la température

État sleep run idle run

Consommation0 watt

0.4 watt

0.1 watt

0.4 watt

Température

20oC

40oC

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 17 / 21 >

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemCSolveur

Puissance etTempérature

États

Température

La fonctionnalité peut dépendre des données extra-fonctionnelles(exemple : capteur de température)

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 18 / 21 >

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Instant desimulation

t = 3

...Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

2

34

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Temps et parallélisme Consommation et température

Résultats

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 20 / 21 >

Temps et parallélisme Consommation et température

Conclusion et perspectives

P1P2P3P4

0

2

4

6

8

10

12

14

10 20 30 40 50 60

Acc

élér

atio

n

Nombre de processeurs dans la plate−forme

SystemCSolveur

Puissance etTempérature

États

Température

Merci !

4 thèses soutenuesSTMicroelectronics/Verimag

2 projets depuis 2002

Nouveau projet,2 thèses en cours

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 21 / 21 >

Temps et parallélisme Consommation et température

Conclusion et perspectives

P1P2P3P4

0

2

4

6

8

10

12

14

10 20 30 40 50 60

Acc

élér

atio

n

Nombre de processeurs dans la plate−forme

SystemCSolveur

Puissance etTempérature

États

Température

Merci !

4 thèses soutenuesSTMicroelectronics/Verimag

2 projets depuis 2002

Nouveau projet,2 thèses en cours

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 21 / 21 >

Temps et parallélisme Consommation et température

Conclusion et perspectives

P1P2P3P4

0

2

4

6

8

10

12

14

10 20 30 40 50 60

Acc

élér

atio

n

Nombre de processeurs dans la plate−forme

SystemCSolveur

Puissance etTempérature

États

Température

Merci !

4 thèses soutenuesSTMicroelectronics/Verimag

2 projets depuis 2002

Nouveau projet,2 thèses en cours

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 21 / 21 >

Temps et parallélisme Consommation et température

Questions ?

P1P2P3P4

0

2

4

6

8

10

12

14

10 20 30 40 50 60

Acc

élér

atio

n

Nombre de processeurs dans la plate−forme

SystemCSolveur

Puissance etTempérature

États

Température

Merci !

4 thèses soutenuesSTMicroelectronics/Verimag

2 projets depuis 2002

Nouveau projet,2 thèses en cours

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 21 / 21 >

Temps et parallélisme Consommation et température

Sources

http://www.fotopedia.com/items/flickr-367843750(oskay@fotopedia, CC Attribution 2.0 Generic)

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 21 / 21 >