En 1965, el cofundador de Intel, Gordon Moore, predijo que el número de transistores que cabría en un chip de computadora aumentaría exponencialmente, y eso sucedió, duplicándose aproximadamente cada dos años. La ley de Moore ha estado vigente durante medio siglo: las computadoras se han vuelto más pequeñas, más rápidas, más baratas y más eficientes, permitiendo que las PC, teléfonos inteligentes, Internet de alta velocidad y más se utilicen rápidamente en todo el mundo.

Hoy, esta tendencia de miniaturización ha llevado a chips de silicio con circuitos casi inimaginablemente pequeños. Los transistores, los pequeños interruptores que implementan los microprocesadores de la computadora, son tan pequeños que 1,000 de un extremo a otro no son más anchos que un cabello humano. Y durante mucho tiempo, cuanto más pequeños eran los transistores, más rápido podían cambiar. Pero hoy nos estamos acercando al límite de cómo pueden llegar los transistores pequeños. Como resultado, durante la última década, los investigadores se han estado rascando la cabeza para encontrar otras formas de mejorar el rendimiento para que la industria informática pueda seguir innovando.

Mientras esperamos la maduración de las nuevas tecnologías informáticas como la cuántica, los nanotubos de carbono o la fotónica (que puede llevar un tiempo), se necesitan otros enfoques para mejorar el rendimiento a medida que la ley de Moore está llegando a su fin. En un reciente artículo de revista publicado en Ciencias, un equipo de MIT Laboratorio de informática e inteligencia artificial. (CSAIL) identifica tres áreas clave para priorizar continuar entregando velocidades de computadora: mejor software, nuevos algoritmos y hardware más optimizado.

El autor principal Charles E. Leiserson dice que las ganancias de rendimiento de la miniaturización son tan importantes que durante décadas, los programadores han sido capaces de priorizar la escritura de códigos más fácil, en lugar de hacer que el código se ejecute más rápido. La ineficiencia asociada con esta tendencia fue aceptable, ya que los chips de computadora más rápidos siempre han sido capaces de absorber la holgura.

«Pero avanzar más en áreas como el aprendizaje automático, la robótica y la realidad virtual requiere grandes cantidades de potencia informática que la miniaturización ya no puede ofrecer», dijo Leiserson, profesor de Edwin Sibley Webster en el Departamento de Ingeniería Eléctrica y Ciencias de la Computación del MIT. «Para desbloquear todo el potencial de estas tecnologías, necesitamos cambiar nuestro enfoque hacia las computadoras».

Leiserson co-escribió el papel, publicado esta semana, con el científico investigador Neil Thompson, el profesor Daniel Sánchez, el profesor adjunto Butler Lampson y los científicos de investigación Joel Emer, Bradley Kuszmaul y Tao Schardl.

No más moore

Los autores hacen recomendaciones sobre tres áreas informáticas: software, algoritmos y arquitectura de hardware.

Con el software, dicen que la prioridad previa de los programadores a la productividad sobre el rendimiento ha llevado a estrategias problemáticas como la «reducción»: tomar el código que funcionó en el problema A y usarlo para resolver el problema B. Por ejemplo, si alguien necesita crear un sistema para reconocer comandos de voz sí o no, pero no quiere codificar un programa personalizado completamente nuevo, puede tomar un programa existente que reconozca una amplia variedad de palabras y ajustarlo para que solo responda sí -o-no hay respuestas.

Si bien este enfoque acorta el tiempo de codificación, las ineficiencias que crea se agravan rápidamente: si una sola reducción es 80 por ciento más eficiente que una solución personalizada y agrega 20 capas de reducción, el código finalmente será 100 veces menos eficiente de lo posible.

«Este es el tipo de estrategias que los programadores deberían repensar si las mejoras de hardware se ralentizan», dice Thompson. «No podemos continuar con ‘los negocios como de costumbre’ si queremos seguir siendo los engranajes a los que nos hemos acostumbrado».

En cambio, los investigadores recomiendan técnicas como la paralelización del código. Muchos softwares existentes están diseñados con viejos supuestos de que los procesadores solo pueden realizar una operación a la vez. Pero en los últimos años, la tecnología multinúcleo ha permitido realizar tareas complejas miles de veces más rápido y de una manera mucho más eficiente en términos de energía.

«Dado que la ley de Moore no nos dará un mejor rendimiento en bandeja de plata, tendremos que hacerlo de la manera difícil», dijo Moshe Vardi, profesor de ingeniería computacional en la Universidad de Rice. «Esta es una gran oportunidad para la investigación informática y la [MIT CSAIL] El informe proporciona una hoja de ruta para dicha investigación. »

En cuanto a los algoritmos, el equipo propone un enfoque triple, que incluye explorar nuevas áreas problemáticas, abordar las inquietudes sobre la escala de los algoritmos y ajustarlos para aprovechar mejor el hardware moderno.

Finalmente, en términos de arquitectura de hardware, el equipo aboga por simplificar el hardware para que los problemas se puedan resolver con menos transistores y menos silicio. La racionalización implica el uso de procesadores más simples y la creación de hardware diseñado para aplicaciones específicas, como la unidad de procesamiento de gráficos diseñada para gráficos de computadora.

«El hardware personalizado para ciertos dominios puede ser mucho más eficiente y usar muchos menos transistores, lo que permite que las aplicaciones se ejecuten decenas a cientos de veces más rápido», dice Schardl. «De manera más general, la optimización del hardware alentaría aún más la programación paralela, creando un área de chip adicional que se puede utilizar para más circuitos que pueden operar en paralelo».

Si bien estos enfoques pueden ser el mejor camino a seguir, los investigadores dicen que no siempre será fácil. Las organizaciones que usan tales técnicas pueden no darse cuenta de los beneficios de sus esfuerzos hasta que hayan invertido mucho tiempo técnico. Además, los engranajes no serán tan consistentes como lo fueron con la ley de Moore: pueden ser dramáticos al principio y luego requieren un gran esfuerzo para mejoras menores.

Ciertas compañías ya han recibido el memo.

«Para los gigantes tecnológicos como Google y Amazon, la escala masiva de sus centros de datos significa que incluso pequeñas mejoras en el rendimiento del software pueden conducir a grandes ganancias financieras», dijo Thompson. «Pero si bien estas empresas pueden tomar la iniciativa, muchas otras tendrán que tomarse estos problemas en serio si quieren seguir siendo competitivos».

Para realizar mejoras en las áreas identificadas por el equipo, también es necesario construir la infraestructura y la fuerza de trabajo que lo hagan posible.

«El crecimiento del rendimiento requiere nuevas herramientas, lenguajes de programación y hardware para permitir una mayor y mejor ingeniería de rendimiento», dijo Leiserson. «También significa que los informáticos están mejor capacitados sobre cómo hacer que el software, los algoritmos y el hardware trabajen juntos, en lugar de colocarlos en diferentes silos».

Este trabajo fue apoyado en parte por la National Science Foundation.



Source link