Computación en malla para niños
La computación en malla es una tecnología que permite usar de forma coordinada muchos recursos diferentes, como procesadores, almacenamiento y programas especiales. Estos recursos no están controlados por un solo lugar. Es una forma de computación distribuida, donde los equipos que participan pueden ser de tipos muy variados, desde pequeños dispositivos hasta supercomputadoras.
Los sistemas que forman parte de una malla se conectan a través de redes de área extensa, como internet. Esta tecnología empezó a desarrollarse en el ámbito científico a principios de los años 90. Más tarde, la idea de la computación bajo demanda la llevó al mercado comercial.
El término malla se refiere a una infraestructura que permite unir y usar en conjunto computadoras potentes, redes y bases de datos. Aunque estas pertenecen y son administradas por diferentes instituciones, la malla facilita que colaboren e intercambien datos o tiempo de computación. Universidades, laboratorios de investigación o empresas se unen para formar mallas usando programas especiales.
En la computación en malla, las redes funcionan como una forma de computación distribuida. Es como si un "supercomputador virtual" se formara al agrupar varias computadoras para realizar tareas muy grandes.
Contenido
- ¿Qué es la Computación en Malla?
- ¿Cómo Funciona la Computación en Malla?
- Arquitectura de la Malla
- Historia de la Computación en Malla
- Proyectos y Aplicaciones Actuales
- Características Clave de la Computación en Malla
- Mallas vs. Supercomputadoras Tradicionales
- Segmentación del Mercado de la Computación en Malla
- Áreas de Aplicación de la Computación en Malla
- Véase también
¿Qué es la Computación en Malla?
Llamamos malla a un sistema de computación distribuido que permite compartir recursos que no están en un solo lugar geográfico. Esto ayuda a resolver problemas de gran tamaño. Los recursos que se comparten pueden ser computadoras (como PC, estaciones de trabajo, supercomputadoras, PDA, portátiles, móviles), programas, datos, información, instrumentos especiales (como radio o telescopios) o incluso personas que colaboran.
La computación en malla consiste en conectar un grupo de computadoras de forma descentralizada para crear un superordenador virtual. La capacidad de cálculo se distribuye de manera flexible, lo que permite realizar tareas complejas usando varios recursos al mismo tiempo y aprovechar mejor la infraestructura.
Esta tecnología ofrece muchas ventajas. La potencia que se obtiene al conectar muchas computadoras en red usando una malla es casi ilimitada. Además, permite integrar perfectamente sistemas y dispositivos diferentes, sin problemas de conexión entre máquinas. Es una solución muy adaptable, potente y flexible, que evita la falta de recursos y nunca se queda anticuada, ya que se pueden cambiar sus componentes fácilmente.
Estos recursos se distribuyen en la red de forma transparente, pero siguiendo reglas de seguridad y gestión. El objetivo es compartir recursos en la red de manera uniforme, segura, transparente, eficiente y confiable. Ofrece un único punto de acceso a un conjunto de recursos que están distribuidos en diferentes lugares y administraciones. Esto puede llevar a la creación de empresas virtuales.
Es importante saber que una malla es un conjunto de máquinas distribuidas que ayudan a mejorar el trabajo con programas que requieren mucha potencia.
¿Cómo Funciona la Computación en Malla?
Para que la computación en malla funcione, se necesita un programa intermedio (llamado middleware) y puntos de conexión (nodos) que aseguren la comunicación entre los equipos distribuidos. Otro elemento importante es el motor de búsqueda. Este no solo ayuda al usuario a encontrar los datos que necesita, sino también las herramientas para analizarlos y la capacidad de cálculo necesaria para las operaciones.
Generalmente, la computación en malla empieza instalando un programa en las computadoras de los usuarios. Este programa se encarga de descargar una parte de la tarea total del proyecto. El programa usa la computadora cuando no está en uso, o aprovecha los recursos que la computadora no está utilizando en ese momento para no interferir con el trabajo normal del usuario. Una vez que el proceso termina, el programa envía los resultados a un servidor central y descarga la siguiente tarea. Cuantos más usuarios instalen el programa en sus equipos, más elementos se añaden a la red y más rápido se vuelve el proceso de computación.
Arquitectura de la Malla
La arquitectura de la computación en malla se describe por capas, y cada capa tiene funciones específicas. Gracias a esta estructura, la computación en malla se ha usado en tareas científicas y de investigación. Esta arquitectura se basa en protocolos, lo que significa que, entre cada nivel, los usuarios pueden establecer condiciones para aprovechar al máximo el uso compartido de recursos.
- En el nivel de infraestructura, también llamado fábrica, están los recursos de computación, como los servidores y las bases de datos. También incluye los mecanismos de control y gestión.
- El nivel de conectividad incluye los protocolos de comunicación y seguridad. Estos se usan para que los recursos físicos puedan comunicarse. Entre estos protocolos están SSL, certificados X.509 y la pila de protocolos TCP/IP. La seguridad es muy importante, ya que se pueden compartir recursos entre varias organizaciones que pueden tener sus propias reglas de seguridad.
- Dentro del nivel de recurso se negocia, controla y monitorea un recurso específico, así como toda su información. Aquí también se ejecutan los protocolos de control y monitoreo de ese recurso.
- En el nivel de servicios están todos los servicios que se pueden gestionar. Aquí se encuentra el servicio de directorios, que permite al usuario encontrar recursos de su interés. También están los planificadores distribuidos, que asignan tareas a cada recurso.
- Finalmente, en el nivel de aplicación los protocolos de esta capa permiten que los programas accedan a la infraestructura de la computación en malla. Dependiendo del tipo de programa, puede ser necesario conectarse a diferentes capas o acceder directamente a una de ellas, o incluso a la infraestructura.
Historia de la Computación en Malla
El término computación en malla surgió a principios de los años 90. La idea era que acceder a la potencia de las computadoras fuera tan sencillo como acceder a la red eléctrica. Esta comparación con la red eléctrica se hizo muy conocida cuando Ian Foster y Carl Kesselman publicaron su importante trabajo, The Grid: Blueprint for a new computer infrastructure, en 1999.
Las ideas de la computación en malla (que incluyen conceptos de computación distribuida, programación orientada a objetos y servicios web) fueron unidas por Ian Foster, Carl Kesselman y Steve Tuecke. A ellos se les conoce como los padres de la computación en malla. Lideraron la creación del Globus Toolkit, que no solo gestionaba la computación, sino también el almacenamiento, la seguridad, la transferencia de datos, el monitoreo y un conjunto de herramientas para desarrollar servicios adicionales. Aunque Globus Toolkit sigue siendo un estándar importante, se han creado otras herramientas para diferentes necesidades.
En 2007, el término computación en la nube se hizo popular. Este concepto es similar a la definición original de Foster de la computación en malla, en cuanto a que los recursos de computación se usan como la electricidad en una red.
Proyectos y Aplicaciones Actuales
Existen muchos proyectos que usan la computación en malla. Algunos programas permiten compartir datos a nivel mundial entre diferentes máquinas. Las redes en malla y las redes P2P (de igual a igual) tienen mucho en común, especialmente la idea de compartir recursos. Sin embargo, las redes P2P suelen ser más anónimas y usadas por usuarios de internet, mientras que las mallas nacen de una estructura más controlada y organizada en centros científicos. Una de las primeras experiencias fue GriPhyN, que unió nodos para procesos de física de altas energías en Estados Unidos.
Otro proyecto muy importante es SETI@home. Este proyecto cuenta con miles de computadoras conectadas a internet que ceden el tiempo de sus procesadores que no están usando. Así, analizan señales en busca de patrones inteligentes de origen extraterrestre. La computación en malla también se usa mucho en centros de investigación desde finales de los años 90, en proyectos de Física de Partículas, Astrofísica o Biología. En Europa, con el apoyo del Centro Europeo de Investigación Nuclear y un programa europeo, se creó el programa y la red EDG (malla de datos europea). El uso de la computación en malla en estos campos ha mejorado mucho los resultados en los últimos años.
Empresas e instituciones que han desarrollado estas tecnologías quieren usarlas comercialmente. Empresas como Microsoft e Sun Microsystems han visto la importancia de ofrecer computación en malla a sus clientes. Destaca el papel de IBM, que invierte en mallas para ofrecer a sus clientes ventajas como el ahorro de tiempo y dinero.
Existen varias soluciones comerciales:
- La Enterprise Grid Alliance (EGA): Se creó en California en 2004. Es un grupo de empresas de tecnología que busca desarrollar soluciones comerciales de computación distribuida y acelerar su uso en empresas.
- Sun Microsystems: Su programa Grid Engine facilita añadir máquinas a la malla y aprovecha automáticamente la potencia extra. Esto ahorra tiempo y recursos a través de una red en malla rápida y eficiente.
- Andago: Esta empresa ha aplicado su experiencia en proyectos de malla para llevar esta tecnología a entornos industriales y de negocios.
- JPPF: Este programa permite que aplicaciones que necesitan mucho procesamiento se ejecuten en varias computadoras diferentes. Gracias a su arquitectura basada en Java, puede distribuir tareas de forma dinámica y adaptable.
Existen varios programas intermedios (middleware) con muchas funciones. Dependiendo de la complejidad, los servicios y el tamaño de la red en malla que se quiera implementar, se elige la opción más adecuada. Algunas soluciones middleware de código abierto usadas son: EGEE para grandes proyectos, Globus Solutions para proyectos medianos y Grid Engine para implementaciones pequeñas.
Características Clave de la Computación en Malla
- Capacidad de balanceo de sistemas: No es necesario calcular la capacidad de los sistemas para los momentos de mayor trabajo, ya que la capacidad se puede reasignar desde el conjunto de recursos a donde se necesite.
- Alta disponibilidad: Si un servidor falla, los servicios se reasignan a los servidores restantes.
- Reducción de costes: Con esta arquitectura, los servicios son gestionados por "conjuntos de recursos". Ya no se necesitan "grandes servidores" y se pueden usar componentes más económicos. Cada sistema se puede configurar de la misma manera.
El concepto de malla se relaciona con la nueva generación del protocolo de internet. El nuevo protocolo de Internet IPv6 permitirá una Internet más rápida y accesible. Una de las ideas clave para superar las limitaciones actuales de Internet IPv4 es la aparición de nuevos niveles de servicio que usarán la nueva capacidad de la red para conectar computadoras.
Este avance en la comunicación permitirá que las ideas de computación en malla avancen, al usar la alta conectividad de Internet como soporte. Por eso, uno de los campos de mayor innovación en el uso de la computación en malla, más allá de las supercomputadoras, es el desarrollo de un estándar para definir los servicios en malla frente a los servicios web.
Tipos de Mallas según sus Características
- Intragrid: Se usan dentro de una misma empresa con recursos diferentes, utilizando redes locales (LAN). Esto reduce los problemas de seguridad y confiabilidad.
- Intergrid: Se usan entre varias empresas, lo que requiere manejar múltiples administraciones. Utilizan conexiones de área extensa (WAN), por lo que la seguridad y la confiabilidad son muy importantes.
Requisitos para una Red en Malla
Cualquier red en malla debe cumplir con estos requisitos:
- Los datos deben compartirse entre miles de usuarios con intereses diferentes.
- Se deben conectar los principales centros de supercomputación, no solo las computadoras personales.
- Se debe asegurar que los datos sean accesibles en cualquier lugar y en cualquier momento.
- Se deben coordinar las diferentes políticas de gestión de muchos centros distintos.
- Se debe proporcionar seguridad.
Beneficios de la Computación en Malla
La computación en malla ofrece las siguientes ventajas:
- Permite una colaboración transparente entre grupos de personas o empresas que están en diferentes lugares.
- Hace posible el funcionamiento de programas a gran escala.
- Facilita el acceso a recursos distribuidos desde nuestras computadoras.
- Coordina y gestiona procesos y tareas entre diferentes dispositivos.
- Permite aumentar la capacidad de cálculo y almacenamiento de forma económica para los procesos de una empresa.
- Procesa, analiza y presenta grandes cantidades de datos de forma simultánea a través de redes globales.
- Las tareas complejas se pueden resolver más rápido y de manera más eficiente.
Estos beneficios tienen un gran impacto en muchos campos:
- Medicina (imágenes, diagnóstico y tratamiento).
- Bioinformática (estudios en genómica y proteómica).
- Nanotecnología (diseño de nuevos materiales a escala molecular).
- Ingeniería (diseño, simulación, análisis de fallos y acceso remoto a instrumentos de control).
- Recursos naturales y medio ambiente (previsión meteorológica, observación del planeta, modelos y predicción de sistemas complejos).
La tecnología de malla abre muchas posibilidades para desarrollar programas en diversos sectores, como el desarrollo científico y tecnológico, la educación, la salud y la administración pública.
Desafíos de la Computación en Malla
A pesar de sus ventajas, la computación en malla también tiene algunos desafíos que deben resolverse:
- Recursos diferentes: La red debe ser capaz de manejar cualquier tipo de recurso del sistema, de lo contrario, no sería útil.
- Gestión compleja: Descubrir, seleccionar, reservar, asignar, gestionar y monitorear los recursos son procesos que deben controlarse externamente y que afectan el funcionamiento de la red.
- Necesidad de desarrollo: Se necesitan programas específicos para manejar la red y modelos eficientes de uso.
- Comunicación: La comunicación puede ser lenta y no uniforme en algunos casos.
- Organización: Hay desafíos relacionados con las diferentes administraciones, el modelo de uso y los costos, y las políticas de seguridad.
- Economía: El precio de los recursos y la relación entre oferta y demanda.
- Administración: En algunos casos, la administración es compleja y los componentes del sistema pueden ser incompatibles.
- Rendimiento: La potencia de cálculo no siempre aumenta de forma lineal con el número de computadoras conectadas.
Mallas vs. Supercomputadoras Tradicionales
La computación en malla es un tipo especial de computación paralela. Se basa en computadoras completas (con procesador, almacenamiento, energía, conexiones de red, etc.) conectadas a una red (privada, pública o internet) mediante una conexión de red normal. Esto usa hardware sencillo, a diferencia del diseño y construcción complejos de un pequeño número de supercomputadoras personalizadas. La principal desventaja en rendimiento es que los diferentes procesadores y áreas de almacenamiento locales no tienen conexiones de muy alta velocidad. Esta configuración es adecuada para programas donde se pueden realizar muchas operaciones paralelas de forma independiente, sin necesidad de que los procesadores se comuniquen resultados de inmediato.
También hay diferencias en la programación y la implementación. Escribir programas para un supercomputador puede ser costoso y complicado, ya que puede tener un sistema operativo especial o requerir un programa para manejar problemas de concurrencia. Si un problema se puede dividir en partes paralelas de forma adecuada, una capa simple de infraestructura de malla puede permitir que programas normales e independientes se ejecuten en varias máquinas. Esto hace posible escribir y probar programas en una sola máquina convencional, y elimina las complicaciones de que varias copias del mismo programa se ejecuten al mismo tiempo en la misma memoria y almacenamiento compartidos.
Segmentación del Mercado de la Computación en Malla
Para entender el mercado de la computación en malla, podemos verlo desde dos puntos de vista: el del proveedor y el del usuario.
El Punto de Vista del Proveedor
El mercado de la computación en malla abarca varios mercados específicos: el mercado del middleware, el mercado de programas que usan la malla, el mercado de computación bajo demanda y el mercado del software como servicio (SaaS).
El middleware para mallas es un programa específico que permite compartir recursos diferentes y crear "organizaciones virtuales". Se instala e integra en la infraestructura existente de una o varias empresas, y crea una capa especial sobre la infraestructura y los programas del usuario. Los principales middleware son Globus Toolkit, gLite y UNICORE.
La computación bajo demanda se refiere a ofrecer la computación en malla y los programas como un servicio, ya sea como una malla abierta o como una solución de alojamiento para una organización. Los principales competidores en este mercado son Sun Microsystems, IBM y HP.
Los programas que usan la malla son aplicaciones específicas que pueden utilizar la infraestructura de la malla. Esto es posible gracias al middleware de la malla.
El software como servicio (SaaS) es un "programa que es propiedad, se ofrece y se gestiona de forma remota por uno o más proveedores". Además, los programas SaaS se basan en un único conjunto de código y datos comunes. Se usan en un modelo de "uno a muchos" y se paga por suscripción, según el uso. Los proveedores de SaaS no siempre son dueños de los recursos de computación necesarios para ejecutar su SaaS. El mercado de la computación bajo demanda proporciona esos recursos a los proveedores de SaaS.
El Punto de Vista del Usuario
Para las empresas o usuarios que demandan computación en malla, los diferentes segmentos tienen implicaciones importantes para su estrategia de tecnología. La forma en que una empresa decide implementar su tecnología y el tipo de inversiones que hace son aspectos relevantes para los posibles usuarios de mallas y juegan un papel importante en la adopción de esta tecnología.
Áreas de Aplicación de la Computación en Malla
Hay cinco áreas principales de trabajo que se definen por las necesidades de cálculo, espacio de almacenamiento de datos y tiempo de respuesta:
- Supercomputación distribuida: Aquí se encuentran los programas que no se pueden ejecutar en una sola computadora, ya que necesitan muchos recursos en momentos específicos. Ejemplos son las simulaciones, herramientas de cálculo numérico, análisis de datos y extracción de conocimiento. Con la computación en malla, se puede crear una máquina potente capaz de resolver problemas que solo una supercomputadora podría, lo que reduce costos y mejora la velocidad y los tiempos de producción.
- Sistemas distribuidos en tiempo real: Hay programas que generan datos muy rápido en tiempo real, y es necesario procesarlos al instante. Por ejemplo, experimentos de física de alta energía o control remoto de equipos médicos de precisión. Procesar estos datos en tiempo real es posible porque la computación en malla proporciona los recursos físicos necesarios, facilitando los procesos gracias a su flexibilidad y la colaboración de usuarios que aportan recursos tecnológicos, datos, procesamiento y almacenamiento.
- Procesamiento intensivo de datos: Los sistemas de bases de datos distribuidas requieren mucho espacio de almacenamiento, y a menudo una sola computadora no tiene suficiente capacidad. Aquí es donde la computación en malla ayuda a aumentar la capacidad de almacenamiento sin aumentar los costos. Los datos se distribuyen por toda la malla, y se puede acceder a ellos desde cualquier lugar geográfico.
- Entornos virtuales de colaboración: Esta área está relacionada con la teleinmersión, donde se aprovechan los grandes recursos de la computación en malla para crear entornos 3D distribuidos. Es difícil tener el software y hardware necesarios para estas tareas debido a la infraestructura o los altos costos. Por eso, la computación en malla es muy útil para aprovechar al máximo las diferentes máquinas conectadas y satisfacer las necesidades de estas aplicaciones.
- Servicios específicos: En esta área, se ofrecen recursos que una organización podría considerar no esenciales. La computación en malla puede ofrecer esos recursos sin que la organización tenga que desarrollarlos por sí misma. Algunos ejemplos son los programas que permiten acceder a hardware muy específico. Cuando una empresa no tiene el hardware necesario, puede recurrir a otras alternativas que no impliquen comprar el recurso, lo que ayuda a reducir costos al tener acceso a los equipos necesarios para esa tarea específica.
Véase también
En inglés: Grid computing Facts for Kids
Alianzas y organizaciones
- Open Grid Forum (Anteriormente Global Grid Forum)
- Object Management Group
Redes de producción
- European Grid Infrastructure
- Enabling Grids for E-sciencE
- INFN Production Grid
- NorduGrid
- OurGrid
- Sun Grid
- Techila
- Xgrid
Proyectos internacionales
Nombre | Región | Inicio | Fin |
---|---|---|---|
Open Middleware Infrastructure Institute Europe (OMII-Europe) | Europa | Mayo de 2006 | Mayo de 2008 |
Enabling Grids for E-sciencE (EGEE, EGEE II y EGEE III) | Europa | Marzo de 2004 | Abril de 2010 |
Grid enabled Remote Instrumentation with Distributed Control and Computation (GridCC) | Europa | Septiembre de 2005 | Septiembre de 2008 |
European Middleware Initiative (EMI) | Europa | Mayo de 2010 | activo |
KnowARC | Europa | Junio de 2006 | Noviembre de 2009 |
Nordic Data Grid Facility | Escandinavia y Finlandia | Junio de 2006 | Diciembre de 2012 |
World Community Grid | Global | Noviembre de 2004 | activo |
XtreemOS | Europa | Junio de 2006 | (Mayo de 2010) ext. a septiembre de 2010 |
OurGrid | Brasil | Diciembre de 2004 | activo |