Escalonando Tarefas Imprecisas com Restrição 0/1 e Dependências Intra-Tarefa / Inter-Tarefa



Documentos relacionados
Suporte Básico para Sistemas de Tempo Real

TEORIA DE ERROS * ERRO é a diferença entre um valor obtido ao se medir uma grandeza e o valor real ou correto da mesma.

CENTRO UNIVERSITÁRIO DO LESTE DE MINAS GERAIS - UnilesteMG

NOTA II TABELAS E GRÁFICOS

Introdução e Organização de Dados Estatísticos

Sistemas de Filas: Aula 5. Amedeo R. Odoni 22 de outubro de 2001

Nota Técnica Médias do ENEM 2009 por Escola

Prioridades com Teste de Escalonabilidade

Elaboração: Fevereiro/2008

CURSO ON-LINE PROFESSOR: VÍTOR MENEZES

Cálculo do Conceito ENADE

7. Resolução Numérica de Equações Diferenciais Ordinárias

Ministério da Educação. Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira. Cálculo do Conceito Preliminar de Cursos de Graduação

Análise Econômica da Aplicação de Motores de Alto Rendimento

Objetivos da aula. Essa aula objetiva fornecer algumas ferramentas descritivas úteis para

Rastreando Algoritmos


Despacho Econômico de. Sistemas Termoelétricos e. Hidrotérmicos

UNIVERSIDADE PRESBITERIANA MACKENZIE CCSA - Centro de Ciências Sociais e Aplicadas Curso de Economia

Escolha do Consumidor sob condições de Risco e de Incerteza

Metodologia IHFA - Índice de Hedge Funds ANBIMA

7.4 Precificação dos Serviços de Transmissão em Ambiente Desregulamentado

CQ110 : Princípios de FQ

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

CAPÍTULO VI Introdução ao Método de Elementos Finitos (MEF)

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

UTILIZAÇÃO DO MÉTODO DE TAGUCHI NA REDUÇÃO DOS CUSTOS DE PROJETOS. Uma equação simplificada para se determinar o lucro de uma empresa é:

5.1 Seleção dos melhores regressores univariados (modelo de Índice de Difusão univariado)

Elaboração: Novembro/2005

1 Princípios da entropia e da energia

CAPÍTULO 1 Exercícios Propostos

Análise de Regressão. Profa Alcione Miranda dos Santos Departamento de Saúde Pública UFMA

UNIVERSIDADE DO ESTADO DA BAHIA - UNEB DEPARTAMENTO DE CIÊNCIAS EXATAS E DA TERRA COLEGIADO DO CURSO DE DESENHO INDUSTRIAL CAMPUS I - SALVADOR

Controlo Metrológico de Contadores de Gás

Aula 7: Circuitos. Curso de Física Geral III F-328 1º semestre, 2014

PROJEÇÕES POPULACIONAIS PARA OS MUNICÍPIOS E DISTRITOS DO CEARÁ

Sistemas Robóticos. Sumário. Introdução. Introdução. Navegação. Introdução Onde estou? Para onde vou? Como vou lá chegar?

Prof. Benjamin Cesar. Onde a(n, i) é o fator de valor atual de uma série de pagamentos. M: montante da renda na data do último depósito.

Regressão e Correlação Linear

SEQÜENCIAMENTO DE TAREFAS COM MÁQUINAS PARALELAS, PERMITINDO ATRASOS E COM TEMPOS DE PREPARAÇÃO DE MÁQUINA DEPENDENTES DA SEQÜÊNCIA.

Sistemas de Tempo-Real

Estimativa da Incerteza de Medição da Viscosidade Cinemática pelo Método Manual em Biodiesel

Universidade Salvador UNIFACS Cursos de Engenharia Cálculo IV Profa: Ilka Rebouças Freire. Integrais Múltiplas

Covariância e Correlação Linear

PLANILHAS EXCEL/VBA PARA PROBLEMAS ENVOLVENDO EQUILÍBRIO LÍQUIDO-VAPOR EM SISTEMAS BINÁRIOS

2 Metodologia de Medição de Riscos para Projetos

2 Máquinas de Vetor Suporte 2.1. Introdução

1 a Lei de Kirchhoff ou Lei dos Nós: Num nó, a soma das intensidades de correntes que chegam é igual à soma das intensidades de correntes que saem.

Associação de resistores em série

Escalonamento Baseado em Prioridades Fixas

XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA

Introdução à Análise de Dados nas medidas de grandezas físicas

Termodinâmica e Termoquímica

NORMAS DE SELEÇÃO AO DOUTORADO

3 Algoritmos propostos

Sinais Luminosos 2- CONCEITOS BÁSICOS PARA DIMENSIONAMENTO DE SINAIS LUMINOSOS.

Testes não-paramétricos

Energia de deformação na flexão

Professor Mauricio Lutz CORRELAÇÃO

MODELO DE FILA HIPERCUBO COM MÚLTIPLO DESPACHO E BACKUP PARCIAL PARA ANÁLISE DE SISTEMAS DE ATENDIMENTO MÉDICO EMERGENCIAIS EM RODOVIAS

Influência dos Procedimentos de Ensaios e Tratamento de Dados em Análise Probabilística de Estrutura de Contenção

Y X Baixo Alto Total Baixo 1 (0,025) 7 (0,175) 8 (0,20) Alto 19 (0,475) 13 (0,325) 32 (0,80) Total 20 (0,50) 20 (0,50) 40 (1,00)

CÁLCULO DO ALUNO EQUIVALENTE PARA FINS DE ANÁLISE DE CUSTOS DE MANUTENÇÃO DAS IFES

2 ENERGIA FIRME DE SISTEMAS HIDRELÉTRICOS

7 - Distribuição de Freqüências

ELEMENTOS DE CIRCUITOS

RESOLUÇÃO NUMÉRICA DE EQUAÇÕES DIFERENCIAIS

Distribuição de Massa Molar

UM NOVO ALGORITMO GENÉTICO PARA A OTIMIZAÇÃO DE CARTEIRAS DE INVESTIMENTO COM RESTRIÇÕES DE CARDINALIDADE

Software. Guia do professor. Como comprar sua moto. Secretaria de Educação a Distância. Ministério da Ciência e Tecnologia. Ministério da Educação

CONCEITOS INICIAIS DE ESTATÍSTICA MÓDULO 2 DISTRIBUIÇÃO DE FREQÜÊNCIA - ELEMENTOS Prof. Rogério Rodrigues

CORRELAÇÃO DO EQUILÍBRIO DE FASES DO SISTEMA MULTICOMPONENTE ÉSTERES ETÍLICOS DO ÓLEO DE MURUMURU/DIÓXIDO DE CARBONO COM A EQUAÇÃO SRK

ALGORITMOS GENÉTICOS COMO FERRAMENTA AUXILIAR NA TOMADA DE DECISÃO EM ATIVIDADES DE GESTÃO AGROINDUSTRIAL

Capítulo 1: Erros em cálculo numérico

Portaria Inmetro nº 248 de 17 de julho de 2008

Universidade Federal do Paraná Departamento de Informática. Reconhecimento de Padrões. Classificadores Lineares. Luiz Eduardo S. Oliveira, Ph.D.

Utilização de Simulated Annealing em Optimização Difusa

Problemas Associados a Cones de Segunda Ordem

Sistemas de Tempo-Real

Camila Spinassé INTRODUÇÃO À MATEMÁTICA FINANCEIRA PARA ALUNOS NA EDUCAÇÃO DE JOVENS E ADULTOS

REGRESSÃO LOGÍSTICA. Seja Y uma variável aleatória dummy definida como:

Modelo Analítico para Avaliar Plataformas Cliente/Servidor e Agentes Móveis Aplicado à Gerência de Redes

XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA GRUPO - IX GRUPO DE ESTUDO DE OPERAÇÃO DE SISTEMAS ELÉTRICOS - GOP

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

MAE Teoria da Resposta ao Item

IV - Descrição e Apresentação dos Dados. Prof. Herondino

Controle de Ponto Eletrônico. Belo Horizonte

SCATTER SEARCH APLICADO AO PROBLEMA DE OTIMIZAÇÃO DA ALOCAÇÃO DE SONDAS DE PRODUÇÃO EM POÇOS DE PETRÓLEO

Capítulo 1. O plano complexo Introdução. Os números complexos começaram por ser introduzidos para dar sentido à 2

Software para Furação e Rebitagem de Fuselagem de Aeronaves

1 Topologias Básicas de Conversores CC-CC não-isolados

MAPEAMENTO DA VARIABILIDADE ESPACIAL

Optimização da Exploração de Recursos Térmicos considerando a Restrição de Emissões

UNIDADE IV DELINEAMENTO INTEIRAMENTE CASUALIZADO (DIC)

MODELO DE FILA HIPERCUBO COM MÚLTIPLO DESPACHO E BACKUP PARCIAL PARA ANÁLISE DE SISTEMAS DE ATENDIMENTO MÉDICO EMERGENCIAIS EM RODOVIAS

AS COMPONENTES SIMÉTRICAS INSTANTÂNEAS E A MÁQUINA SIMÉTRICA

Prof. Antônio Carlos Fontes dos Santos. Aula 1: Divisores de tensão e Resistência interna de uma fonte de tensão

Otimização da localização das bases de ambulâncias e do dimensionamento das suas regiões de cobertura em rodovias.

PROGRAMAÇÃO DIÁRIA DE IMAGENS DE UM SATÉLITE DE OBSERVAÇÃO: UMA FORMULAÇÃO REDUZIDA

Transcrição:

Escalonando Tarefas Imprecsas com Restrção 0/1 e Dependêncas Intra-Tarefa / Inter-Tarefa Rômulo Slva Olvera Jon Slva Fraga Insttuto de Informátca Lab. de Controle e Mcronformátca Unv. Fed. do Ro Grande do Sul Unv. Fed. de Santa Catarna Caxa Postal 15064 Caxa Postal 476 Porto Alegre-RS, 91501-970 Floranópols-SC, CEP 88040-900 romulo@nf.ufrgs.br fraga@lcm.ufsc.br Resumo Este trabalho apresenta um conjunto de heurístcas para serem usadas como polítca de admssão quando tarefas mprecsas são empregadas. É suposto que as tarefas mprecsas são programadas com a técnca de múltplas versões e possuem dependêncas ntra-tarefa e nter-tarefa. Estas heurístcas deverão ser usadas em conjunto com testes off-lne de escalonabldade e testes on-lne de acetação exstentes. O teste off-lne garante que a parte obrgatóra de cada tarefa será sempre completada antes do seu deadlne. O teste on-lne de acetação verfca se a execução de uma dada parte opconal podera comprometer a execução das partes obrgatóras. O objetvo da polítca de admssão é maxmzar a utldade do sstema através da seleção de partes opconas para execução. As heurístcas propostas são analsadas através de smulação. Abstract Ths work presents a set of heurstcs to be used as admsson polcy when the system s made of mprecse tasks. We assume that mprecse tasks have ntra-task and nter-task dependences and are programmed wth the multple versons technque. These heurstcs are supposed to be used combned wth off-lne schedulablty tests and on-lne acceptance tests already descrbed n the lterature. The off-lne test wll guarantee that at least the mandatory part of each task wll always be fnshed before ts deadlne. The on-lne acceptance test checks f the executon of a specfc optonal part would jeopardze the executon of mandatory parts. The objectve of the admsson polcy s to maxmze the system utlty through the selecton of optonal parts for executon. Smulaton s used to analyse the proposed heurstcs. 1. Introdução Sstemas computaconas de tempo real (STR) são dentfcados como aqueles submetdos a requstos de natureza temporal. Nestes sstemas, os resultados devem estar corretos não somente do ponto de vsta lógco, mas também devem ser gerados no momento correto. As falhas de natureza temporal nestes sstemas são, em alguns casos, consderadas crítcas no que dz respeto às suas consequêncas. Um problema básco encontrado na construção de sstemas de tempo real é a alocação e o escalonamento das tarefas nos recursos computaconas dsponíves. Exste

uma dfculdade ntrínsca em compatblzar dos objetvos fundamentas ([BUR 91]): garantr que os resultados serão produzdos no momento desejado e dotar o sstema de flexbldade para adaptar-se a um ambente dnâmco e, assm, aumentar sua utldade. Tem sdo proposto na lteratura ([AUD 94a], [DAV 95], [TIA 95]) uma abordagem combnada ntegrando algortmos off-lne e on-lne para alcançar smultaneamente garanta para as tarefas crítcas e flexbldade para melhorar a utldade do sstema. Tpcamente, um teste de escalonabldade é usado off-lne para garantr que certas tarefas atenderão seus deadlnes em um cenáro de por caso. Um teste de acetação é então usado em tempo de execução para acetar tarefas adconas que rão aumentar a utldade do sstema, sem sacrfcar tarefas prevamente garantdas. É possível que, em determnados momentos, o conjunto de tarefas adconas dsponível para execução seja maor que aqulo que pode ser aceto. Então, uma polítca de admssão é usada para defnr quas, entre as novas tarefas propostas, serão oferecdas ao teste de acetação. As tarefas que passarem pela polítca de admssão e pelo teste de acetação serão executadas. A polítca de admssão funcona como um fltro que, colocado antes do teste de acetação, descarta as tarefas adconas que acrescentam menos utldade ao sstema. A técnca de computação mprecsa ([LIU 94]) permte uma certa flexbldade no escalonamento de sstemas de tempo real. Tarefas são compostas por uma parte obrgatóra e uma parte opconal. Em caso de sobrecarga, partes opconas poderão não ser executadas. Cada tarefa que é executada completamente adcona algum valor ao sstema, sto é, aumenta sua utldade. Uma tarefa mprecsa pode ser mplementada com a técnca de múltplas versões. Em sua forma mas smples, cada tarefa mprecsa possu duas versões. A versão prmára é capaz de gerar um resultado precso, mas tem um maor tempo de execução no por caso. A versão secundára é capaz de gerar um resultado acetável (mprecso), com um menor tempo de execução no por caso. A versão secundára corresponde a parte obrgatóra da tarefa. A dferença entre as duas versões defne a parte opconal. Quando múltplas versões são usadas, é necessáro decdr qual versão de uma tarefa executará antes da tarefa começar. Uma vez que a tarefa ncou sua execução não é mas possível rever aquela decsão. Temos também que a parte opconal será completamente executada (quando a versão prmára é escolhda) ou não será executada (quando a versão secundára é escolhda). Neste caso é dto que a tarefa possu uma restrção do tpo 0/1. A maora dos estudos de computação mprecsa consderam que o valor de uma tarefa é defndo no momento que a tarefa chega. É suposto que ela não é afetada pelo que acontece a outras tarefas ou a lberações prévas da mesma tarefa. Os trabalhos [FEN 94] e [CHU 90] são uma exceção. Em [FEN 94] o modelo de tarefas nclu dependêncas nter-tarefa. Erros nos dados de entrada de uma tarefa podem estender o tempo máxmo de execução de suas própras partes obrgatóras e/ou opconas. Exemplos de tarefas que apresentam dependêncas nter-tarefa aparecem em aplcações tas como reconhecmento de voz, sstemas de radar e processamento de magem para navegação autônoma ([FEN 94], [KRO 94]). Em [CHU 90] o modelo de tarefas nclu

dependêncas ntra-tarefa. É suposto que todas as tarefas devem ser executadas precsamente pelo menos uma vez a cada Q lberações. Exemplos de tarefas com dependêncas ntra-tarefa aparecem em aplcações tas como sstemas de radar e sstemas de controle ([CHU 90]). Nos dos trabalhos ctados o modelo de erro é tal que uma parte opconal podera eventualmente tornar-se obrgatóra ou aumentar o tempo global de execução obrgatóra do sstema, perdendo assm seu carater "opconal". Este trabalho apresenta um conjunto de heurístcas para serem usadas como polítca de admssão quando tarefas mprecsas são empregadas. Estas heurístcas deverão ser usadas em conjunto com testes off-lne de escalonabldade e testes on-lne de acetação exstentes. O teste off-lne garante que ao menos a parte obrgatóra de cada tarefa será sempre completada antes do seu deadlne. O teste on-lne de acetação verfca se a execução de uma dada parte opconal va ou não comprometer a execução das partes obrgatóras. O objetvo da polítca de admssão é maxmzar a utldade do sstema através da seleção de partes opconas para a execução. Com respeto a este objetvo, as heurístcas propostas são analsadas através de smulação. Neste artgo é anda suposto que as tarefas mprecsas possuem dependêncas ntra-tarefa e nter-tarefa. Este estudo se lmta a técnca de múltplas versões onde duas versões são usadas na programação de tarefas mprecsas. Dferentemente do trabalho em [FEN 94] e [CHU 90], as partes opconas no modelo usado permanecem sempre opconas. Mesmo se nunca executadas, elas não aumentam o tempo de execução obrgatóra de qualquer tarefa do sstema nem tornam-se, em qualquer sentdo, obrgatóras. Uma versão smplfcada deste artgo, descrevendo resultados prelmnares, fo apresentada em [OLI 96]. Não é do conhecmento dos autores outros trabalhos onde tarefas mprecsas, com o tpo de dependênca apresentado aqu, tenham sdo estudadas. O restante do artgo está organzado da segunte forma: a seção 2 descreve o modelo de tarefas e o problema de escalonamento a ser resolvdo. A seção 3 descreve as heurístcas propostas neste trabalho como polítcas de admssão. Descreve também duas heurístcas conhecdas que serão usadas para fns de comparação. A seção 4 descreve como foram fetas as smulações que avalam o desempenho das dferentes polítcas de admssão. A seção 5 mostra os resultados das smulações. Fnalmente, na seção 6 são fetos os comentáros fnas sobre o trabalho. 2. Formulação do Problema É suposto um sstema com N tarefas peródcas ou esporádcas que executam em um únco processador. Cada tarefa T é a fonte de um número nfnto de lberações. Cada lberação de T é composta por uma parte obrgatóra e uma parte opconal. O tempo de execução no por caso de ambas as partes é conhecdo off-lne e denotado por M e O, respectvamente. É também suposto que exste uma restrção 0/1 para as partes opconas. Isto é, cada parte opconal deve ser executada completamente ou não ncada. Esta decsão deve ser tomada antes de ncar a execução da tarefa. Toda tarefa T possu um período (tarefa peródca) ou um ntervalo mínmo entre lberações (tarefa esporádca) denotado por P. Também possu um deadlne D,

relatvo ao nstante da lberação. É suposto que T, D P. É necessáro garantr offlne que a parte obrgatóra de cada tarefa é sempre concluída antes do deadlne. Uma parte opconal somente adcona valor ao sstema caso sua execução seja concluída antes do respectvo deadlne. As tarefas do sstema possuem uma prordade fxa únca. Sem perda de generaldade, vamos supor que as tarefas foram nomeadas de tal forma que T possu prordade superor a T j sempre que <j. Vamos usar hp(t ) para denotar o conjunto de tarefas com prordade superor a T. Vamos também usar lp(t ) para denotar o conjunto de tarefas com prordade gual ou nferor a T. É suposto que cada tarefa T está assocada com um valor nomnal V. O valor nomnal V representa a utldade da tarefa T no sstema. O valor nomnal não consdera as dependêncas entre tarefas. Em tempo de execução, a cada lberação T,k da tarefa T é assocado um valor efetvo V,k. O valor efetvo é calculado a partr do valor nomnal e consdera as dependêncas entre tarefas. O valor adconado por T,k ao sstema será zero no caso de uma execução mprecsa ou V,k quando a parte opconal for executada. O objetvo geral da solução de escalonamento é maxmzar o valor total do sstema, dado pelo somatóro dos valores adconados por todas as lberações de todas as tarefas. Ao longo deste trabalho vamos empregar V(t) para denotar o valor total do sstema até o nstante t. O valor Φ(t) representa o tempo total de processador, dentro do ntervalo [0,t), que não fo usado para executar partes obrgatóras. A densdade méda de valor Λ(t), obtda pelo sstema até o nstante t, será calculada por: Λ(t) = V(t) / Φ(t). A dependênca ntra-tarefa entre as lberações T,k e T,k+1, da tarefa T, é modelada assumndo-se que uma execução mprecsa de T,k va aumentar o valor efetvo de uma execução precsa de T,k+1. O valor efetvo da lberação T,k+1, denotado por V,k+1, será: V quando a execução de T,k é precsa; V + ( α. V,k ) quando a execução de T,k é mprecsa; onde α, 0 α 1 é a taxa de recuperação da tarefa T. Ela descreve a parcela de valor que pode ser recuperada após uma dada lberação não ter sdo executada precsamente. Com respeto as dependêncas nter-tarefa, vamos supor que estas surgem em subconjuntos de tarefas que são lberadas sempre ao mesmo tempo. As dferentes prordades estabelecem uma ordem de execução ou relação de precedênca dentro do subconjunto. Desta forma, uma tarefa de prordade superor é executada antes e poderá nterferr na execução das tarefas do subconjunto que possuem prordades nferores. A dependênca nter-tarefa entre as lberações T j,k e T,k é modelada assumndo-se que uma execução precsa de T j,k reduzrá o tempo de execução no por caso das partes obrgatóra e opconal de T,k. Em outras palavras, o tempo de execução de T,k no por caso será: M + O quando a execução de T j,k é mprecsa; β j,. M + γ j,. O quando a execução de T j,k é precsa;

onde β j, e γ j,, 0<β j, 1, 0<γ j, 1, são os fatores de redução lgando T j a T. Caso o tempo de execução de T dependa de mas de uma tarefa, é necessáro aplcar os fatores de redução de todas as tarefas que nterferem em T e executaram precsamente. Consderando a lberação T,k da tarefa T, a densdade de valor λ,k de sua parte opconal é defnda como o seu valor efetvo dvddo pelo seu tempo de execução no por caso, após as correções em função das dependêncas nter-tarefa. Temos então: Vk, λk, =, O γ j T ed T j, j Pr (, k) onde Pred(T,k) representa o conjunto de tarefas que nterferem sobre o tempo máxmo de execução de T e cuja k-ésma lberação fo executada completamente. O produtóro no denomnador reflete o fato de que váras tarefas podem preceder T e afetar seu comportamento. É mportante observar que nenhum dos dos tpos de dependênca defndos é capaz de aumentar a carga obrgatóra do sstema. A dependênca ntra-tarefa resulta em aumento no valor efetvo de algumas partes opconas. A dependênca nter-tarefa resulta na redução do tempo máxmo de execução de algumas tarefas. De qualquer modo, a carga obrgatóra do sstema não aumenta. 3. Descrção das Heurístcas Nesta seção serão descrtas dversas heurístcas que podem ser empregadas como polítca de admssão no modelo de tarefas consderado. As duas prmeras polítcas (FCFS e AVDT) já foram descrtas em [DAV 95] e serão smuladas para fns de comparação. As outras duas polítcas são orgnas e seu desempenho será comparado com as duas prmeras em dferentes tpos de carga. 3.1 Ordem de Chegada (FCFS) Nesta polítca todas as partes opconas são sempre consderadas para execução. Quando uma tarefa va ncar sua execução, o teste de acetação é sempre aplcado sobre sua parte opconal. Caso ela seja aceta, então a versão precsa da tarefa é executada. Note que esta polítca de admssão não consdera o fato das tarefas possurem dferentes valores, refletndo dferentes graus de utldade para o sstema. 3.2 Adaptve Value Densty Threshold (AVDT) Nesta polítca o suporte de execução mantém atualzado o valor Λ(t), ou seja, a densdade méda de valor obtda pelo sstema até o momento. O valor Λ(t) é usado como um lmte mínmo para a densdade de valor das partes opconas. Somente partes opconas que possuem uma densdade de valor λ,k maor ou gual a Λ(t) serão consderadas. Entre elas, serão executadas aquelas que passarem no teste de acetação. 3.3 Compensated Value Densty Threshold (CVDT)

Esta polítca de admssão, ntroduzda no presente texto, emprega o mesmo prncípo do AVDT. Como antes, somente partes opconas que possuem densdade de valor λ,k gual ou superor a um determnado lmte mínmo serão consderadas para execução. Deste conjunto, aquelas que passarem no teste de acetação serão executadas. Entretanto, o lmte mínmo utlzado é dferente daquele empregado no AVDT. O lmte mínmo utlzado no CVDT, denotado por ζ, é dado por: ζ = Λ( t) Mn ( 5 π( t), 1. 1 ), [Eq. 1] onde π(t) representa a taxa de rejeção do teste de acetação, ou seja, o número de partes opconas rejetadas dvddo pelo número de partes opconas submetdas ao teste. Como antes, a densdade méda de valor obtda pelo sstema Λ(t) é usada. Mas agora ela é multplcada por um fator de correção que leva em consderação a taxa de rejeção do teste de acetação. Quando a taxa de rejeção for 20%, o própro Λ(t) é usado. Quando a taxa de rejeção for maor que 20%, ndcando que a polítca de admssão está dexando passar mutos canddatos, o valor lmte aumenta. Quando a taxa de rejeção é menor que 20%, ndcando portanto que o teste de acetação está recebendo poucos canddatos, o valor lmte dmnu. O valor 1.1 aparece na equação [Eq.1] apenas para lmtar o efeto do multplcador. Desta forma, o fator de correção poderá varar entre zero (quando π(t)=0) e 1.1 (quando 5 π(t) 1.1). Os valores 1.1 como lmtante e 20% como taxa de rejeção deal foram escolhdos com base em dversas experêncas. É possível que, para dferentes tpos de aplcações, um ajuste fno destes valores resultasse em melhor desempenho do sstema. 3.4 Compensated Value Densty Threshold for Inter-Task Dependences (INTER) Esta polítca é semelhante a anteror no sentdo que compara uma densdade de valor com um lmte mínmo. Como antes, somente partes opconas que possuem uma densdade gual ou superor ao lmte mínmo serão consderadas para execução. A polítca INTER emprega o mesmo lmte mínmo ζ, dado pela equação [Eq.1]. No momento que a lberação T,k va ncar sua execução, o lmte mínmo ζ é comparado com a densdade de valor ε,k, dada por: Vk, + 05. ζ [( 1 βj Mj β j T Succ T,) h T ed T hj,] j ( ) h Pr ( jk, ) εk, =, O γ h Th Pr ed( T, k) ou anda, dada pela equação [Eq. 2] abaxo: 05. ζ [( 1 βj j β j T Succ T,) M h T ed T hj,] j ( ) h Pr ( jk, ) εk, = λk, +, O γ h, h Th Pr ed( T, k) onde V,k representa o valor efetvo assocado com T,k, ζ é o lmte mínmo dado pela equação [Eq.1], Succ(T) representa o conjunto de tarefas cujo tempo máxmo de execução pode ser afetado por T, Pred(T,k) e Pred(Tj,k) representam os conjuntos de tarefas que nterferem sobre o tempo máxmo de execução de, respectvamente, T e Tj, e cuja k-ésma lberação fo executada completamente. h,

No cálculo da densdade ε,k é consderado o fato de uma execução precsa de T,k reduzr o tempo de execução obrgatóra das suas tarefas sucessoras. O valor que uma execução precsa de T,k contrbu para o sstema é amplado pela provável execução futura de outras partes opconas. Estas futuras execuções aprovetaram a redução no tempo máxmo de execução obrgatóra das tarefas sucessoras de T,k. A equação [Eq.2] supõe uma densdade de valor 0.5 ζ para tas execuções futuras. A equação [Eq.2] leva também em consderação o fato de uma tarefa poder possur mas de um predecessor. Assm, a expressão M j β h Th Pr ed( Tjk, ) hj, representa o tempo máxmo de execução obrgatóra da lberação Tj,k, após as correções em função dos predecessores de Tj que executaram completamente. 4. Smulação As heurístcas descrtas na seção anteror são avaladas através de smulação. Desta forma, o desempenho das heurístcas propostas neste artgo será comparado com o desempenho de duas polítcas exstentes, sto é, FCFS e AVDT. Para efetos da smulação é necessáro defnr qual será o teste off-lne de escalonabldade usado para garantr que as partes obrgatóras são escalonáves. Também é necessáro defnr qual será o teste de acetação on-lne a ser empregado. Cabe ressaltar que as heurístcas apresentadas na seção anteror não estão atreladas especfcamente aos testes usados na smulação. Outros testes de escalonabldade e de acetação poderam ser usados. 4.1 Teste Off-Lne de Escalonabldade Neste trabalho é assumdo que as tarefas recebem uma prordade fxa segundo a polítca do deadlne monotônco [LEU 82]. É usado também o teste de escalonabldade exato proposto em [AUD 93] para calcular o tempo máxmo de resposta R de cada tarefa T. O valor R é calculado teratvamente, a partr de um valor ncal R 0 =C, pela equação: k+ 1 k R = C + R P C, [Eq. 3] Tj hp( T) j onde hp(t) é o conjunto de tarefas com prordades maores que T. A teração termna quando R k+1 = R k ou então quando R k >D. A tarefa T será escalonável se R D. É mportante observar que apenas as partes obrgatóras recebem uma garanta off-lne. Logo, a equação [Eq.3] utlza C = M. 4.2 Teste On-Lne de Acetação No modelo de tarefas adotado, sempre que uma tarefa va ncar sua execução ocorre uma solctação de garanta para a sua parte opconal. Esta solctação possu tempo de execução O e deadlne gual ao deadlne da parte obrgatóra. Caso a parte opconal passe pela polítca de admssão, ela va para o teste de acetação. j

Como em [DAV 95] vamos usar o teste de acetação baseado no "Dynamc Approxmate Slack Stealng" (DASS), descrto em [AUD 94b]. Este algorítmo mantém contadores de folga S(t) para cada nível de prordade. No momento de acetar ou não uma parte opconal, estes contadores são consultados. A parte opconal de uma tarefa T poderá ser aceta caso j lp(), O Sj(t). Caso a parte opconal O seja aceta, é necessáro corrgr a tabela de folgas fazendo: j lp(), Sj(t) Sj(t) O. Observe que a garanta para a parte opconal de uma lberação T,k é dada no níco da execução da tarefa e não no nstante da lberação. Isto é feto para aprovetar, no teste de acetação, as folgas ("slack") geradas pelas tarefas de maor prordade que executam e são concludas exatamente entre a lberação e o níco de T,k. Esta garanta dada no níco da execução da tarefa não pode ser revogada, dentro do modelo das múltplas versões. 4.3 Carga de Tarefas A carga de tarefas fo defnda de manera semelhante a outros trabalhos presentes na lteratura ([AUD 94b], [DAV 95]). Para efeto de smulação, fo desprezado o custo ("overhead") dos testes de acetação e da polítca de admssão. É mportante notar que todas as polítcas de admssão smuladas empregam o mesmo teste de acetação. Logo, este custo em partcular é o mesmo para todas. Foram empregados conjuntos de 18 tarefas peródcas em todos os expermentos. Nestes conjuntos, 6 tarefas possuem período entre 20 e 200 tcks, outras 6 possuem período entre 200 e 2000 e as 6 tarefas restantes possuem período entre 2000 e 20000. Os deadlnes das tarefas foram gerados de forma aleatóra, a partr de uma dstrbução unforme entre 20 e o período da tarefa em questão. Os tempos máxmos de computação obrgatóra foram gerados também aleatoramente, mas de manera que a carga obrgatóra total fosse de 30%, 60% ou 90%. Os tempos máxmos de computação opconal gualmente foram gerados de forma aleatóra, mas de tal sorte que a carga total no processador varasse de 60% a 300%. Não exste uma relação prevamente defnda entre o tempo máxmo de execução da parte opconal O da tarefa T e o seu tempo máxmo de execução obrgatóra M. Os valores V das partes opconas foram estabelecdos também aleatoramente segundo uma dstrbução unforme entre 1 e 10. Tanto as taxas de recuperação α quanto os fatores de redução β,j e γ,j das tarefas foram escolhdos segundo uma dstrbução unforme entre 0 e 1. Para avalar o mpacto da dependênca nter-tarefa, fo suposto que as 18 tarefas do conjunto estão dvddas em 6 trplas. Tarefas pertencentes a uma mesma trpla possuem período gual e dependênca nter-tarefa. Somente foram consderados conjuntos de tarefas cujas partes obrgatóras podam ser garantdas off-lne. Para cada combnação de carga obrgatóra e opconal foram smulados 20 conjuntos de tarefas dferentes. Os resultados apresentados correspondem a méda destas 20 execuções. 5. Resultados da Smulação

Nesta seção serão apresentados os resultados das smulações realzadas. As tabelas de 1 a 9 resumem estes resultados. A fgura de mérto observada é o valor total obtdo pela heurístca em questão em relação ao valor total obtdo por FCFS, para a mesma carga de tarefas. Por exemplo, um valor 1.5 sgnfca que a heurístca em questão obteve 50% a mas de valor do que quando FCFS for usado. O custo dos algortmos não fo ncludo nas smulações realzadas. Como dto antes, todos utlzam o mesmo teste de acetação. Com respeto ao custo ("overhead") das polítcas de admssão, é mportante notar que os valores efetvos e os tempos máxmos de execução podem ser mantdos pelo suporte de execução. Eles seram atualzados sempre que uma tarefa é executada precsamente. Desta forma, todos os produtóros que aparecem nas equações já estaram calculados no momento de executar a polítca de admssão. Neste caso, FCFS, AVDT e CVDT teram uma complexdade O(1). Já INTER possura uma complexdade O(N) em função do somatóro que aparece no numerador. No caso extremo, todas as tarefas são sucessoras de T e podem ser afetadas por sua execução precsa. As tabelas 1, 2 e 3 descrevem os resultados obtdos quando exste apenas dependênca ntra-tarefa. Nesta stuação, CVDT e INTER apresentam o mesmo comportamento. Isto é esperado pos na falta de dependênca nter-tarefa temos sempre que ε,k=λ,k e as duas heurístcas fcam guas. Em todas as combnações de carga obrgatóra e opconal estudadas, CVDT e INTER foram superores a FCFS e AVDT. O melhor desempenho de CVDT e INTER com relação a AVDT está na capacdade daqueles em detectar quando o processador está subutlzado e então baxar o lmte mínmo de forma adequada. Opconal: 30% 60% 90% 120% 150% 180% 210% 240% 270% AVDT 0.961 0.946 1.052 1.170 1.281 1.396 1.460 1.567 1.583 CVDT 1.000 1.008 1.139 1.291 1.389 1.543 1.621 1.766 1.731 INTER 1.000 1.008 1.139 1.291 1.389 1.543 1.621 1.766 1.731 Tabela 1 - Carga obrgatóra de 30% com dependênca ntra-tarefa. Opconal: 30% 60% 90% 120% 150% 180% 210% 240% AVDT 0.964 1.167 1.370 1.504 1.589 1.763 1.648 1.732 CVDT 1.018 1.268 1.509 1.638 1.773 1.894 1.779 1.831 INTER 1.018 1.268 1.509 1.638 1.773 1.894 1.779 1.831 Tabela 2 - Carga obrgatóra de 60% com dependênca ntra-tarefa. Opconal: 30% 60% 90% 120% 150% 180% 210% AVDT 1.431 1.566 1.466 1.569 1.440 1.404 1.428 CVDT 1.533 1.644 1.590 1.734 1.544 1.529 1.541 INTER 1.533 1.644 1.590 1.734 1.544 1.529 1.541 Tabela 3 - Carga obrgatóra de 90% com dependênca ntra-tarefa. As tabelas 4, 5 e 6 mostram os resultados da smulação quando apenas dependênca nter-tarefa está presente. Novamente CVDT e INTER apresentam um desempenho superor ao AVDT. Embora as equações assocadas com INTER

consderem explctamente a dependênca nter-tarefa, esta heurístca resulta em valores smlares ao CVDT para todos os cenáros de carga obrgatóra estudados. As tabelas 7, 8 e 9 mostram os valores obtdos nas smulações quando exste smultaneamente dependênca ntra-tarefa e nter-tarefa. Os resultados são semelhantes aos obtdos com dependênca nter-tarefa. Temos CVDT e INTER sempre melhores que AVDT. Temos também INTER com comportamento smlar ao CVDT. Opconal: 30% 60% 90% 120% 150% 180% 210% 240% 270% AVDT 0.953 0.917 0.909 0.931 0.968 1.088 1.199 1.281 1.403 CVDT 1.001 1.000 1.013 1.066 1.136 1.293 1.457 1.617 1.691 INTER 1.000 1.000 1.012 1.065 1.135 1.293 1.457 1.615 1.689 Tabela 4 - Carga obrgatóra de 30% com dependênca nter-tarefa. Opconal: 30% 60% 90% 120% 150% 180% 210% 240% AVDT 0.934 0.884 0.905 1.048 1.120 1.331 1.272 1.532 CVDT 0.999 1.001 1.051 1.235 1.438 1.696 1.590 1.818 INTER 1.000 1.002 1.056 1.236 1.447 1.699 1.605 1.832 Tabela 5 - Carga obrgatóra de 60% com dependênca nter-tarefa. Opconal: 30% 60% 90% 120% 150% 180% 210% AVDT 1.142 1.250 1.121 1.120 1.124 1.054 1.112 CVDT 1.332 1.467 1.355 1.379 1.345 1.308 1.316 INTER 1.333 1.457 1.364 1.384 1.343 1.314 1.319 Tabela 6 - Carga obrgatóra de 90% com dependênca nter-tarefa. Também foram realzadas experêncas contemplando sstemas onde a utldade está concentrada em algumas poucas tarefas. As condções destas smulações foram as mesmas descrtas na seção 4.3, exceto que agora 3 tarefas possuem valor nomnal 20, 3 tarefas possuem valor nomnal 10 e todas as demas possuem valor nomnal 1. Os valores obtdos foram semelhantes aos apresentados nas tabelas de 1 a 9. Opconal: 30% 60% 90% 120% 150% 180% 210% 240% 270% AVDT 0.972 0.949 0.938 0.957 0.995 1.081 1.155 1.225 1.271 CVDT 1.000 1.000 1.007 1.050 1.099 1.210 1.309 1.425 1.460 INTER 1.000 1.000 1.007 1.050 1.098 1.211 1.308 1.426 1.460 Tabela 7 - Carga obrgatóra de 30% com dependênca ntra-tarefa e nter-tarefa. Opconal: 30% 60% 90% 120% 150% 180% 210% 240% AVDT 0.956 0.929 0.942 1.043 1.129 1.256 1.227 1.391 CVDT 1.000 1.001 1.039 1.169 1.324 1.469 1.427 1.545 INTER 1.000 1.001 1.042 1.173 1.329 1.471 1.435 1.550 Tabela 8 - Carga obrgatóra de 60% com dependênca ntra-tarefa e nter-tarefa.

Opconal: 30% 60% 90% 120% 150% 180% 210% AVDT 1.090 1.184 1.104 1.128 1.117 1.071 1.083 CVDT 1.209 1.308 1.236 1.265 1.240 1.213 1.227 INTER 1.211 1.300 1.247 1.265 1.241 1.215 1.230 Tabela 9 - Carga obrgatóra de 90% com dependênca ntra-tarefa e nter-tarefa. Não é possível uma comparação dreta dos resultados apresentados acma com os resultados apresentados em [CHU 90] e [FEN 94]. Em [CHU 90] exsta a necessdade de garantr que as partes opconas de todas as tarefas seram eventualmente executadas. Em [FEN 94], embora uma parte opconal pudesse não ser jamas executada, havera então um aumento no tempo de execução de partes obrgatóras, as quas então teram que ser necessaramente executadas. Neste trabalho, uma parte opconal com valor nomnal baxo provavelmente jamas será executada em um sstema com sobrecarga. Este comportamento é coerente com o objetvo de reservar as sobras de processador para as partes opconas que mas utldade adconem ao sstema. É possível fazer uma comparação dreta entre as polítcas propostas neste artgo e o AVDT. Ambas as polítcas CVDT e INTER apresentam resultados em geral melhores que AVDT. Os melhores resultados do CVDT e do INTER em relação ao AVDT são devdos ao novo lmte usado. A polítca AVDT emprega Λ(t) como lmte mínmo. Em cargas baxas, o AVDT rejeta partes opconas com baxa densdade de valor mesmo que o processador esteja lvre. O lmte mínmo ζ, usado por CVDT e por INTER, consdera o grau de ocupação do processador. A polítca INTER consdera explctamente as dependêncas nter-tarefa. Entretanto, ela não apresentou resultados melhores que CVDT nas combnações de carga estudadas neste trabalho. Em [OLI 96] foram fetas smulações semelhantes às apresentadas aqu, mas com γ,j=1 para todas as tarefas. Aquele trabalho encontrou um desempenho melhor de INTER com relação a CVDT para cargas obrgatóras altas. Como a polítca INTER consdera os valores de β,j mas gnora os valores γ,j, seu comportamento é melhor quando todas as tarefas apresentam o mesmo valor de γ,j e ele dexa de ser sgnfcatvo. Como descrto na seção 4.3, os valores apresentados nas tabelas 1 a 9 consderaram γ,j um valor aleatóro entre 0 e 1. 6. Conclusões Neste trabalho foram apresentadas duas novas heurístcas, própras para serem empregadas como polítca de admssão em sstemas de tarefas mprecsas. Seu comportamento fo analsado através de smulação e comparado com outros dos algortmos presentes na lteratura. Foram consderados casos onde exstem relações de dependênca entre dferentes lberações de uma mesma tarefa e/ou dependênca entre tarefas dferentes. As heurístcas propostas apresentaram um desempenho sempre melhor que outras exstentes na lteratura. É mportante notar a natureza dnâmca de dversos valores consderados pelas heurístcas, tas como, Λ(t), π(t), etc. Estes valores devem ser consderados apenas em um ntervalo de tempo recente e não pela vda total do sstema. Desta forma sera

melhor tratada uma stuação de mudança no modo de operação da aplcação ("mode change"), em termos dos valores de suas tarefas. Uma questão em aberto é determnar o ntervalo de tempo adequado para a determnação de tas valores. A abordagem empregada neste trabalho consdera que o comportamento opconal do sstema não é conhecdo de forma determnsta mas sm probablsta. Neste sentdo, ela é smlar aos algortmos de substtução de págna empregados na mplementação de memóra vrtual. As decsões são tomadas segundo a suposção de que o futuro próxmo será semelhante ao passado recente. A mesma suposção é adotada aqu com respeto aos valores que descrevem a hstóra da aplcação. Váras questões permanecem anda em aberto na lteratura. Entre elas, como ncorporar o conceto de computação mprecsa e de valores nomnas de tarefas às técncas de projeto de software. Para que as soluções de escalonamento dscutdas neste artgo venham a ser usadas em aplcações reas é essencal sua ntegração com metodologas de desenvolvmento de software. 7. Referêncas [AUD 93] N. C. Audsley, A. Burns, M. F. Rchardson, K. Tndell, A. J. Wellngs. Applyng New Schedulng Theory to Statc Prorty Pre-emptve Schedulng. Software Engneerng Journal, Vol. 8, No. 5, pp. 284-292, 1993. [AUD 94a] N. C. Audsley, A. Burns, R. I. Davs, A. J. Wellngs. Integratng Best Effort and Fxed Prorty Schedulng. Proceedngs of the IEEE Real-Tme Systems Symposum, pp. 12-21, San Juan, Puerto Rco, december 1994. [AUD 94b] N. C. Audsley, R. I. Davs, A. Burns. Mechansms for Enhancng the Flexblty and Utlty of Hard Real-Tme Systems. Proceedngs of the IEEE Real-Tme Systems Symposum, pp. 12-21, San Juan, Puerto Rco, december 1994. [BUR 91] A. Burns, A. J. Wellngs. Crtcalty and Utlty n the Next Generaton. The Journal of Real-Tme Systems, Vol. 3, correspondence, pp. 351-354, 1991. [CHU 90] J.-Y. Chung, J. W.-S. Lu, K.-J. Ln. Schedulng Perodc Jobs That Allow Inprecse Results. IEEE Trans. on Comp., Vol.39, No.9, pp.1156-1174, sep 1990. [DAV 95] R. Davs, S. Punnekkat, N. Audsley, A. Burns. Flexble Schedulng for Adaptable Real-Tme Systems. Proc. IEEE Real-Tme Technology and Applcatons Symposum, pp. 230-239, may 1995. [FEN 94] W. Feng, J. W.-S. Lu. Algorthms for Schedulng Tasks wth Input Error and End-to-End Deadlnes. DCS Tech. Report #1888, Unv. of Illnos at U-C, 1994. [KRO 94] E. Krotkov, R. Hoffman. Terran Mappng for a Walkng Planetary Rover. IEEE Trans. on Robotcs and Automaton, Vol.10, No.6, pp.728-739, dec 1994. [LEU 82] J. Y. T. Leung, J. Whtehead. On the Complexty of Fxed-Prorty Schedulng of Perodc, Real-Tme Tasks. Performance Evaluaton, 2(4), pp.237-250, december 1982.

[LIU 94] J. W.-S. Lu, W.-K. Shh, K.-J. Ln, R. Bettat, J.-Y. Chung. Imprecse Computatons. Proceedngs of the IEEE, Vol. 82, No. 1, pp. 68-82, january 1994. [OLI 96] R. S. Olvera, J. S. Fraga. Schedulng Imprecse Computaton Tasks wth Intra-Task / Inter-Task Dependence. Proceedngs of the 21st IFAC/IFIP Workshop on Real Tme Programmng, Gramado-RS-Brasl, pp. 51-56, november 1996. [TIA 95] T.-S. Ta, Z. Deng, M. Shankar, M. Storch, J. Sun. L.-C. Wu, J.W.-S. Lu, Probablstc Performance Guarantee for Real-Tme Tasks wth Varyng Computaton Tmes. Proceedngs of the IEEE Real-Tme Technology and Applcatons Symposum, pp. 164-173, may 1995.