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?