Computación distribuida

Computación distribuida

La computación distribuida o informática en malla, es un nuevo modelo para resolver problemas de computación masiva utilizando un gran número de ordenadores organizadas en racimos incrustados en una infraestructura de telecomunicaciones distribuida.

Contenido

Sistemas distribuidos

Un sistema distribuido se define como: una colección de computadoras separadas físicamente y conectadas entre sí por una red de comunicaciones distribuida; cada máquina posee sus componentes de hardware y software que el usuario percibe como un solo sistema (no necesita saber qué cosas están en qué máquinas). El usuario accede a los recursos remotos (RPC) de la misma manera en que accede a recursos locales, o un grupo de computadores que usan un software para conseguir un objetivo en común.

Los sistemas distribuidos deben ser muy confiables, ya que si un componente del sistema se descompone otro componente debe ser capaz de reemplazarlo, esto se denomina Tolerancia a Fallos.

El tamaño de un sistema distribuido puede ser muy variado, ya sean decenas de hosts (red de área local), centenas de hosts (red de área metropolitana), y miles o millones de hosts (Internet); esto se denomina escalabilidad. [1]

Características

  1. Para cada uno de los usuarios debe ser similar al trabajo en el Sistema Centralizado.
  2. Seguridad interna en el sistema distribuido.
  3. Se ejecuta en múltiples Computadoras.
  4. Tiene varias copias del mismo Sistema Operativo o de diferentes Sistemas Operativos que proveen los mismos servicios.
  5. Entorno de trabajo cómodo.
  6. Dependiente de redes (LAN, MAN, WAN, etc.).
  7. Compatibilidad entre los dispositivos conectados.
  8. Transparencia (El uso de múltiples procesadores y el acceso remoto debe ser invisible).[2]
  9. Interacción entre los equipos.
  10. Diseño de software compatible con varios usuarios y sistemas operativos

Objetivo

La computación distribuida ha sido diseñada para resolver problemas demasiado grandes para cualquier supercomputadora y mainframe, mientras se mantiene la flexibilidad de trabajar en múltiples problemas más pequeños. Por lo tanto, la computación en grid es naturalmente un entorno multiusuario; por ello, las técnicas de autorización segura son esenciales antes de permitir que los recursos informáticos sean controlados por usuarios remotos.

Clasificación

En términos de funcionalidad, las mallas se clasifican en computacionales (incluyendo mallas de barrido de la CPU) y en mallas de datos. y en los estados son:

Globus

La herramienta Globus ha emergido como el estándar de facto para la capa intermedia (middleware) de la malla. Globus tiene recursos para manejar:

  1. La gestión de recursos(Protocolo de Gestión de Recursos en Malla o Grid Resource Management Protocol)
  2. Servicios de Información (Servicio de Descubrimiento y Monitorización o Monitoring and Discovery Service)
  3. Gestión y Movimiento de Datos (Acceso Global al Almacenamiento Secundario, Global Access to secondary Storage y FTP en malla, GridFTP)

La mayoría de mallas que se expanden sobre las comunidades académicas y de investigación de Globus Toolkit como núcleo de la capa intermedia.

XML

Los servicios web basados en XML ofrecen una forma de acceder a diversos servicios/aplicaciones en un entorno distribuido. Recientemente, el mundo de la informática en malla y los servicios web caminan juntos para ofrecer la malla como un servicio web. La arquitectura está definida por la Open Grid Services Architecture (OGSA). La versión 3.0 de Globus Toolkit, que actualmente se encuentra en fase alfa, será una implementación de referencia acorde con el estándar OGSA.

Las mallas ofrecen una forma de resolver grandes retos, como el plegamiento de las proteínas y descubrimiento de medicamentos, modelización financiera, simulación de terremotos, inundaciones y otras catástrofes naturales, modelización del clima/tiempo, etc. Ofrecen un camino para utilizar los recursos de las tecnologías de la información de forma óptima en una organización.

Computación de ciclos redundantes

El modelo de computación de ciclos redundantes, también conocido como computación zombi, es el empleado por aplicaciones como Seti@Home, consistente en que un servidor o grupo de servidores distribuyen trabajo de procesamiento a un grupo de computadoras voluntarias a ceder capacidad de procesamiento no utilizada. Básicamente, cuando dejamos nuestro ordenador encendido, pero sin utilizarlo, la capacidad de procesamiento se desperdicia por lo general en algún protector de pantalla, este tipo de procesamiento distribuido utiliza nuestra computadora cuando nosotros no la necesitamos, aprovechando al máximo la capacidad de procesamiento.

Clustering

Otro método para crear sistemas de supercomputadoras es el clustering. Un cluster o racimo de computadoras consiste en un grupo de computadoras de relativo bajo costo conectadas entre sí mediante un sistema de red de alta velocidad (gigabit de fibra óptica por lo general) y un software que realiza la distribución de la carga de trabajo entre los equipos. Por lo general, este tipo de sistemas cuentan con un centro de almacenamiento de datos único. Los clusters tienen la ventaja de ser sistemas redundantes,al estar fuera de servicio el procesador principal el segundo se dispara y actúa como un Fail Over.

Grid

La computación en grid o en malla es un nuevo paradigma de computación distribuida en el cual todos los recursos de un número indeterminado de computadoras son englobados para ser tratados como un único superordenador de manera transparente.

Estas computadoras englobadas no están conectadas o enlazadas firmemente, es decir no tienen por qué estar en el mismo lugar geográfico. Se puede tomar como ejemplo el proyecto SETI@Home, en el cual trabajan computadoras alrededor de todo el planeta para buscar vida extraterrestre.

Seguridad

El punto de la seguridad es delicado en este tipo de computación distribuida pues las conexiones se hacen de forma remota y no local, entonces suelen surgir problemas para controlar el acceso a los otros nodos. Esto puede aprovecharse para un ataque de DoS, aunque la red no va a dejar de funcionar porque uno falle. Esa es una ventaja de este sistema grid.

Diferencias entre los distintos tipos de computación distribuida

SSI (Single System Image): en un SSI todas las computadoras vinculadas dependen de un sistema operativo común, diseñado al efecto. En cambio, un grid es heterogéneo, en el sentido en que las computadoras pueden tener diferentes sistemas operativos.

Algunos ejemplos de estos sistemas operativos son:

  • Amoeba (inactivo)
  • BProc
  • DragonFly BSD (meta a largo plazo)
  • Genesis
  • Kerrighed
  • Mosix/OpenMosix
  • Nomad (inactivo)
  • OpenSSI
  • Plurix
  • Sprite (inactivo)
  • TruCluster

Cluster de computadores: En un cluster todos los nodos se encuentran en el mismo lugar, conectados por una red local y así englobar todos lo recursos, en cambio en un grid no tienen por qué estar en el mismo espacio geográfico, pueden estar en diferentes puntos del mundo.

También suele presentarse que GRID se le llama cuando el resultado obtenido del englobe de las máquinas da una supercomputadora, con un cluster solo se busca mejorar el rendimiento de las máquinas englobándolas en una sola.

Referencias

  • Ian Foster, Carl Kesselman (1999). La Grilla 2: Planos para una Nueva Infraestructura Informática (The Grid 2: Blueprint for a New Computing Infrastructure). Morgan Kaufmann Publishers. ISBN. Website.
  • Fran Berman, Anthony J.G. Hey, Geoffrey Fox (2003). La malla informática: haciendo realidad la Infraestructura Global (Grid Computing: Making The Global Infrastructure a Reality). Wiley. ISBN. Online version.

Véase también


Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Computación distribuida — La computación distribuida, computación en grilla o informática en rejilla, es un nuevo modelo para resolver problemas de computación masiva utilizando un gran número de ordenadores organizados en racimos incrustados en una infraestructura de… …   Enciclopedia Universal

  • Computación en nube — Computación en la nube. La computación en la nube concepto conocido también bajo los términos informática en la nube, nube de cómputo o nube de conceptos, del inglés Cloud computing, es un paradigma que permite ofrecer servicios de computación a… …   Wikipedia Español

  • Computación grid — En sus comienzos grid computing era una forma de aprovechar recursos computacionales diversos …   Wikipedia Español

  • Computación de alto rendimiento — El campo de computación de alto rendimiento (High performance Computing o HPC en inglés) es una herramienta muy importante en el desarrollo de simulaciones computacionales a problemas complejos. Para lograr este objetivo, la computación de alto… …   Wikipedia Español

  • Computación Científica — La Computación Científica (o Ciencia Computacional) es el campo de estudio relacionado con la construcción de modelos matemáticos y técnicas numéricas para resolver problemas científicos, de ciencias sociales y problemas de ingeniería.… …   Wikipedia Español

  • Computación centralizada — La computación centralizada es cuando el proceso de cómputo es realizado en una localización central, usando terminales conectados a una computadora central. La computadora en sí misma puede controlar todos los periféricos directamente (si están… …   Wikipedia Español

  • Computación paralela — La supercomputadora Cray 2 fue la más rápida del mundo desde 1985 hasta 1989. La computación paralela es una técnica de programación en la que muchas instrucciones se ejecutan simultáneamente.[1] Se basa …   Wikipedia Español

  • Computación concurrente — La computación concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un conjunto de procesos o hilos de ejecución creados por un único programa. Las tareas se pueden ejecutar en una sola unidad… …   Wikipedia Español

  • Proyecto Athena (computación) — Saltar a navegación, búsqueda Proyecto Athena Para otros usos de este término, véase Athena. El proyecto Athena era un proyecto en conjunto entre el MIT, Digital Equipment Corporation, e …   Wikipedia Español

  • Programación distribuida — Saltar a navegación, búsqueda La programación distribuida es un paradigma de programación enfocado en desarrollar sistemas distribuidos, abiertos, escalables, transparentes y tolerantes a fallos. Este paradigma es el resultado natural del uso de… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”