O Escalonamento de Tempo Real

Documentos relacionados
Prioridades com Teste de Escalonabilidade

Escalonamento Baseado em Prioridades Fixas

Sistemas de Tempo-Real

Escalonamento com Garantia

4 Critérios para Avaliação dos Cenários

Sistemas de Tempo-Real

Mecanismos de Escalonamento

3 Metodologia de Avaliação da Relação entre o Custo Operacional e o Preço do Óleo

7 - Distribuição de Freqüências

3 A técnica de computação intensiva Bootstrap

Cap 6: 4,5,8,9,10,11,12,15,16,21 fazer diagramas, usar análise por cálculo do tempo de resposta

Os modelos de regressão paramétricos vistos anteriormente exigem que se suponha uma distribuição estatística para o tempo de sobrevivência.

Laboratório de Mecânica Aplicada I Determinação de Centros de Gravidade

3 Algoritmos propostos

3 Elementos de modelagem para o problema de controle de potência

Figura 8.1: Distribuição uniforme de pontos em uma malha uni-dimensional. A notação empregada neste capítulo para avaliação da derivada de uma

UNIDADE IV DELINEAMENTO INTEIRAMENTE CASUALIZADO (DIC)

EXERCÍCIO: VIA EXPRESSA CONTROLADA

2 Principio do Trabalho Virtual (PTV)

Programa do Curso. Sistemas Inteligentes Aplicados. Análise e Seleção de Variáveis. Análise e Seleção de Variáveis. Carlos Hall

Na Aula Anterior... Impasses (Deadlocks) Nesta Aula. Impasse. Recurso. Impasse (Deadlock) 17/10/2016

Variação ao acaso. É toda variação devida a fatores não controláveis, denominadas erro.

2 Metodologia de Medição de Riscos para Projetos

RAD1507 Estatística Aplicada à Administração I Prof. Dr. Evandro Marcos Saidel Ribeiro

CAPÍTULO 2 DESCRIÇÃO DE DADOS ESTATÍSTICA DESCRITIVA

Psicologia Conexionista Antonio Roque Aula 8 Modelos Conexionistas com tempo contínuo

Aula Características dos sistemas de medição

2 Incerteza de medição

Guia 11 Escalonamento de Mensagens

5 Relação entre Análise Limite e Programação Linear 5.1. Modelo Matemático para Análise Limite

Cap. IV Análise estatística de incertezas aleatórias

2 ENERGIA FIRME DE SISTEMAS HIDRELÉTRICOS

CURSO A DISTÂNCIA DE GEOESTATÍSTICA

Implemente uma solução para o problema da barreira usando mutexes e variáveis condição da biblioteca das pthreads. A solução consiste de 2 rotinas:

ANÁLISE DE ESTRUTURAS I INTRODUÇÃO AO MÉTODO DE CROSS

Implementação Bayesiana

Sistemas de Tempo-Real

Programação Dinâmica. Fernando Nogueira Programação Dinâmica 1

U N I V E R S I D A D E D O S A Ç O R E S D E P A R T A M E N T O D E M A T E M Á T I C A ARMANDO B MENDES ÁUREA SOUSA HELENA MELO SOUSA

4 Discretização e Linearização

Suporte Básico para Sistemas de Tempo Real

Notas Processos estocásticos. Nestor Caticha 23 de abril de 2012

IMPLEMENTAÇÃO DO MÉTODO DE FATORAÇÃO DE INTEIROS CRIVO QUADRÁTICO

Curso de extensão, MMQ IFUSP, fevereiro/2014. Alguns exercício básicos

3 Método Numérico. 3.1 Discretização da Equação Diferencial

Radiação Térmica Processos, Propriedades e Troca de Radiação entre Superfícies (Parte 2)

INTRODUÇÃO À PROBABILIDADE. A probabilidade é uma medida da incerteza dos fenômenos. Traduz-se por um número real compreendido de 0 ( zero) e 1 ( um).

RISCO. Investimento inicial $ $ Taxa de retorno anual Pessimista 13% 7% Mais provável 15% 15% Otimista 17% 23% Faixa 4% 16%

Experiência V (aulas 08 e 09) Curvas características

Capítulo 2. APROXIMAÇÕES NUMÉRICAS 1D EM MALHAS UNIFORMES

É o grau de associação entre duas ou mais variáveis. Pode ser: correlacional ou experimental.

Teoria Elementar da Probabilidade

Algarismos Significativos Propagação de Erros ou Desvios

Aprendizagem de Máquina

Laboratório de Mecânica Aplicada I Estática: Roldanas e Equilíbrio de Momentos

R X. X(s) Y Y(s) Variáveis aleatórias discretas bidimensionais

DIFERENCIANDO SÉRIES TEMPORAIS CAÓTICAS DE ALEATÓRIAS ATRAVÉS DAS TREND STRIPS

Introdução aos Problemas de Roteirização e Programação de Veículos

PROVA 2 Cálculo Numérico. Q1. (2.0) (20 min)

Prof. Lorí Viali, Dr.

Gestão e Teoria da Decisão

Realimentação negativa em ampliadores

Representação e Descrição de Regiões

CAPITULO II - FORMULAÇAO MATEMATICA

Interpolação Segmentada

2 Lógica Fuzzy Introdução

Reconhecimento Estatístico de Padrões

Estatística II Antonio Roque Aula 18. Regressão Linear

Redes de Petri. Definições:

Testes não-paramétricos

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

Diferença entre a classificação do PIB per capita e a classificação do IDH

Ajuste dos Mínimos Quadrados

CORRELAÇÃO E REGRESSÃO

5 Implementação Procedimento de segmentação

(1) A uma parede totalmente catalítica quanto para uma parede com equilíbrio catalítico. No caso de uma parede com equilíbrio catalítico, tem-se:

Ao se calcular a média, moda e mediana, temos: Quanto mais os dados variam, menos representativa é a média.

REGRESSÃO NÃO LINEAR 27/06/2017

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

8 - Medidas Descritivas

Procedimento Recursivo do Método dos Elementos de Contorno Aplicado em Problemas de Poisson

4 Sistemas de partículas

Extensões da Análise para Prioridades Fixas

Ao se calcular a média, moda e mediana, temos: Quanto mais os dados variam, menos representativa é a média.

Sempre que surgir uma dúvida quanto à utilização de um instrumento ou componente, o aluno deverá consultar o professor para esclarecimentos.

Flambagem. Cálculo da carga crítica via MDF

Modelo de Alocação de Vagas Docentes

UMA ABORDAGEM ALTERNATIVA PARA O ENSINO DO MÉTODO DOS MÍNIMOS QUADRADOS NO NÍVEL MÉDIO E INÍCIO DO CURSO SUPERIOR

4.1 Modelagem dos Resultados Considerando Sazonalização

Algoritmos de Escalonamento para a Síntese de Alto Nível

Análise Exploratória de Dados

Eletromagnetismo Aplicado

As leis de Kirchhoff. Capítulo

Proposta de método para alocação de perdas em redes eléctricas de distribuição com Produção em Regime Especial

2 Aproximação por curvas impĺıcitas e partição da unidade

Prof. Lorí Viali, Dr.

Transcrição:

apítulo 2 O Escalonamento de Tempo Real Em sstemas de tempo real que seguem a abordagem assíncrona os aspectos de mplementação estão presentes mesmo na fase de proeto. Na mplementação de restrções temporas, é de fundamental mportânca o conhecmento das propredades temporas do suporte de tempo de execução usado e da escolha de uma abordagem de escalonamento de tempo real adequada à classe de problemas que o sstema deve tratar. Neste sentdo, este capítulo e o próxmo apresentam aspectos da teora de escalonamento e de sstemas operaconas sob a ótca de tempo real. Este capítulo trata sobre escalonamento de tempo real de um modo geral. oncetos, obetvos, hpóteses e métrcas são claramente apresentados no sentdo de ntroduzr o que chamamos de um problema de escalonamento. Posterormente, dferentes classes de problemas de escalonamento são examnadas em suas soluções algorítmcas. 2. Introdução Em sstemas onde as noções de tempo e de concorrênca são tratadas explctamente, concetos e técncas de escalonamento formam o ponto central na prevsbldade do comportamento de sstemas de tempo real. Nos últmos anos, uma quantdade sgnfcatva de novos algortmos e de abordagens fo ntroduzda na lteratura tratando de escalonamento de tempo real. Infelzmente mutos desses trabalhos defnem técncas restrtas e conseqüentemente de uso lmtado em aplcações reas. Esse capítulo se concentra em algumas técncas geras e em suas extensões, vsando também à perspectva de um uso mas prátco. O foco desse capítulo é sobre técncas para escalonamentos drgdos a prordades. Essa escolha é devdo à mportânca da lteratura dsponível e, porque cobre dversos aspectos de possíves comportamentos temporas em aplcações de tempo real. A grande dfusão de suportes (núcleos, sstemas operaconas), na forma de produtos, que baseam seus escalonamentos em mecansmos drgdos a prordade é sem dúvda outra ustfcatva bastante forte para a escolha do enfoque dado nesse capítulo. Essa dfusão é tão sgnfcatva que organsmos de padronzação têm adotado essa abordagem de escalonamento de tempo real. Os padrões POSIX [Gal95] - referênca para produtos comercas - enfatzam em suas especfcações para tempo real escalonamentos drgdos a prordades. Alguns dos algortmos apresentados nesse capítulo são recomendados pelas especfcações POSIX.

2 2. O Escalonamento de Tempo Real Na seqüênca é ntroduzdo um conunto de concetos que permtem a caracterzação de um problema de escalonamento. 2.2 Modelo de Tarefas O conceto de tarefa é uma das abstrações báscas que fazem parte do que chamamos um problema de escalonamento. Tarefas ou processos formam as undades de processamento seqüencal que concorrem sobre um ou mas recursos computaconas de um sstema. Uma smples aplcação de tempo real é consttuída tpcamente de váras tarefas. Uma tarefa de tempo real, além da correção lógca ("correctness"), deve satsfazer seus prazos e restrções temporas ou sea, apresentar também uma correção temporal ("tmelness"). As restrções temporas, as relações de precedênca e de exclusão usualmente mpostas sobre tarefas são determnantes na defnção de um modelo de tarefas que é parte ntegrante de um problema de escalonamento. Nas seções subseqüentes descrevemos essas formas de restrções que normalmente estão presentes em processamentos de tempo real. 2.2. Restrções Temporas Aplcações de tempo real são caracterzadas por restrções temporas que devem ser respetadas para que se tenha o comportamento temporal deseado ou necessáro. Todas as tarefas de tempo real tpcamente estão suetas a prazos: os seus "deadlnes". A prncípo, uma tarefa deve ser concluída antes de seu "deadlne". As conseqüêncas de uma tarefa ser concluída após o seu "deadlne" defne dos tpos de tarefas de tempo real: Tarefas rítcas (tarefas "hard") : Uma tarefa é dta crítca quando ao ser completada depos de seu "deadlne" pode causar falhas catastrófcas no sstema de tempo real e em seu ambente. Essas falhas podem representar em danos rreversíves em equpamentos ou anda, em perda de vdas humanas. Tarefas Brandas ou Não rítcas (tarefas "soft"): Essas tarefas quando se completam depos de seus "deadlnes" no máxmo mplcam numa dmnução de desempenho do sstema. As falhas temporas nesse caso são dentfcadas como bengnas onde a conseqüênca do desvo do comportamento normal não representa um custo muto sgnfcatvo. Outra característca temporal de tarefas em sstemas de tempo real está baseada na regulardade de suas atvações. Os modelos de tarefa comportam dos tpos de tarefas segundo suas freqüêncas de atvações:

2.2 Modelo de Tarefas 3 Tarefas Peródcas: Quando as atvações do processamento de uma tarefa ocorrem, numa seqüênca nfnta, uma só atvação por ntervalo regular chamado de Período, essa tarefa é dentfcada como peródca. As atvações de uma tarefa peródca formam o conunto de dferentes nstâncas da tarefa. Nesse texto assummos a prmera atvação de uma tarefa peródca ocorrendo na orgem dos tempos consderados na aplcação (em t=0). Tarefas Aperódcas ou Tarefas Assíncronas: Quando a atvação do processamento de uma tarefa responde a eventos nternos ou externos defnndo uma característca aleatóra nessas atvações, a tarefa é dta aperódca. As tarefas peródcas pela regulardade e portanto pela prevsbldade, usualmente são assocadas a "deadlnes hard", ou sea, são tarefas crítcas. As tarefas aperódcas pela falta de prevsbldade em suas atvações, normalmente, tem "deadlnes soft" assocados a suas execuções, compondo portanto as tarefas brandas de um sstema de tempo real. Tarefas esporádcas que correspondem a um subconunto das tarefas aperódcas, apresentam como característca central a restrção de um ntervalo mínmo conhecdo entre duas atvações consecutvas e por sso, podem ter atrbutos de tarefas crítcas. As tarefas esporádcas portanto são também assocadas a "deadlnes hard". As fguras 2. e 2.2 apresentam característcas temporas de tarefas peródcas e aperódcas, respectvamente. Outras restrções temporas são mportantes na defnção do comportamento temporal de uma tarefa: Tempo de computação ("omputaton Tme"): O tempo de computação de uma tarefa é o tempo necessáro para a execução completa da tarefa. Tempo de níco ("Start Tme"): Esse tempo corresponde ao nstante de níco do processamento da tarefa em uma atvação. Tempo de térmno ("ompleton Tme"): É o nstante de tempo em que se completa a execução da tarefa na atvação. Tempo de chegada ("Arrval Tme"): O tempo de chegada de uma tarefa é o nstante em que o escalonador toma conhecmento de uma atvação dessa tarefa. Em tarefas peródcas, o tempo de chegada concde sempre com o níco do período da atvação. As tarefas aperódcas apresentam o tempo de chegada concdndo com o tempo da requsção do processamento aperódco. Tempo de lberação ("Release Tme"): O tempo de lberação de uma tarefa concde com o nstante de sua nclusão na fla de Pronto (fla de tarefas prontas) para executar. Dependendo do modelo de tarefas assumdo o tempo de lberação pode ou não

4 2. O Escalonamento de Tempo Real concdr com o tempo de chegada da tarefa. Em geral é assumdo que tão logo uma nstânca de uma tarefa chegue, a mesma é lberada na fla de Pronto. Mas, nem sempre esse é o caso; uma tarefa pode ser retardada na sua lberação pelo "pollng" de um escalonador atvado por tempo ("tck scheduler") ou talvez pelo bloqueo na recepção de uma mensagem (tarefas atvadas por mensagem). Essa não concdênca dos tempos de chegada com as lberações da tarefa conduz ao que é dentfcado como "Release Jtter", que representa a máxma varação dos tempos de lberação das nstâncas da tarefa. Dante das restrções temporas ctadas temos então o comportamento temporal de uma tarefa peródca T descrto pela quádrupla (J,, P, D ) onde representa o tempo de computação da tarefa, P é o período da tarefa, D é o "deadlne" e J é o "Release Jtter" da tarefa que, de certa manera, corresponde a por stuação de lberação da tarefa. Nessa representação de tarefas peródcas, J e D são grandezas relatvas (ntervalos), meddas a partr do níco do período P. O "deadlne" absoluto e o tempo de lberação da k ésma atvação da tarefa peródca T são determnados a partr dos períodos anterores: d k = (k-)p + D r = (k-)p +J (por stuação de lberação). atvação atvação 2 atvação 3 P P P D D D J a r st ct d a = r st ct d a r 3 st ct d t Fgura 2.: Atvações de um a tarefa peró dca Na fgura 2. é lustrado alguns dos parâmetros descrtos acma. Porém, cada atvação da tarefa peródca (J,, P, D ) é defnda a partr de tempos absolutos: os tempos de chegada (a ), os tempos de lberação (r ), os tempos de níco (st ), os tempos de térmno (ct ) e os "deadlnes" absolutos (d ). requsção requsção 2 mn mn D D 0 a st ct d st = a ct d t Fgura 2.2: Atvações de uma tarefa aperódca

2.3 Escalonamento de Tempo Real 5 Uma tarefa esporádca é descrta pela trpla (, D, mn ) onde é o tempo de computação, D é o "deadlne" relatvo meddo a partr do nstante da requsção do processamento aperódco (chegada da tarefa esporádca) e mn corresponde ao mínmo ntervalo entre duas requsções consecutvas da tarefa esporádca. A descrção de uma tarefa aperódca pura se lmta apenas às restrções e D. Na fgura 2.2, a tarefa aperódca esporádca (, D, mn ) é apresentada com duas requsções. Tomando o tempo de chegada da requsção esporádca 2 como a 2, o "deadlne" absoluto desta atvação assume o valor dado por: d 2 =a 2 +D. 2.2.2 Relações de Precedênca e de Exclusão Em aplcações de tempo real, mutas vezes, os processamentos não podem executar em ordem arbtrára. Implcações semântcas defnem relações de precedênca entre as tarefas da aplcação determnando portanto, ordens parcas entre as mesmas. Uma tarefa T é precedda por uma outra T (T T ), se T pode ncar sua execução somente após o térmno da execução de T. Relações de precedênca podem também expressar a dependênca que tarefas possuem de nformações (ou mesmo snas de sncronzação) produzdas em outras tarefas. As relações de precedênca em um conunto de tarefas usualmente são representadas na forma de um grafo acíclco orentado, onde os nós correspondem às tarefas do conunto e os arcos descrevem as relações de precedênca exstentes entre as tarefas. O compartlhamento de recursos em exclusão mútua defne outra forma de relações entre tarefas também sgnfcatvas em escalonamentos de tempo real: as relações de exclusão. Uma tarefa T exclu T quando a execução de uma seção crítca de T que manpula o recurso compartlhado não pode executar porque T á ocupa o recurso. Relações de exclusão em escalonamentos drgdos a prordade podem levar a nversões de prordades onde tarefas mas prortáras são bloqueadas por tarefas menos prortáras. As relações de precedênca e de exclusão serão retomadas no tem que trata sobre os algortmos de escalonamento drgdos a prordades. 2.3 Escalonamento de Tempo Real 2.3. Prncpas oncetos O termo escalonamento ("schedulng") dentfca o procedmento de ordenar tarefas na fla de Pronto. Uma escala de execução ("schedule") é então uma ordenação ou lsta que ndca a ordem de ocupação do processador por um conunto de tarefas dsponíves

6 2. O Escalonamento de Tempo Real na fla de Pronto. O escalonador ("scheduler") é o componente do sstema responsável em tempo de execução pela gestão do processador. É o escalonador que mplementa uma polítca de escalonamento ao ordenar para execução sobre o processador um conunto de tarefas. Polítcas de escalonamento defnem crtéros ou regras para a ordenação das tarefas de tempo real. Os escalonadores utlzando então essas polítcas produzem escalas que se forem realzáves ("feasble"), garantem o cumprmento das restrções temporas mpostas às tarefas de tempo real. Uma escala é dta ótma se a ordenação do conunto de tarefas, de acordo com os crtéros pré-estabelecdos pela polítca de escalonamento, é a melhor possível no atendmento das restrções temporas. Tendo como base a forma de cálculo da escala (ordenação das tarefas), algumas classfcações são encontradas para a grande varedade de algortmos de escalonamento de tempo real encontrados na lteratura [AuB90, But97, SR88]. Os algortmos são dtos preemptvos ou não preemptvos quando em qualquer momento tarefas se executando podem ou não, respectvamente, ser nterrompdas por outras mas prortáras. Algortmos de escalonamento são dentfcados como estátcos quando o cálculo da escala é feto tomando como base parâmetros atrbuídos às tarefas do conunto em tempo de proeto (parâmetros fxos). Os dnâmcos, ao contráro, são baseados em parâmetros que mudam em tempo de execução com a evolução do sstema. Os algortmos de escalonamento que produzem a escala em tempo de proeto são dentfcados como algortmos "off-lne". Se a escala é produzda em tempo de execução o algortmo de escalonamento é dto de "on-lne". A partr dessas classfcações podemos ter algortmos off-lne estátcos, on-lne estátcos e on-lne dnâmcos. Essas classfcações serão revstas na apresentação de algortmos de escalonamento. Um problema de escalonamento, na sua forma geral, envolve um conunto de processadores, um conunto de recursos compartlhados e um conunto de tarefas especfcadas segundo um modelo de tarefas defnndo restrções temporas, de precedênca e de exclusão. O escalonamento de tempo real, na sua forma geral, é dentfcado como um problema ntratável (NP-completo [GaJ79], [AuB90]). Muto freqüentemente os algortmos exstentes representam uma solução polnomal para um problema de escalonamento partcular, onde um conunto de hpóteses podem expressar smplfcações no modelo de tarefas ou anda na arqutetura do sstema, no sentdo de dmnur a complexdade do problema. Quando nenhuma smplfcação é usada para abrandar a complexdade no escalonamento, uma heurístca é usada para encontrar uma escala realzável anda que não sendo ótma mas que garanta as restrções do problema. Os algortmos de escalonamento estão então lgados a classes de problemas de escalonamento de tempo real. Um algortmo é dentfcado como ótmo se mnmza algum custo ou métrca defnda sobre a sua classe de problema. Quando nenhum custo ou métrca é defndo, a únca preocupação é então encontrar uma escala realzável. Nesse caso, o algortmo é dto ótmo quando consegue encontrar uma escala realzável para um conunto de tarefas sempre que houver um algortmo da mesma classe que também chega a uma escala realzável para esse mesmo conunto; se o algortmo ótmo

2.3 Escalonamento de Tempo Real 7 falha em um conunto de tarefas na determnação de uma escala realzável então todos os algortmos da mesma classe de problema também falharão. 2.3.2 Abordagens de Escalonamento Uma aplcação de tempo real é expressa na forma de um conunto de tarefas e, para efeto de escalonamento, o somatóro dos tempos de computação dessas tarefas na fla de Pronto determna a carga computaconal ("task load") que a aplcação consttu para os recursos computaconas em um determnado nstante. Uma carga toma característcas de carga estátca ou lmtada quando todas as suas tarefas são bem conhecdas em tempo de proeto na forma de suas restrções temporas, ou sea, são conhecdas nas suas condções de chegada ("arrval tmes" das tarefas). O fato de conhecer a pror os tempos de chegada torna possível a determnação dos prazos a que uma carga está sueta. As stuações de pco (ou de por caso) nestas cargas são também conhecdas em tempo de proeto. argas estátcas são modeladas através de tarefas peródcas e esporádcas. argas dnâmcas ou lmtadas ocorrem em stuações onde as característcas de chegada das tarefas não podem ser antecpadas. Essas cargas são modeladas usando tarefas aperódcas, ou sea, basta que se tenha uma tarefa aperódca no conunto cuo ntervalo mínmo entre requsções sea nulo e teremos as condções de pco dessa carga desconhecda em tempo de proeto. O escalonamento é mutas vezes dvddo em duas etapas. Um teste de escalonabldade é ncalmente executado, no sentdo de determnar se as restrções temporas de um conunto de tarefas são atenddas consderando os crtéros de ordenação defndos no algortmo de escalonamento. A segunda etapa envolve então o cálculo da escala de execução. Dferentes abordagens de escalonamento são dentfcadas na lteratura, tomando como base o tpo de carga tratado e as etapas no escalonamento dentfcados acma. Em [RaS94] é defnda uma taxonoma que dentfca três grupos prncpas de abordagens de escalonamento de tempo real: as abordagens com garanta em tempo de proeto ("offlne guarantee"), com garanta em tempo de execução ("on-lne guarantee") e abordagens de melhor esforço ("best-effort"). O grupo garanta em tempo de proeto é formado por abordagens que tem como fnaldade a prevsbldade determnsta. A garanta em tempo de proeto é conseguda a partr de um conunto de premssas: a carga computaconal do sstema é conhecda em tempo de proeto (carga estátca); no sstema exste uma reserva de recursos sufcentes para a execução das tarefas, atendendo suas restrções temporas, na condção de por caso.

8 2. O Escalonamento de Tempo Real O fato de se conhecer a pror a carga (conhecer os tempos de chegada das tarefas), permte que se possa fazer testes de escalonabldade, determnando se o conunto de tarefas consderado é escalonável e, portanto, garantndo suas restrções temporas anda em tempo de proeto. O conhecmento prévo da stuação de por caso (stuação de pco) permte até que se possa redmensonar o sstema de modo a garantr as restrções temporas mesmo nessa stuação de pco. O grupo de abordagens com garanta em tempo de proeto é própro para aplcações determnstas ou crítcas onde a carga é conhecda prevamente, como em aplcações embarcadas, controle de tráfego ferrováro, controle de processos em geral, etc. São bascamente dos os tpos de abordagens com garanta em tempo de proeto: o executvo cíclco e os escalonamentos drgdos a prordades. No executvo cíclco ([Kop97] [XuP93]) ambos, o teste de escalonabldade e a produção da escala, são realzados em tempo de proeto. Essa escala (ou grade), defnda em tempo de proeto, é de tamanho fnto e determna a ocupação dos slots do processador em tempo de execução. O teste de escalonabldade fca mplícto no processo de montagem da escala. A complexdade dos algortmos ou heurístcas usadas no cálculo da escala depende da abrangênca do modelo de tarefas usado. Modelos mas complexos envolvem o uso de funções heurístcas para drgr técncas de "branch and bound" na procura de escalas realzáves [Pn95]. Essa abordagem é chamada de executvo cíclco porque o escalonador em tempo de execução se resume a um smples dspachante, atvando tarefas segundo a grade, cclcamente. A escala calculada nessa abordagem, em tempo de proeto, reflete o por caso. omo o por caso é dstante do caso médo e nem sempre ocorre, a atvação das tarefas segundo essas grades, embora satsfaça às restrções temporas, mplca em desperdíco de recursos que são sempre reservados para o por caso. Abordagens com garanta em tempo de proeto baseadas em escalonadores drgdos a prordades são mas flexíves. O teste de escalonamento é realzado em tempo de proeto enquanto a escala é produzda "on-lne" por um escalonador drgdo a prordades. As tarefas têm suas prordades defndas segundo polítcas de escalonamento que envolvem atrbuções estátcas (prordades fxas) ou dnâmcas (prordades varáves), caracterzando escalonadores on-lne estátcos ou dnâmcos. Nessa abordagem, o por caso se reflete apenas no teste de escalonabldade que é executado em tempo de proeto, decdndo se o conunto de tarefas é escalonável ou não. Por não exstr uma reserva de recursos em tempo de execução como no executvo cíclco, os escalonamentos drgdos a prordades defnem soluções mas flexíves, porém, mantendo também garantas de recursos para o por caso. Os grupos de abordagens garanta dnâmca ("on-lne guarantee") e de melhor No cálculo da escala o por caso é consderado, levando em conta a por stuação de chegada das tarefas, as tarefas se executando com os seus pores tempos de computação, as tarefas esporádcas ocorrendo na máxma freqüênca possível defnda por seus ntervalos mínmos entre atvações (mn ), etc.

2.3 Escalonamento de Tempo Real 9 esforço ("best-effort"), ao contráro do grupo anteror, não tratam com uma carga computaconal prevsível; na verdade, a carga tratada por essas abordagens é dnâmca: os tempos de chegada das tarefas não são conhecdos prevamente. Quando o por caso não pode ser antecpado em tempo de proeto, não se consegue prever recursos para todas as stuações de carga. Não exstndo portanto, a possbldade de se antecpar que todas as tarefas, em qualquer stuação de carga, terão sempre seus "deadlnes" respetados. Essas abordagens que tratam com carga dnâmca devem então ldar com stuações, em tempo de execução, onde os recursos computaconas são nsufcentes para os cenáros de tarefas que se apresentam (stuações de sobrecarga). Tanto a escala como os testes de escalonabldade são realzados em tempo de execução nessas abordagens (escalonadores "on-lne" e dnâmcos). O grupo de abordagens com garanta dnâmca ([RaS94]) se utlzam de um teste para verfcar a escalonabldade do conunto formado por uma nova tarefa que chega no sstema e das tarefas que á exstam prevamente na fla de pronto. Esses testes são chamados de testes de acetação e estão baseados em análses realzadas com hpóteses de por caso sobre alguns parâmetros temporas. Se o teste ndca o conunto como não escalonável, a nova tarefa que chegou é então descartada. Esse mecansmo de garanta dnâmca em qualquer stuação preserva as tarefas á prevamente garantdas como escalonáves. Essas abordagens que oferecem garanta dnâmca são própras para aplcações que possuam restrções crítcas mas que operam em ambentes não determnstas. Sstemas mltares, sstemas de radar e controle aéreo exemplfcam alguns desses sstemas que estão suetos a cargas dnâmcas e necesstam atender restrções temporas. As abordagens de melhor esforço são consttuídas por algortmos que tentam encontrar uma escala realzável em tempo de execução sem realzar testes ou anda, realzando testes mas fracos. Não exste a garanta de execuções de tarefas atendendo suas restrções temporas. Essas abordagens são adequadas para aplcações não crítcas, envolvendo tarefas "soft" onde a perda de "deadlnes" não representa custos além da dmnução do desempenho nessas aplcações. As abordagens de melhor esforço são adequadas para aplcações de tempo real brandas como sstemas de multmída. O desempenho de esquemas de melhor esforço, na ocorrênca de casos médos, é melhor que os baseados em garanta. As hpóteses pessmstas fetas em abordagens com garanta dnâmca podem desnecessaramente descartar tarefas. Nas abordagens de melhor esforço tarefas são abortadas somente em condções reas de sobrecarga, na ocorrênca de falhas temporas ("deadlne"s não podem ser atenddos). Algumas técncas foram ntroduzdas no sentdo de tratar com sobrecargas. A omputação Imprecsa [LSL94], o "Deadlne (m,k) Frm" [HaR95], Tarefas com Duplo "Deadlnes" [GNM97] são exemplos dessas técncas adaptatvas. Essas técncas de escalonamento adaptatvo são usadas em abordagens de melhor esforço para tratar com sobrecargas em cargas dnâmcas. A fgura 2.3 sntetza as abordagens descrtas nesse tem. Nesse capítulo, o estudo de escalonamento de tempo real é concentrado sobre a

20 2. O Escalonamento de Tempo Real abordagem de escalonamento drgdo a prordades. Escalonamento de Tempo Real Abordagens com Garanta em Tempo de Proeto Abordagens com Garanta Dnâmca Abordagens de M elhor Esforço Executvo íclco Drgdo a Prordades T é cncas Adaptatvas Fgura 2.3: Abordagens de Escalonamento de Tempo Real 2.3.3 Teste de Escalonabldade Testes de escalonabldade são mportantes no processo de escalonamento de tarefas de tempo real no sentdo de determnar se um conunto de tarefas é escalonável, ou sea, se exste para esse conunto de tarefas uma escala realzável. Esses testes varam conforme os modelos de tarefas e polítcas defndas em um problema de escalonamento. Normalmente, correspondem a análses de por caso que em certas classes de problemas, apresentam complexdade NP. conuntos de tarefas escaloná ves conuntos de tarefas nã o escaloná ves teste sufcente Aumento da complexdade dos conuntos de tarefas teste exato teste necessá ro Fgura 2.4 : Tpos de testes de escalonabldade Na lteratura são dentfcados alguns tpos de testes [Kop92c]: Testes exatos são análses que não afastam conuntos de tarefas que apresentam escalas realzáves. São precsos na medda em que dentfcam também conuntos não escalonáves. Em mutos problemas são mpratcáves os testes exatos. Testes sufcentes são mas smples na execução porém apresentam o custo do descarte de conuntos de tarefas escalonáves. É um teste mas restrtvo onde

2.4 Escalonamento de Tarefas Peródcas 2 conuntos de tarefas acetos nesses testes certamente são escalonáves; porém entre os descartados podem exstr conuntos escalonáves. Testes necessáros correspondem também a análses smples porém não tão restrtvas. O fato de um conunto ter passado por um teste necessáro não mplca que o mesmo sea escalonável. A únca garanta que esse tpo de teste pode fornecer é que os conuntos descartados de tarefas certamente são não escalonáves. A fgura 2.4 lustra os três tpos de testes descrtos acma. A utlzação de uma tarefa T que serve como uma medda da ocupação do processador pela mesma, é dado por: U = / P se a tarefa T é peródca, ou U = / Mn se a tarefa T é esporádca, onde, P e Mn são respectvamente o tempo máxmo de computação, o período e o ntervalo mínmo entre requsções da tarefa T. A utlzação de um processador (U) dá a medda da ocupação do mesmo por um conunto de tarefas { T, T 2, T 3,..., T n }: U n O conceto de utlzação serve de base para testes smples e bastante usados. A déa central nesses testes é que a soma dos fatores de utlzação (U ) das tarefas do conunto não ultrapasse o número de processadores dsponíves para suas execuções: onde m é o número de processadores. Testes baseados na utlzação podem ser exatos, necessáros ou sufcentes, dependendo da polítca usada e do modelo de tarefas assumdo [Kop92c]. U [] =. n U = U m 2.4 Escalonamento de Tarefas Peródcas Nesse tem é tratado o problema do escalonamento de tarefas peródcas. Se consderarmos aplcações de tempo real de uma manera geral, seam controle de processos ou mesmo aplcações de multmída, as atvdades envolvdas nessas aplcações se caracterzam bascamente pelo comportamento peródco de suas ações. As característcas de tarefas peródcas que determnam o conhecmento a pror dos tempos de chegada e, por conseqüênca, da carga computaconal do sstema, permtem que se obtenha garantas em tempo de proeto sobre a escalonabldade de um conunto de tarefas peródcas. O escalonamento de tarefas peródcas, nesse texto, é dscutdo em esquemas

22 2. O Escalonamento de Tempo Real drgdos a prordades. Nesses esquemas de escalonamento, as prordades atrbuídas às tarefas do conunto são dervadas de suas restrções temporas, e não de atrbutos outros como a mportânca ou o grau de confabldade das tarefas. Escalonamentos baseados em prordades, além de apresentarem melhor desempenho e flexbldade, se comparados a abordagens como o executvo cíclco, são obeto de uma lteratura relatvamente recente e abrangente que estende os trabalhos ncas ntroduzdos em [LL73]. Neste capítulo, é feta uma revsão dos algortmos de prordade fxa Taxa Monotônca ( Rate Monotonc ) [LL73] e "Deadlne" Monotônco ( Deadlne Monotonc ) [LeW82] e do algortmo "Earlest Deadlne Frst" [LL73] que apresenta atrbução dnâmca de prordades. Esses algortmos clásscos são tdos como ótmos para suas respectvas classes de problemas, sendo caracterzados por modelos de tarefas smplfcados. O conceto de utlzação e os testes de escalonabldade nesses algortmos são apresentados como forma de análse a pror para determnar se exste uma escala realzável que garanta as restrções temporas mpostas sobre um conunto de tarefas peródcas. Na seqüênca, após o estudo destes modelos clásscos, são aprofundados os esquemas de prordade fxa, nas suas extensões aos trabalhos de Lu [LL73]. Um estudo smlar para esquemas de prordade dnâmca é apresentado no Anexo A. 2.4. Escalonamento Taxa Monotônca [LL73] O escalonamento Taxa Monotônca ( Rate Monotonc ) produz escalas em tempo de execução através de escalonadores preemptvos, drgdos a prordades. É um esquema de prordade fxa; o que defne então, o RM como escalonamento estátco e on-lne segundo os concetos apresentados no tem 2.3.. O RM é dto ótmo entre os escalonamentos de prordade fxa na sua classe de problema, ou sea, nenhum outro algortmo da mesma classe pode escalonar um conunto de tarefas que não sea escalonável pelo RM. As premssas do RM que facltam as análses de escalonabldade, defnem um modelo de tarefas bastante smples : a. As tarefas são peródcas e ndependentes. b. O "deadlne" de cada tarefa concde com o seu período (D =P ). c. O tempo de computação ( ) de cada tarefa é conhecdo e constante ( Worst ase omputaton Tme ). d. O tempo de chaveamento entre tarefas é assumdo como nulo. As premssas a e b são muto restrtvas para o uso desse modelo na prátca, contudo essas smplfcações são mportantes para que se tenha o entendmento sobre o escalonamento de tarefas peródcas. A polítca que defne a atrbução de prordades usando o RM, determna uma

2.4 Escalonamento de Tarefas Peródcas 23 ordenação baseada nos valores de períodos das tarefas do conunto: as prordades decrescem em função do aumento dos períodos, ou sea, quanto mas freqüente a tarefa maor a sua prordade no conunto. omo os períodos das tarefas não mudam, o RM defne uma atrbução estátca de prordades (prordade fxa). A análse de escalonabldade no RM, feta em tempo de proeto, é baseada no cálculo da utlzação. Para que n tarefas tenham o atendmento de suas restrções temporas quando escalonadas pelo RM, deve ser satsfeto o teste abaxo que defne uma condção sufcente: U n n ( ). [] = P n 2 2 A medda que n cresce, nesse teste, a utlzação do processador converge para 0,69. Uma utlzação de aproxmadamente 70% defne uma baxa ocupação do processador que, certamente, mplca no descarte de mutos conuntos de tarefas com utlzação maor e que, mesmo assm, apresentam escalas realzáves ( feasble ). Essa condção sufcente pode ser relaxada quando as tarefas do conunto apresentam períodos múltplos do período da tarefa mas prortára. Nesse caso a utlzação alcançada sob o RM se aproxma do máxmo teórco, concdndo o teste abaxo com uma condção necessára e sufcente [Kop92c]: U n = P. Tarefas Peródcas Perodo (P ) Tempo de omputação ( ) Prordade RM (p ) Utlzação (U ) tarefa A 00 20 0,2 tarefa B 50 40 2 0,267 tarefa 350 00 3 0,286 tabela 2.: Utlzação de tarefas peródcas A tabela 2. mostra um exemplo de conunto de tarefas peródcas onde o obetvo é verfcar a escalonabldade desse conunto sob a polítca Taxa Monotônca. A utlzação do processador por esse conunto de tarefas corresponde a 0,753. Aplcando a equação [2] é concluído que esse conunto é escalonável sob o RM: n ( ) 0, 753 n 2 = 0, 779 A fgura 2. apresenta na forma de um dagrama de Gantt a escala RM correspondente à tabela 2.. As tarefas A, B e chegam em t=0. Por ser mas freqüente (maor prordade segundo o RM), A assume o processador. Em t=20, a tarefa A conclu e B toma posse do processador por ser a mas prortára na fla de Pronto. A tarefa

24 2. O Escalonamento de Tempo Real assume em t=60 e é nterrompda quando da chegada da nova atvação de A em t=00 que, por sua vez, passa a se executar (preempção de por A). sofre mas nterrupções de novas atvações das tarefas B e A em t=50 e t=200, respectvamente. tarefa A - tarefa B - tarefa - A,B, A B A A,B 0 40 80 20 60 200 240 280 320 360 Fgura 2.5: Escala RM produzda a partr da Tabela 2. t 2.4.2 Escalonamento "Earlest Deadlne Frst" (EDF) [LL73] O "Earlest Deadlne Frst" (EDF) defne um escalonamento baseado em prordades: a escala é produzda em tempo de execução por um escalonador preemptvo drgdo a prordades. É um esquema de prordades dnâmcas com um escalonamento "on-lne" e dnâmco (tem 2.3..). O EDF é um algortmo ótmo na classe dos escalonamentos de prordade dnâmca. As premssas que determnam o modelo de tarefas no EDF são dêntcas às do RM: a. As tarefas são peródcas e ndependentes. b. O "deadlne" de cada tarefa concde com o seu período (D =P ). c. O tempo de computação ( ) de cada tarefa é conhecdo e constante ( Worst ase omputaton Tme ). d. O tempo de chaveamento entre tarefas é assumdo como nulo. A polítca de escalonamento no EDF corresponde a uma atrbução dnâmca de prordades que defne a ordenação das tarefas segundo os seus "deadlnes" absolutos (d ). A tarefa mas prortára é a que tem o "deadlne" d mas próxmo do tempo atual. A cada chegada de tarefa a fla de prontos é reordenada, consderando a nova dstrbução de prordades. A cada atvação de uma tarefa T, segundo o modelo de tarefas peródcas ntroduzdo no tem 2.2., um novo valor de "deadlne" absoluto é determnado consderando o número de períodos que antecede a atual atvação (k): d k =kp. No EDF, a escalonabldade é também verfcada em tempo de proeto, tomando como base a utlzação do processador. Um conunto de tarefas peródcas satsfazendo as premssas acma é escalonável com o EDF se e somente se :

2.4 Escalonamento de Tarefas Peródcas 25 U n = P. [ 3] = Esse teste é sufcente e necessáro na classe de problema defnda para o EDF pelas premssas a, b, c e d. Se qualquer uma dessas premssas é relaxada (por exemplo, assumndo D P ), a condção [3] contnua a ser necessára porém não é mas sufcente. No exemplo mostrado na fgura 2.6, o mesmo conunto de tarefas é submetdo a escalonamentos EDF e RM. A utlzação do conunto de tarefas é de 00%. om sto pela equação [2] o conunto não é escalonável pelo RM. Entretanto, a equação [3] garante a produção de uma escala pelo EDF. No caso (b) da fgura 2.6, no tempo t = 50 a tarefa B perde seu "deadlne". Além da melhor utlzação, uma outra dferença, normalmente ctada na lteratura, é que o EDF produz menos preempções que o RM. A favor do RM está a sua smplcdade que faclta a sua mplementação. tarefas peró dcas P D tarefa A 0 20 20 tarefa B 25 50 50 tarefa A - tarefa B - A,B A A B 0 0 20 30 40 50 60 (a) Escalonamento EDF t A,B A A B perda de deadlne de B 0 0 20 30 40 50 60 (b) Escalonamento RM t Fgura 2.6: Escalas produzdas pelo (a) EDF e (b) RM 2.4.3 Escalonamento "Deadlne" Monotônco [LeW82] O "Deadlne Monotonc" ntroduzdo em [LeW82] estende o modelo de tarefas do Taxa Monotônca. A premssa do RM que lmtava os valores de "deadlnes" relatvos aos valores dos períodos das tarefas (D =P ), em mutas aplcações, pode ser consderada bastante restrtva. O modelo de tarefas do DM também defne tarefas peródcas ndependentes, o por caso de tempo de processamento das tarefas ( ) e o

26 2. O Escalonamento de Tempo Real chaveamento entre tarefas de duração nula. Porém assume "deadlnes" relatvos menores ou guas aos períodos das tarefas (D P ). A polítca do DM defne uma atrbução estátca de prordades, baseada nos "deadlnes" relatvos das tarefas (D ). As prordades são atrbuídas na ordem nversa dos valores de seus "deadlnes" relatvos. A produção da escala, portanto, é feta em tempo de execução por escalonador preemptvo drgdo a prordades. O esquema de prordades fxas do DM também defne um escalonamento estátco e "on-lne". O "Deadlne" Monotônco é também um algortmo ótmo na sua classe de problema. A fgura 2.7 mostra a escala produzda pelo DM para um conunto de tarefas peródcas que apresentam "deadlnes" menores que seus respectvos períodos. tarefas peródcas P D p tarefa A 2 0 6 tarefa B 2 0 8 2 tarefa 8 20 6 3 tarefa A - tarefa B - tarefa - A,B, A,B d d B d A,B, 0 4 8 2 6 20 24 Fgura 2.7: Escala produzda pelo DM t Na ntrodução desse algortmo os autores não apresentaram em [LeW82] um teste correspondente. Em [ABR9] é defndo um teste sufcente e necessáro para o DM, baseado no conceto de tempo de resposta de uma tarefa. Uma evolução deste teste é descrto na seqüênca, no tem 2.5.2. 2.5 Testes de Escalonabldade em Modelos Estenddos Os testes de escalonabldade apresentados até aqu são baseados em lmtes na utlzação do processador. Os modelos de tarefas nesses algortmos preemptvos, baseados em prordades, são mantdos smples o que faclta as análses nesses testes. Qualquer extensão nos modelos permtndo, por exemplo, que tarefas possam ter relações de precedênca entre s ou que os "deadlnes" assumam valores arbtráros, defne modelos mas próxmos de aplcações concretas de tempo real. Porém, com essas extensões, os testes fundamentados na noção de utlzação, como apresentados anterormente, passam a ser condções necessáras e novos testes mas restrtvos são deseáves.

2.5 Testes de Escalonabldade em Modelos Estenddos 27 São mutas as propostas na lteratura de extensões dos modelos de [LL73]. Estes modelos apresentados no tem 2.4 podem ser estenddos, por exemplo, para ncluírem também tarefas esporádcas. Nos testes que se seguem podemos nterpretar o valor P também como o mínmo ntervalo entre requsções (mn ) de uma tarefa esporádca T [ABR9], [TBW94]. Garantr uma tarefa esporádca na sua maor freqüênca mplca em ter atvações menos freqüentes também respetando suas restrções temporas. omo vsto anterormente, a análse (ou teste) de escalonabldade tenta responder as questões sobre o atendmento dos requstos de correção temporal de um conunto de tarefas tempo real quando uma determnada polítca de escalonamento, e portanto uma atrbução de prordades é feta. Nessas análses são consderados cenáros de por caso. Além de consderarem as tarefas executando com os seus pores casos de tempo de computação ( ) e com as suas maores freqüêncas de atvação (no caso de tarefas esporádcas), esses testes são construídos levando em conta o Instante rítco. O por caso de ocorrênca de tarefas na fla de Pronto do processador é dentfcado como nstante crítco, ou sea, é o nstante onde todas as tarefas do sstema estão prontas para a ocupação do processador. Se nesses cenáros de por caso um conunto de tarefas consegue recursos sufcentes para atender suas restrções, em stuações mas favoráves certamente também atenderá. Na lteratura, tanto para escalonamentos com prordades fxas como para prordades dnâmcas são descrtos testes de escalonabldade exatos ou sufcentes, que exploram modelos de tarefas mas complexos. Esses testes podem anda ser construídos usando a noção de utlzação ou estarem baseados em concetos como tempo de resposta e demanda de processador. Nesse tem exploramos alguns testes para polítcas de prordade fxa. Os testes referentes a polítcas de prordade dnâmca seguem o mesmo estlo de apresentação e, foram colocados no Anexo A no sentdo de smplfcar a apresentação deste capítulo. 2.5. "Deadlne" Igual ao Período Anda não estendendo o modelo do algortmo Taxa Monotônca ("Rate Monotonc"), mas tentando apresentar um teste com melhor desempenho do que o orgnal, em [LSD89] é apresentado um teste onde a utlzação do processador não tem mas um sentdo estátco, dependente somente das restrções temporas das tarefas, mas é também função de uma anela de tempo t consderada no seu cálculo. As tarefas de prordade maor ou gual a que estão dsponíves para execução no processador no ntervalo t consttuem a carga cumulatva ("workload") W (t) deste ntervalo e é dada por: W t ( t) =., = P [ 4 ]

28 2. O Escalonamento de Tempo Real onde t/p corresponde ao máxmo número de ocorrêncas de uma tarefa T no ntervalo t e t/p. defne as necessdades de processador dessa mesma tarefa no ntervalo consderado. A dvsão do "workload" W (t) pelo valor de t dá a percentagem de utlzação do processador nesse ntervalo de tempo t, consderando apenas tarefas de prordade maor ou gual a T : W ( t) U ( t) =. [] 5 t A condção necessára e sufcente para que a tarefa T sea escalonável é que exsta um valor de t em que a sua utlzação U (t) sea menor ou gual a, sto é, que a carga de trabalho W (t) não supere o ntervalo de tempo t (W (t) t) [LSD89]. A dfculdade deste teste está em se determnar este valor de t. omo o modelo defne tarefas peródcas com nstante crítco ocorrendo em t = 0, se cada tarefa T respetar o seu prmero "deadlne" então os "deadlnes" subseqüentes, referentes a suas outras atvações, também serão atenddos. om sto, os valores de t podem se lmtar ao ntervalo (0,P ]. Neste caso a procura de t pode se resumr a testar os valores de mínmo de U (t) no ntervalo consderado:, mn 0< t P U (t), No lugar de fazer uma procura entre todos os valores de t no ntervalo (0, P ], os cálculos podem se resumr a testar os valores de : P S = kp, k =, 2,...,. [ 6] P Os pontos descrtos em S correspondem aos tempos de chegada das atvações das tarefas T de prordade maor ou gual a T, ocorrendo dentro do período P. Estes pontos correspondem aos mínmos de U (t), uma vez que, esta função é monotônca decrescente nos ntervalos entre chegadas de tarefas T. Logo, um conunto de tarefas peródcas ndependentes, com nstante crítco em t=0 e escalonadas segundo o RM, terá seus "deadlnes" respetados se :, mn t S U (t). [7] O teste acma quando comparado com [2], embora mas complexo, pode aprovar conuntos de tarefas que seram reetados pelo teste sufcente proposto orgnalmente para o RM. O teste composto a partr de [5] e [7] permte uma maor utlzação do processador, formando uma condção sufcente e necessára [LSD89], [Fd98]. omo exemplo, consdere o conunto de tarefas da fgura 2.6 (tabela 2.2) em que ocorre na escala do RM, a perda do "deadlne" da tarefa T 2 em t=50. Para a verfcação

2.5 Testes de Escalonabldade em Modelos Estenddos 29 das condções de escalonabldade do conunto de tarefas usamos o teste formado por [5] e [7]. tarefas peró dcas P D tarefa T 0 20 20 tarefa T 2 25 50 50 Tabela 2.2: Exemplo da fgura 2.6 Nessa verfcação, ncalmente temos que calcular as utlzações U (t) para todas as tarefas do conunto. omeçamos então calculando a carga de trabalho correspondente de cada tarefa (equação [4]): W t ( t) =.0 e t t 20 W 2 ( t) =. 25. 0, 50 + 20 determnamos as utlzações (equação [5]): U ( t) W ( t) W2 ( t) = e U 2 =. t t A dfculdade é fazer a nspeção na procura de valores de t que determnam U (t). Para a tarefa T esses valores são obtdos a partr de S ([6]): S = {20}. Então, para o valor de t=20, a utlzação U (20) é determnada como sendo de 0,5. Logo, pela condção [7], a tarefa T é escalonável. O conunto referente a T 2, usando também [6], é formado por: S 2 = {20, 40, 50}. A partr deste conunto é determnada U 2 (t): t = 20 U 2(20) =,75 t = 40 U 2(40) =,2 t =50 U 2(50) =,. O máxmo valor de utlzação U 2 (t) ocorre em t = 20 (o menor valor de t em S 2 ) e, usando a condção [7], é determnado que o conunto de tarefas da tabela 2.2 é de fato não escalonável pelo RM. 2.5.2 "Deadlne" Menor que o Período O modelo de tarefas, no teste que se segue, relaxa em escalonamentos de prordade fxa a condção que todas as tarefas peródcas ndependentes devem ter seus

30 2. O Escalonamento de Tempo Real "deadlnes" relatvos guas aos seus respectvos períodos. O modelo assume também tarefas com "deadlnes" menores aos seus períodos (D P ). Esse teste, dferentemente dos anterores, está fundamentado no conceto de tempo de resposta. Em [JoP86], tempo de resposta máxmo de uma tarefa fo ntroduzdo como sendo o tempo transcorrdo entre a chegada e o térmno de sua execução, consderando a máxma nterferênca que a tarefa pode sofrer de outras tarefas de maor ou gual prordade. Uma análse de escalonabldade que se utlze desse conceto deve representar então o por caso de nterferêncas (em termos de tempo) sobre cada tarefa do sstema. Para o cálculo do tempo de resposta máxmo de uma tarefa é necessáro que se defna uma anela de tempo R que corresponda ao ntervalo de tempo máxmo transcorrdo da lberação de uma tarefa T até o térmno de sua execução. A largura R corresponde ao tempo necessáro, em stuação de nstante crítco, para a execução de T e de todas as tarefas com prordades maores ou guas a (p =). Nestas condções, o tempo de resposta máxmo R da tarefa T é dado por : R = + I hp() onde hp() é o conunto de prordades maor que e, I é a nterferênca que a tarefa T pode sofrer de uma tarefa T de prordade maor, durante a largura R. A nterferênca I é calculada por: R I = P onde R / P representa o número de lberações de T em R. A expressão do tempo de resposta R pode ser reescrta como: R R = + [] P 8 hp() Uma tarefa T mantém suas propredades temporas sempre que R D. Nesta verfcação é necessáro a determnação de R a partr de [8]. Porém a largura R aparecendo em ambos os lados dessa equação, mplca na necessdade de um método teratvo para essa determnação. Em [JoP86] é apresentado um método para soluconar [8]: R n + = + hp() R P n onde a solução é conseguda a partr do cálculo de R n, a n ésma aproxmação de R, quando R n+ = R n. Nesse método teratvo é assumdo, como condção de partda, R 0 =. O método não converge quando a utlzação do conunto de tarefas for maor que 00%. O teste fundamentado no conceto de tempo de resposta determna então um

2.5 Testes de Escalonabldade em Modelos Estenddos 3 conunto de n tarefas de tempo real como escalonável sempre que a condção : n R D for verfcada. Os cálculos dos tempos de respostas formam a base para um teste sufcente e necessáro. tarefas peródcas P D tarefa A 2 0 6 tarefa B 2 0 8 tarefa 8 20 6 Tabela 2.3: Exemplo da fgura 2.7 Para clarfcar o uso desse teste de escalonabldade, consdere o exemplo que fo apresentado na fgura 2.7 onde era apresentada uma escala produzda pelo "Deadlne Monotonc". As característcas das tarefas são reproduzdas na tabela 2.3. A polítca DM pelos valores da tabela defne uma atrbução de prordades onde p A>p B>p. Os tempos de resposta das tarefas consderadas são determnados a partr da aplcação da equação [8] nos valores da tabela 2.3. A tarefa T A, por ser a mas prortára, não sofre nterferênca das demas e o seu tempo de resposta é dado por R A = A =2. T A é escalonável porque seu tempo de resposta máxmo é menor que seu "deadlne" relatvo (D A = 6) O cálculo de R B, ao contráro, envolve mas passos devdo a nterferênca que T B sofre de T A. Aplcando [8] é obtdo: R R R 0 B B 2 B = = 2 B = 2 2 + 2 0. = 4 = 4 2 + 2 0. = 4 A tarefa T B que apresenta R B = 4 é também escalonável (R B D B ). O tempo R, por sua vez, envolve as nterferêncas de T A e T B em T. A partr de [8]: R R R R 0 2 3 = = 8 = 8 8 8 + 2 2 0 +. 0. = 2 = 2 2 8 + 2 2 0 +. 0. = 6 = 6 6 8 + 2 2 0 +. 0. = 6 A tarefa T é também escalonável apresentando um tempo de resposta (6 undades de tempo) no lmte máxmo para o seu "deadlne" relatvo (R = D ). Os resultados obtdos confrmaram a escala obtda pelo DM para o conunto de tarefas da fgura 2.7.

32 2. O Escalonamento de Tempo Real Nos modelos apresentados até aqu as tarefas são assumdas como peródcas e lberadas sempre no níco de cada período. ontudo sto nem sempre corresponde a uma hpótese realsta. Escalonadores atvados por tempo ("tcket scheduler" [TBW94]) podem ser fonte do atraso na lberação de tarefas: as tarefas tem as suas chegadas detectadas nos tempos de atvação do escalonador, determnando atrasos nas suas lberações. Esses atrasos podem ser expressados no por caso como "release tters" (J). Para determnar as modfcações necessáras no sentdo de representar no cálculo dos tempos de resposta as varações na lberação das tarefas, é necessáro que se ntroduza o conceto de período ocupado ( busy perod ). Um período ocupado corresponde a uma anela de tempo W onde ocorre a execução contínua de tarefas com prordade maor ou gual a (p = ). O "-busy perod" assocado com a tarefa T começa quando da lberação da nstânca de T e parte do pressuposto que todas as tarefas de prordades maor que estão na fla de pronto. Se consderarmos a anela W, o lmte máxmo das ocorrêncas de T nesse ntervalo é dado por W /P. Porém ao se assumr que uma nstânca de T, anteror ao níco de W, expermenta um atraso máxmo J na sua lberação determnando a nterferênca dessa nstânca sobre T assocada com W, o número de atvações de T que nterferem com T passa a ser (W +J ) / P. Nessas condções o cálculo de W é dado por [TBW94] : W = + hp() W + J P [ 9] onde a solução de [9] é conseguda pelo mesmo método teratvo usado para resolver [8]. W é o ntervalo entre a lberação e o termno de T. Para o cálculo do tempo de resposta máxmo (R ), correspondendo ao ntervalo de tempo entre a chegada e o térmno da nstânca da tarefa T, é necessáro que se consdere também o atraso máxmo expermentado por T na sua lberação: R W J [ ] = +. 0 O teste de um conunto de tarefas expermentando atrasos em suas lberações leva então em consderação [9], [0] e a verfcação da condção : n R D. 2.5.3 Deadlne Arbtráro O teste baseado em tempos de resposta calculados a partr de [9] e [0] é exato quando aplcado em modelos com D P. Porém em modelos de "deadlnes" arbtráros onde "deadlnes" podem assumr valores maores que os respectvos períodos (D > P ), esse teste dexa de ser uma condção sufcente [TBW94]. Tarefas que apresentam seus "deadlnes" maores que o seus períodos, sofrem o que se pode chamar de

2.5 Testes de Escalonabldade em Modelos Estenddos 33 nterferêncas nternas, ou sea, uma vez que se pode ter D > P, ocorrêncas anterores de uma mesma tarefa podem nterferr numa atvação posteror. É necessáro que se estenda o conceto de "busy perod" para se determnar o por caso de nterferênca em uma tarefa T onde suas atvações podem se sobrepor. O "busy perod" não começa mas com a lberação da nstânca de T que se desea calcular o tempo de resposta. O período ocupado contnua sendo a anela de tempo W que nclu essa nstânca de T e que corresponde a maor execução contínua de tarefas com prordade maor ou gual a (p = ). Porém, o níco desse período de execução contínua de tarefas se dá com a lberação de outra atvação anteror de T. Nessa extensão é assumdo que a execução de qualquer lberação de uma tarefa será atrasada até que lberações anterores da mesma tarefa seam executadas completamente. onsdera-se então o "-busy perod" nclundo q+ atvações de T que podem se sobrepor na concorrênca ao processador pos D > P. O valor da anela de tempo W (q) correspondente é dado por [TBW94]: W ( q) W ( q) = ( q + ) +. [ ] hp() P O valor q. em [] representa a nterferênca nterna que a últma nstânca de T sofre em W (q). Por exemplo, se q=2 então T terá três lberações em W (q). O tempo de resposta da (q+) ésma atvação de T é dada por: R ( q) = W ( q) qp [ 2] ou sea, o tempo de resposta é dado consderando o desconto do número de períodos de T em W (q), anterores a (q+) ésma atvação de T. Para que se obtenha o tempo de resposta máxmo R da tarefa T é necessáro que se faça a nspeção de todos "-busy perods", na ordem de valores crescentes de q (q=0,, 2, 3,..), até um valor de anela que verfque a condção: W ( q) ( q + ) P. Esta anela corresponde ao maor valor de "-busy perod" que se consegue, antes da execução de uma tarefa menos prortára que [TBW94]. Nessas condções, o tempo de resposta máxmo R é calculado por: R = max R ( q). = 02,,,... q Se o efeto de "deadlnes" arbtráros for ncluído em modelos onde as lberações não concdem com os tempos de chegada das nstâncas da tarefa T, a anela de tempo W (q) e o tempo de resposta R passam a ser dados, respectvamente, por: