A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

© 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.

Apresentações semelhantes


Apresentação em tema: "© 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."— Transcrição da apresentação:

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 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 © 2000, António Esteves - Seminários de Ciências da Computaçã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

3 © 2000, António Esteves - Seminários de Ciências da Computaçã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

4 © 2000, António Esteves - Seminários de Ciências da Computaçã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

5 © 2000, António Esteves - Seminários de Ciências da Computaçã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

6 © 2000, António Esteves - Seminários de Ciências da Computaçã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

7 © 2000, António Esteves - Seminários de Ciências da Computaçã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

8 © 2000, António Esteves - Seminários de Ciências da Computaçã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

9 © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 9 Arquitectura alvo: EDgAR-2 dois tipos de lógica programável n lógica a 2 níveis e células de grande dimensão (CPLDs) n 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

10 © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 10 Módulos principais Metodologia de Partição

11 © 2000, António Esteves - Seminários de Ciências da Computaçã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

12 © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 12 Algoritmo de Agrupamento Hierárquico Metodologia de Partição algoritmos

13 © 2000, António Esteves - Seminários de Ciências da Computaçã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 exemplo: custo de comunicação entre objectos similaridade entre objectos possibilidade de partilha de UFs entre objectos Metodologia de Partição função de custo

14 © 2000, António Esteves - Seminários de Ciências da Computaçã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

15 © 2000, António Esteves - Seminários de Ciências da Computaçã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

16 © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 16 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

17 © 2000, António Esteves - Seminários de Ciências da Computaçã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 Metodologia de Partição função de custo

18 © 2000, António Esteves - Seminários de Ciências da Computaçã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

19 © 2000, António Esteves - Seminários de Ciências da Computaçã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

20 © 2000, António Esteves - Seminários de Ciências da Computação, UM-DI 20 Metodologia de Partição estimação de métricas Modelo de estimação de hardware

21 © 2000, António Esteves - Seminários de Ciências da Computaçã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

22 © 2000, António Esteves - Seminários de Ciências da Computaçã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

23 © 2000, António Esteves - Seminários de Ciências da Computaçã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

24 © 2000, António Esteves - Seminários de Ciências da Computaçã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

25 © 2000, António Esteves - Seminários de Ciências da Computaçã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


Carregar ppt "© 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."

Apresentações semelhantes


Anúncios Google