Computación Reversible: Ley de Moore y la computación no convencional
La llamada “Ley de Moore” está llegando a los límites previstos desde su formulación. Con anterioridad publicamos un artículo al respecto, el cual sirve como introducción a lo que os vamos a explicar hoy. Partamos desde allí y mantened vuestra mente preparada para el cambio…
La Ley de Moore
Rápidamente: Gordon E. Moore primero formuló su experiencia empírica -convertida luego en “ley”- para un período de un año, pero al transcurrir un lustro la reformuló a dos años, además de establecer que llegaría a su límite en 2007, con una prolongación máxima de 15 años. Si os fijáis, al momento de escribir este artículo estamos cerca de presenciar su extinción.
¿Por qué la Ley de Moore se dirige a fenecer? Aunque cada vez hacemos transistores más pequeños y podemos juntar más en el mismo espacio, poco a poco abandonamos el ámbito de la física clásica para adentrarnos en el campo de la mecánica cuántica, donde los materiales se comportan de diferente manera. Para decirlo tosco y rápido: llega un momento en el que simplemente un electrón no puede pasar por un hilo tan delgado. Literalmente, se “atora”, y su onda electromagnética “salta” de un conductor a otro, ocasionando valores indeseados en los transistores aledaños. Os recordamos que la velocidad de un electrón por un conductor eléctrico es lenta, comparada con la fuerza electromagnética que prácticamente alcanza la velocidad de la luz (tomadlo por ahora como un hecho y luego lo buscáis en vuestra enciclopedia favorita).
Gordon Moore (izquierda) y Robert Noyce (ambos fundadores de Intel), foto de 1970, IntelFreePress.
Otra cosa es la velocidad de dichos procesadores; es como la energía eléctrica, que surte nuestros hogares a 60 ciclos por segundo (en América, en Europa es a 50 Hertz) y es la que determina el número de revoluciones por minuto del rotor de los generadores (impulsados por energía nuclear, eólica, etc.) y los motores en nuestros hogares y trabajos. También en el caso de los ordenadores, a mayores ciclos mayor energía consumida y mayor calor generado (energía desperdiciada), lo que representa otra limitación que ha sido subsanada con los CPU con múltiples núcleos: su agrupamiento y sincronización ha permitido la construcción de superordenadores y el uso de la Computación Paralela.
¿Y dónde cala la Computación Reversible?
La Computación Reversible se ocupa de poder obtener, a partir de un resultado, los valores que lo originaron (una función uno a uno). Como bien sabemos, nuestros ordenadores trabajan con un sistema binario cuyos valores, verdadero o falso (encendido o apagado si pensamos los transistores como bombillas), y las operaciones lógicas sobre los bits son variadas. Una de ellas es reversible: la negación (NOT), ya que su resultado, con solo aplicarla de nuevo, obtendremos el valor original.
Otras operaciones no lo son. AND toma dos bits, “los multiplica” y emite un resultado: si es verdadero significa que ambos bits eran verdaderos, pero si el resultado es falso no sabremos a ciencia cierta cuáles eran los valores originales; por lo tanto, es irreversible.
Trabajando con trits
Nuestras computadoras utilizan el sistema binario de base positiva (los sistemas de numeración con base negativa dan para otro artículo completo). Abandonemos desde ya los ordenadores binarios para pensar sobre los ordenadores ternarios.
Si dos son buenos, tres es mejor, pero como ya habréis sospechado necesitaremos más “memoria” para representarlos. Por suerte, hoy en día el poder de cálculo y capacidad no es ningún problema.
Si antes usamos 0 y 1 pues ahora usaremos… ¡-1, 0 y 1! (“negativo”, “cero” y “positivo”).
Esto se llama sistema ternario balanceado, al tomar cero como pivote, y resuelve uno de los problemas de nuestros ordenadores binarios: dedicar un bit para representar el signo de un número (los sistemas de numeración de base negativa también solucionan el asunto del signo).
Veamos cómo sería nuestro sistema decimal en binario y en ternario balanceado:
Sistema decimal, sistema binario y sistema ternario balanceado.
Para representar los números negativos en ternario balanceado simplemente aplicaremos el NOT (operación reversible), es decir, invertiremos los signos: el siete negativo sería “-+-“ y el dos negativo sería “0-+”.
¿Os parece esto avanzado? Un ordenador basado en ternario balanceado fue desarrollado en la Unión Soviética en 1958 y el modelo fue llamado como un río cercano al laboratorio ruso de investigación: Setun (solo fueron fabricados 50 ejemplares).
¡Allí, allí, ya le vais cogiendo el gustillo a la Computación Reversible!
Compuertas universales para la Computación Reversible
Si las operaciones lógicas o aritméticas las podemos expresar con dos o más compuertas del mismo tipo estamos ante la presencia de compuertas universales. Pero, además, necesitamos que sean reversibles y una de ellas es la que inventó el Físico Digital Edward Fredkin y es llamada, cómo no, Compuerta Fredkin. Normalmente es presentada con valores binarios, pero aquí la presentaremos con valores ternarios balanceados.
Representación gráfica de una Compuerta de Fredkin, Wikipedia.
Consta de tres trits de entrada e igual de salida. El primer trit siempre conserva su valor: si es cero, los otros dos conservan sus valores, pero si es positivo los otros dos trits intercambian sus valores (dejaremos el negativo del primer trit para indicar, a propósito, que la operación no es reversible: por ejemplo, cuando necesitemos enviar un resultado al «/dev/null», como actualmente lo hacemos en GNU/Linux).
Nuestra tabla quedaría de la siguiente manera:
Computación Reversible y Compuerta Fredkin.
De esta manera, si fijamos el valor W3=0 obtenemos la operación X3= W1 AND W2
Operacion AND en ternario balanceado
En este punto, si conocemos el resultado, aunque sea cero, siempre sabremos cuáles eran los valores que tenían W1 y W2. Es decir, el algoritmo sería reversible (la demostración matemática da para otro artículo completo).
De la teoría a la práctica
Por supuesto que necesitamos más tiempo y memoria (son más valores y más operaciones) para nuestro nuevo ordenador y en este escenario la monitorización con Pandora FMS sería prácticamente la misma, pero con la notable excepción de que cualquier último dato recogido por un módulo se podría reversar para comparar con el penúltimo dato recogido, por lo que tendríamos una monitorización que se puede auditar. Realmente toda una proeza.
Como la realidad siempre supera a la ficción, los biólogos piensan que la computación reversible en la naturaleza está bien representada en el Ácido Ribonucleico mensajero (ARNm), pues con su llegada las células tienen las instrucciones para duplicar proteínas necesarias para nuestra vida. Para nosotros, los seres humanos, el recurso del tiempo es realmente escaso. Siempre estamos desarrollando tecnología que sea más rápida porque nuestra vida es limitada, pero hay un campo donde el tiempo es muy abundante: en la exploración de nuestro universo.
ARN mensajero, Wikipedia
Viajes espaciales, ordenadores cuánticos y Computación Reversible
Un metro cúbico en el espacio exterior tendría a lo sumo dos o tres átomos: prácticamente es el vacío y la temperatura baja a 273 grados Celsius bajo cero (cerca de cero grados Kelvin). En estas condiciones existen metales que se convierten en superconductores y una corriente eléctrica puede circular por tiempo indefinido sin resistencia alguna y sin disipar energía alguna, en un fenómeno físico que no hemos comprendido totalmente. Hasta ahora, nuestras sondas las hemos enviado con plutonio; al desintegrarse emiten energía al costo de consumir su propia masa, para que los ordenadores puedan realizar sus operaciones básicas. Para comunicarse con nosotros obtienen energía adicional por los paneles solares.
Lanzamos la sonda espacial Voyager 1 hace 40 años y ahora está abandonando nuestro sistema solar (heliosfera) y mientras más lejos, menos energía obtiene del Sol. Así que necesitamos ordenadores que trabajen con una mínima cantidad de energía, y algo mejor aún: que puedan incluso recuperar la energía utilizada en los cálculos. Para ello entran en escena los ordenadores cuánticos, que podrían entregar un resultado (cálculos de navegación para corregir la ruta, si es necesario) a otro área de memoria y revertir el cómputo para volver a su estado original con prácticamente la misma cantidad de energía (recordemos la superconductividad).
Ubicación de la Voyager 1 (arriba) y la Voyager 2 (abajo) en los límites de nuestro sistema solar (NASA)
El esquema sería que cuando llegue a otra estrella cercana y obtenga de nuevo energía por los paneles solares, se enciendan los ordenadores principales y lancen una señal apuntando hacia donde nuestro planeta se va a encontrar en el futuro.
Si la Voyager 1 tuviera este tipo de ordenador que teorizamos, podría, en el año 40272, cuando pase cerca de otra estrella, hacer el cálculo de dónde estaríamos nosotros en 1,7 años hacia el futuro y disparar la información recabada. Recordemos que la información se obtiene a partir de los datos, y con la Computación Reversible con solo tener lo primero tendremos también lo segundo. Calculamos que para esa época tendremos antenas parabólicas a lo largo y ancho de todo nuestro vecindario espacial, para poder captar la muy débil señal que nos llegue, no sólo de los próximos artefactos que lancemos, ¡sino incluso las señales de otras posibles civilizaciones!
Vayamos ahora a la realidad actual: la NASA calcula que para el año 2030 los sistemas de la Voyager 1 se apagarán para siempre, pues se acabará la energía radioactiva y quedará orbitando a una velocidad de 48 mil 240 kilómetros por hora, dirigiéndose hacia el centro de nuestra galaxia y haciendo una revolución cada 225 millones de años terrestres. ¿Qué os parece?
Pandora FMS y la Monitorización No Convencional
Pandora FMS monitorización no convencional.
Así como existe el término Computación No Convencional, desde hace tiempo aquí en Pandora FMS nos hemos decantado por la Monitorización No Convencional, ya que nuestra consigna es la Flexibilidad y ejercemos lo que predicamos. Desde ya os ofrecemos las técnicas más novedosas de recolección de datos, consolidación de información, almacenamiento y presentación, ya sea desarrollado por nosotros mismos o por terceros de manera integrada: ¡estáis a un clic de nosotros!
Por favor, dejad vuestros comentarios a continuación.
Programador desde 1993 en KS7000.net.ve (desde 2014 soluciones en software libre para farmacias comerciales en Venezuela). Escribe regularmente para Pandora FMS y ofrece consejos en el foro. También colaborador entusiasta en Wikipedia y Wikidata. Machacador de hierros en gimnasios y cuando puede se ejercita en ciclismo también. Fanático de la ciencia ficción. Programmer since 1993 in KS7000.net.ve (since 2014 free software solutions for commercial pharmacies in Venezuela). He writes regularly for Pandora FMS and offers advice in the forum. Also an enthusiastic contributor to Wikipedia and Wikidata. Crusher of irons in gyms and when he can he exercises in cycling as well. Science fiction fan.