¿Cuál es la diferencia entre un sistema distribuido y una red informática?

Para algunas personas, una red de computadoras es solo hardware y software que les permite a las computadoras intercambiar datos sin dejar de funcionar de manera independiente. De manera más pertinente, se podría considerar que una red incluye las computadoras que están conectadas a ella, pero aún funcionan de manera independiente. Cada máquina de este tipo todavía aparece a las demás como una máquina separada. Por el contrario, un sistema distribuido consiste en computadoras que no solo están conectadas sino que se coordinan entre sí para formar un solo sistema. Ese sistema distribuido luego proporciona uno o más servicios a otras máquinas fuera del sistema, sin que esos clientes necesiten saber o preocuparse sobre qué máquina dentro del sistema distribuido desempeña un rol particular o posee una determinada pieza de datos.

Una forma bastante filosófica de verlo es que una red crea un espacio compartido, mientras que un sistema distribuido crea un propósito compartido.

Una red de computadoras es una colección de computadoras separadas pero interconectadas, conectadas por una sola tecnología. Incluso un sistema distribuido es una colección de computadoras independientes. Pero la principal diferencia es que, en un sistema distribuido, la colección completa de computadoras parece a sus usuarios como un sistema único y coherente. Un ejemplo bien conocido de sistema distribuido si es World Wide Web, en el que todo parece un documento. En una red informática, esta coherencia está ausente. Los usuarios están expuestos a máquinas reales, sin ningún intento por parte del sistema de hacer que las máquinas se vean y actúen de manera coherente.

Generalmente llamamos a un sistema distribuido cuando la interacción (intercambio de datos o ejercicio de control) entre componentes es cualitativamente diferente de la interacción dentro de un componente. Puede ser uno o una combinación de los siguientes factores (desde la parte superior de mi cabeza):

  • Latencia: la interacción entre componentes lleva mucho más tiempo que dentro, lo que requiere un manejo especial, como el procesamiento por lotes y la ejecución asincrónica;
  • Rendimiento: la interacción se produce a través de un enlace débil, lo que requiere protocolos específicos que tengan en cuenta el rendimiento;
  • Deriva del tiempo: no hay un “reloj de pared” compartido que pueda ser utilizado de manera confiable por todos los componentes;
  • Contratos: las interfaces de componentes evolucionan independientemente, sin una forma confiable de actualizar todo el sistema a la vez;
  • Fallos parciales: la caída de un solo componente no garantiza un reinicio de todo el sistema;
  • Consistencia: no existe una vista única del sistema en “punto en el tiempo”, los componentes evolucionan su estado independientemente;
  • Límites de propiedad: la interacción ocurre a través de un enlace que está sujeto a manipulación o escuchas telefónicas.

Estas preocupaciones también son comunes a las redes de computadoras. De hecho, la mayoría de los sistemas distribuidos tienen una red informática como una de sus partes. Caso en cuestión: Internet, que es probablemente el sistema distribuido más grande conocido por la humanidad y exhibe todos los factores anteriores.

Sin embargo, la presencia de una red informática no es necesaria ni suficiente para calificar un sistema como distribuido. Para calificar un sistema como distribuido, debemos tener en cuenta la escala.

Por ejemplo, a pesar de que las supercomputadoras contienen redes de propósito especial, desde el punto de vista de la aplicación, no son un sistema distribuido, ya que la mayoría de los factores anteriores están (con suerte) ocultos a su control. Al mismo tiempo, mi MacBook es un sistema distribuido desde el punto de vista de los ingenieros de procesadores: tiene múltiples núcleos y múltiples cachés que tienen que interactuar y parecer más o menos una sola unidad para las aplicaciones que los usan. Este es solo un ejemplo de un sistema que parece monolítico, pero resulta ser distribuido tan pronto como cambiamos la escala y lo miramos más de cerca.

Otro ejemplo interesante (y generalizado) sería una configuración que involucra varios procesos que se ejecutan en una máquina y tienen que comunicarse entre sí, por ejemplo, un servidor web y una base de datos que se ejecutan juntas en el mismo host. No existe una red de computadoras entre ellos en el sentido convencional, pero lidiar con la evolución independiente de los contratos y el estado, así como las fallas parciales, es casi inevitable. Esto, en mi opinión, califica dicha configuración, por simple que sea, como un sistema distribuido.

Una red informática por sí misma es un sistema distribuido. Sin embargo, no todos los sistemas distribuidos pueden considerarse una red informática, donde por red informática me refiero a una configuración de telecomunicaciones. Por ejemplo, su computadora portátil es un sistema distribuido (múltiples núcleos de CPU, dispositivos que se comunican a través de una variedad de buses), pero esto no suele estar dentro del dominio de las redes de computadoras.

En la medida en que ambos dominios van como subcampos de informática / ingeniería, se ocupan de abstracciones y problemas muy diferentes.

Editar:

Las redes de computadoras se preocupan principalmente por la pila de Internet y los protocolos que necesitan trabajar juntos para que Internet funcione.

Los sistemas distribuidos se preocupan por los problemas, los desafíos y las técnicas y paradigmas correspondientes relacionados con la construcción de sistemas que comprenden nodos que se comunican entre sí a través de un canal para proporcionar algún tipo de servicio.

Los sistemas distribuidos se ejecutan en una red informática subyacente. Por ejemplo, el sistema de archivos distribuidos se ejecuta en una red de computadoras. Por ejemplo Hadoop. Los sistemas distribuidos proporcionan localización, replicación, etc. La red informática es un aspecto importante de los sistemas distribuidos. Por ejemplo, con la función de multidifusión de red, es posible que no nos demos cuenta de ese sistema distribuido.

• Red de computadoras:
– Una red informática es una colección interconectada de
Computadoras autónomas capaces de intercambiar información.
– Una red informática generalmente requiere que los usuarios explícitamente
iniciar sesión en una máquina, enviar trabajos explícitamente de forma remota,
mover explícitamente archivos / datos por la red.
• Sistemas distribuidos:
– La existencia de múltiples computadoras autónomas en
Una red informática es transparente para el usuario.
– El sistema operativo asigna automáticamente trabajos a
procesadores, mueve archivos entre varias computadoras sin
intervención explícita del usuario.

Los sistemas distribuidos son nodos informáticos que se comunican entre sí con el propósito de procesar datos o ejecutar aplicaciones.

Las redes de computadoras son nodos que se comunican con el propósito de intercambiar datos y entregarlos de un nodo a otro o múltiples nodos.