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

Slides:



Advertisements
Apresentações semelhantes
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Advertisements

Introdução à Hierarquia de Memória
Transmissão de pacotes
Amintas engenharia.
Rational Unified Process
Engenharia de Software
Barramentos Introdução.
Engenharia de Software
Engenharia de Software
Engenharia de Software
> Fases de Engenharia de SW > Gestão de Projectos de SW
Orientação por Objectos > Modelo de Processo OO > Identificação de Classe e Objectos Aula 12.
Planeamento Temporal e Monitorização do Projecto de SW
Producto x Processo x Projecto
CONCEITOS BÁSICOS DA META-HEURÍSTICA TABU SEARCH
Dispositivos lógicos programáveis (DLP)
ISO/IEC – 6 Avaliação do Produto – Módulos de Avaliação
Ciclos, Vectores e Gráficos Simulação da Queda de Corpos II
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Software Básico Silvio Fernandes
ARQUITETURA DE COMPUTADORES II
Sistemas Digitais Projeto RTL – Unidade de Execução
Unidades de Execução e de Controle Sistemas Digitais.
INTRODUÇÃO A INFORMÁTICA
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Arquiteturas Diferentes
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
CISC e RISC.
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Projeto de Sistemas Operacionais
Linguagens de Programação
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Inteligência Artificial
Programação e Sistemas de Informação
Balanceamento de Linhas
Projecto Integrado de Hardware e Software Uma contribuição do Dep. Informática Alberto José Proença João Miguel Fernandes João Luís Sobral Luís Paulo Santos.
Avaliação do Desempenho
Listas Encadeadas.
Gerenciamento do Escopo
Classes e objetos Modelagem
Introdução a Programação Orientada a Objetos
Organização, Sistemas e Métodos Prof. Luciano Costa.
ANÁLISE DE REQUISITOS DE ENGENHARIA DE SOFTWARE
Arquitectura de Computadores II
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
PROGRAMAÇÃO I UNIDADE 1.
Fundamentos de Engenharia de SW
Cap 2 – Processo de Software
Funcionamento básico de um computador
Arquitetura de computadores
Sistemas Operacionais
Arquitetura de computadores
Arquitetura do Software
Introdução e Busca Cega
Projeto de Banco de Dados
Técnicas e Projeto de Sistemas
Linguagem e Ambiente Scratch
Resolução de sistemas de equações lineares
Campus de Caraguatatuba Licenciatura em Matemática Semestre de 2013
Sistemas Operacionais
Qualidade de Software Aula 4
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Testes de SW Aula 24.
Analise de Algoritmos e Notação Assintótica
Gestão da Carga em Sistemas Distribuídos : Algumas Considerações Luís Paulo Peixoto dos Santos Departamento de Informática Universidade do Minho.
1 Linguagens de Programação Pedro Lopes 2010/2011.
Marcos Corrêa Neves Gilberto Câmara Renato M. Assunção
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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