La computación distribuida es un proceso que utiliza numerosos recursos informáticos en diferentes ubicaciones operativas para imitar los procesos de una sola computadora. La computación distribuida ensambla diferentes computadoras, servidores y redes informáticas para realizar tareas informáticas de tamaños y propósitos muy diversos.
La computación distribuida incluso funciona en la nube. Y si bien es cierto que la computación en la nube distribuida y la computación en la nube son esencialmente lo mismo en teoría, en la práctica, difieren en su alcance global, con la computación en la nube distribuida capaz de extender la computación en la nube a diferentes geografías.
En sistemas de computación pequeños y distribuidos con componentes cercanos entre sí, los 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 por geografía, 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 transmisión de mensajes, independientemente del tipo de red que se utilice.
La computación distribuida a menudo aborda los desafíos computacionales más intensos y complicados de la computación, razón por la cual esta actividad generalmente requiere implementar 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 manera efectiva, compartir archivos según sea necesario y trabajar hacia un objetivo común.
Los siguientes ejemplos muestran las diversas formas en que la computación distribuida se utiliza en muchas industrias y plataformas:
La industria de las comunicaciones utiliza habitualmente la computación distribuida. Las redes de telecomunicaciones son ejemplos de redes peer-to-peer, ya sea que tomen la forma de redes telefónicas o redes celulares. Dos ejemplos importantes de computación distribuida basada en la comunicación han sido Internet y el correo electrónico, los cuales transformaron la vida moderna.
La computación está siendo dominada por importantes revoluciones en la inteligencia artificial (IA) y 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 trabajos complejos de gestión y almacenamiento de datos en subtareas distribuidas en nodos, que son entidades que funcionan como cliente o servidor, identificando necesidades y emitiendo solicitudes o trabajando para satisfacer esas necesidades. La gestión de bases de datos es un área habilitada por la computación distribuida, al igual que las bases de datos distribuidas, que se desempeñan más rápido al tener tareas divididas 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.
Los sectores energético y ambiental se ven afectados por la computación distribuida, que está ayudando a la tecnología de mallas inteligentes a regular el uso y la optimización del consumo de energía. Las mallas inteligentes también se emplean para recopilar datos ambientales de varios dispositivos de entrada.
La computación distribuida garantiza que las grandes cargas computacionales se repartan de manera uniforme entre varios sistemas. Además, los trabajadores de áreas financieras específicas ya están utilizando la computación distribuida para tareas 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 emplea sus recursos para mantener la automatización eficiente en las instalaciones a gran escala y, a menudo, funciona como capacidad de balanceo de 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 innovadoras 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 video increíblemente detallados, la computación distribuida puede demostrar los procedimientos de patentes y el diseño farmacéutico de medicamentos planificados.
A veces pueden producirse discrepancias en el inventario en el caso de los minoristas que operan en 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 mantener las aplicaciones de ecommerce funcionando sin problemas, para que los minoristas modernos puedan seguir el ritmo de las cambiantes expectativas de los clientes.
La computación distribuida se está utilizando 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 video de computación distribuida pueden hacer que las proyecciones científicas se entiendan mejor.
Los proveedores de juegos multijugador masivos en línea (MMOG) hacen un amplio uso 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 existen reglas inamovibles con respecto a lo que constituye un sistema de computación distribuida, incluso la forma más simple de computación distribuida generalmente posee al menos tres componentes básicos:
Más allá de esos componentes centrales, cada sistema de computación distribuida se puede personalizar de acuerdo con las necesidades de una organización. Una de las grandes ventajas de utilizar un sistema de computación distribuida es que el sistema se puede ampliar agregando más máquinas, lo que aumenta su escalabilidad. La otra ventaja significativa es una mayor redundancia, por lo que si una máquina de la red falla por cualquier motivo, el trabajo del sistema continúa a pesar de ese punto de falla.
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 trasmisión 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 fallas es otro concepto clave: un proceso correctivo que permite que un sistema operativo responda y corrija una falla en el software o hardware, mientras el sistema continúa funcionando.
La computación distribuida también se ocupa de los efectos positivos y negativos de “concurrencia”: la ejecución simultánea de múltiples secuencias de instrucciones operativas. Una de sus principales cualidades positivas es el hecho de que la concurrencia permite recursos compartidos y la computación paralela 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 de tiempo de ejecución se dividen en varias tareas más pequeñas).
Los aspectos negativos asociados con la concurrencia incluyen una mayor latencia e incluso cuellos de botella de tráfico, donde la cantidad de datos que se transfieren excede el ancho de banda normal recomendado.
Los tipos de computación distribuida se clasifican normalmente según la arquitectura de computación distribuida que utiliza cada uno:
Si bien estos son los principales tipos de arquitectura de computación distribuida, existen 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 con los sistemas de computación distribuida. Además, hemos aprendido acerca de 10 industrias que están creando su futuro de manera inteligente ahora haciendo un uso especial de los sistemas informáticos distribuidos.
Al igual que con la computación distribuida, los productos IBM Satellite le brindan las herramientas para desplegar y ejecutar aplicaciones donde quiera, ya sea on premises, a través de computación edge o entornos de 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 gestionada por IBM Cloud ofrece servicios en la nube, API, políticas de acceso, controles de seguridad y cumplimiento.