Investigadores del Technion desarrollaron un paquete de software que permite a las computadoras realizar operaciones de procesamiento directamente en la memoria, sin pasar por la CPU, un paso importante para hacerlas más rápidas y ahorrar energía.
En los últimos años surgió un segmento nuevo y apasionante en el terreno del hardware: la informática en la memoria. Se trata de un enfoque que introduce un cambio significativo con respecto a la forma en que normalmente funcionan las computadoras.
Para seguir leyendo: Millones de euros para una supercomputadora israelí láser
Mientras que en las computadoras convencionales la CPU ejecuta cálculos basados en información almacenada en la memoria de la computadora, con este enfoque innovador, algunas operaciones se realizan directamente dentro de la memoria.
Eso reduce las transferencias de datos entre la memoria y la CPU. Y como esa transferencia entre unidades informáticas requiere mucho tiempo y energía, este cambio genera ahorros significativos en ambos.
En las últimas décadas se observaron mejoras espectaculares en el rendimiento de esos dos componentes: la velocidad de cálculo de los procesadores se disparó, al igual que la capacidad de almacenamiento de las unidades de memoria.
Pero esos avances exacerbaron el problema, ya que la transferencia de datos se convirtió en un cuello de botella que limita la velocidad general de la computadora.
Enfrentando el «muro de la memoria» informática
El profesor Shahar Kvatinsky, de la Facultad de Ingeniería Eléctrica e Informática del Technion, dedicó los últimos años a encontrar soluciones al «muro de la memoria», el problema de los cálculos que requieren dos componentes de hardware separados.
A través de artículos publicados en los últimos años, Kvatinsky presentó tecnologías de hardware que permiten que algunas operaciones se ejecuten en la memoria, mitigando los «embotellamientos» creados entre el procesador y la memoria en las computadoras convencionales.

Este cambio de paradigma en la arquitectura informática tiene aplicaciones innovadoras en muchos campos, incluida la inteligencia artificial, la bioinformática, las finanzas o los sistemas de información.
Muchos equipos en el mundo académico y en la industria están trabajando en este tema: estudiando la arquitectura de la memoria, la producción de unidades de memoria innovadoras en fábricas de chips y las operaciones básicas de computadoras de este tipo.
Sin embargo, un aspecto crucial de este enfoque fue casi por completo inexplorado hasta ahora: el software. Durante décadas se escribieron programas para computadoras «clásicas», cuya estructura fundamental apenas cambió desde las primeras máquinas de los años ’40.
Esos programas son conjuntos de operaciones de lectura y escritura que tienen lugar en la memoria de la computadora y de otras que lleva a cabo el procesador.
«Necesitamos nuevo software»
Las unidades de información almacenadas en la memoria tienen direcciones que permiten al software localizarlas y transferirlas a la CPU para su procesamiento. Pero «ahora que algunos cálculos se realizan en la memoria, necesitamos nuevo software», avisó el profesor Kvatinsky.
«Este nuevo software debe basarse en nuevas instrucciones que admitan cálculos en memoria -abundó-. Este nuevo método de cálculo es tan diferente del convencional que inutiliza algunos de los componentes básicos existentes de la informática».
También le puede interesar: El "premio Nobel de la computación", para un profesor israelí
Por lo tanto, afirmó, «necesitamos escribir código nuevo, lo que requiere mucho tiempo y esfuerzo por parte de los desarrolladores de software».
Un nuevo estudio del grupo de investigación de Kvatinsky, dirigido por el estudiante de doctorado Orian Leitersdorf en colaboración con el investigador Ronny Ronen, presentó una solución a este problema.

Su nueva plataforma utiliza un conjunto de comandos que cierra la brecha entre las soluciones informáticas en la memoria y los lenguajes populares de programación como Python.
Llegó el PyPIM
Para construir esta nueva plataforma, los investigadores israelíes desarrollaron una teoría para las interfaces de programación de la arquitectura informática en la memoria.
También crearon bibliotecas de desarrollo de software que convierten los comandos de Python en comandos ejecutados directamente en la memoria de la computadora.
Llamaron a este nuevo concepto PyPIM, una combinación de la abreviatura de Python y el acrónimo de Processing-in-Memory (PIM). Con esta nueva plataforma, los desarrolladores podrán escribir software para computadoras PIM con facilidad.
Para seguir leyendo: Cómo funciona la revolucionaria laptop israelí sin pantalla
Los investigadores crearon además una herramienta de simulación para diseñar hardware y medir el rendimiento, lo que permite a los desarrolladores estimar la mejora en el tiempo de ejecución del código en relación con una computadora normal.
En un artículo con los resultados del estudio, los investigadores mostraron varios cálculos matemáticos y algorítmicos realizados utilizando la nueva plataforma, con código breve y simple, lo que resultó en importantes mejoras de rendimiento.