Diez sectores que utilizan la computación distribuida

Tres trabajadores de almacén discutiendo ideas en una tablet

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.

Diez casos de uso de computación distribuida

Los siguientes ejemplos muestran las muchas formas en que la computación distribuida se está utilizando en muchos sectores y plataformas:

Comunicaciones

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.

Computación

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.

Gestión de datos

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.

Energía

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.

Finanzas

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.

Fabricación

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.

Medicina

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.

Venta minorista

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.

Ciencia

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.

Videojuegos

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.

¿Qué hace un sistema de computación distribuida?

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:

  • Controlador primario del sistema: el controlador primario del sistema controla todo dentro de un sistema distribuido, monitoriza y rastrea todo lo que ocurre dentro de ese sistema. Su trabajo más importante es gestionar y administrar cada solicitud del servidor que ingresa al sistema.
  • Almacén de datos del sistema: el almacén de datos del sistema, normalmente situado en el vault, es el repositorio del sistema para todos los datos compartidos. En sistemas “no desordenados”, los datos compartidos pueden residir en una o varias máquinas, pero todas las computadoras que se utilizan en el sistema necesitan acceso al almacén de datos.
  • Base de datos: los sistemas de computación distribuida almacenan todos sus datos en bases de datos relacionales. Una vez logrado esto, los datos se comparten entre grupos de usuarios. Las bases de datos relacionales ponen a todos los trabajadores en la misma página al instante.

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:

  • 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 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.

Arquitecturas de sistemas de computación distribuida

Los tipos de computación distribuida suelen clasificarse según la arquitectura de computación distribuida que utiliza cada uno:

  • Sistema cliente-servidor: utiliza una arquitectura cliente-servidor que permite su uso con más de un sistema. Un cliente dirige la entrada al servidor como una solicitud (normalmente un comando para una tarea específica o una solicitud de más recursos informáticos). El servidor entonces trabaja para cumplir la tarea e informar sobre la acción realizada.
  • Sistema de pares: se basa en una arquitectura de pares y también se conoce como sistema entre pares. Los sistemas de pares utilizan nodos, que funcionan como cliente o servidor: identifican las necesidades y emiten peticiones o trabajan para satisfacerlas. Como su nombre indica, no hay jerarquía en los sistemas de pares, por lo que los programas que operan en sistemas de pares pueden comunicarse libremente entre sí y transferir datos a través de redes de pares.
  • Middleware: el "intermediario" que opera entre dos aplicaciones distintas. El middleware es en sí mismo una aplicación que reside entre dos aplicaciones y proporciona 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: así llamado por el número de capas utilizadas 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. Los sistemas de tres niveles se utilizan a menudo en 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.

Aunque estos son los principales tipos de arquitectura de computación distribuida, hay otros paradigmas de computación distribuida que merecen mención:

  • Blockchain: blockchain es una base de datos o libro de contabilidad distribuido que se replica y sincroniza en las distintas computadoras de una red. Blockchain ayuda a garantizar la redundancia al emitir el libro de origen a todos los ordenadores de la cadena.
  • Grid computing: el grid computing 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 enorme.
  • Informática heterogénea: la informática heterogénea es una forma de informática distribuida que permite que un único sistema informático mantenga subsistemas informáticos. Los procesadores que intervienen en la computación heterogénea pueden estar trabajando en tareas diferentes, pero todos ellos trabajan en paralelo para acelerar el rendimiento del ordenador y minimizar los tiempos de procesamiento de las tareas.
  • Microservicios: los microservicios son una forma de computación distribuida en la que las aplicaciones se dividen en componentes mucho más pequeños, a menudo llamados “servicios”. Los marcos de servicios están unidos por la interfaz de programación de aplicaciones (API), que permite la interacción entre componentes.

Empiece ahora

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.

Autor

Phill Powell

Staff Writer

IBM Think

Vista aérea de un hombre de negocios usando un móvil en el patio de una oficina

Conocimientos que no debe perderse. Suscríbase a nuestros boletines.

Vaya más allá de las expectativas con noticias de expertos sobre inteligencia artificial, computación cuántica, nube, seguridad y mucho más.

Suscríbase hoy