Arquitecturas de memoria distribuida (y II)

Para terminar, os dejo un resumen de las ventajas e inconvenientes de las arquitecturas de memoria distribuida, especialmente si las comparamos con otros tipos de arquitecturas que incorporan varios procesadores.

Las ventajas de este tipo de sistemas se pueden resumir en:

  • Relación coste/prestaciones: Los clusters obtienen excelentes prestaciones utilizando hardware comercial cuya utilización está muy extendida, por lo que los precios son muy bajos.
  • Escalabilidad: Este tipo de arquitecturas permite configurar sistemas con gran variedad de tamaños, desde unos pocos nodos hasta miles de ellos, sin que esto se refleje demasiado negativamente en sus prestaciones.
  • Disponibilidad: Cuando se dispone del software adecuado, un fallo en un nodo o incluso en varios nodos del cluster no implica un fallo general del sistema .
  • Flexibilidad: Los clusters permiten realizar modificaciones en su configuración de manera muy sencilla, e incluso se pueden hacer estos cambios de manera dinámica, agregando o eliminando nodos del sistema en tiempo de ejecución.
  • Aprovechamiento de los recursos: Esta flexibilidad lleva directamente a un mejor aprovechamiento de los recursos disponibles, ya que se pueden agregar nodos al cluster cuando sea necesario por su carga de trabajo, y liberarlos cuando estén infrautilizados.
  • Crecimiento progresivo: Cuando el sistema se queda obsoleto o es necesario aumentar su capacidad de cómputo, basta con sustituir los nodos más antiguos por otros más potentes o con añadir nuevos nodos al sistema.
  • Rápida respuesta a los avances tecnológicos: Esta posibilidad de crecimiento progresivo facilita la rápida incorporación de la tecnología más moderna al sistema.

Pero por otro lado, todavía existen algunas desventajas en la utilización de este tipo de sistemas. La principal es la falta de una imagen de sistema única, lo que en muchos casos hace que la administración, utilización y mantenimiento del sistema sea complicada.

Y además, está la carencia de estándares, que hace que haya una gran escasez de aplicaciones y herramientas. Por último, mencionar la dificultad de hacer una utilización eficiente del sistema. Hay que repartir el trabajo de manera inteligente entre los nodos para que todos los recursos se aprovechen óptimamente y evitar que la red se convierta en un cuello de botella.

Y esto puede llegar a ser tremendamente complicado si los recursos que componen el sistema son heterogéneos y hay que integrar diferentes plataformas hardware, sistemas operativos o arquitecturas software.
ddd

No hay comentarios: