paralelização de simuladores de hardware descritos em systemc · paraleliza˘c~ao de simuladores...

14
Paraleliza¸ ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo 29 de julho de 2011 Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paraleliza¸c˜ ao de Simuladores de Hardware Descritos em SystemC

Upload: others

Post on 21-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Paralelizacao de Simuladores de HardwareDescritos em SystemC

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

29 de julho de 2011

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 2: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Programa de Doutorado em Ciencia da Computacao doInstituto de Computacao (IC) da Unicamp.

Projeto Dinter - Parcialmente financiado pela Capes.

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 3: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Roteiro

Motivacao e Proposta

Introducao a SLDL SystemC

O Escalonador SystemC

Simulacao Paralela baseada em Eventos Discretos (PDES)

Suporte a paralelizacao de uma simulacao SystemC

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 4: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Motivacao

Especificaçãodo Sistema

ModelagemEstrutural e

Comportamental

Simulação

Desenvolvimentode Protótipos

VHDL

Todas são SLDLs de

thread única e não aproveitam

todos os recursos de

processamento

Proposta: Desenvolver tecnicas para habilitar a simulacaoparalela de sistemas descritos em SystemC visando aceleracao

da simulacao e transparencia para o projetista.Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 5: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Introducao a SLDL SystemC

Modulos: Sao os blocos basicos para modelagem do sistema.

Portas: Sao responsaveis pela conexao entre modulos epodem ser unidirecionais ou bidirecionais.

Sinais: Sao usados para se conectar portas.

Clocks: E um sinal especial usado para a sincronizacao dosistema durante a simulacao.

Processos: Sao usados para descrever as funcionalidades dosmodulos e possuem caracterısitca nao-hierarquica.

Metodos: SC METHOD;threads: SC THREAD;clocked threads: SC CTHREAD ;

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 6: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Introducao a SLDL SystemC

i n t s c m a i n ( i n t ac , char av [ ] ) {// INSTANCIACAO DOS COMPONENTES DO SISTEMAmips MEU MIPS( ”MIPS” ) ; // p r o c e s s a d o rmem MEM( ”MEM” ) ; // memoria

// CONEXAO ENTRE COMPONENTESMEU MIPS . DMport (MEM. t a r g e t e x p o r t ) ;

// INICIO DA SIMULACAOs c s t a r t ( ) ;

// AVALIACAO DOS RESULTADOS DA SIMULACAOMEU MIPS . P r i n t S t a t ( ) ;return MEU MIPS . e x i t s t a t u s ;

}

Figura: Descricao da funcao sc main para a arquitetura “MEU MIPS”.Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 7: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

O Escalonador SystemC

Existemprocessosprontos?

Selecione e execute

um processo pronto

Processe notificações

imediatas

Processe requisições

de atualização

Processeeventos

delta

Existemeventosdelta?

Existemeventos

detempo?

Avance o tempo de simulação

Processeeventos de

tempo

SIM

SIM

NÃO

NÃO

NÃO

SIM

Fase de Avaliação

Fase de Atualização

(eventos delta)

Fase de Atualização(eventos de

tempo)

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 8: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Simulacao Paralela baseada em Eventos Discretos (PDES)

Erros de Causalidade

Cada evento esta associado a um tempo (timestamp) querepresenta o momento em que o evento ”ocorre”na simulacao;

Eventos Ex e Ey com timestamps 5 e 10, respectivamente, eum evento Ez gerado a partir de Ex com timestamp igual a15;

Se Ez altera variaveis de estado acessadas por Ey, a seguinteordem de execucao causa ERRO NA SIMULACAO:

P1

t=5 t=10t=15

~Ordem de execucao

x z yE E E

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 9: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Simulacao Paralela baseada em Eventos Discretos (PDES)

Se Ey e Ez nao possuem dependencia alguma, a execucaoparalela torna-se possıvel:

P1

t=5

t=10

P2

t=15

~

x z

y

E E

E

Ordem de execucao

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 10: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Estrategias

Habilitar execucao concorrente: uso de SC DTHREADS[Faveri(2010)]Determinar quais threads do simulador podem ser executadasem paralelo e quais devem obedecer execucao sequencial

1

2

3

4

5

6

7

8

A

B

B

C

D

C

A

E

A

F

EF

G

G

G

H

I

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 11: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Suporte a paralelizacao de uma simulacao SystemC

Abordagem estatica

Abordagem dinamica

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 12: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Suporte a paralelizacao de uma simulacao SystemC

Identificacao e juncao de processos pequenos na simulacao,visando minimizar o tempo gasto com trocas de contexto.

P2 P2

1P 2 1P 2 P3P 2

PPP1 12 3

Tempo

evento

P

1

Trocas de contexto Processos em execucao~

evento

(a)

(b)

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 13: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Suporte a paralelizacao de uma simulacao SystemC

Pesquisa e escolha de um padrao de programacao paralelacompatıvel (OpenMP?).

Avaliacao de Desempenho: comparacao do tempo desimulacao e taxa de utilizacao dos cores durante simulacoescom e sem o uso de tecnicas como as apresentadas.

Desenvolvimento de plataformas e coleta de simuladores paraverificacao.

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC

Page 14: Paralelização de Simuladores de Hardware Descritos em SystemC · Paraleliza˘c~ao de Simuladores de Hardware Descritos em SystemC Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo

Principais Referencias

P. Ezudheen,P. Chandran,J. Chandra,B.P. Simon,D. Ravi.Parallelizing SystemC Kernel for Fast Hardware Simulation onSMP Machines. In 23rd Workshop on Principles of Advancedand Distributed Simulation, 2009.

R.R.C. Faveri. Viabilizando a Simulacao Multi-Threaded paraModelos Escritos em SystemC. Dissertacao deMestrado-Instituto de Computacao da Universidade Estadualde Campinas (IC-Unicamp), 2010.

B. Chopardl,P. Combes,J. Zory. A Conservative Approach toSystemC Parallelization. In International Conference onComputational Science, 2006.

A. Mello,I. Maia,A. Greiner,F. Pecheux. Parallel Simulation ofSystemC TLM 2.0 Compliant MPSoC on SMP Workstations.In Design, Automation and Test in Europe Conference andExhibition, 2010.

Liana D. Duenha e Prof. Dr. Rodolfo Jardim de Azevedo Paralelizacao de Simuladores de Hardware Descritos em SystemC