Upload
internet
View
103
Download
0
Embed Size (px)
Citation preview
© 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
14 Abril de 2000
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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