Aula 9 Outros aspetos do escalonamento de tempo-real

Documentos relacionados
Sistemas de Tempo-Real

Aula 8. Escalonamento de tarefas aperiódicas. Sistemas de Tempo-Real

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

Sistemas de Tempo-Real

Sistemas de Tempo-Real

Escalonamento (Tarefas Esporádicas)

Conceitos Básicos dos Sistemas de Tempo Real

RELÓGIOS. (d) Entre 101 e 99 milisegundos. (e) Entre 102 e 98 milisegundos.

Aperiódicos e Esporádicos. Sérgio Campos

Sistemas de Tempo-Real

Sistemas de Tempo-Real

Caracterização. Sistemas de Tempo Real: Caracterização. Caracterização. Caracterização. Concepções Erradas. Mercados

Escalonamento de Tarefas em sistemas monoprocessados

Sistemas de Tempo-Real

Servidores de Aperiódicas

Conceitos básicos de Tempo Real

Executivo Cíclico. Executivo Cíclico Introdução. Sistemas de Tempo Real: Executivo Cíclico Exemplo. Executivo Cíclico Introdução

Escalonamento em Sistemas de Tempo Real

Aula 10. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Sistemas de Tempo Real

Modelagem de Sistemas de Tempo Real. Sérgio Campos

Algoritmos de Escalonamento II

Abordagens de Escalonamento

Testes de Escalonabilidade. Sérgio Campos

Sistemas de Tempo-Real

Sistemas de Tempo-Real

Escalonamento (Scheduling)

Escalonamento (Algoritmos Clássicos)

Fundamentos de Sistemas Operacionais

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

SSC546 -Avaliação de Desempenho de Sistemas

Sistemas de Tempo Real

PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto

Especificação, Modelação e Projecto de Sistemas Embutidos

(a) Maior ou igual ao WECT (b) Inferior ao WECT (c) Exatamente igual ao WECT (d) Mais seguro no entanto sem garantias

Aula 5 Escalonamento usando prioridades fixas

Estimação do Tempo de Resposta no Pior Caso

Alocação de Recursos. Introdução. Sistemas de Tempo Real: Introdução. Modelo de Recursos. Modelo de Recursos. Modelo de Recursos

Alocação de Recursos. Introdução. Sistemas de Tempo Real: Introdução. Modelo de Recursos. Modelo de Recursos. Modelo de Recursos

Tópicos Adicionais sobre Sistemas de Tempo Real

Escalonamento de Tarefas

PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto

Fundamentos de Sistemas Operacionais

Inversão de prioridades

Departamento de Engenharia Informática Licenciatura em Engenharia Informática Computadores e Sistemas Sistemas de Tempo Real

Aula 2 Modelos computacionais

Arquitetura de Sistemas Operativos

3) Considerando a tabela abaixo, usando a política de atribuição de prioridades Deadline Monotonic:

Sistemas Operacionais. Gerência de Processador

Seções Críticas em Sistemas de Tempo Real

Aula 3. Executivos (kernels) de tempo-real. Sistemas de Tempo-Real

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO EM INFORMÁTICA SISTEMAS OPERACIONAIS I 1 0 SEM/05 Teste 1 Unidade I DURAÇÃO: 50 MINUTOS

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 4 Sarita Mazzini Bruschi

Escalonamento do CPU

Sistemas de Tempo Real: Sistemas Operacionais

ENDEREÇAMENTO DE INSTRUÇÕES. Adão de Melo Neto

Introdução às Medidas em Física 2 a Aula *

SISTEMAS EMBARCADOS. Escalonamento e Tempo Real. Prof. André Schneider de Oliveira

Gerência do Processador. Adão de Melo Neto

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Sistemas de Tempo Real

Estrutura deste arquivo.. Comunicação Interprocesso Parte 1 de 2 - Cap. 2. Introdução 1 CONDIÇÕES DE CORRIDA

Gerência de Recursos. Gerência do Processador

Processos. Escalonamento de Processos

Introdução à Computação: Sistemas de Computação

Temporização (Scheduling) de Processos

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

Gerência do Processador. Adão de Melo Neto

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

Escalonamento (Exclusão Mútua)

Sistemas de Tempo Real

AULA DE REVISÃO 3 ILP

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Estrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Servidores de Aperiódicas

Sistemas Operacionais

RTKPIC18. Breve Manual. (Real-Time Kernel PIC18FXX8) 1. Introdução. Pedro Leite nº21526 Ricardo Marau nº Janeiro 2004

Barramento. Prof. Leonardo Barreto Campos 1

Uma Solução Mista para o Escalonamento Baseado em Prioridades de Aplicações Tempo Real Críticas

Sistemas Operacionais. Processos e Threads

6 ESCALONAMENTO DE CPU

Sistemas Operacionais de Tempo Real. Prof. Andre Luis Meneses Silva

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos

Capítulo 2 Processos e Threads

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

Processos. Escalonamento de Processos

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.

( ) ( ) Auto Avaliação F ( ) M ( ) D ( ) Seqüência: Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Exercícios - Dia 20/04/2011

Refere-se à alocação dos recursos da rede para a transmissão pelos diversos dispositivos conectados.

Introdução aos Sistemas de Tempo Real

Material baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana

Capítulo 4 Gerenciamento de Memória

Avaliação de desempenho

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

Notas da Aula 8 - Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Variância dos Tempos de Resposta

Transcrição:

Sistemas de Tempo-Real Aula 9 Outros aspetos do escalonamento de tempo-real Escalonamento sem preempção Questões de aplicação prática em sistemas reais Adaptado dos slides desenvolvidos pelo Prof. Doutor Luís Almeida para a disciplina Sistemas de Tempo-Real Revisto em Nov/2012 por Paulo Pedreiras

Aula anterior (8) Execução conjunta de tarefas periódicas e aperiódicas Execução de aperiódicas em background Utilização de servidores de tarefas aperiódicas Servidores de prioridades fixas Polling Server - PS Deferrable Server - DS Sporadic Server - SS Servidores de prioridades dinâmicas Total Bandwidth Server TBS Constant Bandwidth Server - CBS DETI * STR 2012/2013 2

Escalonamento sem preempção O escalonamento sem preempção consiste em executar as tarefas completamente, sem permitir a sua suspensão para execução de outras tarefas de maior prioridade Características principais (vantagens): É muito simples de realizar já que não é necessário salvaguardar o estado intermédio de execução das tarefas (estas executam sem interrupção). O tamanho total de stack necessário para o sistema é mínimo (igual aos requisitos de stack da tarefa com maiores requisitos) Não é necessário nenhum protocolo específico para controlo do acesso a recursos partilhados (as tarefas executam com exclusão mútua) DETI * STR 2012/2013 3

Escalonamento sem preempção Características principais (desvantagens): Implica uma penalização ao nível da escalonabilidade do sistema, principalmente quando há tarefas com tempos de execução longos. Essa penalização torna-se excessiva quando simultaneamente se pretende executar tarefas com elevado ritmo de ativação. A penalização da escalonabilidade do sistema pode ser vista como um bloqueio no acesso a um recurso partilhado, o CPU. Isto permite utilizar os testes de escalonabilidade apresentados anteriormente para sistemas com preempção e acesso a recursos partilhados. Neste caso, B i = max k lp(i) (C k ) DETI * STR 2012/2013 4

Escalonamento sem preempção Para além de se considerar o termo de bloqueio correspondente, existem ainda algumas adaptações a efetuar nas análises de escalonabilidade que usam o cálculo do tempo de resposta. Calculo de Rwc i com prioridades fixas: i,r wci =I i C i O processo iterativo é executado apenas sobre I i uma vez que, após iniciar, a tarefa i executará até final, e deverá incluir ativações no último instante I i =B i I i k hp i T 1 C k k I i 0 =B i k hp i C k I i (m+1)=b i + k hp i ( I i(m) T +1 ) C k k τ 3 τ 2 τ 1 Rwc 2 DETI * STR 2012/2013 5

Escalonamento sem preempção RM com preempção τ 3 Tabela de propriedades das tarefas τ i T i C i 1 2 0.5 2 3 0.5 3 6 3 τ 2 τ 1 t=0 t=2 τ 3 τ 2 t=6 RM sem preempção τ 1 t=0 t=2 t=6 Bloqueio e perda de deadline DETI * STR 2012/2013 6

Escalonamento sem preempção Tabela de propriedades das tarefas τ i T i C i O i 1 2 0.5 2 2 3 0.5 3 3 6 3 4.5 Utilização de offsets τ 3 τ 2 τ 1 t=0 t=2 Macro-ciclo t=6 A utilização de offsets pode ser particularmente eficaz no escalonamento sem preempção, permitindo por vezes tornar escalonável um sistema não-escalonável. DETI * STR 2012/2013 7

Na construção de aplicações reais existem alguns aspetos a ter em conta por influenciarem a exatidão dos testes de escalonabilidade das tarefas: O custo dos mecanismos internos do executivo (e.g. tick handler) O custo adicional das mudanças de contexto Os tempos de execução das tarefas Outras rotinas de atendimento de interrupções Desvios nos instantes de ativação das tarefas DETI * STR 2012/2013 8

Determinação do custo adicional do atendimento do tick O atendimento do relógio do sistema (tick) utiliza tempo de CPU para além da execução das tarefas (overhead). Trata-se da atividade de maior prioridade executada pelo sistema e pode ser modelada como uma tarefa periódica O respetivo overhead (σ) tem um impacto substancial na eficiência do sistema já que se trata de uma parte da largura de banda que é subtraída à disponibilidade do CPU para execução das tarefas da aplicação. DETI * STR 2012/2013 9

Determinação do custo adicional do atendimento do tick (cont.) Pode ser medida quer diretamente quer recorrendo a uma função longa, executada sem e com interrupções do tick (período T tick ) e medindo a diferença dos tempos de execução (C 0 1 e C 1 1 respetivamente). Neste caso, = C 1 0 1 C 1 C 1 1 T Tick C 0 1 Esta técnica fornece um valor médio de σ! τ 1 C 1 1 Tick handler σ T tick DETI * STR 2012/2013 10

Determinação do custo adicional das mudanças de contexto As mudanças de contexto também requerem tempo de CPU para além da execução do código das tarefas (overhead). Uma forma simples de medir este overhead (δ) consiste em utilizar um par de tarefas, uma longa e a outra de maior prioridade, rápida (T 2 ) e vazia (sem código). Basta medir o tempo de execução da primeira, sozinha (C 0 1) e juntamente com a segunda (C 1 1). Neste caso, = C 1 0 1 C 1 C 1 1 T 2 C 0 1 τ 1 C 1 1 τ 2 T 2 DETI * STR 2012/2013 11

Utilização do custo adicional das mudanças de contexto (cont.) Uma forma simples (mas pessimista) de ter em conta o overhead das mudanças de contexto (δ) consiste em adicionar esse termo aos tempos de execução das tarefas. Dessa forma, não apenas se toma em linha de conta a mudança de contexto relativa à própria tarefa como também as relativas a todas a preempções que possam ocorrer. Pessimismo (o overhead é tomado em conta 2 vezes) τ 3 τ 2 τ 1 t=0 t=2 t=6 DETI * STR 2012/2013 12

Determinação dos tempos de execução das tarefas Normalmente efetuada com recurso à análise do código fonte, para determinar o trajeto de execução mais longo, de acordo com os dados de entrada. Depois é analisado o código objeto para contar os ciclos de relógio do CPU necessários para executar as instruções do referido trajeto mais longo. Notar que o tempo de execução de uma tarefa poderá variar de instância para instância de acordo com os dados de entrada ou com condições do sistema, por via da utilização de condicionais e ciclos. DETI * STR 2012/2013 13

Determinação dos tempos de execução das tarefas (cont.) Também é possível executar a tarefa isoladamente e de forma controlada, fornecendo-lhe os dados de entrada adequados e medindo o tempo de execução na plataforma destino. Este método experimental requer algum cuidado para garantir que se obtém um majorante do tempo de execução! Os processadores complexos atuais usam pipelines e caches (de dados e/ou de instruções) que melhoram substancialmente o tempo médio de execução de um programa mas apresentam um pior caso muito penalizante. Para este casos, usam-se análises específicas para reduzir o pessimismo do pior caso (máximas ocorrências de cache misses e pipeline flushes de acordo com a efetiva sequência de instruções). DETI * STR 2012/2013 14

Determinação dos tempos de execução das tarefas (cont.) Hoje em dia existe um interesse crescente na análise estocástica dos tempos de execução e respetivo impacto em termos de interferência. A ideia consiste em determinar a distribuição de probabilidade dos tempos de execução e utilizar uma estimativa para o tempo máximo que cubra uma percentagem elevada (e.g. 99%) das ocorrências. Em muitos casos (principalmente quando o pior caso é raro e muito maior do que o caso médio) esta técnica permite reduzir drasticamente o pessimismo do WCET e aumentar a taxa de utilização do CPU (maior eficiência) Histograma dos tempos de execução BCET WCET estimado (e.g. Percentil 99) WCET DETI * STR 2012/2013 15

Impacto de outras rotinas de atendimento de interrupções Regra geral as rotinas de atendimento de interrupções executam com um nível de prioridade superior ao de todas as tarefas no sistema. Assim, num sistema de prioridades fixas, o respetivo impacto pode ser diretamente tido em conta, incluindo estas rotinas como tarefas nas análises de escalonabilidade. Em sistemas de prioridades dinâmicas a situação é mais complexa (e.g. como atribuir deadlines?). Considera-se, neste caso, que as janelas de tempo em que as rotinas executam não estão disponíveis para a execução de tarefas. Isto pode ser tido em conta na análise de carga imposta ao CPU. DETI * STR 2012/2013 16

Impacto de desvios nos instantes de ativação de tarefas Uma tarefa pode sofrer desvios nos respetivos instantes de ativação, e.g. quando a tarefa é ativada pela terminação de outra, ou por uma interrupção externa, ou por uma mensagem recebida por um porto de comunicação, a ativação pode variar relativamente ao instante previsto chama-se a este efeito variação de disparo (release jitter) A existência de release jitter tem de ser tida em conta na análise de escalonabilidade pois a tarefa poderá executar fora dos instantes previstos. DETI * STR 2012/2013 17

Impacto de desvios nos instantes de ativação de tarefas Uma tarefa pode sofrer desvios nos respetivos instantes de ativação, e.g. quando a tarefa é ativada pela terminação de outra, ou por uma interrupção externa, ou por uma mensagem recebida por um porto de comunicação, a ativação pode variar relativamente ao instante previsto chama-se a este efeito variação de disparo (release jitter) A existência de release jitter tem de ser tida em conta na análise de escalonabilidade pois a tarefa poderá executar fora dos instantes previstos. τ 3 τ 2 τ 1 Release jitter DETI * STR 2012/2013 18

Impacto de desvios nos instantes de ativação de tarefas A existência de release jitter pode ser tida em conta como uma antecipação dos instantes de ativação das instâncias seguintes. Cálculo de Rwc i usando preempção e prioridades fixas i, Rwc i =I i C i, com I i = Rwc i J k k hp i T C k k Rwc i 0 = C k C i k hp i Rwc i m 1 = k hp i Rwc m J i k T k C k C i DETI * STR 2012/2013 19

Resumo da Aula 9 Outro aspetos do escalonamento de tempo-real Escalonamento sem preempção Questões de aplicação prática em sistemas reais DETI * STR 2012/2013 20