La interfaz de procesador acelerador coherente ( CAPI ) es un estándar de bus de expansión de procesador de alta velocidad para su uso en grandes computadoras de centros de datos , diseñado inicialmente para superponerse a PCI Express , para conectar directamente unidades centrales de procesamiento (CPU) a aceleradores externos como unidades de procesamiento gráfico (GPU), ASIC , FPGA o almacenamiento rápido. [ 1 ] [ 2 ] Ofrece conectividad de acceso directo a memoria de alta velocidad y baja latencia entre dispositivos de diferentes arquitecturas de conjuntos de instrucciones .
Historia
La mejora del rendimiento tradicionalmente asociada a la Ley de Moore —que data de 1965— comenzó a disminuir alrededor de 2004, a medida que la arquitectura Prescott de Intel y el procesador Cell de IBM se acercaban a una frecuencia de funcionamiento de 4 GHz. En este punto, ambos proyectos se toparon con un límite de escalado térmico, donde los problemas de disipación de calor asociados a mayores aumentos en la frecuencia de funcionamiento superaron con creces las ventajas derivadas de ciclos de trabajo más cortos.
Durante la década siguiente, pocos productos comerciales de CPU superaron los 4 GHz, y la mayoría de las mejoras de rendimiento provienen ahora de microarquitecturas mejoradas gradualmente, una mejor integración de sistemas y una mayor densidad de cómputo; esto se logra principalmente mediante la integración de un mayor número de núcleos independientes en el mismo chip, a menudo a expensas de la frecuencia operativa máxima (el procesador Xeon E7-8890 de 24 núcleos de Intel de junio de 2016 tiene una frecuencia operativa base de solo 2,2 GHz, para poder operar dentro de las limitaciones de un único socket con un consumo de energía de 165 W y un presupuesto de refrigeración).
Cuando se han logrado mejoras significativas en el rendimiento, estas suelen estar asociadas a unidades de cómputo cada vez más especializadas, como unidades GPU integradas en el procesador o aceleradores externos basados en GPU o FPGA. En muchas aplicaciones, los aceleradores se enfrentan a limitaciones en el rendimiento de la interconexión (ancho de banda y latencia) o a limitaciones derivadas de su arquitectura (como la falta de coherencia de memoria). Especialmente en los centros de datos, mejorar la interconexión se ha vuelto fundamental para avanzar hacia una arquitectura heterogénea en la que el hardware se adapta cada vez más a cargas de trabajo de cómputo específicas.
CAPI se desarrolló para permitir que las computadoras conectaran aceleradores especializados de manera más fácil y eficiente. Las tareas que requieren mucha memoria y computación, como las multiplicaciones de matrices para redes neuronales profundas, se pueden descargar a plataformas compatibles con CAPI. [ 3 ] Fue diseñado por IBM para su uso en sus sistemas basados en POWER8 , que salieron al mercado en 2014. Al mismo tiempo, IBM y varias otras compañías fundaron la OpenPOWER Foundation para construir un ecosistema en torno a las tecnologías basadas en Power , incluyendo CAPI. En octubre de 2016, varios socios de OpenPOWER formaron el OpenCAPI Consortium junto con el diseñador de GPU y CPU AMD y los diseñadores de sistemas Dell EMC y Hewlett Packard Enterprise para difundir la tecnología más allá del ámbito de OpenPOWER e IBM. [ 4 ]
El 1 de agosto de 2022, las especificaciones y los activos de OpenCAPI se transfirieron al consorcio Compute Express Link (CXL). [ 5 ]
Implementación
CAPI
CAPI se implementa como una unidad funcional dentro de la CPU, denominada Procesador Acelerador Coherente Proxy (CAPP), con una unidad correspondiente en el acelerador llamada Capa de Servicio de Energía (PSL). Las unidades CAPP y PSL actúan como un directorio de caché, de modo que el dispositivo conectado y la CPU pueden compartir el mismo espacio de memoria coherente, y el acelerador se convierte en una Unidad de Función Aceleradora (AFU), un elemento equivalente a otras unidades funcionales integradas en la CPU. [ 6 ] [ 7 ]
Dado que la CPU y la AFU comparten el mismo espacio de memoria, se logran baja latencia y alta velocidad, ya que la CPU no necesita realizar traducciones ni redistribuciones de memoria entre su memoria principal y la del acelerador. Una aplicación puede utilizar el acelerador sin controladores de dispositivo específicos, puesto que todo está habilitado mediante una extensión general del kernel CAPI en el sistema operativo anfitrión. La CPU y la PSL pueden leer y escribir directamente en las memorias y registros de la otra, según lo requiera la aplicación.
CAPI
CAPI se superpone a PCIe Gen 3 , utilizando 16 carriles PCIe, y proporciona una funcionalidad adicional para las ranuras PCIe en sistemas compatibles con CAPI. Generalmente, estas máquinas cuentan con ranuras PCIe específicas para CAPI. Dado que solo existe un CAPP por procesador POWER8, el número de unidades CAPI disponibles depende del número de procesadores POWER8, independientemente de la cantidad de ranuras PCIe. En ciertos sistemas POWER8, IBM utiliza módulos de doble chip, duplicando así la capacidad CAPI por zócalo de procesador.
Las transacciones tradicionales entre un dispositivo PCIe y una CPU pueden requerir alrededor de 20.000 operaciones, mientras que un dispositivo conectado mediante CAPI solo utilizará alrededor de 500, lo que reduce significativamente la latencia y aumenta efectivamente el ancho de banda debido a la disminución de la sobrecarga de operaciones. [ 7 ]
El ancho de banda total de un puerto CAPI está determinado por la tecnología PCIe 3.0 x16 subyacente, alcanzando un máximo de aproximadamente 16 GB/s, bidireccional. [ 8 ]
CAPI 2
CAPI-2 es una evolución incremental de la tecnología introducida con el procesador IBM POWER9. [ 8 ] Se ejecuta sobre PCIe Gen 4, lo que duplica efectivamente el rendimiento a 32 GB/s. También introduce algunas características nuevas, como la compatibilidad con DMA y Atomics del acelerador.
OpenCAPI
La tecnología detrás de OpenCAPI está regida por el Consorcio OpenCAPI , fundado en octubre de 2016 por AMD , Google , IBM , Mellanox y Micron junto con sus socios Nvidia , Hewlett Packard Enterprise , Dell EMC y Xilinx . [ 9 ]
OpenCAPI 3
OpenCAPI, anteriormente conocido como New CAPI o CAPI 3.0 , no se basa en PCIe y, por lo tanto, no utiliza ranuras PCIe. En la CPU POWER9 de IBM , utiliza la interfaz de E/S Bluelink 25G que comparte con NVLink 2.0 , alcanzando un pico de 50 GB/s. [ 10 ] OpenCAPI no necesita la unidad PSL (necesaria para CAPI 1 y 2) en el acelerador, ya que no se basa en PCIe, sino que utiliza su propio protocolo de transacciones. [ 11 ]
OpenCAPI 4
Planificado para un futuro chip después de la disponibilidad general de POWER9. [ 12 ]
OMI
La interfaz de memoria OpenCAPI (OMI) es una tecnología de RAM de conexión en serie basada en OpenCAPI, que proporciona una conexión de baja latencia y alto ancho de banda para la memoria principal. OMI utiliza un chip controlador en los módulos de memoria que permite un enfoque independiente de la tecnología utilizada en los módulos, ya sea DDR4 , DDR5 , HBM o RAM no volátil de clase de almacenamiento . Por lo tanto, una CPU basada en OMI puede cambiar el tipo de RAM simplemente cambiando los módulos de memoria.
Una conexión en serie utiliza menos espacio en el chip de la CPU para la interfaz, lo que potencialmente permite un mayor número de ellas en comparación con el uso de memoria DDR convencional.
La tecnología OMI está implementada en la CPU Power10 de IBM , que cuenta con 8 controladores de memoria OMI integrados, lo que permite 4 TB de RAM y un ancho de banda de memoria de 410 GB/s por procesador. Estos módulos DDIMM (Módulo de Memoria Dinámica Diferencial) incluyen un controlador OMI y un búfer de memoria, y pueden direccionar chips de memoria individuales para garantizar la tolerancia a fallos y la redundancia.
Microchip Technology fabrica el controlador OMI en los DDIMM. Su memoria SMC 1000 OpenCAPI se describe como "el siguiente avance en el mercado que adopta la memoria conectada en serie". [ 13 ]
Véase también
Legado abandonado
Legado, actualizado
- PCI Express (PCIe)
- NVLink
- Tejido infinito (evolución del hipertransporte)
Contemporáneo
Referencias
- ↑ Agam Shah (17 de diciembre de 2014). "El nuevo Power8 de IBM duplica el rendimiento del chip Watson" . PC World . Archivado del original el 1 de febrero de 2018. Consultado el 17 de diciembre de 2014 .
- ↑ "Procesador IBM Power8 detallado: presenta un diseño de 22 nm con 12 núcleos, 96 MB de caché L3 eDRAM y una velocidad de reloj de 4 GHz" . WCCFtech . 27 de agosto de 2013. Consultado el 17 de diciembre de 2014 .
- ↑ Md Syadus Sefat, Semih Aslan, Jeffrey W Kellington, Apan Qasem (2019-10-03). "Aceleración de puntos críticos en redes neuronales profundas en una FPGA basada en CAPI". 2019 IEEE 21.ª Conferencia Internacional sobre Computación y Comunicaciones de Alto Rendimiento; IEEE 17.ª Conferencia Internacional sobre Ciudades Inteligentes; IEEE 5.ª Conferencia Internacional sobre Ciencia de Datos y Sistemas (HPCC/Smart City /DSS) . IEEE. págs. 248–256 . doi : 10.1109/HPCC/SmartCity/DSS.2019.00048 . ISBN 978-1-7281-2058-4. S2CID 203656070 .
{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace ) - ↑ OpenCAPI al descubierto: AMD, IBM, Google, Xilinx, Micron y Mellanox unen fuerzas en la era de la computación heterogénea.
- ↑ El consorcio CXL y el consorcio OpenCAPI firman una carta de intención para transferir las especificaciones de OpenCAPI a CXL.
- ↑ Interfaz de procesador acelerador coherente (CAPI) para sistemas POWER8 – Libro blanco
- 1 2 Aceleradores reconfigurables para Big Data y la nube – RAW 2016
- 1 2 Apertura del bus del servidor para una aceleración coherente
- ↑ Líderes tecnológicos se unen para impulsar nuevos diseños de servidores de centros de datos en la nube para big data, aprendizaje automático, análisis y otras cargas de trabajo emergentes.
- ↑ Big Blue apunta al cielo con Power9
- ↑ OpenCAPI se enfrenta a PCIe y promete una mejora de 10X.
- ↑ Stuecheli, Jeff (26 de enero de 2017). "Webinar POWER9" (Grabación de vídeo / diapositivas) . Grupo de usuarios virtuales de AIX.- Diapositivas (PDF) - La página de AIX VUG contiene enlaces a las diapositivas y al vídeo.
- ↑ Patrick Kennedy (5 de agosto de 2019), Microchip SMC 1000 para el futuro de la memoria de conexión en serie , Servethehome
Enlaces externos
- Consorcio OpenCAPI
- Interfaz de memoria abierta (OMI)
- Interconexión de componentes periféricos
- Autobuses en serie
- Ranura de expansión de la placa base