La tesis central de LPDDR5X-PIM aborda un problema fundamental en la arquitectura de computadoras modernas: el "memory wall" o "von Neumann bottleneck". Este cuello de botella surge de la separación física entre la unidad central de procesamiento (CPU) y la memoria, lo que impone limitaciones significativas en el ancho de banda y la latencia de acceso a datos. A medida que las cargas de trabajo intensivas en datos, como el Machine Learning, se vuelven omnipresentes, la transferencia constante de grandes volúmenes de datos entre la DRAM y los núcleos de cómputo consume una cantidad desproporcionada de energía y tiempo, dejando los recursos de cómputo infrautilizados.
La propuesta de Samsung, al integrar unidades Multiply-Accumulate (MAC) dentro de los propios bancos de memoria LPDDR5X, busca explotar el ancho de banda interno masivo de la DRAM (614 GB/s frente a 76.8 GB/s externos) y reducir drásticamente la latencia al eliminar la necesidad de mover datos a través del bus externo. Esto no es un concepto nuevo; la idea de "Processing-in-Memory" (PIM) o "Near-Memory Computing" ha sido objeto de investigación académica desde la década de 1990, con el objetivo de acercar el cómputo a los datos para mejorar la eficiencia energética y el rendimiento. La novedad de Samsung radica en su intento de integrar PIM de manera compatible con los controladores de memoria estándar, lo que representa un desafío significativo en la interfaz hardware-software.
Arquitectura del Sistema
La arquitectura de LPDDR5X-PIM se basa en un chip LPDDR5X-9600 estándar de 16 bancos, donde cada banco de memoria incorpora un bloque PIM dedicado. Estos bloques PIM pueden acceder a su banco DRAM adjunto sin las restricciones del bus externo, permitiendo una utilización agregada del ancho de banda interno de 614 GB/s. Cada bloque PIM consta de un "MAC tree" (árbol de unidades MAC), "register files" (registros de propósito general) y lógica de control. Los "register files" incluyen un registro de instrucciones de 1024 bits (hasta 64 instrucciones de 16 bits), un registro fuente de 4 kbit para vectores de activación, y un registro de escala de 2 kbit para factores de escalado de pesos.
La interacción con los bloques PIM se realiza a través de un mecanismo ingenioso: Samsung reserva direcciones de fila especiales en la DRAM que actúan como "Memory-Mapped I/O" (MMIO). La activación de estas filas especiales conmuta el chip entre modos de operación: "single-bank mode" (operación DRAM normal) y "multi-bank mode" (donde los comandos se aplican a los 16 bancos simultáneamente). Dentro del "multi-bank mode", otra fila especial activa el "PIM Registers Activated mode", donde los comandos de lectura/escritura acceden a los registros PIM en lugar del contenido de la DRAM. Esto permite cargar pesos de modelo en DRAM, escribir valores de activación y factores de escala en los registros PIM, y especificar operaciones MAC. Las operaciones MAC se inician con comandos de lectura, y los resultados se acumulan en "PIM vector register files" (VRF), que luego pueden ser escritos de vuelta a DRAM mediante comandos de escritura. Para manejar el reordenamiento de accesos de memoria por parte del controlador, se introduce un "Address Align Mode" (AAM) que permite a cada instrucción inferir su índice de registro fuente a partir de la dirección de columna accedida.
Flujo de Operación PIM para inferencia ML
- 1 Cargar Pesos Software carga pesos del modelo en DRAM en modo single-bank normal.
- 2 Modo Multi-Bank Software activa fila especial para cambiar a multi-bank mode.
- 3 Modo PIM Registers Software activa fila especial para entrar en PIM Registers Activated mode.
- 4 Configurar PIM Software escribe activaciones, factores de escala e instrucciones en registro...
- 5 Iniciar Cómputo Software emite comandos de lectura que inician operaciones MAC y acumulan res...
- 6 Escribir Resultados Software emite comandos de escritura para guardar contenidos de VRF de vuelta...
- 7 Modo Single-Bank Software cambia el chip de vuelta a single-bank mode para accesos DRAM normales.
- 8 Leer Resultados Host lee los resultados de DRAM.
| Capa | Tecnología | Justificación |
|---|---|---|
| storage | LPDDR5X-PIM | Proporciona almacenamiento de datos y capacidad de cómputo integrada (MAC units) directamente en los bancos de memoria, reduciendo el movimiento de datos. vs HBM-PIM, GDDR-PIM, DDR5 con aceleradores externos 16 bancos, 614 GB/s de ancho de banda interno agregado, 2.4 TOPS (INT8) por chip. |
| compute | MAC units (integradas en PIM blocks) | Realizan operaciones Multiply-Accumulate de baja precisión (INT8, FP8, INT4) para cargas de trabajo de inferencia de Machine Learning. vs CPU general-purpose cores, GPU tensor cores, NPU/TPU dedicados Cuatro INT8/FP8 MACs por data clock, ocho por ciclo (sin contar DDR). |
| orchestration | Sistema Operativo (OS) y Runtime | Gestionar el acceso a la memoria PIM, la conmutación de modos y la coherencia. Actualmente, requiere modificaciones significativas para evitar conflictos de acceso y garantizar la corrección. vs Hardware-managed PIM (con extensiones de ISA), Firmware-managed PIM |
Trade-offs
Ganancias
- ▲▲ Ancho de banda efectivo para cómputo
- ▲ Latencia de acceso a datos para cómputo
- ▲ Eficiencia energética (al reducir movimiento de datos)
Costes
- ▲ Complejidad del software y sistema operativo
- ▲▲ Coherencia de caché y ejecución especulativa de CPU
- ▲ Flexibilidad de uso de memoria (regiones PIM aisladas)
- ▲ Costo de hardware (mayor complejidad del chip)
Fundamentos Teóricos
El concepto de Processing-in-Memory (PIM) tiene raíces profundas en la investigación académica, remontándose a trabajos pioneros en la década de 1990. Un hito importante fue el proyecto "Active Pages" de la Universidad de California, Berkeley, en 1998, liderado por David Patterson y Christoforos Kozyrakis, que exploró la integración de lógica de procesamiento simple dentro de chips DRAM para acelerar operaciones de bases de datos y gráficos. Este trabajo sentó las bases para la idea de que mover el cómputo cerca de los datos podría mitigar el "memory wall".
Más recientemente, la investigación se ha centrado en arquitecturas de memoria híbridas y en la co-diseño hardware/software para PIM. Principios como la coherencia de caché en sistemas distribuidos y la gestión de memoria en sistemas operativos son directamente desafiados por PIM. La necesidad de aislar regiones de memoria para PIM, evitar el caching y la ejecución especulativa, y gestionar el estado del cómputo en memoria, resuena con los desafíos de diseño de sistemas de memoria coherentes y el manejo de MMIO, temas ampliamente estudiados en la arquitectura de computadoras y sistemas operativos. La propuesta de Samsung se alinea con la búsqueda de soluciones prácticas para el "memory wall" en la era de la IA, donde la eficiencia energética y el rendimiento de las operaciones MAC son críticos.