La computación distribuida es un proceso que utiliza numerosos recursos informáticos en diferentes ubicaciones operativas para imitar los procesos de un solo ordenador. La informática distribuida reúne diferentes ordenadores, servidores y redes informáticas para realizar tareas informáticas de tamaños y propósitos muy diversos.
La computación distribuida funciona incluso en la nube. Y aunque es cierto que el cloud computing distribuido y el cloud computing son esencialmente lo mismo en teoría, en la práctica difieren en su alcance global, ya que la computación en nube distribuida es capaz de extender el cloud computing a diferentes geografías.
En sistemas informáticos pequeños y distribuidos con componentes cercanos entre sí, los componentes pueden estar vinculados 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 un elaborado sistema de paso de mensajes, sobre cualquier tipo de red que se utilice.
La computación distribuida suele abordar los retos computacionales más intensos y complicados, por lo que esta actividad suele requerir la implementación de memoria compartida y múltiples componentes. Además, la computación distribuida depende de una sincronización altamente coordinada y de grandes cantidades de potencia informática para que todo el sistema pueda procesar datos de forma eficaz, compartir archivos según sea necesario y trabajar hacia un objetivo común.
Los siguientes ejemplos muestran las muchas formas en que la computación distribuida se está utilizando en muchos sectores y plataformas:
El sector de las comunicaciones utiliza habitualmente la computación distribuida. Las redes de telecomunicaciones son ejemplos de redes punto a punto, tanto si adoptan la forma de redes telefónicas como de redes móviles. Dos ejemplos importantes de computación distribuida basada en la comunicación han sido Internet y el correo electrónico, que transformaron la vida moderna.
La informática está siendo dominada por las grandes revoluciones de la inteligencia artificial (IA) y el machine learning (ML). Ambas tecnologías avanzan rápidamente y cada una hace un uso extensivo de la computación distribuida. Los algoritmos que potencian la IA y el ML requieren grandes volúmenes de datos de entrenamiento, además de cantidades sólidas y constantes de potencia de procesamiento. La computación distribuida suministra ambos.
La computación distribuida convierte los complejos trabajos de gestión de datos y almacenamiento de datos en subtareas distribuidas entre nodos, que son entidades que funcionan como cliente o servidor: identifican las necesidades y emiten peticiones o trabajan para satisfacerlas. La gestión de bases de datos es un área que potencia la computación distribuida, al igual que las bases de datos distribuidas, que funcionan más rápido al dividir las tareas en acciones más pequeñas. La computación distribuida incluye incluso el uso de centros de datos como parte de una cadena de computación distribuida.
Tanto el sector energético como el medioambiental se ven afectados por la computación distribuida, que está ayudando a la tecnología de redes inteligentes a regular el uso y la optimización del consumo de energía. Las redes inteligentes también se utilizan para reunir datos medioambientales procedentes de diversos dispositivos de entrada.
La computación distribuida garantiza que las grandes cargas computacionales se repartan uniformemente entre varios sistemas. Además, los trabajadores de áreas financieras específicas ya utilizan la computación distribuida para cosas como la evaluación de riesgos. La computación distribuida ayuda a las instituciones financieras a realizar enormes cálculos para fundamentar mejor la toma de decisiones y elaborar estrategias financieras.
La computación distribuida utiliza sus múltiples recursos para mantener la automatización funcionando de manera eficiente en instalaciones de fabricación a gran escala y, a menudo, sirve para equilibrar la carga. Incluso existe la fabricación distribuida, que utiliza el modelo de nube distribuida y lo aplica a las herramientas de producción, que están dispersas geográficamente. La fabricación también se ocupa del diseño y la creación de dispositivos y herramientas de Internet de las cosas (IoT) que recopilan y transmiten datos.
La computación distribuida ayuda a habilitar muchas de las tecnologías revolucionarias de la medicina moderna, incluidas las cirugías robóticas que dependen de grandes cantidades de datos. Al aprovechar su talento para gráficos 3D y animaciones de vídeo increíblemente detallados, la computación distribuida puede demostrar los procedimientos de patentes y el diseño farmacéutico de los medicamentos planificados.
A veces se pueden producir discrepancias en el inventario en los minoristas que tienen tiendas físicas, además de ofrecer alternativas de compra en línea. Los Sistemas de Gestión de Pedidos Distribuidos (DOMS) habilitados por la computación distribuida ayudan a que las aplicaciones de comercio electrónico funcionen sin problemas, para que los minoristas modernos puedan adaptarse a las cambiantes expectativas de los clientes.
La informática distribuida se utiliza en un número cada vez mayor de actividades científicas, como el entrenamiento de redes neuronales. La computación científica también está utilizando la enorme capacidad de la computación distribuida para resolver cálculos científicos masivos, como los que rigen los vuelos espaciales. Las simulaciones de vídeo mediante computación distribuida pueden facilitar la comprensión de las proyecciones científicas.
Los proveedores de juegos multijugador masivos en línea (MMOG) hacen un uso extensivo de la computación distribuida para crear y ejecutar sus complicados entornos de juego en tiempo real. Una compleja combinación de sistemas operativos, redes y procesadores hace posible que miles de jugadores usuarios finales compartan y participen en una experiencia de juego apasionante.
Aunque no hay reglas escritas en piedra sobre lo que constituye un sistema de computación distribuida, incluso la forma más simple de computación distribuida suele poseer al menos tres componentes básicos:
Más allá de esos componentes básicos, cada sistema de computación distribuida puede personalizarse en función de las necesidades de una organización. Una de las grandes ventajas de utilizar un sistema informático distribuido es que el sistema se puede ampliar añadiendo más máquinas, aumentando así su escalabilidad. La otra ventaja significativa es el aumento de la redundancia, de modo que si una máquina de la red falla por cualquier motivo, el trabajo del sistema continúa a pesar de ese punto de fallo.
El objetivo de los sistemas de computación distribuida es hacer que la red informática distribuida funcione como si fuera un único sistema. Esta coordinación se logra mediante un elaborado sistema de paso de mensajes entre los diversos componentes.
Los protocolos de comunicación gobiernan ese intercambio de mensajes de ida y vuelta y crean una relación llamada “acoplamiento” que existe entre estos componentes. Esta relación se expresa en una de dos formas:
La tolerancia a fallos es otro concepto clave: un proceso correctivo que permite a un sistema operativo responder y corregir un fallo en el software o el hardware, mientras el sistema continúa a operar.
El cómputo distribuido también trata los efectos positivos y negativos de la “concurrencia”, la ejecución simultánea de múltiples secuencias de instrucciones operativas. Entre sus cualidades positivas destaca el hecho de que la concurrencia permite el cálculo paralelo de múltiples hilos de proceso. (Aunque la computación paralela no debe confundirse con el procesamiento paralelo, que es un proceso mediante el cual las tareas en tiempo de ejecución se dividen en varias tareas más pequeñas).
Los aspectos negativos asociados a la concurrencia incluyen el aumento de la latencia e incluso los cuellos de botella en el tráfico, cuando la cantidad de datos que se transfieren supera el ancho de banda normal recomendado.
Los tipos de computación distribuida suelen clasificarse según la arquitectura de computación distribuida que utiliza cada uno:
Aunque estos son los principales tipos de arquitectura de computación distribuida, hay otros paradigmas de computación distribuida que merecen mención:
En nuestro recorrido rápido por la computación distribuida, hemos identificado qué es la computación distribuida, qué implica crear sistemas de computación distribuida y qué tipos de arquitecturas están asociadas a los sistemas de computación distribuida. Además, hemos aprendido sobre diez sectores que ahora están diseñando su futuro de manera inteligente haciendo un uso especial de los sistemas de computación distribuidos.
Al igual que con la computación distribuida, los productos IBM Satellite le ofrecen las herramientas para implementar y ejecutar aplicaciones donde quieras, ya sea on-premises, a través de edge computing o nube pública.
Consume un conjunto común de servicios en la nube que incluye cadenas de herramientas, bases de datos e IA. La solución de nube distribuida y gestionada por IBM Cloud Satellite ofrece servicios de nube, API, políticas de acceso, controles de seguridad y cumplimiento.