Arquitecturas de memoria distribuida (I)

Como ya hemos mencionado en entradas anteriores, las arquitecturas distribuidas son una de las alternativas que hoy en día podemos plantearnos como plataforma hardware de nuestro sistema de Tiempo Real.

Además de ser una de las opciones más escogidas en la actualidad (ya sabemos que es importante que un sistema de Tiempo Real tenga la capacidad de ejecutar varias tareas en paralelo), en el caso de ciertos entornos industriales y de infraestructuras, suele ser obligado que la arquitectura sea distribuida. Esto se debe a la distribución geográfica de los recursos que tradicionalmente nos encontramos en este tipo de aplicación.

Hoy en día se distinguen dos grandes tipos de arquitecturas de memoria distribuida: los clusters y los grids.

Un cluster es un sistema de memoria distribuida compuesto por un conjunto de nodos de cómputo independientes y conectados por una red de altas prestaciones. Muchas veces se considera un multicomputador “casero” que puede aprovechar componentes comerciales, baratos y potentes que se han quedado un poco anticuados o que están infrautilizados.

Este tipo de sistemas han aparecido de manera natural en empresas, universidades y centros de investigación, debido a los grandes avances en las prestaciones de los procesadores de consumo habitual, a la aparición de redes de comunicación y protocolos de alto rendimiento y al desarrollo de herramientas software que facilitan su configuración y administración de manera que con varios computadores personales conectados y configurados adecuadamente, se puede tener una arquitectura tremendamente potente.

Un Grid está formado por un conjunto de recursos distribuidos geográficamente y conectados mediante una red. Es la extensión del concepto del cluster heterogéneo (nodos con diferentes características hardware y software), permitiendo conectar con una red del tipo que sea, todo tipo de recursos que no tienen porqué estar ubicados en el mismo espacio geográfico.

Este tipo de sistemas permiten la creación de organizaciones virtuales (VO) mediante la compartición de recursos entre diferentes centros de control, departamentos, empresas, entidades,… Además se trata de sistemas muy dinámicos cuya composición y configuración puede variar en cualquier momento. Los problemas que plantean estos sistemas todavía no están resueltos del todo, aunque parece que es el futuro de la computación distribuida cuando se resuelvan los retos que plantean la heterogeneidad en la red y los recursos y la necesidad de integración de sistemas completamente diferente entre sí.

No hay comentarios: