Suporte Básco para Sstemas de Tempo Real Escalonamento e Comuncação Sldes elaborados por George Lma, com atualzações realzadas por Ramundo Macêdo Suporte Básco para Sstemas de Tempo-Real Escalonamento Comuncação (memóra compartlhada ou redes) Interação, compartlhamento de recursos Gerencamento de nterrupções Gerencamento de memóra Sstemas de arquvos etc 1
Escalonamento de Tarefas Dstrbur recursos computaconas ao longo do tempo de forma que as tarefas do sstema preservem seus requstos temporas? Undades de Processamento Escalonamento Alocação (Onde?) Escalonamento (Quando?) Alocação, um problema dfícl Decdr dnamcamente onde alocar as tarefas é caro, apesar de potencalmente favorecer à adaptabldade do sstema Custo de comuncação, tomada de decsão on-lne, varabldade da carga Exstem polítcas de escalonamento que são ótmas quando decsões de alocação não são consderadas, mas falham caso contráro Garanta de prevsbldade Pode ser comprometda se escalonamento e alocação são resolvdos conjuntamente e dnamcamente Sstemas prevsíves geralmente requerem polítcas estátcas de alocação 2
Escalonamento, outro problema dfícl tempo tempo Algumas questões Quando decdr o escalonamento? Quando verfcar o comportamento temporal? On-lne Off-lne On-lne Off-lne O mas usual Resolvendo o Problema de Escalonamento Decdr o escalonamento (dspatchng) Polítcas de escalonamento Verfcar o comportamento temporal Ferramentas de análse ou teste de escalonabldade Requstos Atrbutos das tarefas devem ser conhecdos Período, deadlne, máxmo tempo de computação 3
Análse de Escalonabldade Dado um conjunto de tarefas e uma polítca de escalonamento, o sstema é escalonável? Conjunto de tarefas Polítca de escalonameno Análse SIM NÃO Prncípo básco: se o sstema é escalonável no por caso, então o sstema será sempre escalonável Abordagens de Escalonamento Análse de Escalonabldade Off-lne Lberação de tarefas (dspatchng) Off-lne Escalonabldade garantda Hpóteses temporas restrtvas Inflexível On-lne Escalonabldade garantda Hpóteses mas relaxadas Razoavelmente flexível On-lne Escalonabldade garantda Não é tão nflexível Escalonabldade não garantda Muto flexível Sstemas event-trggered Sstemas tme-trggered Sstemas event-trggered 4
Escalonamento Off-lne Uma tabela de execução é gerada em tempo de projeto Métodos de otmzação, grafos etc. Em tempo de execução, cada tarefa é dsparada no momento prevamente estabelecdo Fortemente dependente do tempo Pouca flexbldade e adaptabldade Prevsbldade Se tudo for planejado corretamente, nenhuma tarefa dexará de cumprr seu deadlne Comportamento temporal de uma tarefa não nterfere em outra Sstema é mune a ocorrênca de eventos não esperados Ideal para sstemas de tme-trggered Escalonamento On-lne Decsões sobre o escalonamento são tomadas em tempo de execução Escalonamento passa a ser dependente da ocorrênca de eventos Potencal para ncorporar flexbldade e adaptabldade Prevsbldade Se tudo puder ser planejado e provado em tempo de projeto, o sstema é prevsível Eventos não esperados podem nterferr no comportamento temporal do sstema Comportamento temporal de uma tarefa pode nterferr em outra Nível de prevsbldade depende da capacdade de análse Ideal para sstemas event-trggered 5
Quando Fazer a Análse de Escalonabldade Escalonamento gerado em tempo de projeto Geralmente, a análse está mplícta na geração do escalonamento Alguma adaptação pode ser feta em tempo de execução Escalonamento gerado em tempo de execução Análse em tempo de projeto Garantas de prevsbldade Análse em tempo de execução Garantas de qualdade de servço (evta-se a degradação do sstema) Escalonamento Baseado em Prordades Prordades Um dos mas usados crtéros de escolha de execução para sstemas de tempo-real Smples: manpulação de flas de prordades Claro: prordade sgnfca urgênca de execução Custo computaconal: acetável Abordagens Prordades varáves (dnâmco) Varam em tempo de execução Menor prevsbldade já que as prordades varam Prordades fxas (estátco) Defndas em tempo de projeto Maor prevsbldade: pode-se saber qual tarefa poderá não cumprr o deadlne 6
Escalonamento Baseado em Prordades Varáves (LST) Least Slack Tme Tarefa com menor tempo de folga possu maor prordade D = 4, C = 2 D = 2.5, C = 2 LST tempo tempo LST: Ótmo em sstemas unprocessados, preemptvos e sem compartlhamento de recursos. Porém, caro computaconalmente Escalonamento Baseado em Prordades Varáves (EDF) Earler Deadlne Frst Tarefa com menor deadlne de folga possu maor prordade D = 4, C = 2 D = 2.5, C = 2 EDF tempo EDF: Ótmo em sstemas unprocessados, preemptvos e sem compartlhamento de recursos. Baxo custo computaconal. 7
EDF vs. LST T=30, C=10,D=20 T=80, C=45,D=79 d < d EDF 0 10 20 30 40 50 60 70 80 tempo Slack < Slack LST 0 10 20 30 40 50 60 70 80 tempo Escalonamento Baseado em Prordades Fxas (RM e DM) Rate Monotonc Quanto maor o período de uma tarefa, menor é a sua prordade Tarefas com período curto (alta freqüênca de atvação) precsam de mas CPU e portanto possuem maor prordade Deadlne Monotonc Quanto maor o deadlne de uma tarefa, menor é sua prordade Tarefas mas urgentes recebem maores prordades de execução 8
RM vs. DM T=80, C=30, D=70 T=120, C=30, D=50 RM 0 30 60 90 120 150 180 210 240 290 tempo DM 0 30 60 90 120 150 180 210 240 290 tempo DM pode ser consderado mas genérco que o RM Análse de Escalonabldade: Vsando Prevsbldade Análse de Escalonabldade Off-lne Lberação de tarefas (dspatchng) Off-lne Escalonabldade garantda Hpóteses temporas restrtvas Inflexível On-lne Escalonabldade garantda Hpóteses mas relaxadas Razoavelmente flexível On-lne Escalonabldade garantda Não é tão nflexível Escalonabldade não garantda Muto flexível 9
Análse de Escalonabldade Quanto ao tpo de resposta Conjunto de tarefas Análse SIM Escalonável Sufcente Não se? Conjunto de tarefas Análse? Não se Necessára Não-escalonável NÃO Conjunto de tarefas Análse SIM Escalonável Exata Não-escalonável NÃO Análse de Escalonabldade Quanto ao tpo de função Utlzação do processador O uso do processador tem um lmte! Tempo máxmo de resposta O tempo de resposta de cada tarefa não deve ser superor ao seu deadlne 10
Análse Baseada na Utlzação do Processador Cada tarefa usa no máxmo C T O sstema usa no máxmo C T Um únco valor expressa a escalonabldade do sstema Smplcdade: pode ser usada para análse on-lne Análse Baseada na Utlzação do Processador Exemplo Tarefas peródcas, peremptíves, escalonadas num únco processador e que não compartlham recursos (são ndependentes) C T RM n(2 1/ n Análse sufcente 1) EDF C T 1 Análse exata Modelo de tarefas muto smplfcado 11
Análse Baseada no Tempo de Resposta Modelo de tarefas smplfcado Tarefas peródcas, peremptíves, escalonadas num únco processador e que não compartlham recursos (são ndependentes) 3C j C = C + 3 C j R = C + I Consdere uma tarefa j mas prortára que (acma). j rá ser atvada pelo menos uma vez. Num-de-atvações será o menor ntero maor que R /T j. Se R = 8 e T j = 3, num=atvações = 3 (acma) Interferênca das tarefas de mas prortáras que tarefa a nterferênca máxma ocorre quando todas as tarefas mas prortáras são lberadas no mesmo nstante da atvação da tarefa. Análse Baseada no Tempo de Resposta Modelo de tarefas smplfcado Tarefas peródcas, peremptíves, escalonadas num únco processador e que não compartlham recursos (são ndependentes) 3C j C = C + 3 C j R R = C + C j Tj? 12
Calculando o Tempo de Resposta r Processo teratvo: Para cada tarefa... UAV 0 r 1 r 2 r 3 R = 60 = r 3 = 140 D T T T gpl 60 60 = 60 + 20 + 140 = 120 100 150 120 120 = 60 + 20 + 140 = 140 100 150 140 140 = 60 + 20 + 140 = 140 100 150 vrf = 100, C = 150, C = 150, C gpl vrf = 20, D = 40, D = 60, D gpl gpl = 100 = 120 = 140 Análse exata! Análse Baseada no Tempo de Resposta (característcas) Modelo de tarefas mas flexível Tarefas dependentes Tarefas peródcas, esporádcas e aperódcas Jtter Sstemas dstrbuídos Prevsbldade e Flexbldade Custo computaconal Processo teratvo mpede seu uso on-lne 13
Comuncação entre Tarefas Dependênca da ordem de execução Modelando Jtter R = C + j hp() R + J Tj j C j Comuncação entre Tarefas Compartlhamento de Recursos Seja B o tempo máxmo que tarefa fca bloqueada aguardando a lberação de um recurso compartlhado usado por tarefas menos prortáras O termo B pode ser calculado Modelando Bloqueo R = B + C + j hp() R + J Tj j C j 14
Redes de comuncação Váras tecnologas TDMA (controle de acesso orentado a tempo) FDDI, Token-Bus, Token-Rng CAN (controle de acesso orentado a prordades) etc Comuncação entre Tarefas Dstrbuídas Pode-se usar modelagem por Jtter T m r Tempo de resposta fm-a-fm Detalhes devem ser consderados Fla de transmssão Controle de acesso ao meo Fla de recepção escalonamento etc 15
Pontos para Lembrar Alocação e escalonamento Prevsbldade: alocação estátca Polítcas de escalonamento Crtéro de escolha da tarefa a ser executada Prevsbldade e Flexbldade: prordades fxas Analse de escalonabldade Verfcação da correção temporal do sstema dado um conjunto de tarefas e uma polítca de escalonamento Prevsbldade e Flexbldade: analse baseada no tempo de resposta Comuncacao entre tarefas Compartlhamento de recursos Dependenca entre tarefas Comuncacao dstrbuda 16