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

¿Te conformarías con un tema que pronto será candente?

El firmware está actualmente diseñado para jugar bien con la mayoría de los puntos de referencia SPEC la mayor parte del tiempo. Y ese es un objetivo razonable cuando se habla de un procesador que ejecutará una variedad de códigos insensibles al rendimiento.

Pero, ¿qué pasa si va a ejecutar una simulación climática durante un mes en núcleos de procesador de 200k? Lo más probable es que su firmware no sea óptimo para esa carga de trabajo, y el desarrollador no tiene forma de ajustarlo.

¿Y si tuviéramos firmware personalizado / personalizable? Puede elegir entre diferentes algoritmos de captación previa en tiempo de ejecución. Podría escribir algoritmos de predicción de rama individuales para puntos de acceso específicos. ¿Necesita caché direccionable? No hay problema. ¿Necesita su algoritmo turbo para admitir la reproducibilidad del rendimiento? Puede hacer.

Hay todo tipo de problemas no tecnológicos que deben abordarse. ¿Cómo prueba su nueva función de firmware sin bloquear su clúster? ¿Cómo se asegura de que mi firmware esté descargado cuando comienza a ejecutar su programa? (Sugerencia: preguntar por la versión del firmware no será suficiente). ¿Y cómo hace que las compañías de procesadores abran su caja de salsa secreta?

Creo que vale la pena empujar un poco de cuerda. Tal vez en diez años veremos el primer firmware específico de clúster en máquinas de producción.

Consulte algunas conferencias para ver algunos temas:

ISCA: Actas del 43º Simposio Internacional sobre Arquitectura de Computadores

ASPLOS: Actas de la 22ª Conferencia internacional sobre soporte arquitectónico para lenguajes de programación y sistemas operativos

Los más llamativos para mí son:

Aprendizaje profundo : con base en algunos de los trabajos que he leído, esta es un área de investigación muy joven que aún no está cerca de ponerse al día con respecto al aprendizaje profundo, lo que significa que hay mucho de fruta baja. Los documentos aceptados para ISCA 2016 generalmente se centran en aceleradores para redes neuronales convolucionales. El aprendizaje profundo es muy popular en la industria, y esta área de investigación continuará creciendo, aunque no estoy completamente convencido de que los aceleradores de aprendizaje profundo realmente superen a las GPU en el mundo real. Aún así, si está interesado en obtener un doctorado en arquitectura de computadoras, aquí es donde definitivamente obtendrá uno.

Memoria : los tiempos de acceso a la memoria no se están acelerando tan rápido como los tiempos de la CPU, lo que en efecto significa que el acceso a la memoria es “más lento”, o más bien, requiere más ciclos de la 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 estado siguiendo los últimos avances en este tema.

Centros de datos : aunque tal vez no sea tan “candente” como Deep Learning, este es un campo sumamente importante e impactante que interesará a cualquier gran empresa tecnológica que aloje 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 literalmente le ahorrará a las compañías cientos de millones de dólares.

Energía : la proliferación de dispositivos móviles, así como la pared de energía, necesitan soluciones de baja potencia. La necesidad de ahorrar energía no desaparecerá, por lo que debe 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 el punto donde no podemos alimentar todos los transistores que tenemos en el chip. Las formas de evitar esto generalmente han implicado arquitecturas heterogéneas, donde tiene múltiples unidades de cálculo distintas que están optimizadas en términos de rendimiento y potencia para tareas específicas. Luego, puede dirigir el cálculo a esas unidades. Vi algunos resúmenes en esta área en la tabla de contenido de ISCA, por lo que parece que este sigue siendo un campo relevante, aunque uno más maduro que probablemente tenga menos frutos que otras disciplinas.

Seguridad de hardware : la seguridad es tremendamente importante en todas las disciplinas informáticas. Sin embargo, los exploits son mucho más fáciles de implementar a nivel de software en comparación con el nivel de hardware, y tener soluciones de hardware para la seguridad termina siendo poco práctico mientras se logra un beneficio mínimo, en mi opinión. Aún así, no impedirá que las investigaciones lo intenten, y estoy bastante seguro de que la gente todavía está publicando artículos en esta área.

Desafortunadamente, muchos temas que son fundamentales para comprender la arquitectura de la computadora están básicamente muertos en este punto:

Predicción de rama : este campo está muerto. La predicción de rama ya es lo suficientemente buena.

Optimizaciones de un solo núcleo / paralelismo a nivel de instrucción : si bien sería genial tener algo de innovación en este campo nuevamente, desafortunadamente hemos topado con la pared de potencia y, por lo tanto, ahora obtenemos la mayoría de nuestros beneficios de rendimiento de múltiples núcleos. Además, nuestra última esperanza con respecto al paralelismo en el nivel de instrucción eran las máquinas de flujo de datos, que desafortunadamente es un campo muerto.

Gracias por preguntar Sr. Ramdas 🙂

En lo que realmente me gustaría que la gente entrara es en los Circuitos Neurales .

Las redes neuronales son fáciles de modelar en software si tiene conocimientos básicos de neuronas y teoría de grafos. Pero la parte difícil viene cuando tienes que escalarlos a gran escala. El cerebro humano tiene 80 mil millones de neuronas con 20 mil millones de ellas en la corteza cerebral ( centro de pensamiento ) con trillones de sinapsis en el medio. El tiempo de recorrido de los gráficos aumentará cuadráticamente con el recuento de nodos y eso es exactamente lo que sucede al modelar redes neuronales complejas. A menudo se necesitan supercomputadoras con decenas de miles de CPU para modelar algo tan simple como el cerebro de un mouse.

Existen varias subdisciplinas de la inteligencia artificial, pero lograr que las redes neuronales funcionen es la imitación perfecta de la inteligencia natural. Afortunadamente, IBM tiene una solución:

Esa fue una junta de chips conectados en red para un proyecto DARPA. Cada uno de esos disipadores de calor es un solo dado.

Hay 4096 núcleos por chip, y cada uno de ellos tiene 256 neuronas. Las opciones de conexión para las sinapsis son limitadas, pero todavía no he encontrado una buena descripción. Hay un sistema de enrutamiento diseñado para unir núcleos a través de chips como se muestra en la imagen .

Cita de una discusión con un compañero quoran. El “chip” en cuestión es IBM TrueNorth . No se conocen detalles de implementación de bajo nivel solo porque un estante lleno de tales tableros puede modelar un cerebro de gato en tiempo real. Es decir, órdenes de magnitud más pequeños / eficientes que las redes neuronales modeladas a través de software en CPU convencionales o motores SIMD (GPU). Por eso necesitamos circuitos neuronales.

CORRER HACIA ARRIBA:
Arquitecturas de CPU súper amplias.

El rendimiento de la CPU no ha aumentado mucho en los últimos 5 a 6 años después de alcanzar un punto de rendimiento decreciente. Donde las inversiones en tecnología de procesos y la complejidad factible no han significado una mejora correspondiente en el rendimiento de las arquitecturas de CPU convencionales. El paralelismo a nivel de instrucción se ha estancado a pesar de que la complejidad se duplicó en los últimos 5 años. Los ingenieros han agotado todos los trucos del libro y el único camino por delante parece ser la ampliación lenta y gradual de los recursos en chip. Se necesitará un milagro para acelerar el crecimiento del rendimiento como lo hicimos en los años 90 y 2000.

imagen de TechNews 科技 新 報 | 市場 和 業內 人士 關心 的 趨勢 、 內幕 與 新聞

La tendencia de la creciente adopción de Deep Learning ha llevado a la comunidad de investigación en Ciencias de la Computación a ponerse de punta para llevar a cabo investigaciones de vanguardia. Esto, por supuesto, también ha influido en la investigación de arquitectura informática.

El tema de actualidad en la investigación de Arquitectura de Computadores es construir aceleradores para aplicaciones de aprendizaje profundo, mejorando el rendimiento de las CPU / GPU para las cargas de trabajo de aprendizaje profundo. Un vistazo a los programas de las principales conferencias de Arquitectura de Computadores como ISCA, MICRO, HPCA confirmaría esta tendencia.

  • Mejora del ancho de banda de la memoria: Intel ve el ancho de banda de la memoria como el mayor desafío
  • Virtualización
  • Arquitectura heterogénea (CPU + GPU / FPGA)
  • Arquitectura distribuida: cosas como RDMA sobre IP, memoria compartida en la red
  • El centro de datos como computadora: http://www.morganclaypool.com/do
  • Alto rendimiento y eficiencia energética: chips calientes
  • Arquitectura de computadora cuántica

More Interesting

¿Sabemos si la factorización es más difícil que el isomorfismo gráfico?

¿Qué computadoras portátiles usan los grupos de investigación en visión artificial / AR? MacBooks o Alienwares? ¿Cuáles son las especificaciones?

¿Qué es mejor, participar en una investigación que está fuera del instituto de origen o participar en una investigación en el instituto de origen?

¿Cuáles son los recursos para principiantes para obtener una experiencia práctica al usar algoritmos de aprendizaje automático en un conjunto de datos recopilados?

¿Es posible convertir el desarrollo de una aplicación basada en un marco existente en un trabajo de investigación?

¿No son los inspectores de modelos y asistentes de pruebas realmente variantes diferentes y limitadas de lo mismo? Si es así, ¿por qué el abismo entre ellos?

¿Cuáles son las conferencias de alto nivel o los expertos en informática afectiva?

¿Cómo se realiza la investigación en informática?

Dados los recientes avances en la curación de la ceguera, ¿sigue siendo relevante la investigación en informática de accesibilidad para discapacidades visuales?

Cómo encontrar un tema de investigación en informática adecuado para estudiantes universitarios

¿Cuáles son los trabajos académicos clásicos en finanzas computacionales / comercio algorítmico?

¿Puede la programación en objetivos ser una alternativa a la definición de API (de la charla de B. Victor 'El futuro de la programación)?

¿Cuáles podrían ser los temas de investigación en el área de modelos gráficos probabilísticos?

¿Cuáles son los pasos para hacer captura de movimiento?

¿Cuál es la forma correcta de hacer una búsqueda bibliográfica exhaustiva de trabajos anteriores?