Algoritmos de Escalonamento



Documentos relacionados
Serviços Diferenciados na Internet

3 Qualidade de serviço na Internet

Aplicações e redes multimédia

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Serviços de Comunicações. Serviços de Comunicações. Módulo 7 Qualidade de Serviço em redes IP. condições de rede existentes em cada momento

Redes WAN. Prof. Walter Cunha

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Plano de endereçamento IPv6 da RCTS

Redes de Comunicações Capítulo 6.1

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Redes de Computadores. Trabalho de Laboratório Nº7

Aulas 22 & 23. Controle de Fluxo e de Congestionamento. Eytan Modiano MIT

Redes de Computadores

Sistemas de Telecomunicações I

REDES DE COMPUTADORES II. Ricardo José Cabeça de Souza

Desempenho. Prof. Thiago Nelson

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 1. Avaliação sumário da matéria do capítulo 1

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano

Sistemas de Tempo-Real

Protocolos em Redes de Dados. Enquadramento histórico. Modo de funcionamento FEC. Antecedentes IP Switching Tag Switching. Exemplo de.

Aula 08 MPLS FCUL. Protocolos em Redes de Dados. Luís Rodrigues. Enquadramento. Modo de funcionamento. Antecedentes MPLS.

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II

ncia de Redes NGN - NEXT GENERATION NETWORK Hugo Santana Lima hugosl@nec.com.br Porque Telefonia IP?

Qualidade de Serviço Requisitos das aplicações Técnicas para obter boa qualidade de serviço Sobredimensionamento rede Memorização pacotes

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Márcio Leandro Moraes Rodrigues. Frame Relay

Multiprotocol Label Switching. Protocolos em Redes de Dados- Aula 08 -MPLS p.4. Motivação: desempenho. Enquadramento histórico

Sistemas Operativos. Sumário. Escalonador da CPU. ! Filas Multinível. ! Filas Multinível com Feedback. ! Escalonamento em multiprocessadores

Redes WAN Conceitos Iniciais. Prof. Walter Cunha

Sistemas de Tempo-Real

Voz sobre ATM. Prof. José Marcos C. Brito

Introdução aos Sistemas Operativos

Multimédia, Qualidade de Serviço (QoS): O que são?

Proposta. Atribuição de endereços IPv6 na UTL

Exame de Métodos Quantitativos. Época de 2000/2001-1ª Chamada

Redes de Computadores

4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos)

ALGORITMOS PARA QoS EM REDES DE COMPUTADORES

Organização de Computadores 1

PROJETO DE REDES

Frame Relay. Serviços de Suporte em Modo Trama FEUP/DEEC/RBL 2005/06. José Ruela. Serviços de Suporte em Modo Trama

Roteamento em Redes de Computadores

Generated by Foxit PDF Creator Foxit Software For evaluation only. Multiplexação e Frame Relay

Quadro de consulta (solicitação do mestre)

REDES COM INTEGRAÇÃO DE SERVIÇOS

4. Protocolos Teóricos e Protocolos de Controlo de Ligação Protocolos ARQ; Especificação de Protocolos; Eficiência ARQ.

Gerenciamento de redes

O Manual do Desktop Sharing. Brad Hards Tradução: Pedro Morais

Porta Série. Trabalhos Práticos AM 2007/2008. Porta Série. Objectivos

Capítulo 4 - Roteamento e Roteadores

Módulo 8 Ethernet Switching

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Entendimento do ICP-ANACOM. Originação de chamadas nas redes móveis nacionais

Redes de Computadores e a Internet

Prof. Samuel Henrique Bucke Brito

Gestor de Processos. Gestor de Processos

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

TP308 Introdução às Redes de Telecomunicações

3 Arquitetura do Sistema

VANTAGENS DAS CORREIAS TRAPEZOIDAIS DENTADAS SOBRE AS CLÁSSICAS LISAS

Rede Telefónica Pública Comutada - Principais elementos -

CAMADA DE REDE. UD 2 Aula 3 Professor João Carneiro Arquitetura de Redes 1º e 2º Semestres UNIPLAN

Logística e a Gestão da Cadeia de Suprimentos. "Uma arma verdadeiramente competitiva"

Consistência Eventual - Sistemas Distribuidos e Tolerância a Falhas

Subcamada MAC. O Controle de Acesso ao Meio

PPD: Balanceamento de Carga e Scheduling 2

Redes de Computadores (RCOMP 2014/2015)

Arquitetura e Organização de Computadores I

O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura.

Redes de Computadores II

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Entendendo como funciona o NAT

Ethernet. Fast Ethernet

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa

Processo de Bolonha. Regime de transição na FCTUC

O protocolo H.323 UNIP. Renê Furtado Felix.

QoS em Redes IP: Arquitetura e Aplicações

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Redes de Computadores

Controle de Congestionamento em TCP Parte 2. Prof. Dr. S. Motoyama

ADMINISTRAÇÃO DE REDES DE COMPUTADORES. Elementos da rede (Repetidor, hub, bridge, switch, router) Spanning Tree Protocol UALG/FCT/DEEI 2005/2006

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

UNIDADE II. Fonte: SGC Estácio e Marco Filippetti

Unidade 2. Largura de Banda e Throughput

Gerência de Processador

Rede Telefónica Pública Comutada - Principais elementos -

Recomendações da Cisco para Implantação de QoS para VOIP

Programação 2ºSemestre MEEC /2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

Prof. Samuel Henrique Bucke Brito

GRUPO 01: Ricardo Melo Emanuel Pimentel

Transcrição:

Algoritmos de Escalonamento FEUP/DEEC 2005/06 José Ruela Escalonamento necessidade» A partilha de recursos em redes de comunicação e, em particular, a adopção de estratégias de multiplexagem estatística, originam situações de contenção, devido à competição pela utilização de recursos» Em redes que suportam integração de serviços torna-se necessário providenciar QoS diferenciada por categorias de serviço (ou classes de tráfego), oferecendo garantias de desempenho a aplicações críticas e ao mesmo tempo permitindo uma partilha de recursos de acordo com critérios de equidade (fairness)» Os algoritmos de escalonamento (scheduling algorithms) são um componente essencial para atingir estes obectivos, uma vez que determinam as disciplinas de serviço a aplicar a fluxos aceites pela rede» Um algoritmo de escalonamento realiza duas funções decide a ordem de serviço de fluxos em competição (pedidos de serviço) gere as filas de pedidos de serviço

Escalonamento obectivos» Os algoritmos de escalonamento são usados em qualquer sistema ou camada protocolar em que ocorra contenção por recursos, mas em especial em elementos de rede (routers, comutadores, etc.)» Desempenham um papel importante na provisão de diferentes níveis de QoS a diferentes aplicações, permitindo controlo diferenciado de atraso, largura de banda ou taxa de perdas aplicações com requisitos de tempo real necessitam de garantias absolutas aplicações best-effort não necessitam de quaisquer garantias, mas é deseável que a partilha de recursos entre estas aplicações sea feita de forma equitativa (fair)» Em geral pretende-se que os algoritmos de escalonamento seam simples (fáceis de implementar), tratem de forma equitativa tráfego best-effort e garantam ao restante tráfego os níveis de desempenho negociados e facilitem os mecanismos associados de controlo de admissão de conexões Fairness» A atribuição equitativa de recursos é habitualmente baseada no critério designado por max-min fairness, que atribui recursos do seguinte modo: Os recursos são atribuídos por ordem ascendente dos valores solicitados Nenhum fluxo obtém uma quota de utilização superior ao solicitado Fluxos cuos requisitos não podem ser satisfeitos são tratados de forma idêntica (recebem a mesma quota de utilização fair share)» Exemplo (capacidade a partilhar: 15) Pedidos: 1, 2, 5, 8, 10 Atribuição: 1, 2, 4, 4, 4» O obectivo de partilha equitativa é global, enquanto que os algoritmos de escalonamento têm carácter local; assim, os recursos atribuídos a uma fluxo correspondem ao menor valor atribuído ao longo do percurso» O critério max-min fairness oferece ainda um mecanismo de protecção relativamente a fontes que tentam transmitir acima da respectiva quota

Opções» Na concepção de um mecanismo de escalonamento é possível considerar quatro graus de liberdade (opções) Número de níveis de prioridade Disciplina work-conserving ou non-work-conserving em cada nível Grau de agregação de fluxos em cada nível Ordem de serviço em cada nível Prioridade» A cada conexão é atribuído um nível de prioridade» Só são servidos pacotes num determinado nível de prioridade se não existirem pacotes à espera de ser servidos em qualquer nível com prioridade mais alta» Quanto mais elevado for o nível de prioridade mais baixo é o atraso médio sofrido pelos pacotes» Uma possível consequência desta estratégia é a negação de serviço (starvation) a pacotes nos níveis de prioridade mais baixos, o que pode ser combatido com políticas de controlo de admissão (limitando a capacidade disponível para cada nível, excepto o mais baixo) e de policiamento

Work-conserving versus non-work-conserving» Em disciplinas work-conserving um servidor está inactivo (idle) apenas quando não existe qualquer pacote para transmitir» Em disciplinas non-work-conserving um servidor pode estar inactivo, mesmo que exista(m) pacote(s) para transmitir a cada pacote é atribuído um instante em que é elegível para transmissão, com o obectivo de controlar o débito (garantindo conformidade com um dado descritor) ou a variação do atraso (de modo a compensar o itter introduzido no passo anterior) se um pacote não for elegível, não será transmitido (será atrasado até ser elegível), mesmo que o servidor estea livre» Disciplinas non-work-conserving aumentam o atraso médio dos pacotes, desperdiçam largura de banda (que pode no entanto ser reutilizada por tráfego best-effort) e penalizam sempre fontes que excedem o débito contratado (mesmo que haa recursos livres) Grau de agregação de fluxos» É possível considerar vários graus de agregação de fluxos» Num extremo, não existe qualquer agregação, isto é, os fluxos são tratados individualmente, o que permite diferenciar QoS por fluxo mas requer a manutenção de informação de estado por ligação e portanto implica uma maior complexidade do escalonador» No outro extremo a agregação é total, usando-se uma única variável de estado para descrever todas as ligações, que partilham a mesma QoS (o escalonador é mais simples, mas a diferenciação é impossível)» Uma solução intermédia consiste em agrupar fluxos em classes; é necessário manter informação de estado por classe e os pacotes da mesma classe recebem tratamento idêntico (a diferenciação de QoS é feita por classe)» Para algumas disciplinas de serviço, quanto maior for o grau de agregação menor é o número de ligações que podem ser aceites Para garantir limites de desempenho negociados a qualquer fluxo numa classe (por exemplo, o atraso máximo), a impossibilidade de diferenciar e controlar fluxos individuais obriga a que o algoritmo de admissão de conexões considere o caso mais desfavorável (por exemplo, a ocorrência de bursts simultâneos dos fluxos)

Ordem de Serviço» É necessário decidir a ordem pela qual devem ser servidos, em cada nível de prioridade, os pacotes de fluxos individuais ou agregados» A estratégia mais simples consiste em servir os pacotes pela ordem de chegada (FCFS First Come First Serve); esta estratégia não permite oferecer garantias quanto a atrasos nem protecção relativamente a fluxos que tentem monopolizar o uso da largura de banda, isto é, a atribuição de recursos não obedece ao critério max-min fairness» A alternativa consiste em servir os pacotes por uma ordem diferente da ordem de chegada, de acordo com uma etiqueta de serviço (service tag) associada a cada pacote as propriedades de um algoritmo de escalonamento e as garantias de desempenho associadas (débito, atraso, etc.) dependem da forma como são calculadas as etiquetas qualquer disciplina de serviço que não sea FCFS implica um overhead acrescido Exemplos de Algoritmos de Escalonamento» Work-conserving Generalized Processor Sharing (GPS) / Fluid Fair Queueing (FFQ) (ideais) Round-Robin (RR) e Weighted Round-Robin (WRR) Fair Queueing (FQ), Weighted Fair Queueing (WFQ), Worst-case Fair Weighted Fair Queueing (WF 2 Q) e Self-Clocked Fair Queueing (SCFQ) Virtual Clock (VC) Delay Earliest-Due-Date (D-EDD)» Non-work-conserving Stop-and-Go (SG) Hierarchical Round-Robin (HRR) Jitter Earliest-Due-Date (J-EDD) Rate-Controlled Static Priority (RCSP)

GPS Generalized Processor Sharing» O obectivo deste algoritmo é a atribuição de recursos de acordo com o critério max-min fairness» GPS é uma disciplina work-conserving ideal (não implementável)» Existe uma fila por ligação (fluxo) Durante qualquer intervalo de tempo em que existam N filas não vazias, o servidor serve simultaneamente os N pacotes à cabeça das filas, cada um com um débito igual a 1/N da capacidade da ligação física (N varia à medida que se completam e/ou iniciam serviços) De forma equivalente se pode dizer que é servida uma quantidade de dados infinitesimal em cada visita a uma fila (uma aproximação consistiria em servir rotativamente um bit de cada fila não vazia)» Nenhuma disciplina realizável pode ser tão usta (no sentido max-min) quanto GPS, pois enquanto um pacote é servido, existe inustiça para os restantes; o grau de inustiça (unfairness) pode ser limitado» É possível associar pesos às ligações; as ligações recebem serviço proporcionalmente aos pesos sempre que a fila não estea vazia GPS Generalized Processor Sharing» Uma ligação diz-se backlogged sempre que existam dados na sua fila» Considerando N ligações com pesos associados φ i e que partilham um canal com capacidade C, em qualquer instante τ o débito de uma ligação é φ i C sendo B(τ) o número de filas não vazias nesse instante φ B(τ )» Sea S (i, t 1, t 2 ) a quantidade de dados da ligação i servida no intervalo [t 1, t 2 ]. Para uma ligação i que estea backlogged no intervalo [t 1, t 2 ] e qualquer outra ligação, verifica-se a relação S( i, t1, t 2) φ i S(, t1, t 2) φ Uma ligação não backlogged recebe o serviço de que necessita; ligações backlogged (recebem menos serviço do que o pretendido) partilham a capacidade remanescente proporcionalmente aos seus pesos» A designação FFQ (Fluid Fair Queueing) é também usada como sinónimo de GPS

Emulação de GPS» A disciplina GPS (ou FFQ) não é implementável» Várias disciplinas de serviço foram propostas com o obectivo de emular GPS» A emulação mais simples de GPS é a disciplina Round-Robin (RR), que admite uma variante com pesos associados às ligações Weighted Round-Robin (WRR)» As disciplinas Weighted Fair Queueing (WFQ), também designada por Packetized Generalized Processor Sharing (PGPS) e Worst-case Fair Weighted Fair Queueing (WF 2 Q) são emulações mais elaboradas de GPS» A complexidade computacional de WFQ e WF 2 Q motivou a proposta de uma disciplina de serviço mais simples, designada Self-Clocked Fair Queueing (SCFQ) WRR Weighted Round-Robin» Round-Robin serve rotativamente um pacote de cada fila não vazia (em vez de realizar serviço infinitesimal, como em GPS) Aproxima razoavelmente GPS se os pacotes tiverem comprimento fixo e se as ligações tiverem o mesmo peso; não é usto se os pacotes tiverem diferentes comprimentos e os pesos não forem iguais» WRR serve as ligações proporcionalmente aos pesos atribuídos Caso 1: pesos diferentes e pacotes com comprimento fixo; é servido mais do que um pacote por fila e por ciclo, após normalização para obter pesos inteiros Caso 2: pesos diferentes e pacotes com comprimento variável; os pesos são normalizados pelo tamanho médio dos pacotes, como exemplificado a seguir pesos {0.5, 0.75, 1.0}, tamanho médio dos pacotes {50, 500, 1500} pesos normalizados: {0.5/50, 0.75/500, 1.0/1500} = {60, 9, 4}

WRR Weighted Round-Robin» O algoritmo WRR pressupõe o conhecimento do tamanho médio dos pacotes gerados por cada fonte, o que em muitos casos é imprevisível e impede uma distribuição de recursos de acordo com o critério max-min fairness» O algoritmo é usto apenas em escalas temporais superiores à duração de um ciclo, podendo ser inusto durante ciclos longos para ligações com pequeno peso ou quando existe um número elevado de ligações, como se exemplifica Ligação T3 (45 Mbit/s) com 500 ligações (250 com peso 1 e 250 com peso 10); tamanho médio dos pacotes: 500 bytes Tempo de transmissão de um pacote: 500 * 8 / 45 = 88.8 μs Duração de um ciclo: (250 * 10 + 250 *1) * 88.8 = 244.2 ms Em intervalos muito menores do que 244.2 ms, algumas ligações obtêm uma quota de serviço muito superior à de outras WFQ Weighted Fair Queueing» O algoritmo WFQ não assume tamanhos infinitesimais dos pacotes (como GPS) nem requer conhecimento do tamanho médio dos pacotes (como WRR)» Em WFQ, quando o servidor está pronto a transmitir um novo pacote no instante τ, selecciona entre os pacotes à espera nesse instante o primeiro que completaria o seu serviço num servidor GPS de referência, admitindo que nenhum outro pacote chegava depois de τ O primeiro pacote a completar o seu serviço no servidor GPS de referência pode não estar presente no sistema no instante τ» Uma vez que WFQ apenas tem em conta os tempos de conclusão do serviço no servidor GPS de referência, considera elegíveis todos os pacotes presentes no instante τ em que um novo serviço se pode iniciar, incluindo os que em GPS apenas iniciariam o seu serviço mais tarde, e que assim podem beneficiar da conclusão do serviço corrente antes do que ocorreria em GPS

WF 2 Q Worst-case Fair Weighted Fair Queueing» O algoritmo WF 2 Q considera, para além dos tempos de conclusão de serviço no servidor GPS, os tempos de início de serviço» Quando selecciona um pacote para início de um novo serviço no instante τ, o servidor considera elegíveis apenas os pacotes que nesse instante á tinham começado (e eventualmente acabado) o respectivo serviço no servidor GPS; será seleccionado (como em WFQ) o pacote com menor tempo de conclusão de serviço GPS» Em WFQ e WF 2 Q o serviço acumulado por ligação nunca se atrasa, em relação a GPS, mais do que o tamanho do maior pacote WFQ e WF 2 Q apresentam o mesmo limite superior para o atraso» WFQ pode adiantar-se significativamente em relação a GPS (o que não acontece com WF 2 Q, em que o avanço ou o atraso não excedem o tamanho de um pacote) WFQ e WF 2 Q algoritmo» Exceptuando a condição de elegibilidade dos pacotes, os algoritmos são semelhantes e baseiam-se na actualização de uma variável de estado F k i, (Virtual Finish Time), associada a cada pacote k, no servidor i e na ligação F V k k k 1 { ( ), } i, i i, i, φ i, sendo Virtual time do sistema (medida do progresso do serviço) V (t) L k a k i, Tamanho do pacote (bits) Instante de chegada do pacote a F max +» A função V é definida em intervalos [t 1, t 2 ] em que se realiza serviço por V ( τ ) 1 V ( t1) = 0 e = t1 τ t2 τ B( τ ) φ L k sendo B(τ) o número de ligações backlogged no sistema PGS de referência

WFQ e WF 2 Q exemplo» Assume-se que o tamanho dos pacotes é idêntico e normalizado (valor igual a 1) e que a velocidade de transmissão no canal partilhado é 1» Consideram-se 11 ligações com as seguintes características Ligação 1 Débito a garantir = 0.5 Gera 11 pacotes com início nos instantes t = k (k = 0,..., 10) Ligações 2 a 11 (idênticas) Débito a garantir = 0.05 Geram 1 pacote com início em t = 0» Instantes de início e conclusão de serviço no servidor GPS de referência Ligação 1 Início dos serviços 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 Conclusão dos serviços 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 21 Ligações 2 a 11 Início dos serviços 0 Conclusão dos serviços 20 WFQ e WF 2 Q exemplo L1 L2 - L11 Serviço WFQ Serviço WF 2 Q

SCFQ Self-Clocked Fair Queueing» A complexidade computacional do cálculo e actualização da variável Virtual Finish Time usada em WFQ e WF 2 Q para emular um servidor GPS está na origem do algoritmo SCFQ (Self-Clocked Fair Queueing) que permite estimar de forma aproximada o valor dessa variável» A aproximação consiste em substituir o valor corrente da função V ( t ) pelo instante em que o pacote actualmente a ser servido no sistema SCFQ completa o serviço» Este algoritmo, embora simples, pode provocar situações de inustiça relativa em intervalos de tempo curtos, podendo causar atrasos no serviço muito superiores aos que ocorrem em WFQ WFQ e SCFQ exemplo» Assume-se que o tamanho dos pacotes é idêntico e normalizado (valor igual a 1) e que a velocidade de transmissão no canal partilhado é 1» Consideram-se 11 ligações com as seguintes características Ligação 1 Débito a garantir = 0.5 Gera 11 pacotes com início nos instantes t = 2k (k = 0,..., 10) Ligações 2 a 11 (idênticas) Débito a garantir = 0.05 Geram 1 pacote com início em t = 0» Instantes de início e conclusão de serviço no servidor GPS de referência Ligação 1 Início dos serviços 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 Conclusão dos serviços 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 21 Ligações 2 a 11 Início dos serviços 0 Conclusão dos serviços 20

WFQ e SCFQ exemplo L1 L2 - L11 Serviço WFQ Serviço SCFQ VC Virtual Clock» O algoritmo Virtual Clock tem como obectivo emular um sistema TDM (Time Division Multiplexing)» A cada pacote é atribuído um instante virtual de transmissão (virtual transmission time), correspondente a um serviço TDM; os pacotes são servidos por ordem crescente desses tempos» O algoritmo baseia-se na actualização da variável de estado auxvc (auxiliary Virtual Clock) auxvc sendo a auxvc Vtick k k k max {, } + i, i, i, i, Vtick i, o intervalo médio entre chegadas de pacotes na ligação