¿Por qué la computación distribuida no es computación en la nube?

La computación distribuida es una forma de resolver problemas informáticos, es decir, ejecutar programas, que se basa en el uso de varios ordenadores a kilómetros de distancia entre ellos pero compartiendo una misma red de datos. Lo cual no es lo mismo que la computación en la nube, es por ello que os vamos a explicar las diferencias.

No todos los problemas con los que trabaja la informática se pueden resolver con un solo procesador muy potente, a veces es necesario el uso de un conjunto de procesadores para resolver el problema, pero no siempre son suficientes los núcleos en un solo ordenador y es necesario crear infraestructuras sumamente complejas compuestas por varios ordenadores, las cuales mucha veces no podemos contener en un mismo lugar y es ahí donde aparecen tanto la computación en la nube como la computación distribuida.

Computación nube

La computación en la nube hace referencia al uso de ordenadores remotos de alta potencia para ejecutar programas, pero no es la única forma en la que se pueden utilizar un ordenador de manera remota, siendo la computación distribuida una de estas formas de utilizar los recursos de computación remotos, pero su funcionamiento es a la inversa.

¿Qué es la computación distribuida?

Computación Distribuida

La computación distribuida hace referencia a una forma de ejecutar un programa en el que un grupo de unidades de proceso, las cuales están geométricamente dispersas pero conectadas a través de una misma red, toman parte cada una de la resolución del mismo. Dichas unidades de proceso no tienen porque tener la misma potencia en común y pueden haber unidades con características dispares.

La computación distribuida estándar hace uso de una unidad centralizada, la cual es la encargada de distribuir el trabajo a realizar entre las diferentes unidades de proceso disponibles al resto de las unidades de proceso de la red, ya que estas no tienen acceso al pozo de recursos sino que actúan de manera pasiva esperando a que la unidad central, que si que tiene acceso a dichos recursos, les envié las instrucciones y los datos a procesar. Una vez que una unidad de proceso ha completado el trabajo asignado, estas devuelven el resultado a la unidad central que es la que gestiona los recursos y esperan a que se les asignen nuevas tareas.

Pueden haber dos formas de llevar la distribución de tareas, una de ellas es haciendo uso de un procesador de propósito general ejecutando un programa, la otra es utilizando una unidad dedicado que lleve la cuenta de todas las unidades de proceso que estén activas en cada momento y cuales no.

Computación distribuida en malla o Grid Computing

Data Center

Un tipo de computación distribuida es la computación en malla, pero la principal diferencia es que en la computación distribuida es necesario un elemento que haga de director de orquesta, el cual se encarga de gestionar los recursos y hace que todos las unidades de proceso actúen al unísono a la hora de dividir un problema común que ha sido dividido en varias partes.

En el caso de la computación en malla, cada una de las unidades de proceso tiene su propio gestor de recursos y no se utiliza un sistema de gestión de recursos centralizado. Es ampliamente utilizada en para resolver problemas que no solamente se pueden dividir y resolverse independientemente pero que no tienen una amplia dependencia e iteración entre las diferentes partes por lo que cada unidad de proceso puede trabajar de manera completamente independiente.

En estos momentos son el tipo de computación distribuida más utilizada, especialmente dentro del mundo de la computación científica ya que se evita el problema de tener un director de orquesta encargado de gestionar todos los recursos al mismo tiempo.

¡Sé el primero en comentar!