En el mundo informático actual, la computación heterogénea se está convirtiendo gradualmente en la corriente principal.Esta tecnología utiliza varios tipos diferentes de procesadores o núcleos, diseñados para mejorar el rendimiento y la eficiencia energética.A medida que evoluciona el diseño del sistema, los desafíos y las oportunidades pasados aún dependen de cómo manejamos estas nuevas arquitecturas informáticas.
El concepto central en los sistemas de computación heterogénea es lograr mejoras de rendimiento no solo agregando el mismo tipo de procesador, sino agregando coprocesadores heterogéneos con capacidades de procesamiento especializadas.
Los sistemas de computación heterogéneos generalmente implican diferentes arquitecturas de conjuntos de instrucciones (ISA), y esta heterogeneidad no solo se refleja en las diferencias en las microarquitecturas, sino también en la reconstrucción de modelos de diseño y computación.La arquitectura del sistema heterogéneo moderno (HSA) elimina la engorrosidad de los usuarios cuando usan tipos de multiprocesador, lo que permite que la CPU y la GPU funcionen de manera eficiente en el mismo chip.Esto permite que las GPU generales realicen cálculos matemáticos y permite que la CPU se haga cargo de los sistemas operativos y las tareas en serie tradicionales.
Las últimas investigaciones muestran que aprovechar la diversidad traída por múltiples ISA, los multiprocesadores heterogéneos de chips ISA tienen un rendimiento de hasta un 21% y ahorran un 23% de energía que la arquitectura homogénea óptima de la misma ISA. .
En la topología heterogénea de la CPU, aunque se usa la misma ISA, la velocidad y las diferencias de rendimiento entre los núcleos pueden afectar significativamente el rendimiento del sistema general.Aquí, el núcleo generalmente se divide en núcleos de alto rendimiento (generalmente llamados "grandes núcleos") y núcleos más eficientes en energía (llamados "núcleos pequeños").Esta topología a menudo se usa para proporcionar una mejor eficiencia energética, especialmente para aplicaciones en sistemas móviles.
Aunque los sistemas informáticos heterogéneos proporcionan ganancias potenciales de rendimiento, también presentan muchos desafíos que no son comunes en los sistemas homogéneos tradicionales.Estos son algunos de los principales desafíos:
Hardware de computación heterogéneo abarca una amplia gama de campos de computación, desde servidores de alta gama hasta dispositivos integrados de baja potencia, incluidos teléfonos inteligentes y tabletas.Por ejemplo, muchos procesadores nuevos ahora tienen una lógica incorporada para interactuar con otros dispositivos, incluidos SATA, PCI, Ethernet, USB, etc.Además, hay una gran cantidad de aceleradores de hardware, como GPU y coprocesadores de cifrado, que hacen que la aplicación de sistemas heterogéneos sea más extenso.
Por ejemplo, la tecnología Big. Little de ARM combina núcleos de alta potencia de alto rendimiento con núcleos lentos de baja potencia para lograr el efecto de mejorar la eficiencia energética.
A medida que la tecnología continúa avanzando, el potencial de los sistemas informáticos heterogéneos parece continuar expandiéndose.Pero si queremos resolver los desafíos en la computación heterogénea, debemos pensar en cómo integrar de manera más efectiva diferentes componentes de computación, mejorar los modelos de diseño del programa y mejorar la transparencia de la programación.En el futuro, ¿cómo debemos enfrentar las oportunidades y los desafíos traídos por la informática heterogénea para que la tecnología pueda servir mejor a los seres humanos?