10 industrias que utilizan la computación distribuida

Tres trabajadores de almacén discutiendo ideas en una tableta

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.

10 casos de uso de computación distribuida

Los siguientes ejemplos muestran las diversas formas en que la computación distribuida se utiliza en muchas industrias y plataformas:

Comunicaciones

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.

Computación

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.

Gestión de datos

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.

Energía

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.

Finanzas

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.

Manufactura

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.

Medicina

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.

Venta minorista

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.

Ciencia

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.

Videojuegos

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.

¿Qué caracteriza a un sistema de computación distribuida?

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:

  • Controlador del sistema primario: el controlador del sistema primario controla todo lo que ocurre dentro de un sistema distribuido y supervisa y rastrea todo lo que sucede 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, que suele estar ubicado en la bóveda del disco, es el repositorio del sistema para todos los datos compartidos. En los sistemas "no saturados", los datos compartidos pueden residir en una máquina o en muchas, pero todas las computadoras que se utilizan en el sistema necesitan acceso al almacén de datos.
  • Base de datos: los sistemas informáticos distribuidos almacenan todos sus datos en bases de datos relacionales. Una vez logrado esto, los datos son compartidos por grupos de usuarios. Las bases de datos relacionales ponen a todos los trabajadores en sintonía al instante.

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:

  • Acoplamiento flexible: la conexión entre dos componentes acoplados de manera flexible es lo suficientemente débil como para que las alteraciones en un componente no afecten al otro componente.
  • Acoplamiento estrecho: el nivel de sincronización y paralelismo es tan grande en componentes estrechamente acoplados que un proceso llamado "agrupación en clústeres" utiliza componentes redundantes para garantizar la viabilidad continua del sistema.

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.

Arquitecturas de sistemas de computación distribuida

Los tipos de computación distribuida se clasifican normalmente según la arquitectura de computación distribuida que utiliza cada uno:

  • Sistema cliente-servidor: utiliza una arquitectura cliente-servidor que les permite usarse con más de un sistema. Un cliente dirige la entrada al servidor como una solicitud (generalmente 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 la arquitectura de pares y también se conoce como sistema "peer-to-peer". Los sistemas de pares utilizan nodos, que funcionan como cliente o servidor, identificando necesidades y emitiendo solicitudes o trabajando para satisfacer esas necesidades. Como su nombre lo 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. Middleware es en sí misma 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 ejecutan en diferentes sistemas y permite que esas aplicaciones intercambien datos libremente.
  • Sistema de tres niveles: se denomina así debido a la cantidad de capas utilizadas para representar la funcionalidad de un programa. A diferencia de la arquitectura típica cliente-servidor en la que los datos se colocan dentro del 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 capas: a veces denominados sistemas distribuidos de varios niveles, los sistemas de N capas tienen una capacidad ilimitada para funciones de red, que enrutan a otras aplicaciones para su procesamiento. La arquitectura de los sistemas de N niveles es similar a la que se encuentra en los sistemas de tres niveles. Los sistemas de N niveles se emplean a menudo como base arquitectónica para numerosos servicios web y sistemas de datos.

Si bien estos son los principales tipos de arquitectura de computación distribuida, existen 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 mayor de origen a todas las computadoras de la cadena.
  • Computación en malla: la computación en malla es un tipo de computación distribuida que se ocupa de cargas de trabajo no interactivas, que generalmente involucran una combinación de infraestructuras y software de middleware. La malla escalable a la que se accede a través de la interfaz de usuario funciona como un sistema de archivos de gran tamaño.
  • Computación heterogénea: la computación heterogénea es una forma de computación distribuida que permite que un solo sistema informático mantenga subsistemas informáticos. Los procesadores que trabajan en la computación heterogénea pueden estar trabajando en diferentes tareas, pero todos trabajan en paralelo para acelerar el rendimiento de la computadora y minimizar los tiempos de procesamiento de 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 los componentes.

Póngase en marcha

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.

Autor

Phill Powell

Staff Writer

IBM Think

Vista aérea de un hombre de negocios usando un teléfono celular en el patio de una oficina
Insights que no puede perderse. Suscríbase a nuestros boletines.
Vaya más allá del despliegue publicitario con las novedades de los expertos en IA, computación cuántica, nube, seguridad y mucho más.
Suscríbase hoy