Download Network-on-Chip - GMUN - Universidad Nacional de Colombia
Document related concepts
no text concepts found
Transcript
Comunicaciones on-chip: Network-on-Chip (NoC) Metodologı́as y herramientas de diseño digital Oscar Dı́az Facultad de Ingenierı́a Universidad Nacional de Colombia 4 de mayo de 2016 Introducción Network-on-Chip Proyectos en la actualidad Contenido 1 Introducción 2 Network-on-Chip 3 Proyectos en la actualidad Introducción Network-on-Chip Proyectos en la actualidad Comunicaciones “on-chip” Bus de comunicaciones ¿Cómo llevar información (Datos e Instrucciones) entre los diferentes componentes de un sistema digital? Solución tradicional, basada inicialmente en cables paralelos con múltiples conexiones. Estructura Single-Master, Multiple-Slaves. Un solo recurso: el bus. Introducción Network-on-Chip Proyectos en la actualidad Concepto de bus Backplane: cables paralelos que cruzan un espacio Los componentes se conectan a estos cables a través de drivers tri-estado Introducción Network-on-Chip Proyectos en la actualidad Problemas Mientras se tenga un solo Master, el sistema es (relativamente) escalable... ... Pero ahora hay sistemas Multi-Master: CPU + DMA + (Otros). Peor aún: sistemas Multi-core... ... y Many-core (>10) Mucho peor aún: Multi & Many-core heterogéneo. Introducción Network-on-Chip Proyectos en la actualidad Propuestas de solución Segmentación y Jerarquı́a de buses Provee cierto grado de paralelización Bus matrix o crossbar: conexiones todos con todos Complejidad exponencial Crossbar parcial: no todos con todos Network-on-Chip (NoC) Introducción Network-on-Chip Proyectos en la actualidad Contenido 1 Introducción 2 Network-on-Chip 3 Proyectos en la actualidad Introducción Network-on-Chip Proyectos en la actualidad ¿Qué es NoC? Network-on-Chip Aplicación del concepto de redes de comunicaciones a las necesidades de transferencia de datos dentro del chip. Introducción Network-on-Chip Proyectos en la actualidad NoC Caracterı́sticas: Separación entre computación y comunicaciones. Comunicaciones debidamente estructuradas: Niveles de abstracción Computación masivamente paralela con buena escalabilidad. Optimización de latencia y ancho de banda. Disponibilidad, confiabilidad y tolerancia a fallos. Introducción Network-on-Chip Proyectos en la actualidad Niveles de abstracción NoC NO consiste en meter TCP/IP dentro del chip! El modelo OSI es demasiado complejo. Las necesidades de un sistema de comunicaciones on-chip priorizan: 1 2 3 4 Alto rendimiento Baja latencia Simplicidad Bajo consumo Nivel de Aplicación (Application) Nivel de Red (Link) Nivel Fı́sico (Physical) Introducción Network-on-Chip Proyectos en la actualidad Nivel fı́sico ¿Cómo transportar bits? Paralelo vs Serial Detalles eléctricos: frecuencia/voltaje de operación, longitud de cables, buffers, etc. Detalles de protocolo: interfaces lógicas, transacciones. Heredado de los buses de comunicaciones (Wishbone, AMBA, AXI, etc). Introducción Network-on-Chip Proyectos en la actualidad Topologı́as Figura: Topologı́a malla 2-D 4x3 Figura: Topologı́a toroide 2-D 4x3 Figura: Topologı́a crossbar con 4 nodos Introducción Network-on-Chip Proyectos en la actualidad Topologı́as Figura: Estructura en anillo del microprocesador Cell Figura: Topologı́a irregular basada en una malla 2-D 4x3 Introducción Network-on-Chip Proyectos en la actualidad Técnicas de conmutación Conmutación de circuitos Conmutación de paquetes SaF (Store-and-Forward) VCT (Virtual Cut-Through) WH (Wormhole) AWH (Asynchronous Wormhole) CB (Cell Based) Introducción Network-on-Chip Proyectos en la actualidad Conmutación de circuitos Establece el camino primero antes de enviar datos. Debe realizar reserva de recursos, y posterior liberación. Garantiza latencia y ancho de banda, pero penaliza paralelización de recursos. No muy usado en NoC. Introducción Network-on-Chip Proyectos en la actualidad Conmutación de paquetes Figura: Fases en conmutación de paquetes Introducción Network-on-Chip Proyectos en la actualidad Conmutación de paquetes “phit”: del inglés “physical unit”, es la unidad mı́nima de información que se transfiere de forma atómica. “flit”: del inglés “flow control unit”, es la unidad mı́nima de información que puede contener la cabecera de un paquete. Figura: Mensajes, “phits” y “flits” Introducción Network-on-Chip Proyectos en la actualidad Store-and-Forward Figura: Store-and-Forward Introducción Network-on-Chip Proyectos en la actualidad Virtual Cut-Through Figura: Virtual Cut-Through Introducción Network-on-Chip Proyectos en la actualidad Wormhole switching Figura: Wormhole switching Introducción Network-on-Chip Proyectos en la actualidad Fallos de rutado Deadlock: ocurre cuando un paquete es bloqueado en el intermedio de su ruta, esperando a que sea liberado un recurso ocupado por otro paquete también bloqueado. Este tipo de fallo hace que la red se inhabilite, impidiendo cualquier flujo de información en los nodos afectados. Introducción Network-on-Chip Proyectos en la actualidad Fallos de rutado Livelock: ocurre cuando un paquete es redirigido indefinidamente sin llegar a su destino. Esta situación no produce bloqueo pero consume innecesariamente recursos de rutado y energı́a. Contención (también llamado “Starvation”): ocurre cuando un paquete es bloqueado debido al uso intensivo de recursos por otros paquetes. Este tipo de fallo es transitorio, dado que el recurso es liberado un tiempo después, solo provoca retrasos en la entrega del paquete. Introducción Network-on-Chip Proyectos en la actualidad Clasificaciones de los algoritmos de rutado Rutado estático Vs. rutado dinámico Rutado desde la fuente Vs. rutado distribuido Rutado de distancia mı́nima Vs. rutado de distancia no-mı́nima Introducción Network-on-Chip Proyectos en la actualidad Rutado en mallas 2D Rutado de desviación (en inglés “Deflection Routing”, también conocido como “Hot-potato”) DOR (Dimension-Order Routing) Familia de algoritmos Turn-Model “West-First” “North-Last” “Negative-Last” Protocolo de Duato Gossip routing Introducción Network-on-Chip Proyectos en la actualidad Turn-Model Family Figura: Algoritmos de rutado de la familia “Turn-Model” Introducción Network-on-Chip Proyectos en la actualidad Técnicas de control de flujo Go & Stall control (xon / xoff) ACK/NACK T-Error Credit based control Introducción Network-on-Chip Proyectos en la actualidad T-Error Figura: Control de flujo por T-Error Figura: Control de flujo basado en créditos Introducción Network-on-Chip Proyectos en la actualidad Control de congestión Sin reservación de recursos descartar el paquete en contención ruta alternativa monitor de conexión Con reservación de recursos: planificación en la fuente. planificación en la fuente (TDM + protocolo de rutado estático) Esquema de control de velocidad (“Rate-control schemes” en inglés) Introducción Network-on-Chip Proyectos en la actualidad Técnicas de ahorro de energı́a Globally Asynchronous Locally Synchronous (GALS) On-Off links Optimización de la topologı́a Introducción Network-on-Chip Proyectos en la actualidad Globally Asynchronous Locally Synchronous (GALS) Figura: GALS: Ejemplo de dominios de reloj Introducción Network-on-Chip Proyectos en la actualidad Calidad de servicio (QoS) Guaranteed Bandwidth (GB): se garantiza el uso sin interrupciones de los recursos de red necesarios, un ancho de banda disponible y una latencia máxima definida. Best effort (BE): es el servicio por defecto de más baja prioridad. Introducción Network-on-Chip Proyectos en la actualidad Recursos hardware adicionales para el NoC Uso de recursos hardware para la infraestructura de la red Consumo de potencia dedicado para la operación de la red Alrededor de un 10 % de uso adicional de recursos (Muy dependiente de la implementación en particular). Figura: “Layout” de un router de 6 puertos Introducción Network-on-Chip Proyectos en la actualidad Contenido 1 Introducción 2 Network-on-Chip 3 Proyectos en la actualidad Introducción Network-on-Chip Proyectos en la actualidad Proyectos en la actualidad Principales Nostrum (KTH) AEthereal (Phillips Research Laboratories) FlexNoC (Arteris) Otros SPIN Octagon y Spidergon Hermes - MultiNoC - Maia (PUCRS Brazil) ... Introducción Network-on-Chip Proyectos en la actualidad Nostrum Topologı́a de malla regular 2-D con canales cortos de 128 bits. Algoritmo de rutado: “Non-minimal adaptive hot-potato routing” Se ofrece tráfico BE (Best Effort) y GL (Guaranteed Latency) basado en contenedores cı́clicos para reservación de recursos. Routers muy sencillos y eficientes: sin buffers ni tabla de rutado. Simulador: NNSE (basado en SystemC) Introducción Network-on-Chip Proyectos en la actualidad AEthereal No está restringido a ninguna topologı́a aunque se prefiere una topologı́a plana. Se usa algoritmo de rutado deterministico desde la fuente, libre de contenciones. Se ofrece tráfico de mejor esfuerzo (BES o “Best Effort Services”) usando rutado “Wormhole” y de ancho de banda garantizado (GS o “Guaranteed Services”) usando reservación de buffers dedicados. Introducción Network-on-Chip Proyectos en la actualidad Arteris Empresa con sede en California fundada en 2003. Primera empresa en desarrollar un producto comercial exitoso basado en NoC. Clientes: Samsung, Qualcomm, Freescale, Altera, ... Introducción Network-on-Chip Proyectos en la actualidad Arteris: Productos Introducción Network-on-Chip Proyectos en la actualidad Arteris: FlexNoC Completa herramienta para diseño e implementación de NoC Implementa en su NoC tres capas de abstracción: Transaccional, Transporte y Fı́sico. Puede implementar cualquier tipo de topologı́a. Introducción Network-on-Chip Proyectos en la actualidad Arteris: FlexNoC Conecta a los IP cores a través de AMBA, OCP, u otra interfaz de bus. Enlaces de comunicación variables (serialización) Implementa DVFS, GALS y gestión de consumo. No hay muchos detalles públicos de su funcionamiento interno. Introducción Network-on-Chip Proyectos en la actualidad Más allá de NoC... Topologı́as 3D para NoC Introducción Network-on-Chip Proyectos en la actualidad Más allá de NoC... Optical Network-on-Chip (ONoC): Enlaces de fibra óptica dentro del chip Introducción Network-on-Chip Proyectos en la actualidad Más allá de NoC... Wireless Network-on-Chip (WNoC): Enlaces inalámbricos de alta frecuencia (UWB 3.6GHz, EHF o banda milimétrica 60GHz, 300 - 500 GHz) y mı́nima potencia (5 pJ/bit) Introducción Network-on-Chip Proyectos en la actualidad Preguntas?