Cuáles son los temas de actualidad en la investigación de la Arquitectura de Computadores?

Mira algunas conferencias para ver algunos temas:

ISCA: Proceedings of the 43rd International Symposium on Computer Architecture

ASPLOS: Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems

Los más llamativos para mí son:

Aprendizaje profundo: Basándome en algunos de los artículos que he hojeado, se trata de un área de investigación muy joven que aún no está cerca de alcanzar el estado del arte en lo que respecta al aprendizaje profundo, lo que significa que hay mucha fruta al alcance de la mano. Los trabajos aceptados en ISCA 2016 se centran generalmente en aceleradores para redes neuronales convolucionales. El aprendizaje profundo es muy popular en la industria y esta área de investigación seguirá creciendo, aunque no estoy del todo convencido de que los aceleradores de aprendizaje profundo vayan a superar a las GPU en el mundo real. Aun así, si estás interesado en obtener un doctorado en arquitectura informática, aquí es donde definitivamente lo conseguirás.

Memoria: Los tiempos de acceso a la memoria no se están acelerando tan rápidamente como los de la CPU, lo que en efecto significa que el acceso a la memoria es «más lento», o mejor dicho, toma más ciclos de CPU. El interés en la tecnología y los algoritmos para ayudar a acelerar el acceso a la memoria no desaparecerá pronto, en mi opinión. Uno de mis profesores estaba investigando en tecnologías de cambio de fase, aunque no he seguido el estado del arte en relación con este tema.

Centros de datos: Aunque quizás no sea tan «caliente» como el Deep Learning, este es un campo enormemente importante e impactante que interesará a cualquier gran empresa tecnológica que albergue sus propios centros de datos (por ejemplo, Google, Microsoft, Amazon). Sin conexiones con la industria, la investigación en esta área es difícil, pero cualquier solución en esta área ahorrará literalmente a las empresas cientos de millones de dólares.

Energía: La proliferación de dispositivos móviles, así como el muro de la energía, requieren una necesidad de soluciones de bajo consumo. La necesidad de ahorrar energía no desaparecerá, por lo que debería haber un amplio interés y oportunidades en esta área.

Aquí hay otros temas sobre los que recuerdo haber leído en 2013-2014 pero que pueden haber pasado de moda desde entonces:

Arquitecturas heterogéneas: Estamos en un punto en el que no podemos alimentar todos los transistores que tenemos en el chip. Las soluciones a este problema suelen ser las arquitecturas heterogéneas, en las que se dispone de varias unidades de cálculo distintas optimizadas en términos de rendimiento y potencia para tareas específicas. Entonces, se puede dirigir la computación a esas unidades. He visto algunos resúmenes en esta área en la tabla de contenidos de la ISCA, por lo que parece que sigue siendo un campo relevante, aunque más maduro y que probablemente tenga menos fruta al alcance de la mano que otras disciplinas.

Seguridad del hardware: La seguridad es tremendamente importante en todas las disciplinas de la informática. Sin embargo, los exploits son mucho más fáciles de implementar a nivel de software en contraposición al nivel de hardware, y tener soluciones de hardware para la seguridad acaba siendo bastante poco práctico a la vez que consigue un beneficio mínimo, en mi opinión. Aun así, esto no impedirá que los investigadores lo intenten, y estoy bastante seguro de que la gente sigue publicando artículos en esta área.

Desgraciadamente, un montón de temas que son fundamentales para entender la arquitectura de los ordenadores están básicamente muertos en este momento:

Predicción de ramas: Este campo está muerto. La predicción de ramas ya es suficientemente buena.

Optimizaciones de un solo núcleo/paralelismo a nivel de instrucción: Aunque sería estupendo volver a tener algo de innovación en este campo, desgraciadamente nos hemos topado con el muro de la potencia, y por tanto ahora obtenemos la mayor parte de nuestros beneficios de rendimiento de los multinúcleos. Además, nuestra última esperanza con respecto al paralelismo a nivel de instrucción eran las máquinas de flujo de datos, que es un campo muerto, por desgracia.