¿Qué es la informática distribuida?

12 de julio de 2024

Autores

Phill Powell

Staff Writer

Ian Smalley

Senior Editorial Strategist

¿Qué es la computación distribuida?

La computación distribuida utiliza numerosos recursos informáticos en diferentes ubicaciones operativas para un único propósito informático.

Los sistemas de computación distribuida hacen que las cosas sucedan a lo grande. Piénselo la próxima vez que juegue a un videojuego multijugador masivo en línea (MMO). Para gestionar eficazmente un MMO, se necesitan sistemas completos que se unan y trabajen en estrecha colaboración para ofrecer una experiencia en línea fluida que miles de jugadores compartan simultáneamente en un entorno en tiempo real.

La computación distribuida ayuda a los proveedores a reunir ese tipo de sincronización coordinada y poder de procesamiento informático hacia un objetivo común.

Y ese es solo un ejemplo de las muchas y amplias aplicaciones para servicios de computación distribuida que se utilizan ahora, incluida la creación de gráficos 3D vívidos para animaciones de vídeo, el entrenamiento de redes neuronales que imitan la funcionalidad del cerebro humano y la resolución de ecuaciones extremadamente complejas relacionadas con la química y la física.

Por lo general, el modelo de computación distribuida toma las tareas y cargas de trabajo informáticas más intensivas y se ocupa de los desafíos computacionales más serios, por lo que requiere el uso de múltiples componentes y memoria compartida.

Diseño 3D de bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


Descubra ideas y noticias de expertos sobre IA, nube y mucho más en el boletín semanal Think. 

¿Cómo funciona la computación distribuida?

La computación distribuida reúne múltiples ordenadores, servidores y redes para realizar tareas informáticas de tamaños y propósitos muy variados. En sistemas informáticos pequeños y distribuidos con componentes cercanos entre sí, estos componentes se pueden vincular a través de una red de área local (LAN).

En sistemas distribuidos más grandes cuyos componentes están separados geográficamente, los componentes están conectados a través de redes de área amplia (WAN). Los componentes de un sistema distribuido comparten información a través de cualquier tipo de red que se utilice. El ejemplo más conocido de un sistema distribuido es Internet. Quizás el ejemplo más controvertido de un sistema distribuido en los últimos tiempos es la criptomoneda.

Componentes de la computación distribuida

Desde una perspectiva computacional, en términos del número de componentes típicamente implicados, incluso las formas más básicas de computación distribuida suelen contener tres componentes básicos:

  • Controlador principal del sistema
  • Almacenamiento de datos del sistema
  • Base de datos

Sin embargo, no existen reglas estrictas que limiten lo que constituye una circunstancia de computación distribuida o cuántos componentes de software son necesarios para dar vida a su funcionalidad. Puede haber unos cuantos componentes trabajando dentro de esa cadena (o red), o la instancia puede incorporar bastantes más.

Esta es una de las grandes ventajas de utilizar un sistema de computación distribuida; el sistema se puede ampliar añadiendo más máquinas. La otra ventaja significativa es el aumento de la redundancia, por lo que si un ordenador de la red falla por cualquier motivo, el trabajo del sistema continúa sin cesar, a pesar de ese punto de fallo.

Este concepto de redundancia añadida va de la mano con un énfasis en la tolerancia a fallos. La tolerancia a fallos es un proceso correctivo que permite a un sistema operativo responder y corregir un fallo en el software o el hardware mientras el sistema sigue funcionando. La tolerancia a fallos se ha convertido en una medida general de la viabilidad empresarial continua ante un fallo disruptivo.

Así pues, los sistemas informáticos distribuidos no están sujetos a límites en cuanto al número de componentes. Tampoco se exige que esos componentes estén físicamente situados cerca unos de otros y conectados por redes de área local. Gracias a las capacidades ampliadas de las redes de área extensa, los ordenadores de un sistema de computación distribuida pueden estar separados por continentes sin perder su operatividad.

Conexión de redes de computación distribuida

El objetivo de los sistemas de computación distribuida es hacer que esa red de computación distribuida, sin importar su tamaño ni dónde se encuentren sus componentes, funcione como si fuera un solo ordenador. Esta coordinación se logra mediante un elaborado sistema de paso de mensajes entre los distintos componentes.

Los protocolos de comunicación gobiernan ese intercambio de mensajes de ida y vuelta y crean una forma de relación que existe entre estos componentes. Esta relación se conoce como "acoplamiento", que normalmente se expresa en una de dos formas:

  • Acoplamiento suelto: la conexión entre dos componentes poco acoplados es lo suficientemente débil como para que las alteraciones en uno de ellos no repercutan en el otro componente.
  • Acoplamiento hermético: el nivel de sincronización y paralelismo es tan grande en componentes estrechamente acoplados que un proceso llamado “clúster” utiliza componentes redundantes para garantizar la viabilidad continua del sistema.

La computación distribuida también se ocupa de los efectos positivos y negativos de la concurrencia, que es la ejecución simultánea de múltiples secuencias de instrucciones operativas. Entre sus cualidades positivas destaca el hecho de que la concurrencia permite la computación paralela de múltiples hilos de proceso. (No debe confundirse la computación paralela con el procesamiento paralelo, que es un proceso por el que las tareas de tiempo de ejecución se dividen en múltiples tareas más pequeñas).

Los aspectos negativos asociados con la simultaneidad a menudo incluyen un aumento de la latencia e incluso cuellos de botella en los que el tráfico se detiene casi por completo debido a la sobrecarga del sistema informático distribuido con un número excesivo de solicitudes de componentes.

La concurrencia difiere del concepto de multihilo, que permite que un programa siga ejecutándose mientras otras tareas se realizan en segundo plano. La concurrencia representa una mayor pérdida de recursos, ya que varios subprocesos se ejecutan al mismo tiempo y acceden a los recursos compartidos simultáneamente.

AI Academy

Cómo prepararse para la IA con la nube híbrida

El plan de estudios, dirigido por los principales líderes de pensamiento de IBM, está diseñado para ayudar a los líderes empresariales a adquirir los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.

Beneficios de la computación distribuida

Perfecta para proyectos grandes

Algunas cargas de trabajo de procesamiento son enormes, y más de lo que la mayoría de los sistemas individuales pueden soportar. La computación distribuida comparte estas cargas de trabajo entre múltiples equipos, por lo que los grandes trabajos pueden ser abordados con capacidad.

Permite compartir recursos

La computación distribuida funciona según el concepto de activos compartidos y admite el intercambio de recursos como datos, software y hardware entre los diversos componentes dentro de esa instancia de computación distribuida.

Ideal para cambiar de tráfico

El tráfico en línea de muchas organizaciones está sujeto a cambios rápidos y drásticos, posiblemente debido a noticias reportadas u otros factores. La computación distribuida proporciona la flexibilidad que las empresas necesitan para resistir tales aumentos.

Rendimiento optimizado

La computación distribuida aumenta los niveles de rendimiento al dividir grandes trabajos de procesamiento en tareas informáticas más pequeñas, que son compartidas por numerosas computadoras. Esto da como resultado una cantidad acumulada de velocidad de procesamiento y un mayor almacenamiento total.

Rentabilidad

Aunque es cierto que la computación distribuida, con sus múltiples sistemas, tiene mayores costes iniciales que los sistemas de procesamiento centralizado, con el tiempo esos costes se promedian debido a las eficiencias de costes logradas a través de una menor latencia y tiempos de respuesta más rápidos, lo que en última instancia hace que la computación distribuida sea más rentable que los sistemas centralizados.

Tipos de computación distribuida

Los tipos de computación distribuida se clasifican según la arquitectura de computación distribuida que cada uno emplea.

Sistema cliente-servidor

Los sistemas cliente-servidor utilizan una arquitectura cliente-servidor que les permite utilizarse con más de un sistema. En este, un cliente dirigirá la entrada al servidor en forma de solicitud. Esta comunicación generalmente implicará un comando para que se realice una tarea particular o una solicitud de más recursos informáticos. Luego, el servidor trabaja para cumplir esa tarea o asignar los recursos solicitados. Una vez realizado esto, el servidor responde al cliente con un mensaje sobre la acción realizada.

Sistema de pares

Mientras que los sistemas centralizados utilizan una arquitectura cliente-servidor, un sistema de pares se basa en una arquitectura de pares (a menudo denominada arquitectura entre pares). Los sistemas de pares utilizan nodos, que pueden funcionar eficazmente como cliente o servidor, ya sea identificando necesidades y emitiendo solicitudes o trabajando para satisfacer esas necesidades e informar sobre las operaciones. Como su nombre indica, no hay jerarquía en los sistemas de pares, por lo que los programas que operan en sistemas entre pares pueden comunicarse libremente entre sí y transferir datos a través de redes de pares.

Middleware

El middleware puede considerarse un tipo de "intermediario" que opera entre dos aplicaciones distintas, es decir, el middleware es en sí mismo una aplicación que reside entre dos aplicaciones y presta servicio a ambas. El middleware también tiene un aspecto interpretativo. Funciona como un traductor entre varias aplicaciones de interoperabilidad que se están ejecutando en diferentes sistemas y permite que esas aplicaciones intercambien datos libremente.

Sistema de tres niveles

Los sistemas de tres niveles se llaman así por el número de capas que se utilizan para representar la funcionalidad de un programa. A diferencia de la arquitectura cliente-servidor típica en la que los datos se colocan en el sistema cliente, el sistema de tres niveles mantiene los datos almacenados en su capa intermedia, que se denomina capa de datos. La capa de aplicación rodea la capa de datos por uno de sus lados, mientras que la capa de presentación rodea la capa de datos por el otro lado. Los sistemas de tres niveles se utilizan de forma rutinaria en varias aplicaciones web.

Sistema de N niveles

A veces denominados sistemas distribuidos de varios niveles, los sistemas de N niveles son ilimitados en su capacidad para funciones de red, que enrutan a otras aplicaciones para su procesamiento. La arquitectura de los sistemas de N niveles es como la que se encuentra en los sistemas de tres niveles. Los sistemas de N niveles se utilizan a menudo como base arquitectónica para numerosos servicios web y sistemas de datos.

Otros paradigmas de computación distribuida

La computación distribuida permite el uso de diferentes paradigmas de programación (que pueden considerarse estilos de programación):

  • Blockchain: el blockchain es una especie de base de datos o libro mayor distribuido que se replica y sincroniza en los distintos ordenadores que componen una red. Una cadena de bloques garantiza uno de los principales objetivos de la computación distribuida, la redundancia, porque cada ordenador de la cadena contiene una copia del libro mayor de origen, por lo que los datos no se pueden perder debido a un único punto de fallo.
  • Informatización: la computación en red es un tipo de computación distribuida que se ocupa de cargas de trabajo no interactivas, que generalmente involucran una combinación de marcos de cuadrícula y software de middleware. La red escalable a la que se accede a través de la interfaz de usuario funciona como un sistema de archivos de gran tamaño.
  • Microservicios: los microservicios son otra forma de computación distribuida en la que las aplicaciones se dividen en componentes mucho más pequeños, a menudo llamados "microservicios". Los marcos de servicios están unidos por la interfaz de programación de aplicaciones (API), que permite la interacción entre componentes.

Casos de uso de computación distribuida por sectores

Banca

La banca en línea muestra la destreza de la computación distribuida al ocurrir en numerosos lugares a la vez, a menudo con diferentes ubicaciones bancarias encargadas de alojar uno de los servidores detrás de las ofertas de servicios clave (como servicio de atención al cliente, seguridad y procesamiento de transacciones). Todo sucede al instante y de manera fluida, tal como esperan los clientes del banco.

Computación

Tanto la inteligencia artificial (IA) como el machine learning (ML) están en proceso de revolucionar muchos sectores tecnológicos, pero no hay ningún lugar donde sus efectos sean más pronunciados ahora mismo que en el propio sector informático. Ambas tecnologías en expansión hacen un uso extensivo de la computación distribuida. Los algoritmos detrás de la IA y el ML necesitan grandes volúmenes de datos para entrenar sus modelos, y la informática distribuida está aportando el músculo de procesamiento que se requiere.

Energía

La computación distribuida se utiliza ahora en los sectores energético y medioambiental. En el ámbito energético, la computación distribuida está ayudando a la tecnología de redes inteligentes a regular el uso y optimizar el consumo de energía. Las redes inteligentes también están utilizando la computación distribuida para reunir datos medioambientales procedentes de diferentes dispositivos de entrada, como sensores y contadores inteligentes.

Finanzas

Los trabajadores de áreas específicas de las finanzas ya están utilizando sistemas de computación distribuida. Por ejemplo, la gestión de riesgos, en la que las instituciones financieras necesitan grandes cantidades de datos para ejecutar enormes cálculos que informen mejor la toma de decisiones sobre las evaluaciones de probabilidad y riesgo. La computación distribuida garantiza que las cargas computacionales se compartan uniformemente entre varios sistemas.

Ciencia

La computación distribuida ha ayudado a numerosas disciplinas científicas y ha contribuido a algunos de los logros más notables de la ciencia. Los ejemplos incluyen el Gran Colisionador de Hadrones, el acelerador de partículas más potente del mundo. Los experimentos detrás de esto dependen de cantidades extremas de recopilación y análisis de datos, lo que requiere el uso de computación distribuida. Del mismo modo, la computación distribuida tenía el mismo propósito para el Proyecto Genoma Humano, que se propuso mapear las secuencias del ADN humano. La computación distribuida también desempeña un papel esencial en la previsión meteorológica y la modelización del clima.

Soluciones relacionadas
IBM Cloud Infrastructure Center 

IBM Cloud Infrastructure Center es una plataforma de software compatible con OpenStack para gestionar la infraestructura de las nubes privadas en IBM zSystems e IBM LinuxONE.

Explorar Cloud Infrastructure Center
Soluciones de infraestructura de TI

Descubra servidores, almacenamiento y software diseñados para su estrategia empresarial de nube híbrida e IA.

Explore las soluciones de infraestructura de TI
Soluciones de infraestructura en la nube

Encuentre la solución de infraestructura en la nube adecuada para las necesidades de su empresa y escale los recursos según la demanda.

Soluciones en la nube
Dé el siguiente paso

Transforme la infraestructura de su empresa con las soluciones de nube híbrida y preparadas para la IA de IBM. Descubra servidores, almacenamiento y software diseñados para asegurar, escalar y modernizar su empresa o acceda a conocimientos de expertos para mejorar su estrategia de IA generativa.

Explore las soluciones de infraestructura de TI Descargue el libro