|
Más de treinta millones de llamadas telefónicas diarias hacemos los mexicanos. ¿Qué patrones de comportamiento tienen, quién llama, para qué, a qué horas? ¿Qué nuevos servicios se pueden ofrecer? Millones de personas generan una cacofonía de mensajes en Twitter, Buzz, mySpace, etcétera. ¿Cómo van en esas redes sociales los rumores sobre Diego Fernández de Cevallos?
En una red mediana de cómputo viajan miles de paquetes de datos cada segundo. ¿Cuáles de esos los originan virus o lectores de teclado («keyboard sniffers») que envían cada teclazo que usted da a un astuto malhechor para robarle las contraseñas instantes después de que las teclea? Los instrumentos de medición o supervisión de una planta industrial leen temperaturas, presiones, flujos, puertas abiertas, interruptores cerrados, arranques de motores, varias veces por segundo. ¿Está la planta llegando a un punto de trabajo peligroso, conviene bajar la temperatura de cuáles reactores? ¿Cuáles fueron los artículos de La Crónica o Proceso más leídos la semana pasada? ¿La última hora? (Basta contar los clics que hacen los lectores sobre las diversas secciones de la versión digital).
Varios miles de cámaras en el Metro, en avenidas, lugares públicos, cajeros automáticos, bancos, establecimientos comerciales… transmiten imágenes unas dos veces por segundo. ¿Cómo se podrán detectar “patrones de comportamiento anómalos” (asaltos, tumultos, incendios…)? ¿Cómo se procesa todo este torrente de datos, que fluye continuamente?
Tradicionalmente, los datos se guardan en bases de datos que yacen en el disco duro (“memoria secundaria”) de una computadora. Una vez “en reposo”, se explotan mediante preguntas expresadas en el lenguaje SQL («standard query language») o similar. A estos datos se les analiza mediante muy diversos programas que ayudan a la toma de decisiones, detectan situaciones de interés, aplicaciones de minería de datos (la búsqueda de anomalías, desviaciones y situaciones interesantes en un mar de datos), detectores de eventos complejos (que requieren atención de los gerentes del negocio) y muchos otros.
Este paradigma tradicional de la computación se basa en que “los datos llegan a mi máquina, se guardan en memoria secundaria y luego se analizan para beneficio de la actividad sustantiva de mi empresa o institución”. Muy bien. Pero cada vez tenemos más datos, más documentos en Internet, más correos electrónicos, más mensajes breves. En el vertiginoso campo de la computación, nuevos paradigmas aparecen, nuevas maneras de transformar los datos en información, en resultados, en acciones. Analicemos algunos.
Torrentes de datos. En vez de que los datos lleguen primero (y se guarden en bases de datos) y las preguntas o análisis ocurran después, invirtamos la situación. Las preguntas o procesos ahora estarán esperando a que los datos lleguen. Los datos fluyen como torrentes de bits a través de estas preguntas, que los analizan conforme van pasando. Los resultados (qué páginas o secciones de una revista son más consultadas, por ejemplo) se obtienen al instante, si así se desea, y quizá los datos (ya “exprimidos” de su valor informativo) no necesiten guardarse. A menudo el flujo del torrente cabe en la memoria principal de la computadora, dando significativas velocidades de proceso: no hay necesidad de acceder el disco, lento comparado con memoria principal. Éste es el paradigma del análisis de torrentes de datos («data streaming», no confundir con «video streaming», técnica que consiste en enviar en pedazos un archivo de video grande, para que usted pueda empezar a ver el primer trozo de la película mientras los demás se están cargando). El análisis de torrentes es adecuado cuando hay una fuente constante y enorme de información y cuando los resultados de lo que sucedió en el último día o la última hora son mucho más importantes de lo que sucedió en mes o año pasados.
Cómputo en la red («Grid computing», no confundir con “computadoras en red”, que sólo significa que se pueden comunicar unas con otras, y quizá con la Web). Si usted necesita una gran cantidad de procesamiento, por ejemplo para estudiar el movimiento de muchos cuerpos (planetas o galaxias, quizá, o para hacer muchas simulaciones y encontrar la mejor manera de invertir su dinero) que interactúan en forma compleja, la solución tradicional era comprar (o rentar tiempo de máquina en) una supercomputadora de procesamiento en paralelo, con costos cercanos al millón de dólares. Otra solución algo más barata era comprar un grupo (un «cluster») de máquinas, diseñado este grupo para trabajar en conjunto. En vez de eso, ¿Por qué no aprovechar las muchas computadoras personales que típicamente yacen subutilizadas en una dependencia? ¡Ah, si fuera posible usar todas las estufas subutilizadas de mis vecinos en vez de tener que comprar un super-horno para hornear todo este pan que tengo que procesar! Esto es posible con el cómputo en la red, donde un programa (gratuito generalmente) organiza a todas estas PCs para que, a petición de una de ellas, unan esfuerzos de manera ordenada para resolver un problema grande, cada una resolviendo un trozo del mismo.
Desde la computadora donde se origina el problema se tiene que enviar los datos a las máquinas que los procesarán, y recolectar los resultados. El enfoque de MapReduce, extensamente utilizado por Google, y la aplicación Hadoop, son herramientas que le permiten descuartizar su problema grande en trozos manejables por las PCs, integrar los resultados y tolerar que cierta PCs falle o no responda (quizá porque su usuario se olvidó que esta en “cómputo en red” y la apagó, o porque el vigilante del edificio rutinariamente baja por la noche el switch principal, o porque quien hace la limpieza movió unos cables que estaban sueltos y la desconectó de Internet).
Algo similar se logra con el Lenguaje Común durante Ejecución («Common Language Runtime») de Microsoft. Estos enfoques son útiles cuando la aplicación o problema a resolver requiere de mayor desfogue que una PC normal, por lo que se usa frecuentemente en cálculos científicos (predicción del clima, análisis de genomas…). No son del todo fáciles de usar, sin que sean tampoco de gran complejidad.
Cómputo en las nubes. («cloud computing»). Este paradigma hace posible rentar en vez de comprar equipo de cómputo. Grandes granjas de computadoras son accesibles desde Internet (Google, Yahoo, Amazon…). Si hay carga de trabajo variable, se pueden rentar más procesadores, y “devolverlos” cuando ya no se usen. Evito invertir en equipo que dentro de poco tiempo se hará obsoleto; su mantenimiento, aire acondicionado, antivirus, actualización de software. Sólo tengo que tener PCs ligeras que actúan básicamente como terminales. Una organización puede usar en la nube software propio (desarrollado internamente), o puede rentar software comercial que corre en la nube. Puedo usar la nube simplemente para respaldar mi información. Aún si sus requerimientos de cómputo no son enormes, el cómputo en las nubes puede ser utilizado. Rentar en vez de comprar equipo es una decisión basada en qué tan críticos son los datos para mi organización, y en consideraciones económicas (“¿y si suben de improviso la renta mensual?”). Una idea que pongo a consideración de nuestros colegas informáticos es organizar en una “nube de cómputo” la capacidad de cómputo (formada casi exclusivamente por PCs) instalada en una institución como el Centro de Investigación en Computación del IPN. Esta nube estaría al servicio de los miembros que tengan trabajo pesado.
Aplicaciones ligeras en Internet. Si usted no hace cómputos intensivos, el cómputo en las nubes no es para usted. Quizá use su computadora para enviar correos, mensajes breves, conversar con amigos («chatear» mediante mensajes de texto) o hablar gratis por teléfono a cualquier computadora del mundo, usando el software libre Skype o similar), buscar información con Google, escribir un documento o carta de vez en cuando, leer periódicos y revistas, y hojear páginas que alguien le recomienda. En este caso, ¿para qué guardar información en su PC? No estará accesible desde otra máquina. Usamos una barrita USB de memoria para este fin. ¿No será mejor guardarla en la red, para que esté allí siempre, accesible desde cualquier lugar con Internet? Esa es la idea detrás del sistema operativo Chrome de Google (gratuito; no confundir con el navegador Chrome, del mismo nombre y fabricante, también gratuito), que aparecerá este año. Chrome conectará su máquina a Internet en unos 9 segundos, dice su fabricante, pues todo lo que necesita hacer es reconocer al disco, la impresora, otro par de periféricos y abrir acceso a Internet.
Está basado en la idea de que usted guardará poca información en su PC. Sus documentos, videos, imágenes, correos, chats, búsquedas, estarán en la Web. Actualmente, esto ya es parcialmente posible: usted puede alojar sus videos en YouTube, sus documentos en divshare.com (y otros sitios), compartirlos con otros colaboradores para trabajo conjunto a través de «Google Documents», abrir grupos de discusión (en Yahoo, en Google…) para intercambio de mensajes, o usar la nueva aplicación «Wave» de Google, una combinación de correo electrónico, «chat», documentos e imágenes compartidas. Sin costo. Este paradigma de computación es útil para personas que llevan a cabo pocas transformaciones de los datos que manejan, enfocados más a intercambio de mensajes, lectura y edición de documentos o videos.
|