Interfaz del procesador del acelerador coherente


Coherent Accelerator Processor Interface ( CAPI ) es un estándar de bus de expansión de procesador de alta velocidad para su uso en computadoras de centros de datos grandes , inicialmente diseñado para ser superpuesto a PCI Express , para conectar directamente unidades de procesamiento central (CPU) a aceleradores externos como gráficos. unidades de procesamiento (GPU), ASIC , FPGA o almacenamiento rápido. [1] [2] Ofrece conectividad de acceso directo a memoria de baja latencia, alta velocidad entre dispositivos de diferentes arquitecturas de conjuntos de instrucciones .

La escala de rendimiento tradicionalmente asociada con la Ley de Moore, que data de 1965, comenzó a disminuir alrededor de 2004, cuando tanto la arquitectura Prescott de Intel como el procesador Cell de IBM avanzaron hacia una frecuencia de operación de 4 GHz. Aquí ambos proyectos se encontraron con una pared de escala térmica, por lo que los problemas de extracción de calor asociados con aumentos adicionales en la frecuencia de operación superaron en gran medida las ganancias de tiempos de ciclo más cortos.

Durante la década siguiente, pocos productos de CPU comerciales excedieron los 4 GHz, y la mayoría de las mejoras de rendimiento ahora provienen de microarquitecturas mejoradas incrementalmente, una mejor integración de sistemas y una mayor densidad de cómputo, esto en gran parte en la forma de empaquetar una mayor cantidad de núcleos independientes en la misma matriz, a menudo a expensas de la frecuencia de funcionamiento máxima (el Xeon E7-8890 de 24 núcleos de Intel de junio de 2016 tiene una frecuencia de funcionamiento base de solo 2,2 GHz, para funcionar dentro de las limitaciones de un consumo de energía de 165 W de un solo enchufe y presupuesto de refrigeración).

Cuando se han obtenido grandes ganancias de rendimiento, a menudo se asoció con unidades de cómputo cada vez más especializadas, como unidades GPU agregadas a la matriz del procesador o aceleradores externos basados ​​en GPU o FPGA. En muchas aplicaciones, los aceleradores luchan con las limitaciones del rendimiento de la interconexión (ancho de banda y latencia) o con limitaciones debido a la arquitectura de la interconexión (como la falta de coherencia de la memoria). Especialmente en el centro de datos, mejorar la interconexión se volvió fundamental para avanzar hacia una arquitectura heterogénea en la que el hardware se adapta cada vez más a cargas de trabajo informáticas específicas.

CAPI se desarrolló para permitir que las computadoras conecten aceleradores especializados de manera más fácil y eficiente. Los trabajos intensivos en memoria y computación, como multiplicaciones de matrices para redes neuronales profundas , se pueden descargar en plataformas compatibles con CAPI. [3] Fue diseñado por IBM para su uso en sus sistemas basados en POWER8 que llegaron al mercado en 2014. Al mismo tiempo, IBM y varias otras compañías fundaron OpenPOWER Foundation para construir un ecosistema alrededor de tecnologías basadas en POWER , incluida CAPI. En octubre de 2016, varios socios de OpenPOWER formaron el consorcio OpenCAPI 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 alcance de OpenPOWER e IBM. [4]

CAPI se implementa como una unidad funcional dentro de la CPU, llamada Coherent Accelerator Processor Proxy (CAPP) con una unidad correspondiente en el acelerador llamada Power Service Layer (PSL). Las unidades CAPP y PSL actúan como un directorio de caché para que el dispositivo adjunto y la CPU puedan compartir el mismo espacio de memoria coherente, y el acelerador se convierte en una Unidad de Función Aceleradora (AFU), un par de otras unidades funcionales integradas en la CPU. [5] [6]