25
© 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes de Hardware e de Software António J A Esteves Grupo de Engenharia de Computadores Departamento de Informática Universidade do Minho [email protected] 14 Abril de 2000

© 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

Embed Size (px)

Citation preview

Page 1: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

1

Seminários de Ciências da Computação

Partição de Sistemas Digitais em Componentes de Hardware e de Software

António J A Esteves

Grupo de Engenharia de Computadores Departamento de Informática

Universidade do Minho

[email protected]

14 Abril de 2000

Page 2: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

2

Enquadramento do trabalho

Definição do processo de partição

Requisitos do processo de partição

Metodologia de partição

Algoritmos

Função de custo

Estimação de métricas

Conclusões

Sumário

Page 3: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

3

Uma arquitectura paralela

O presente trabalho aborda o problema da implementação com um nodo composto por componentes programáveis (de hardware e software) e com uma arquitectura interna específica

Enquadramento do trabalho

Page 4: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

4

Metodologia de desenvolvimento no co-projecto de hardware e software

O presente trabalho concentra-se na fase de implementação (em especial na tarefa de partição)

Enquadramento do trabalho

Page 5: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

5

O processo de partição

estabelece a atribuição dos objectos do sistema aos componentes da arquitectura alvo

estabelece o instante em que os objectos entram em funcionamento escalonamento

respeita os requisitos e condicionalismos do projecto

Partindo duma representação unificada e sem compromisso com qualquer implementação, o processo de partição gera uma representação comprometida para cada componente da arquitectura alvo

A arquitectura alvo inclui normalmente componentes diferenciados

Definição do processo de partição

Page 6: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

6

Partição funcional vs estrutural

Partição inter-componentes vs intra-componentes

Partição automática vs manual

evita que a pessoa que efectua a partição tenha que perceber os detalhes da descrição

permite a análise de mais alternativas de partição

permite aplicar técnicas de optimização complexas

Definição do processo de partição

Page 7: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

7

Requisitos do sistema

definidos durante a análise e refinados na concepção

requisitos funcionais

requisitos não funcionais

Modelo do sistema

meta-modelo PSM StateCharts do UML

deve permitir controlar a granulosidade dos objectos

Modelo da arquitectura alvo

plataforma EDgAR-2

impõe condicionalismos ao projecto

Requisitos do processo de partição

Page 8: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

8

Meta-modelo PSM

sistemas complexos

hierarquia funcional

concorrência

transições de estado explicitas

complexidade ao nível das estruturas de dados e do controlo

indicação de fim dos blocos funcionais

pode ser estendido com tratamento de excepções

modelação intuitiva

Requisitos do processo de partição

Page 9: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

9

Arquitectura alvo: EDgAR-2

dois tipos de lógica programável

lógica a 2 níveis e células de grande dimensão (CPLDs)

lógica multi-nível e células de pequena dimensão (FPGAs)

a arquitectura é um array de 4 blocos, cada com uma unidade de controlo (CPLD) e um caminho de dados (FPGA)

cada bloco funciona com um byte diferente dos 32 bits do barramento de dados

ligação ao sistema hospedeiro através do barramento PCI

Requisitos do processo de partição

Page 10: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

10

Módulos principais

Metodologia de Partição

Page 11: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

11

Algoritmos de partição construtivos

geram alternativas de partição a partir do zero

são utilizados na fase inicial do processo de partição

a partição é um problema de optimização a nível local guiado por uma função de custo da construção

exemplos de algoritmos: exaustivo, crescimento de grupos, programação linear com inteiros, agrupamento hierárquico ou específicos

Metodologia de Partição algoritmos

Page 12: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

12

Algoritmo de Agrupamento Hierárquico

Metodologia de Partição algoritmos

Page 13: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

13

Função de custo da construção

em cada iteração do processo de partição, a função tem por objectivo indicar a partição mais adequada para atribuir os objectos por agrupar

)j,i( + )j,i( + )j,i(= )j,i( ooMooMooMooF partilhasimilarcom custo exemplo:

)j,i( ooM com

)j,i( ooMsimilar

)j,i( ooMpartilha

custo de comunicação entre objectos

similaridade entre objectos

possibilidade de partilha de UFs entre objectos

Metodologia de Partição função de custo

Page 14: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

14

Algoritmos de partição iterativos

geram alternativas de partição através dum processo em que sucessivamente se procura melhorar uma alternativa anteriormente gerada, deslocando objectos entre partições

a partição é um problema de optimização global guiado por uma função de custo da solução

têm associada uma heurística de optimização que

controla a evolução do algoritmo

manipula a informação relativa ao custo da alternativa de partição

exemplos de algoritmos: Kernighan/Lin, simulated annealing, pesquisa tabu, evolução genética ou específicos

Metodologia de Partição algoritmos

Page 15: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

15

Algoritmo de pesquisa tabu

o algoritmo evolui até se atingir o limite imposto ao número de pesquisas

em cada iteração duma pesquisa, analisa-se a vizinhança da solução actual e selecciona-se o deslocamento a efectuar de acordo com

primeira alternativa: é um deslocamento que melhora a função de custo e obedece a uma das condições seguintes não é tabu ou então é tabu mas pode ser efectuado devido a um critério de aspiração

segunda alternativa: é um deslocamento que não é tabu e conduz ao menor aumento do custo da solução de partição

terceira alternativa: é o deslocamento tabu que induz o menor aumento de custo

no fim de cada iteração da pesquisa

actualiza-se a melhor solução encontrada

actualiza-se o número de iterações e/ou pesquisas

se for o fim duma pesquisa, define-se uma nova solução inicial

Metodologia de Partição algoritmos

Page 16: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

16

i

ii*i= )(custo MfKF função típica:

Função de custo da solução

combina várias métricas num valor designado por custo, que quantifica a proximidade duma alternativa de partição relativamente à solução óptima

solução exequível: uma alternativa de partição que não viola nenhum dos condicionalismos impostos à implementação

solução óptima: uma alternativa de partição que não viola nenhum dos condicionalismos e atinge todos os requisitos

Metodologia de Partição função de custo

Page 17: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

17

Exemplo de função de custo da solução

uma função de custo que soma o nível de desrespeito pelos condicionalismos com o nível de incumprimento dos requisitos

as métricas envolvidas são

os condicionalismos espaço ocupado por componente, número de ligações por componente e número de componentes

o requisito tempo de execução

j ji

jii j

2

iiP Plimite

PlimiteP )M(

][

) ][ , ][ M (excessof

4] i [1i

ii icusto )(M*CF f

) 0 , ]P[ limite-]P[ M ( ) ]P[ limite , ]P[ M ( jijijiji máximoexcesso

Metodologia de Partição função de custo

Page 18: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

18

Metodologia de Partição estimação de métricas

métricas de custo :

relativas a hardware espaço ocupado e número de ligações

relativas a software espaço que código e dados ocupam em memória

métricas de desempenho:

associadas à computação tempo de execução, débito

associadas à comunicação taxa de transferência

os algoritmos iterativos analisam milhares de alternativas de partição

exigem-se estimadores rápidos

não se exigem estimativas precisas desde que apresentem um grau de fidelidade elevado

Estimação de métricas usadas na função de custo

Page 19: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

19

Metodologia de Partição estimação de métricas

Estimação de métricas de hardware

componentes do modelo de estimação:

modelo da arquitectura de implementação

política de selecção dos recursos

política de escalonamento das operações

para estimar o tempo de execução efectua-se uma análise estatística do fluxo de controlo, que determina a probabilidade de execução dos bloco do sistema

para o tempo de execução contribuem o tempo de computação e o tempo de comunicação

a taxa de transferência é directamente proporcional ao número de acessos ao canal de comunicação e ao tamanho da informação acedida, e inversamente proporcional ao tempo de execução dos blocos intervenientes

Page 20: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

20

Metodologia de Partição estimação de métricas

Modelo de estimação de hardware

Page 21: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

21

Modelo de estimação de hardware

estimação dos elementos de armazenamento selecção com ou sem partilha de recursos

estimação do número de unidades funcionais

conhecida a selecção de recursos

conhecido o escalonamento do sistema

com o sistema sujeito a requisitos de desempenho

estimação do número de elementos de interligação método de partição clique

o espaço ocupado pelo registo de estado é proporcional ao número de bits do registo de estado, logo ao número de etapas de controlo

Metodologia de Partição estimação de métricas

Page 22: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

22

Estimação de métricas de software

métricas tempo de execução, espaço ocupado pelo código ou pelos dados

modelo de estimação

genérico ou específico dum processador

modelo específico simples ou complexo

modelo específico simples considera

a temporização e o espaço ocupado pelas instruções

modelo específico complexo considera ainda

optimizações de código relativas à utilização de registo, à implementação de ciclos, à utilização de estágios de pipeline ou de memória cache

as optimizações de código podem ser traduzidas num factor de optimização

Metodologia de Partição estimação de métricas

Page 23: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

23

Estimação do tempo de execução

método de estimação estática executa-se o código com conjuntos de dados diferentes e selecciona-se o tempo médio

método de simulação dinâmica aplica-se quando o tamanho dos ciclos e as probabilidades de ramificação são conhecidos

Estimação do espaço ocupado em memória pelo código

compila-se o código para instruções genéricas

o tamanho das instruções está definido no ficheiro tecnológico do processador a usar na implementação

Estimação do espaço ocupado em memória pelos dados

considera o espaço ocupado pelos dados criados em cada declaração

os dados declarados têm por base os tipos da linguagem de especificação

Metodologia de Partição estimação de métricas

Page 24: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

24

Metodologia de Partição estimação de métricas

Melhoramentos na estimação de métricas

facilitar a estimação do tempo de execução

representar o sistema através dum grafo

diminuir o tempo de cálculo

utilizar bibliotecas de componentes

usar estimação incremental

decompor o escalonamento do sistema em sub-escalonamentos

melhor a qualidade das estimativas do tempo de execução

incorporar um modelo de comunicação

incorporar um modelo da memória cache

realçar o tempo despendido em acessos à memória

considerar o sincronismo entre processos

Page 25: © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 1 Seminários de Ciências da Computação Partição de Sistemas Digitais em Componentes

© 2

000,

Ant

ónio

Est

eves

- S

emin

ário

s de

Ciê

ncia

s da

Com

puta

ção,

UM

-DI

25

Conclusões

O meta-modelo seleccionado deve adequar-se aos sistemas a projectar

A partição identifica-se com o paradigma de co-projecto de hw/sw

O processo de partição é um problema de optimização local ou global

A partição pode ser genérica, a estimação depende da arquitectura alvo

Modelos de estimação mais precisos implicam tempo de cálculo maior