Performance Evaluation of Software Architectures. Outline. José Costa 2011-03-22. Software architectures - exercises. Software for Embedded Systems



Documentos relacionados
Sistemas de Tempo Real: Conceitos Básicos

Entradas/Saídas. Programação por espera activa Programação por interrupções

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

4. Conversores de corrente continua-corrente contínua com isolamento

implementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Fernando Ramos, Nuno Neves, Sistemas Operativos,

Nome do estudante:...

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial

Gestão do Risco e da Qualidade no Desenvolvimento de Software

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

Gestor de Processos Núcleo do Sistema Operativo

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

Breve introdução ao Real Time Application Interface (RTAI)

Agentes Autónomos e Sistemas Multiagente

Comunicação de Dados. Aula 5 Transmissão Analógica

Fontes de Alimentação

Gravador VUB-400 OPERAÇÃO. Telemax Telecomunicações e Electrónica, Lda telemax@telemax.pt Tel: /

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / Gestor de Processos

UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica

Computador. 1982: os computadores são ferramentas que nos permitem fazer cálculos rápida e comodamente

MICROPROCESSADORES. Unidade de Entrada/Saída (I/O) Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico.

Métodos de Sincronização do Kernel

Programa de Unidade Curricular

Gerenciamento de memória

Gestor de Processos. Gestor de Processos

Invenções Implementadas por Computador (IIC) Patentes

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Submissão Autenticada de Ficheiros ao SIGEX

Arquitectura de Computadores

- 1 - RESUMO SISTEMA DE MEDIÇÃO DE CONSUMOS DE LINHA DA CANELA EM TEMPO REAL

Capítulo 4 Gerência de Processador

1. O DHCP Dynamic Host Configuration Protocol

1. Referencial Teórico a essência da informática para a administração pública

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

Especificação Operacional.

Componente de Formação Técnica. Disciplina de

2ºCiclo (5º e 6º Anos de escolaridade) 3ºCiclo (7º e 8º Anos de escolaridade)

MODELAGEM DE SISTEMA Apresentação

Diagrama de contexto

Caracterização dos servidores de

Trabalho de Desenvolvimento de Sistemas de Software GereComSaber 2ª Fase

Aula 03-04: Modelos de Sistemas Distribuídos

Xenomai Short Intro. Paulo Pedreiras DETI/University of Aveiro. Sistemas Tempo-Real Out/2013 (Rev. 1 - Out/2015)

Controlo de iluminação local multifuncional

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

Arquitetura dos Sistemas Operacionais

Gerenciamento de Requisitos

Comunicação de Dados. Aula 4 Conversão de Sinais Analógicos em digitais e tipos de transmissão

Instalar o computador

Departamento de Informática

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2012 / Gestor de Processos

Novo contexto. A incorporação da Internet à rotina empresarial provocou forte impacto sobre as tradicionais formas de negociação...

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Arquitecturas de Software Mestrado em Engenharia Informática e de Computadores

Impressão e servidores de impressão

Tecnologia de faixa para falha

SISTEMAS OPERACIONAIS

Auditoria de Sistemas de Informação. Everson Santos Araujo

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

GATI Gestão de Atendimento Inteligente. Manual de Uso. powered by OPUS Software v1.0

Sistemas Operacionais. Prof. André Y. Kusumoto

!"#$%&!'()*'+,-'*./+0)*1(23'.423*'5*'3066,-'. #/7".#78./9:;.<=4/>.

Avaliação de Desempenho de Sistemas

Automação. Industrial. Prof. Alexandre Landim

Administração. Profa. Patricia Brecht. Compras. Compras. Armazenamento, Movimentação e Administração de Compras

Grupo I [4v] executaprograma();

Transformação de um Modelo de Empresa em Requisitos de Software

Grupo I [4v] b. [0,6v] De que forma é que o escalonador do Linux tenta minimizar o impacto desta limitação?

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Sistemas Operacionais

Implantação do Sistema de Controle de Tempos Nas Agências de Atendimento - TMA

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

1. Arquivos Seqüenciais

Contrato de Assistência Técnica ao Programa pleon

Administração da Produção I

Algoritmos. Cláudio Barbosa

Galla. > GallaD 32 [Dupla face] > Galla 22. O modelo Galla foi desenvolvido para uso em interiores para funcionar como quiosque stand up.

Self-Service como vantagem competitiva

Introdução aos Sistemas Operativos

Gestor de ligações Manual do Utilizador

Implementadas por Computador

Arquitetura e Organização de Computadores

Manual de Procedimentos POSI-E3

Controlo de servomotores com o microcontrolador BX-24

UNIDADE 1 TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Como conseguir a inscrição no Cadastro Técnico Único?

Módulo 10. Medição do Desempenho

Interseções. Lastran/Ufrgs

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DO DESENVOLVIMENTO, INDÚSTRIA E COMÉRCIO EXTERIOR INSTITUTO NACIONAL DA PROPRIEDADE INDUSTRIAL

CURSO PROFISSIONAL DE TÉCNICO DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES PLANO DE ESTUDOS

Motivos para você ter um servidor

Da Película Para o Papel

Os objetivos descrevem o que se espera alcançar com o projeto; Devem estar alinhados com os objetivos do negócio; Deve seguir a regra SMART:

Sistemas Operativos: Introdução. February 22, 2011

1 Introdução. 2 Exemplo de aplicação

Transcrição:

Performance Evaluation of Software Architectures José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto Superior Técnico 2011-03-22 José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 1 / 17 Outline Software architectures - exercises José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 2 / 17

Exercise 005 Consider a system with Architecture: Round-robin Number of Tasks (Modules): 5 Execution times [ms] T1 1.5 T2 [3-4.5] T3 0.5 T4 [4-5] T5 0,1(does watchdog refreshment) The system has a watchdog timer with 10 ms period. The system has apparently random but frequent malfunctions. Why? Correct this problem. José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 3 / 17 Exercise 005 - Resolution Main cycle time 9,6 ms T1 + T2 + T3 + T4 + T5 11,6 ms Sometimes T5 does not arrive quickly enough to refresh the watchdog. To solve the problem we have two alternatives: Increase the watchdog period from 10 to 12 ms; Include in the main loop an additional refreshment of the watchdog (another call to T5). It is preferable to insert the new call between the calls to T2 and T3 The new main cycle time would be: 9,7 ms T1 + T2 + T5 + T3 + T4 + T5 11,7 ms. The maximum time between refreshments would be: max (T1+T2, T3+T4) = max (6 ms, 5.5 ms) = 6 ms. José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 4 / 17

Exercício 007 Considere o seguinte programa de um sistema embebido que interage com 4 dispositivos externos: /* Rotinas de interrupção */ void interrupt handle_device_a (void) { /* Serve o dispositivo A */ Insert_in_queue (function_a); } void interrupt handle_device_d (void) { /* Serve o dispositivo D */ Insert_in_queue (function_d); } /* Ciclo principal */ void main (void) { while (TRUE) { call Get_from_queue (); /* Chama a função à cabeça da lista e trata a informação do dispositivo correspondente */ } } José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 5 / 17 Exercício 007 - Resolução (1/5) Que arquitectura é que este programa tem? Fila de espera de funções (function queue). José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 6 / 17

Exercício 007 - Resolução (2/5) Quais são as principais vantagens e desvantagens desta arquitectura face às outras arquitecturas que conhece? Vantagens face às arquitecturas round-robin: Possibilidade de controlar, mesmo dinamicamente, as prioridades relativas das tarefas. Desvantagem: Maior complexidade do sistema operativo (sistema de suporte à execução). Desvantagem face aos sistemas operativos de tempo-real (RTOS): Uma tarefa mais prioritária tem que aguardar pela conclusão da tarefa que detém o controlo do processador. Vantagem: Simplicidade. José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 7 / 17 Exercício 007 - Resolução (3/5) Em operação o sistema apresentava falhas intermitentes. Requisitos do sistema - Tempo de latência da interrupção do dispositivo até ao início do tratamento da informação (entrada em Process_information_from_X) [µs]: Response times of the system[µs]: Device A 1.000 Device B 1.600 Device C 4.000 Device D 10.000 handle_device_a 100 Process_information_from_A 400 handle_device_b 50 Process_information_from_B 1.000 handle_device_c 40 Process_information_from_C 500 handle_device_d 35 Process_information_from_D 200 Latency time from interrupts 8 (hardware) José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 8 / 17

Exercício 007 - Resolução (3/5) Em face destes valores justique a ocorrência das falhas intermitentes calculando os tempos de latência para o tratamento da informação dos 4 dispositivos. tempo de latência de X = t (entrada em Process_information_from_x) - t (pedido de interrupção do dispositivo X) t_x = t_handle_device_x + t_ciclo_principal t_ciclo_principal = max(t_process_information_from_i) = 1000µs (tarefa B) tempo de latência de A = 100+1000=1100µs tempo de latência de B = 50+1000=1050µs tempo de latência de C = 40+1000=1040µs tempo de latência de D = 35+1000=1035µs A latência de A viola o requisito e, portanto, podem ocorrer situações em que o serviço de A não é devidamente completado. José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 9 / 17 Exercício 007 - Resolução (4/5) É possível alterar o programa inicial sem lhe modicar a arquitectura nem a estrutura interna das rotinas de interrupção e de processamento da informação, por forma a conseguir um funcionamento ável? Esta é uma limitação intrínseca da arquitectura, nas condições enunciadas não é possível melhorá-la. José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 10 / 17

Exercício 007 - Resolução (5/5) Sugira modicações ao programa inicial, mantendo a arquitectura geral, por forma a eliminar as falhas intermitentes. Mantém-se a arquitectura function-queue scheduling. A única possibilidade de resolver o problema é decompôr as funções mais demoradas em módulos mais pequenos, se a aplicação o permitir. Neste caso é a tarefa B (Process_information_from_B) que levanta problemas pela sua duração pelo que deveria ser decomposta em duas tarefas, não podendo nehuma delas demorar mais do que 900µs José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 11 / 17 Exercício 006 Pretende-se construir uma balança electrónica que dialoga com o exterior por comunicação série assíncrona a 19200 baud. Um sensor piezoeléctrico gera uma tensão eléctrica proporcional ao peso a medir. Esta tensão é convertida num valor digital por um conversor analógico-digital integrado no microcontrolador da balança. Este microcontrolador inclui igualmente timer e UART. O sistema deve efectuar medições de peso com intervalos de 20 ms. Sempre que recebe um pedido por comunicação série o sistema envia a média das 3 últimas medições efectuadas, indicando iguahnente se o peso está estável. A resposta não deve demorar mais do que 80 ms. José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 12 / 17

Exercício 006 - Resolução Este sistema deve ser considerado um sistema de tempo real? Embora sejam especicados vários tempos de resposta com limitações temporais, não é evidente, por falta de contexto da aplicação, que a sua violação não possa ocorrer sem falhas graves. Por outro lado os requisitos temporais, tirando a necessidade em manter a comunicação a 19200 baud, não são muito apertados pelo que não se considera este sistema de tempo-real. José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 13 / 17 Exercício 006 - Resolução Proponha, justicando sucintamente, uma arquitectura para o software do sistema. Arquitectura round-robin com interrupções. É a arquitectura mais simples com interrupções. A existência de interrupções neste caso simplicará a construção da aplicação, nomedamente o serviço dos timers e do canal série. José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 14 / 17

Exercício 006 - Resolução Indique em que tarefas organizaria o software e qual seria o papel de cada uma. Tarefas: T1: Serviço do canal série assíncrono T2: Leitura do peso T3: Cálculo da informação de peso a enviar. Interrupt handlers: H1: Transmissão de caracter pelo canal série. (Desdobrável, eventualmente, em duas rotinas de interrupção, uma para a recepção, a outra para a transmissão.) H2: Relógio de tempo real. Marca os períodos de leitura do peso. H3: Leitura do peso. Rotina conveniente se o conversor analógico-digital se sincronizar com o processador por interrupção. José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 15 / 17 References Exercícios de Sistemas Embebidos, Alberto Cunha. IST, 2006. José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 16 / 17

Next class Multitasking Operating Systems José Costa (DEI/IST) Performance Evaluation of Software Architectures 2011-03-22 17 / 17