Escolar Documentos
Profissional Documentos
Cultura Documentos
Escalona Men To
Escalona Men To
FEUP/DEEC 2005/06
Jos Ruela
Escalonamento necessidade
A partilha de recursos em redes de comunicao e, em particular, a adopo de estratgias de multiplexagem estatstica, originam situaes de conteno, devido competio pela utilizao de recursos Em redes que suportam integrao de servios torna-se necessrio providenciar QoS diferenciada por categorias de servio (ou classes de trfego), oferecendo garantias de desempenho a aplicaes crticas e ao mesmo tempo permitindo uma partilha de recursos de acordo com critrios de equidade (fairness) Os algoritmos de escalonamento (scheduling algorithms) so um componente essencial para atingir estes objectivos, uma vez que determinam as disciplinas de servio a aplicar a fluxos aceites pela rede Um algoritmo de escalonamento realiza duas funes
decide a ordem de servio de fluxos em competio (pedidos de servio) gere as filas de pedidos de servio
Escalonamento objectivos
Os algoritmos de escalonamento so usados em qualquer sistema ou camada protocolar em que ocorra conteno por recursos, mas em especial em elementos de rede (routers, comutadores, etc.) Desempenham um papel importante na proviso de diferentes nveis de QoS a diferentes aplicaes, permitindo controlo diferenciado de atraso, largura de banda ou taxa de perdas
aplicaes com requisitos de tempo real necessitam de garantias absolutas aplicaes best-effort no necessitam de quaisquer garantias, mas desejvel que a partilha de recursos entre estas aplicaes seja feita de forma equitativa (fair)
Em geral pretende-se que os algoritmos de escalonamento sejam simples (fceis de implementar), tratem de forma equitativa trfego best-effort e garantam ao restante trfego os nveis de desempenho negociados e facilitem os mecanismos associados de controlo de admisso de conexes
Fairness
A atribuio equitativa de recursos habitualmente baseada no critrio designado por max-min fairness, que atribui recursos do seguinte modo:
Os recursos so atribudos por ordem ascendente dos valores solicitados Nenhum fluxo obtm uma quota de utilizao superior ao solicitado Fluxos cujos requisitos no podem ser satisfeitos so tratados de forma idntica (recebem a mesma quota de utilizao fair share)
O objectivo de partilha equitativa global, enquanto que os algoritmos de escalonamento tm carcter local; assim, os recursos atribudos a uma fluxo correspondem ao menor valor atribudo ao longo do percurso O critrio max-min fairness oferece ainda um mecanismo de proteco relativamente a fontes que tentam transmitir acima da respectiva quota
Opes
Na concepo de um mecanismo de escalonamento possvel considerar quatro graus de liberdade (opes)
Nmero de nveis de prioridade Disciplina work-conserving ou non-work-conserving em cada nvel Grau de agregao de fluxos em cada nvel Ordem de servio em cada nvel
Prioridade
A cada conexo atribudo um nvel de prioridade S so servidos pacotes num determinado nvel de prioridade se no existirem pacotes espera de ser servidos em qualquer nvel com prioridade mais alta Quanto mais elevado for o nvel de prioridade mais baixo o atraso mdio sofrido pelos pacotes Uma possvel consequncia desta estratgia a negao de servio (starvation) a pacotes nos nveis de prioridade mais baixos, o que pode ser combatido com polticas de controlo de admisso (limitando a capacidade disponvel para cada nvel, excepto o mais baixo) e de policiamento
Disciplinas non-work-conserving aumentam o atraso mdio dos pacotes, desperdiam largura de banda (que pode no entanto ser reutilizada por trfego best-effort) e penalizam sempre fontes que excedem o dbito contratado (mesmo que haja recursos livres)
Ordem de Servio
necessrio decidir a ordem pela qual devem ser servidos, em cada nvel de prioridade, os pacotes de fluxos individuais ou agregados A estratgia mais simples consiste em servir os pacotes pela ordem de chegada (FCFS First Come First Serve); esta estratgia no permite oferecer garantias quanto a atrasos nem proteco relativamente a fluxos que tentem monopolizar o uso da largura de banda, isto , a atribuio de recursos no obedece ao critrio max-min fairness A alternativa consiste em servir os pacotes por uma ordem diferente da ordem de chegada, de acordo com uma etiqueta de servio (service tag) associada a cada pacote
as propriedades de um algoritmo de escalonamento e as garantias de desempenho associadas (dbito, atraso, etc.) dependem da forma como so calculadas as etiquetas qualquer disciplina de servio que no seja FCFS implica um overhead acrescido
Non-work-conserving
Stop-and-Go (SG) Hierarchical Round-Robin (HRR) Jitter Earliest-Due-Date (J-EDD) Rate-Controlled Static Priority (RCSP)
Nenhuma disciplina realizvel pode ser to justa (no sentido max-min) quanto GPS, pois enquanto um pacote servido, existe injustia para os restantes; o grau de injustia (unfairness) pode ser limitado possvel associar pesos s ligaes; as ligaes recebem servio proporcionalmente aos pesos sempre que a fila no esteja vazia
Seja S (i, t1, t2) a quantidade de dados da ligao i servida no intervalo [t1, t2]. Para uma ligao i que esteja backlogged no intervalo [t1, t2] e qualquer outra ligao j, verifica-se a relao S (i, t1, t 2) i S ( j , t1, t 2) j
Uma ligao no backlogged recebe o servio de que necessita; ligaes backlogged (recebem menos servio do que o pretendido) partilham a capacidade remanescente proporcionalmente aos seus pesos
A designao FFQ (Fluid Fair Queueing) tambm usada como sinnimo de GPS
Emulao de GPS
A disciplina GPS (ou FFQ) no implementvel Vrias disciplinas de servio foram propostas com o objectivo de emular GPS A emulao mais simples de GPS a disciplina Round-Robin (RR), que admite uma variante com pesos associados s ligaes Weighted Round-Robin (WRR) As disciplinas Weighted Fair Queueing (WFQ), tambm designada por Packetized Generalized Processor Sharing (PGPS) e Worst-case Fair Weighted Fair Queueing (WF2Q) so emulaes mais elaboradas de GPS A complexidade computacional de WFQ e WF2Q motivou a proposta de uma disciplina de servio mais simples, designada Self-Clocked Fair Queueing (SCFQ)
pesos {0.5, 0.75, 1.0}, tamanho mdio dos pacotes {50, 500, 1500} pesos normalizados: {0.5/50, 0.75/500, 1.0/1500} = {60, 9, 4}
Uma vez que WFQ apenas tem em conta os tempos de concluso do servio no servidor GPS de referncia, considera elegveis todos os pacotes presentes no instante em que um novo servio se pode iniciar, incluindo os que em GPS apenas iniciariam o seu servio mais tarde, e que assim podem beneficiar da concluso do servio corrente antes do que ocorreria em GPS
WFQ pode adiantar-se significativamente em relao a GPS (o que no acontece com WF2Q, em que o avano ou o atraso no excedem o tamanho de um pacote)
k i, j
max{V i ( ai , j ), F i , j
k
k 1
L }+
k j
i, j
L a
k j
i, j
Dbito a garantir = 0.5 Gera 11 pacotes com incio nos instantes t = k (k = 0, ..., 10) Dbito a garantir = 0.05 Geram 1 pacote com incio em t = 0
Ligaes 2 a 11 (idnticas)
Incio dos servios 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 Concluso dos servios 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 21 Incio dos servios 0 Concluso dos servios 20
Ligaes 2 a 11
L2 - L11
Servio WFQ
Servio WF2Q
Dbito a garantir = 0.5 Gera 11 pacotes com incio nos instantes t = 2k (k = 0, ..., 10) Dbito a garantir = 0.05 Geram 1 pacote com incio em t = 0
Ligaes 2 a 11 (idnticas)
Incio dos servios 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 Concluso dos servios 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 21 Incio dos servios 0 Concluso dos servios 20
Ligaes 2 a 11
L2 - L11
Servio WFQ
Servio SCFQ
VC Virtual Clock
O algoritmo Virtual Clock tem como objectivo emular um sistema TDM (Time Division Multiplexing) A cada pacote atribudo um instante virtual de transmisso (virtual transmission time), correspondente a um servio TDM; os pacotes so servidos por ordem crescente desses tempos O algoritmo baseia-se na actualizao da varivel de estado auxVC (auxiliary Virtual Clock)
auxVC
sendo
k i, j