MEmoria RAM

Los dispositivos y capacidades de almacenamiento que tenemos disponibles en la actualidad distan muchísimo de los de hace 30 años; nada más en capacidad de almacenamiento ésta se ha multiplicado por un factor de 10.000 sin embargo la velocidad de acceso a disco tan sólo se ha multiplicado en un factor de 50. Aunque los discos de estado sólido permiten mayor velocidad de acceso a los datos almacenados en un disco duro, los investigadores siguen buscando métodos que permitan servir datos mucho más rápido y, en definitiva, poder manejar transferencias mucho mayores de información que repercutan en una reducción del tiempo de carga de aplicaciones, incluyendo la navegación web. Según un grupo de investigación de la Universidad de Stanford, la solución a este problema no está en la mejora de los discos duros sino en mirar a otro tipo de dispositivos: la memoria RAM.

Según esta tesis, si se quieren mejorar los tiempos de carga, lo mejor es cambiar los discos duros de los servidores y utilizar memoria RAM, eso sí, la solución no es precisamente barata. Según John Ousterhout, profesor e investigador en Ciencias de la Computación en la Universidad de Stanford y responsable de la investigación, esta sería la mejor solución posible para aplicaciones que necesiten manejar muchos datos en muy poco tiempo y en las que cualquier tipo de retraso podría suponer un problema (como la traducción de páginas web).

Estamos observando cada vez más aplicaciones que manejan muchos datos y necesitan acceso a ellos de manera intensiva

Ousterhout y su equipo están aplicando esta tesis en un proyecto de nombre RAMCloud y que, en cierta medida, tiene ciertas similitudes con el Cloud Computing. RAMCloud se basa en un sistema realizado a base de memoria DRAM (dynamic random access memory) y toma como base el funcionamiento normal de cualquier PC: después de que un dato se extraiga del disco duro, éste se almacena temporalmente en la memoria RAM para poder acceder, de nuevo, mucho más rápido. La idea es asumir este funcionamiento que es capaz que un PC acceda a los datos entre 100 y 1.000 veces más rápido que en un acceso a disco.

Este esquema podría hacer que pudiésemos diseñar nuevas aplicaciones que, hasta ahora, no podríamos hacer. ¿Acaso una mejora de la velocidad en un factor de 1.000 no hará cambiar las cosas?

Aunque la mejora de la velocidad podría estar bien, los costes son un asunto bastante espinoso que, además, podrían echar abajo cualquier tipo de planteamiento comercial. RAMCloud se ha dimensionando en una infraestructura de 2.000 servidores que podrían ofrecer 48 TB de memoria DRAM, es decir, un coste de 65 dólares por cada gigabyte de memoria disponible, es decir, entre 50 y 100 veces más caro que el almacenamiento en disco duro. Con esos costes RAMCloud difícilmente podría ser asumible, sin embargo, si se mira desde la óptica del volumen de datos al que se tiene acceso (el número de bytes por segundo), este proyecto arroja un factor que oscila entre 10 y 100 veces más barato.

Es decir, que desde el punto de vista del almacenamiento, el proyecto tiene unos costes enormes pero, desde el punto de vista de la transferencia de datos, es mucho más barato. ¿Y ahora qué? Para el equipo de Stanford el futuro está en esta senda y es lo que quieren demostrar con el proyecto porque, según avanza la tecnología actual, en el año 2020 la memoria DRAM podría permitir almacenar 10 millones de millones de bytes con un coste de 6 dólares por gigabyte. Quizás, como solución a futuro, podría ser una solución a estudiar y que podría suponer un salto tecnológico como el que se asumió en los años 70 cuando se abandonaron las cintas y se adoptaron los discos. De hecho, RAMCloud utiliza servidores que llevan discos duros, si bien los discos duros se usan como respaldo de la memoria RAM y nunca como dispositivo preferente de lectura o escritura.

De todas formas, no todos los expertos son tan optimistas como los de Stanford. Por ejemplo, Murat Demirbas, profesor de la Universidad Estatal de Nueva York, ha sido una de las voces más discordantes con esta visión:

Me esperaba un argumento mucho más convincente.

Luiz André Barroso, un ingeniero de Google, es algo menos escéptico con esta solución pero no lo ve tan claro:

RAMCloud puede ser la solución para algunos de los problemas que surgen al manejar un gran volumen de datos pero no es competitivo en soluciones con menores requerimientos de carga

La verdad, creo que Barroso ha dado en el clavo y RAMCloud puede ser una solución que solvente grandes problemas de procesamiento de datos pero no es asumible en todos los escenarios y, mucho menos, un modelo que actualmente se pueda implantar en todos los centros de datos. Quizás, para el año 2020 (que es lo que augura este grupo de investigación), podría llegarse a una solución híbrida y con un coste asumible. Como investigación, desde luego, es un planteamiento bastante llamativo.