1 / 62

SWITCHING, ENCOLAMIENTO Y SCHEDULING

SWITCHING, ENCOLAMIENTO Y SCHEDULING. Seminario de Redes de Alta Velocidad Mayo 2006 Tomás Urra B. Índice Presentación. Introducción Objetivos Switch ATM Arquitectura Switch ATM Switching Fabric Resolución de Contenciones Buffering Encolamiento Scheduling. Introducción.

binah
Download Presentation

SWITCHING, ENCOLAMIENTO Y SCHEDULING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SWITCHING, ENCOLAMIENTOY SCHEDULING Seminario de Redes de Alta Velocidad Mayo 2006 Tomás Urra B.

  2. Índice Presentación • Introducción • Objetivos Switch ATM • Arquitectura Switch ATM • Switching Fabric • Resolución de Contenciones • Buffering • Encolamiento • Scheduling

  3. Introducción • ATM es un sistema orientado a la conexión, maneja celdas (paquetes). • Sistemas no orientado a la conexión manejan datagramas. • En un SVC (Switched Virtual Circuit), ATM requiere de protocolo de señalización antes de enviar cualquier dato. • Se necesitan dispositivos a nivel de capa de red ( Capa 3).

  4. Introducción • Recordando la forma de los enlaces en ATM: • Virtual Path (VP) • Virtual Channel (VC) • Transporte Unidireccional de Celdas ATM a través de un mismo Camino / Canal.

  5. ATM utiliza switches (conmutadores) para encaminar celdas del sistemas origen al sistema destino. Host A quiere enviar datos a host B. Introducción Tabla: Switch 1 Tabla: Switch 2 Tabla: Switch 3

  6. Introducción • Switch ATM : Conjunto de links de entradas y salidas. • Switching Fabric: Parte que realiza efectivamente la función de conmutación. • Switch Elements: son los elementos básicos de un Switching Fabric. • Realiza 2 funciones básicas : • Traslado VPI / VCI. • Transporte de Celdas desde la entrada hasta su salida.

  7. Introducción • Criterios de diseño : • Retardo en los nodos debe ser mínimo. • Perdida de paquetes debe ser mínima. • Para prevenir perdida excesiva de celdas en el caso de colisiones internas, se debe disponer de buffers dentro de los switch elements.

  8. Objetivos Switch ATM • Flexibilidad: para soportar una amplia variedad de servicios. • Escalabilidad: para permitir un gran aumento en la cantidad de conexiones. • Eficiencia: para maximizar la utilización de los enlaces. • QoS garantizada: para otorgar tráfico en tiempo real con bajo jitter y permitir funciones de CAC simples. • Aislamiento: para reducir interferencias entre las distintas clases de servicios y conexiones. • Equitatividad: para permitir una buena distribución del ancho de banda disponible

  9. Unidad de Control Arquitectura Switch ATM

  10. Switching Fabric • Implementar el Switching Fabric es complejo. Se pueden clasificar en las siguientes categorías: • Memoria Compartida • Medio Compartido • Bus TDM • División Espacial • Single Path • Multi Path • Auto-Ruteo

  11. 1. Memoria Compartida Basado en una memoria rápida y de gran capacidad, que es accesada por los puertos lógicos de entrada y salida. La memoria se organiza en filas lógicas. Existen mas de 6 métodos distintos de cómo implementar las filas en la memoria: Complete Partitioning (CP); Complete sharing (CS); Complete sharing subject to maximum (CSMX); Complete sharing subject to allocated minimums; etc…… Tipo Memoria compartida Switching Fabric

  12. 2. Bus TDM La red de interconexión puede ser implementada a través de multiplexacion por tiempo (TDM). La velocidad del bus debe ser mayor/igual que la suma de las velocidades de los puertos de entrada. Ejemplos son los switch NEC ATOM, IBM PARIS. Tipo BUSTDM Switching Fabric

  13. 3. Single Path Todas la entradas y todas las salidas operan a la misma velocidad. Existe solo un camino desde la entrada hasta la salida. En esta configuración no existe bloqueo de celdas interno Knockout Switch Switching Fabric Entradas Entradas Salidas

  14. 4. Auto- Ruteo Las celdas son enrutadas a través de la información contenida en el header. Puede manejar un alto nivel de paralelismo. Se componen por elementos conmutadores básicos en cascada. También conocidas como redes Banyan. Tipo auto-ruteo Switching Fabric

  15. Resolución de Contenciones • Cuando celdas de 2 entradas distintas requieren salir por el mismo puerto de salida (compiten por el mismo recurso), se producen contenciones. • Existen varias técnicas para resolver las contenciones • Dependiendo de la arquitectura del switch fabric es posible ocupar una u otra técnica de contención.

  16. Resolución de Contenciones Estrategias • En una estrategia de Buffering cuando dos celdas están competiendo por un mismo recurso una gana y la otra pierde. La celda que pierde se guarda en un buffer para una transmisión posterior. • En una estrategia de Backpressure para evitar problemas de contención se envían señales a los módulos posteriores indicando que buffer de salida se encuentran disponibles. • Con una estrategia de Deflection la celda que pierde la contención se encamina a través de otro camino mas largo al mismo puerto de salida. • Con la estrategia de Descarte simplemente se descarta la celda que pierde la contención.

  17. Buffering • INPUT BUFFERING • OUTPUT BUFFERING • VIRTUAL OUTPUT BUFFERING • INPUT OUTPUT BUFFERING • CENTRAL BUFFERING

  18. Buffering • INPUT BUFFERING 1 1 1 1 m m m m

  19. Buffering • INPUT BUFFERING Se genera un nuevo problema llamado “Bloqueo de cabecera de línea” (HOL).

  20. Buffering • INPUT BUFFERING HOL blocking, puede ser mejorada con una disciplina no-FIFO de selección de ventana.

  21. Buffering • OUTPUT BUFFERING No existe HOL blocking en este caso, pero puede haberpérdida de celdas por congestión. 1 1 m m

  22. 1 N Buffering • OUTPUT BUFFERING Para evitar pérdida de celdas antes de arribar a una salida, el medio de transferencia interno (switch fabric) debe ser N veces más rápido que la tasa de entrada.

  23. Buffering • VIRTUAL OUTPUT BUFFERING Se resuelve el problema de HOL dividiendo lógicamente cada buffer de entrada en N buffer virtuales. out1 1 1 outm out1 m outm m

  24. Buffering • INPUT & OUTPUT BUFFERING Se usa cuando el número de celdas entrantes es superior al que puede aceptar una salida. 1 1 m m

  25. High Speed Parallel Bus 1 1 S/P P/S S/P P/S S/P P/S m m Buffer Manager Central Buffer Buffering • CENTRAL BUFFERING Cada salida rescata sus celdas desde el buffer central. Se requiere un complejo sistema de administración de memoria.

  26. Encolamiento Estructuras de Encolamiento • Estas estructuras se pueden organizar de la siguiente forma: • Encolamiento por grupo • Grupo por categoría de servicio • Grupo por clase de servicio • Grupo por definición de conformación • Encolamiento por VC/VP

  27. Encolamiento • Encolamiento por Grupo • Categoría de Servicio • Aislamiento por servicio • Se divide la capacidad de enlace, garantizar QoS por cada servicio. • Idealmente #colas = #categorías de servicio. CBR VBR Capacidad del enlace Arbitrador UBR

  28. Encolamiento • Encolamiento por Grupo • Clase de Servicio • Dentro de cada categoría de servicio podemos definir clases de servicio definiendo valores umbrales para cada parámetro. CBR CTD=250ms CBR/rt-VBR CTD=2500ms nrt-VBR CLR=10e-7 Capacidad del enlace nrt-VBR Arbitrador CLR=10e-4 ABR UBR

  29. Encolamiento • Encolamiento por Grupo • Definición de Conformación • Ejemplo: servicios VBR pueden ser clasificados en VBR.1, VBR.2, VBR.3, basados en la definición de los descriptores de trafico y el significado del bit CLP. CBR.1 VBR.1 VBR.2/VBR.3 Capacidad del enlace Arbitrador UBR.1 UBR.2

  30. Encolamiento • Encolamiento por VC/VP • Las celdas de cada VC o VP son encoladas separadamente • Encolamiento por VC es mas complicado y costoso. VC1 VC2 VC3 Arbitrador Todas estas estructuras de encolamiento necesitan de mecanismos de Scheduling para manejar adecuadamente los Buffers VCn

  31. Scheduling • Definición: • Un mecanismo de scheduling o planificación es aquél que se debe implementar en cada fila o encolamiento existente en un nodo de manera que exista un orden en la atención de las mismas que permitan lograr los objetivos de QoS.

  32. Scheduling • Mecanismos primitivos: FIFO • Es el más comúnmente utilizado en redes. • Muy fácil de implementar. • Trabaja en forma correcta si no hay congestión. • No es demasiado eficiente ni es justo con los distintos usuarios.

  33. Scheduling • Mecanismos primitivos: ROUND ROBIN (RR) Los paquetes se clasifican y se envían a ‘n’ colas. Las colas se sirven en el orden 0,1,...,n-1. • Ventajas: • Fácil implementación. • Repartición justa de BW para paquetes iguales. • Desventajas: • No garantiza BW ni retardo (delay). • No proporciona ninguna protección frente a usuarios que hagan un uso indebido de la red.

  34. Scheduling En la práctica: • ...ambos métodos no son empleados por si solos. • A pesar de que ambos son fáciles de implementar, ninguno de ellos asegura calidad de servicio (pej, retardo medio) con cargas elevadas. • Como no se basan en un sistema de prioridades o pesos, no es posible diferenciar paquetes de distintas categorías de servicios (CBR, VBR, UBR). • De este modo, un usuario cualquiera puede congestionar la red.

  35. S1 S1 S1 S2 S1 S3 Scheduling • Mecanismos de Scheduling • Se tiene una serie de colas por atender. • Un “arbitro” encarga de la asignación de BW para las colas. • El algoritmo implementado por el “árbitro” debe ser robusto. • De a cuerdo a la organización de estos “árbitros”, se derivan dos grupos. Flat o “un nivel” Scheduling Hierarchical Scheduling

  36. Scheduling • Mecanismos de Scheduling • Flat Scheduling • se emplea un planificador para atender la totalidad de las filas. Con ello divide el BW disponible entre ellas. • Hierarchical Scheduling • existe un planificador distinto para cada conjunto de filas, así como planificadores entre los distintos niveles de planificación. • Cada planificador puede emplear un algoritmo de schedule diferente. • Facilita la división (simétrica o asimétrica) del BW entre distintos tipos de tráfico.

  37. Scheduling • Clasificación: • Los algoritmos de scheduling pueden ser clasificados en 3 categorías: 1. Priority-based scheduling 2. Fair-share scheduling • Work-conserving fair-share scheduling • Non-Work-conserving fair-share scheduling 3. Traffic Shaping

  38. CBR, rt-VBR Nrt-VBR ABR, GFR UBR Scheduling • 1. Priority-based scheduling A cada fila le es asignada una cierta prioridad de acuerdo a algún criterio. Una fila de baja prioridad sólo será atendida cuando no existan paquetes en filas de mayor prioridad. • CBR y rt-VBR tienen requerimientos de retardo muy estrictos. • UBR no tiene requerimientos de retardo. • Es simple y eficiente operando con un reducido número de filas. prioridad

  39. Scheduling • 1. Priority-based scheduling

  40. Scheduling • 1.1 Shortest Job Next (SJN) • Escoge los paquetes en función de la longitud para un instante dado. • Los paquetes de menor longitud salen con anterioridad. • Ventajas: • Minimiza el tiempo de espera en la cola. • Paquetes pequeños no tienen que esperar. • Desventajas: • Es muy difícil predecir la longitud de los diferentes paquetes que entran al sistema. • Si todos los paquetes tienen la misma longitud, se comporta como FIFO.

  41. Scheduling • 1.2 Static Priority Scheduling(SPS) • Los paquetes se envían a ‘n’ colas, asignadas con una prioridad 0,...(n-1). Los paquetes en las colas de mayor prioridad obtienen servicio primero, mientras que los paquetes de la cola ‘m’ sólo reciben servicio si las colas 0,...(m-1) están vacías. • Ventajas: • Las filas de alta prioridad obtienen alto rendimiento, bajo retardo y elevado BW. • Desventajas: • Las filas de baja prioridad se encuentran a merced de las de alta prioridad. • Las filas de baja prioridad no obtienen servicio si las colas de alta prioridad saturan la salida.

  42. Scheduling • 2. Fair-share scheduling • Este tipo de algoritmo asigna a cada fila un “peso” o ponderación en vez de un prioridad. De este modo, se garantiza que cada fila será atendida con un BW proporcional al peso de ésta. • El objetivo es dividir la totalidad del BW disponible de manera justa entre todas las filas, esto es, se garantiza la atención de la totalidad de las filas en un ciclo, pero no necesariamente con el mismo BW. • ¿Qué sucede si un canal envía paquetes a una tasa mayor a la asignada, pero esta mayor tasa no afectara a los demás usuarios?

  43. Scheduling • 2. Fair-share scheduling • Existen para ello 2 criterios: • Rate allocation service discipline :permite una tasa de tx mayor a la asignada mientras no se afecte el desempeño del resto de las filas. • Rate controlled service disciplines : no permite la tx a una tasa mayor a la asignada bajo ninguna circunstancia. Rate allocation Rate controlled Work conserving fair-share scheduling algorithm Non-Work conserving fair-share scheduling algorithm

  44. Scheduling • 2.1 Work conserving Fair-share scheduling En esta disciplina el servidor nunca se encuentra ocioso mientras exista un paquete a transmitir en alguna fila. Existen varios algoritmos que implementan este método: 1. Fair Queuing (FQ) 2. Virtual Clock (VC) 3. Pulse Scheduling (PS) 4. Weighted Round Robin (WRR) 5. Deficit Round Robin (DRR) 6. Rotating Priority Queues (RPQ) 7. Delay Earliest-Due-Date (Delay-EDD) 8. Packet-Based Generalize Processor Sharing (PGPS) 9. Self-Clock Fair Queuing (SCFQ) 10. Worst Case Fair-Weighted Fair Queuing (WF2Q) 11. Leap Forward Virtual Clock (LFVC) 12. Frame-Based Fair Queuing (FFQ) 13. Variation Fluctuation Smoothing (VFS)

  45. Scheduling • 2.1.1 Fair Queuing (FQ) • Asume encolamiento por VC/VP • Si N filas comparten un enlace de salida, cada uno debiera tener 1/N del BW. Si un canal ocupa menos, el resto se reparte equitativamente entre los canales restantes.Lo anterior se logra mediante un servicio bit-by-bit Round Robin (RB). • Fair Queuing emula RB. Cada paquete posee un número que indica cuando éste debiera recibir servicio, de acuerdo a RB. Se atienden los paquetes en orden creciente de este número.

  46. Scheduling • 2.1.2 Virtual Clock (VC) • Esta disciplina emula Time Division Multiplexing (TDM). • A diferencia de TDM slots no son fijos. • A cada paquete es asignado un virtual transmission time, que corresponde al tiempo en el cual el paquete debiera ser transmitido, usando TDM. • Por ejemplo, si un cliente contrata una tasa de 5 [paq/s], los paquetes provenientes de dicho cliente estarán separados entre sí por un virtual transmission time de 0.2[s].

  47. Scheduling • 2.1.3 Delay Earliest-Due-Date • En el algoritmo clásico EDD (Earliest-Due-Date), a cada paquete le es asignado un deadline time(tiempo límite), y éstos son atendidos en orden creciente de deadlines times. Delay-EDD es una extensión de lo anterior, donde el servidor negocia un contrato de servicio con cada fuente: ‘si la fuente obedece a una tasa peak y promedio, el servidor le garantiza un retardo máximo para esos paquetes’. • Reservando un BW equivalente al peak-rate, Delay-EDD asegura para cada canal un límite en el retardo. Usado en servicios tiempo real. • Por ejemplo, si un cliente asegura que enviará paquetes cada 0.2[s] y el retardo máximo otorgado por el servidor es 1[s], el k-ésimo paquete tendrá un deadline time de 0.2k+1[s].

  48. Scheduling • 2.2 Non Work conserving Fair-share scheduling • En esta disciplina a cada paquete se le asigna un tiempo de elegibilidad. Si el servidor se encuentra ocioso, y ningún paquete es elegible, no se transmitirá ninguno de ellos. • Algunos algoritmos que emplean este método son: 1. Stop and Go (S&G) 2. Hierarchical Round Robin (HRR) 3. Jitter Earliest Due Date (Jitter EDD)

  49. Scheduling • 2.2.1 Stop and Go (S&G) • Se divide el tiempo en tramas o frames. • En cada trama de salida, sólo se envían paquetes que arribaron al servidor en la trama anterior. • Con este mecanismo, se garantiza que cada paquete transmitido posea un delay mínimo y máximo. • El retardo es proporcional a el largo de la trama, S&G propone diversos largos de frames.

  50. fi bi Nivel 1 Nivel 2 C C C C L L Nivel 3 C C C C C C C L Scheduling • 2.2.2 Hierarchical Round Robin (HRR) • HRR posee varios niveles de servicio, el los cuales se aplica la disciplina RR en cada uno de ellos. • Si una fila ‘C’ no posee paquetes a transmitir, el servidor permanece ocioso durante el intervalo de tiempo destinado a la atención de esa fila. • Cierta fracción del BW se asigna a niveles más bajos.

More Related