rordades + Teste de Escalonabldade Sstemas de Tempo Real: rordades com Teste de Escalonabldade Rômulo Slva de Olvera Departamento de Automação e Sstemas DAS UFSC Cada tarefa recebe uma prordade Escalonamento em geral é preemptvo Teste realzado antes da execução determna escalonabldade Teste consdera como são as tarefas (modelo de tarefas) - eródca, esporádca, D<=, bloqueos, etc Teste consdera forma como prordades são atrbuídas Valdade do teste é demonstrada como teorema Complexdade do teste depende do modelo de tarefas romulo@das.ufsc.br http://www.das.ufsc.br/~romulo Mao/ a execução: Escalonador dspara as tarefas conforme as prordades Teste baseado na Utlzação Utlzação de uma tarefa: Tempo máxmo de computação dvddo pelo período Exemplo: tem C= e =5, então U = / 5 =. Utlzação do sstema Somatóro da utlzação de todas as tarefas Dado Um modelo de tarefas Uma polítca de atrbução de prordades Exste um lmar de utlzação para o processador, de tal sorte que: Se a utlzação do processador for menor que o lmar Então jamas um deadlne será perddo Lmar demonstrado como teorema rordades varáves rordades Varáves Introdução Cada tarefa recebe uma prordade que vara ao longo do tempo rordade leva em conta nformações relatvas à execução Dferentes jobs da mesma tarefa podem receber prordades dferentes Cada Job em partcular pode receber prordade fxa ou varável A escala de execução só é conhecda durante a execução ecessáro Teste de Escalonabldade ara saber antes se todos os deadlnes estão garantdos ou não 5 6
rordades Varáves - Introdução EDF Earlest Deadlne Frst Inversamente proporconal ao deadlne absoluto Ótmo em relação aos crtéros de prordades varáves LSF (LST ou LLF) Least Slack Frst Inversamente proporconal ao tempo lvre (laxty ou slack) Ótmo em relação aos crtéros de prordades varáves Overhead maor que EDF FCFS Frst Come Frst Served Inversamente proporconal ao tempo de espera por servço ão é ótmo com respeto ao cumprmento de deadlnes EDF é o mas usado Supondo um conjunto de n tarefas ndependentes e peródcas EDF como polítca de atrbução de prordades rordades Varáves Teste para EDF Se D=T, sstema é escalonável quando: ermte usar % do processador mantendo os deadlnes Teste exato Se D<T, sstema é escalonável quando: Teste sufcente ara D arbtráro, sstema é escalonável quando: Teste sufcente = = = C ( ) D ( mn( C ( ) C ) D, ) 7 8 rordades Varáves Teste para EDF Exste grande varedade de testes de escalonabldade para EDF Testes mas complexos São menos pessmstas orém requerem esforço computaconal maor EDF As prordades de todas as tarefas aptas e em execução aumentam - de gual modo com o passar do tempo Tarefa possu prordade varável Mas um job em partcular possu prordade fxa Least Slack Frst - LSF rordades Varáves LSF Quanto menos tempo lvre (slack), maor a prordade LSF é ótmo quando EDF for ótmo rordade das tarefas na fla de aptos aumenta com passar do tempo rordade da tarefa em execução mantém-se constante Gera número maor de chaveamento de contextos que EDF Maor overhead ão apresenta vantagens face a EDF 9 rordades Varáves Comentáros Implementação é mas complexa do que com prordade fxa Requer um kernel que aceta prordades varáves recsa recalcular o deadlne absoluto para cada job Overhead de execução pode ser elevado caso seja necessára reordenação dnâmca da fla de aptos (depende do algortmo) Instabldade face a sobrecargas ão é possível saber antecpadamente quas tarefas vão perder deadlne rordades varáves rordades fxas Escalonabldade é superor em EDF do que em prordade fxa Qualquer sstema escalonável com prordade fxa também será escalonável com EDF O contráro não é verdadero Entretanto, prordade fxa é mas usado na prátca
rordades Fxas Introdução Aplcação composta por tarefas (processos) Estados de uma tarefa: Lberada (pronta para executar, apta, ready) Executando (runnng) Suspensa esperando pela próxma atvação Outros estados serão acrescentados mas adante Em geral escalonamento é preemptvo Tarefas possuem prordade fxa defnda em projeto Garanta exge Tarefas peródcas ou esporádcas Tempo máxmo de computação conhecdo Teste de escalonabldade aproprado rordades Fxas Introdução Rate Monotonc RM (Taxa Monotônca) rordade mas alta para a tarefa com período menor rordade fxa Deadlne Monotonc DM (Deadlne Monotônco) rordade mas alta para a tarefa com deadlne relatvo menor rordade fxa Igual ao RM quando D = Importânca rordade mas alta para a tarefa mas mportante da aplcação rordade fxa Outras rordade Fxa Teste para RM RM Rate Monotonc (Taxa Monotonca) Quanto menor o período, mas alta a prordade Ótmo quando Tarefas são peródcas Deadlne é sempre gual ao período Exemplo: Tarefas eríodos = = =5 rordades p= p= p= Cudado! úmero menor ndca prordade maor Mutas vezes é o contráro rordade Fxa Teste para RM Utlzação de uma tarefa: Tempo máxmo de computação dvddo pelo período U = C / tem C= e =5, então U = C / = / 5 =. Teste para Rate Monotonc, sstema é escalonável se: = C ( ) ( / ) ara = utlzação máxma é % ara grandes utlzação máxma tende para 69.% Baseado no conceto de Instante Crítco Teste é sufcente mas não necessáro 5 6 Lmar de Utlzação.% 8.8% 78.% 75.7% 5 7.% 7.8% rordade Fxa Teste para RM rordade Fxa Teste para RM eríodos =6 = =8 Computação C= C=5 C= Utlzação U=.5 U=.5 U=. rordades p= p= p= Utlzação total é.775, abaxo do lmte.78 nfnto 69.% 5 5 7 6 6 8 58 7 8
rordade Fxa Teste para RM eríodos = = =8 Utlzação U=.5 U=.5 U=.5 rordades p= p= p= Utlzação total é, acma do lmar.78, mas conjunto é escalonável rordades varáves rordades fxas EDF versus rordade Fxa 5 6 7 8 9 5 6 9 Exemplo escalonabldade: EDF versus RM Exemplo sobrecarga: EDF versus RM tarefas peródcas C D tarefa A tarefa B 5 5 5 A,B A A B tarefa A - tarefa B - : C= =D= : C= =D= : C= =D=8 Execução normal com EDF U n = = C. [] 5 6 (a) Escalonamento EDF t A,B A A B perda de deadlne de B 5 6 t (b) Escalonamento RM Fgura.6: Escalas produzdas pelo (a) EDF e (b) RM 5 6 7 8 9 5 6 Exemplo sobrecarga: EDF versus RM Exemplo sobrecarga: EDF versus RM : C= =D= : C= =D= : C= =D=8 Sobrecarga devdo a falha do projeto com EDF : C= =D= : C= =D= : C= =D=8 Execução normal com RM 5 6 7 8 9 5 6 5 6 7 8 9 5 6
: C= =D= : C= =D= : C= =D=8 Sobrecarga devdo a falha do projeto com RM Exemplo sobrecarga: EDF versus RM Testes baseados em utlzação ão são geras ão são exatos Mas são rápdos, O() Teste baseado na Utlzação Resumo Exemplo de teste necessáro mas não sufcente para este modelo de tarefas = C ( )?? 5 6 7 8 9 5 6 5 6 rordades varáves rordades fxas EDF versus rordade Fxa Teste baseado na Análse do Tempo de Resposta Teste baseado na Análse do Tempo de Resposta Lmtações da análse baseada em Utlzação ão éexata Aplcável apenas a modelos de tarefas muto smples Análse baseada em Tempo de Resposta Abordagem analítca calcula tempo de resposta no por caso Tempo de resposta de cada tarefa é comparado com o deadlne da tarefa Baseada no conceto de Função Demanda de Tempo 7 8 Teste baseado na Análse do Tempo de Resposta Função Demanda de Tempo (Tme-Demand Functon) Base da análse do tempo de resposta Indca quando tempo de processador é demandado pelas tarefas Exemplo: : C=,=; : C=,= Demanda + Dsponbldade rordade Fxa Análse do Tempo de Resposta Como calcular o tempo de resposta de cada tarefa? ara a tarefa mas prortára temos R = C Demas tarefas sofrem Interferênca das tarefas com prordade maor este caso, R = C + I Interferênca é máxma a partr do Instante Crítco Todas as tarefas são lberadas smultaneamente Suposto nstante zero na análse tempo 5 6 7 8 9 9
rordade Fxa Análse do Tempo de Resposta Seja Tj uma tarefa com prordade maor que T Quantas vezes Tj pode acontecer durante a execução de T? Qual a nterferênca total de Tj sobre T? Qual a nterferênca total sobre T? R j R C j j R C j j hp( ) j rordade Fxa Análse do Tempo de Resposta O tempo máxmo de resposta de T é R = C + I R R = C + C j j hp( ) j Equação é recursva Calculada através de terações sucessvas, até: Tempo de resposta passar do deadlne Resultado convergr, teração x+ gual a teração x w w x + x = C + C j j hp( ) j w = C rordade Fxa Análse do Tempo de Resposta eríodos =7 = = Computação C= C= C=5 rordades p= p= p= R = C = rordade Fxa Análse do Tempo de Resposta Análse da tarefa : w = C = w w = C + C 6 = + 7 = w 6 w = C + C 6 = + 7 = 6 rordade Fxa Análse do Tempo de Resposta Análse da Tarefa : w = C = 5 w 5 5 w = C + C j = 5+ j hp j 7 + = ( ) w = 5+ 7 + = w = 5+ 7 7 + = 7 7 w = 5+ 7 + = w 5 = 5+ 7 + = rordade Fxa Análse do Tempo de Resposta 7 eríodos =7 = = Computação C= C= C=5 rordades p= p= p= Tempo Máxmo de Resposta R= R=6 R= 5 6
rordade Fxa Análse do Tempo de Resposta eríodos = = =8 Utlzação U=.5 U=.5 U=.5 rordades p= p= p= Utlzação total é, acma do lmar.78 mas conjunto é escalonável Aplcando o cálculo do tempo de resposta temos Análse da tarefa : R = C = 7 rordade Fxa Análse do Tempo de Resposta eríodos = = =8 Utlzação U=.5 U=.5 U=.5 rordades p= p= p= Análse da tarefa : w w =C = w = C + C = + = 7 w w = C + C = + = 7 8 rordade Fxa Análse do Tempo de Resposta eríodos = = =8 Utlzação U=.5 U=.5 U=.5 rordades p= p= p= Análse da Tarefa : w w w =C = = C + C = + + = () j j hp j 5 5 w = + + = 5 w = + + = 7 7 7 5 8 8 w = + + = 8 w = + = 8 + 9 rordade Fxa Análse do Tempo de Resposta eríodos = = =8 Utlzação U=.5 U=.5 U=.5 rordades p= p= p= Resposta R= R= R=8 Utlzação total é, acma do lmar.78, mas conjunto é escalonável 5 6 7 8 9 5 6 rordade Fxa Análse do Tempo de Resposta Teste de escalonabldade exato (sufcente e necessáro) Deadlne pode ser menor que o período Basta comparar o tempo de resposta com o deadlne Deadlne maor que o período exge análse mas complexa Tarefa pode nterferr com ela mesma Tarefas esporádcas podem ser tratadas como peródcas Intervalo mínmo entre atvações é usado como período A forma como prordades são atrbudas ÃO é mportante Funcona pos hp() sempre ndca as tarefas mas prortáras do que a tarefa rordade Fxa Deadlne Monotonc Quanto menor o deadlne, maor a prordade Ótmo quando deadlne é menor ou gual ao período Exemplo: Tarefas T eríodos = =5 = = WCET C= C= C= C= Deadlne D=5 D=7 D= D= rordades p= p= p= p= Tempo máxmo de resposta R= R=6 R= R= Caso fosse RM R= R=7 R= R=
Cada tarefa recebe uma prordade fxa Escalonamento com Teste Resumo Teste é desenvolvdo para examnar a escalonabldade Dos tpos de análse Análse da Utlzação Utlza o valor C/ Análse do Tempo de Resposta Tenta calcular o tempo de resposta no por caso Escalonamento com Teste Resumo rordades + Teste de Escalonabldade rordades Varáves com Teste de Escalonabldade rordades Fxas com Teste de Escalonabldade Todos são capazes de garantr deadlnes Executvo cíclco é menos flexível porém oferece determnsmo de escala EDF oferece escalonabldade superor em relação à prordade fxa, porém é caótco em sobrecarga e análse é mas complexa rordade fxa permte extender mas faclmente a análse de escalonabldade