Aula 8 Ecalonamento de tarefa aperiódica Execução conjunta de tarefa periódica e aperiódica Utilização de ervidore de tarefa aperiódica Servidore de prioridade fixa Servidore de prioridade dinâmica 1
Aula anterior (7) Aceo excluivo a recuro partilhado: bloqueio A inverão de prioridade: neceidade de a limitar e analizar Técnica báica para aceo excluivo a recuro partilhado Herança de prioridade (Priority Inheritance Protocol PIP) Protocolo de tecto de prioridade (Priority Ceiling Protocol PCP) Protocolo de pilha de recuro (Stack Reource Protocol- SRP) 2
Conjugar tarefa periódica e aperiódica Tarefa periódica Adequada, por exemplo, a ituaçõe em que é neceário amotrar e procear uma dada grandeza fíica, normalmente contínua, ou produzir regularmente um dado valor ou actuação. Tarefa aperiódica Adequada, pelo contrário, a ituaçõe em que não e pode prever o repectivo intante de activação, tal como em alarme, interface com operadore, ou outro evento aíncrono. Sitema híbrido Aplicaçõe contituída por um mix de tarefa periódica e aperiódica. É o cao mai frequente em aplicaçõe reai. 3
Conjugar tarefa periódica e aperiódica Tarefa periódica intância n activada em a n =n*t+φ (pior cao bem conhecido) Tarefa eporádica no pior cao é como uma tarefa periódica com período = mit Tarefa aperiódica 0 Φ T 0 mit mit 0 ó e caracterizam de forma probabilítica J 0 J 1 J 2 J 0 J 1 J 2 J 3 J 0 J 1 J 2 J 3 J 4 Como limitar a interferência obre a tarefa periódica? Como garantir o melhor nível de erviço poível? tempo tempo tempo 4
Execução em plano de fundo (background) Uma forma comum e imple de combinar ambo o tipo de tarefa conite em dar prioridade aboluta à tarefa periódica e executar a aperiódica apena no intervalo de tempo de CPU deixado livre pela primeira. Diz-e que a tarefa aperiódica ão executada em plano de fundo ou background. τ i T i C i Tarefa periódica τ 3 1 3 1 τ 2 2 3 4 1 6 1 Plano de fundo (background) τ 1 0.5 t=0 t=2 5 t=6 1 0.4
Execução em plano de fundo (background) A execução em plano de fundo é muito fácil de implementar e não perturba o ubitema periódico (pode haver alguma interferência por via de rotina de interrupção) Por outro lado, a tarefa aperiódica poderão ofrer atrao grande dependendo da carga periódica (pode er calculado coniderando a tarefa aperiódica como de prioridade mai baixa, a eguir à periódica meno prioritária) Deempenho fraco para tarefa aperiódica de tempo-real ma adequado para tarefa aperiódica não tempo-real. Tarefa periódica... J 3 i Prioridade + Tarefa aperiódica... J 2 k J 1 n J 2 J 1 b J 1 _ a c CPU 6
Utilização de ervidore de aperiódica Uma forma de melhorar a repota de tarefa aperiódica (quando o erviço em plano de fundo não permite cumprir a retriçõe de tempo real) conite na utilização de uma tarefa periódica cuja funcionalidade é apena a de executar a tarefa aperiódica que etejam activa. Deigna-e ea tarefa por ervidor de aperiódica e é caracterizado por um período T S e uma capacidade C S É agora poível inerir o ervidor no conjunto da tarefa periódica e atribuir-lhe a prioridade neceária para o nível de erviço deejado. τ 2 Servidor de aperiódica τ S τ 1 0.5 1 0.4 7
Utilização de ervidore de aperiódica Exitem vário tipo de ervidore de aperiódica, quer para prioridade fixa quer dinâmica, que variam em termo de: impacto obre a ecalonabilidade da tarefa periódica tempo de repota médio ao pedido de execução da tarefa aperiódica cuto (overhead) computacional, de memória e de concretização. Priodidade fixa: Servidor de ondagem (polling), adiável (deferrable), de troca de prioridade, eporádico,... Prioridade dinâmica: Servidore de prioridade fixa adaptado, de largura de banda total (TBS) e contante (CBS),... 8
Repota de pior cao a pedido aperiódico Tempo de repota de pior cao (igual para todo o tipo de ervidore que e podem modelizar com uma tarefa periódica) Conidera-e que: O ervidor é uma tarefa periódica τ S (C S,T S ) Sofre máximo jitter no intante do pedido aperiódico Sofre máximo atrao em toda a intância ubequente Ra T S = Ca + ( T C)* wc i i 1 + Ca C i Interferência de tarefa de maior prioridade τ S 2.4*C S C S 2*(T S - C S ) T S - C S Rawc i 9
Repota de pior cao a pedido aperiódico Tempo de repota de pior cao (cont.) Se para o memo ervidor houver vário (Na) pedido aperiódico em fila de epera (ecalonado egundo um determinado critério coerente com o índice k), o tete de ecalonabilidade da tarefa aperiódica é dado por: (conidera-e que todo o pedido aperiódico ão efectuado no memo intante, ituação de pior cao) i k k i Na Rawc Cak T C = 1 = 1.. = + + < i ( )* 1 k C = 1 10 i Ca Da i
Repota de pior cao a pedido aperiódico Tempo de repota de pior cao (cont.) No cao do ervidor ter a máxima prioridade num itema de prioridade fixa, o atrao da intância ubequente deaparece e o tempo de repota é: Rawc i = Cai + ( T C) * Cai C T S τ S 2.4*C S C S T S - C S Rawc i 11
Servidor de ondagem (polling erver - PS) Ete ervidor de prioridade fixa é completamente equivalente à execução de uma tarefa periódica. O pedido aperiódico ão ervido apena durante o intante de execução atribuído ao ervidor pelo ecalonador da tarefa periódica. τ 2 Servidor de polling (1,4) τ S τ 1 0.5 1 0.4 12
Servidor de ondagem (polling erver - PS) A realização de um ervidor de polling é batante imple, endo neceária uma fila para o pedido aperiódico e um controlo de capacidade utilizada. O tempo médio de repota ao pedido aperiódico é melhorado em relação à execução em background porque é poível executar a tarefa aperiódica a uma prioridade mai elevada (ma continua a ter muito período de indiponibilidade). O impacto obre a ecalonabilidade do conjunto da tarefa periódica é apena o da tarefa periódica virtual correpondente. Por exemplo, uando RM + PS U p 1 n+ 1 + U + ( n 1)* 2 1 13 ( Up: utilização da n tarefa periódica)
Servidor de ondagem (polling erver - PS) Nota: O menor majorante de Liu & Layland foi determinado de forma independente da taxa de utilização de cada tarefa. Contudo, fixando a taxa de utilização da tarefa de maior prioridade é poível melhorar (aumentar) o menor majorante. Aim, atribuíndo a maior prioridade ao ervidor e taxa de utilização U S =C S /T S, o menor majorante de Liu&Layland pode-e exprear como: 1 n 2 U p + U U + n. 1 U + 1 E quando n, U p + U U + ln U 2 + 1 14
Servidor adiável (deferrable erver - DS) A ideia ubjacente a ete ervidor de prioridade fixa conite em permitir atender pedido aperiódico dede o início da repectiva execução e até: final do repectivo período (T S ) ou que a ua capacidade (C S ) e egote. A capacidade é repota no início de cada período. Servidor deferrable (1,4) τ 2 τ S τ 1 0.5 1 0.4 15
Servidor adiável (deferrable erver - DS) A complexidade de realização de um ervidor deferrable é emelhante à de um PS. O tempo médio de repota ao pedido aperiódico é melhorado em relação ao PS porque é poível utilizar a capacidade do ervidor fora do intante que lhe etavam inicialmente atribuído, quando neceário. O impacto obre a ecalonabilidade do conjunto da tarefa periódica pode er negativo, devido ao atrao da ua execução. Uando RM+DS e um ervidor com a maior prioridade: U p 1 n U + 2 + U U + n. 1 2. U + 1 16
Servidor eporádico (poradic erver - SS) A ideia ubjacente a ete ervidor de prioridade fixa é também a de permitir atender pedido aperiódico em qualquer intante ma em penalizar a ecalonabilidade do ubitema periódico. Nete cao, a repoição da capacidade gata não é efectuada periodicamente ma im de acordo com o intante em que é efectivamente conumida (intante de conumo mai T S ) Servidor eporádico (1,4) τ 2 τ S τ 1 0.5 1 0.4 17
Servidor eporádico (poradic erver - SS) A complexidade de realização de um ervidor eporádico é um pouco uperior à de um DS devido ao cálculo do intante e quantidade de repoição de capacidade. O tempo médio de repota ao pedido aperiódico é emelhante em relação ao DS. O impacto obre a ecalonabilidade do conjunto da tarefa periódica é emelhante ao de uma tarefa periódica (tal como o PS). De facto, o ervidor executa aim que eja activado e a reactivaçõe (atravé da repoiçõe de capacidade) preervam a largura de banda (ao contrário do DS). Uando RM+SS e atribuíndo a maior prioridade ao ervidor U p 1 n 2 + U U + n. 1 U + 1 18
Servidor de largura de banda total (total bandwidth erver - TBS) O Total Bandwidth Server (TBS) é um ervidor de prioridade dinâmica cujo objectivo é o de atender o pedido aperiódico num itema EDF tão cedo quanto poível ma cumprindo a largura de banda que lhe foi atribuída para não perturbar a tarefa periódica. Quando um pedido chega (r k ), é-lhe atribuída uma deadline d k, d k = max (r k,d k-1 ) + C k /U S TBS (U S =25%) τ 2 τ S τ 1 0.5 1 0.4 19
Servidor de largura de banda total (total bandwidth erver - TBS) A complexidade de realização de um TBS é muito pequena, endo apena neceário calcular a deadline para cada pedido e depoi a repectiva tarefa pode er inerida na fila de tarefa pronta, juntamente com a tarefa periódica. O tempo médio de repota ao pedido aperiódico é menor em relação a verõe dinâmica do ervidore de prioridade fixa. O impacto obre a ecalonabilidade do conjunto da tarefa periódica é emelhante ao de uma tarefa periódica com a taxa de utilização atribuída ao ervidor. Uando EDF+TBS U P + U S 1 Requer conhecimento prévio de C k e é vulnerável a overrun. (apó inicío de execução, a tarefa aperiódica pode executar mai do que declarou) 20
Servidor de largura de banda contante (contant bandwidth erver - CBS) O Contant Bandwidth Server (CBS) é um ervidor de prioridade dinâmica cujo objectivo é o de reolver o problema de robutez do TBS efectuando iolamento de largura de banda. Io é coneguido atravé de uma getão do tempo de execução uando um equema de getão de capacidade (Q S,T S ). Quando um pedido chega (r k ), calcula-e a deadline do ervidor d S : e r k + c S /U S < d S actual então mantém d S actual ou então d S = r k + T S e c S = Q S Quando e egota a capacidade intantânea (c S ) adia-e d S : d S = d S + T S e c S = Q S 21
Servidor de largura de banda contante (contant bandwidth erver - CBS) O CBS atribui uma deadline que força a largura de banda atribuída ao ervidor a nunca ultrapaar a que lhe foi atribuída. Se uma tarefa executar mai tempo do que eperado, a ua deadline é automaticamente adiada, baixando a prioridade da tarefa (é como e e aumentáe dinamicamente o período da tarefa) τ 2 CBS (1,4) τ S τ 1 0.5 1 0.4 22
Servidor de largura de banda contante (contant bandwidth erver - CBS) A complexidade de realização de um CBS é um pouco uperior à do TBS devido à getão da capacidade. A tarefa aperiódica ão igualmente inerida na fila de tarefa pronta. O tempo médio de repota ao pedido aperiódico é emelhante ao do TBS. O impacto obre a ecalonabilidade do conjunto da tarefa periódica é emelhante ao de uma tarefa periódica com a taxa de utilização atribuída ao ervidor. Uando EDF+CBS U P + U S 1 23
Servidor de largura de banda contante (contant bandwidth erver - CBS) O grande interee na utilização do CBS reide no iolamento de largura de banda. Se uma tarefa é ervida por um CBS com largura de banda U S, em qualquer intervalo t ea tarefa nunca requerirá mai de t*u S tempo de CPU. Qualquer tarefa τ i (C i,t i ) ecalonável em EDF é também ecalonável dentro de um CBS com Q S =C i e T S =T i Um CBS pode er utilizado para: Proteger o itema de poívei overrun em quaiquer tarefa Garantir um erviço mínimo a tarefa oft real-time Reervar largura de banda para qualquer actividade. 24
Reumo da Aula 8 Execução conjunta de tarefa periódica e aperiódica Execução de aperiódica em background Utilização de ervidore de tarefa aperiódica Servidore de prioridade fixa Polling Server - PS Deferrable Server - DS Sporadic Server - SS Servidore de prioridade dinâmica Total Bandwidth Server TBS Contant Bandwidth Server - CBS 25