viernes, 20 de septiembre de 2013

Escalonamiento de Aplicaciones Paralelas: De clústers para Grids.

  
 Un entorno de  procesamiento paralelo está constituido por múltiples procesadores, memoria centralizada o distribuida y sistema operacional que permita la manipulación de dicho procesamiento sobre un algoritmo paralelo.
Como ejemplo de este tipo de sistemas podemos citar los sistemas multiprocesadores orientados al paradigma de paso de mensajes.

  Los clústers de computadores está caracterizados por  presentar diversos computadores interconectados con una tecnología de red. Esta arquitectura también denominada cluster no posee memoria compartida. Podemos decir que cada procesador solamente tiene acceso a una memoria local y alternativa de paso de mensajes con la utilización de librerías basados en los protocolos de la arquitectura TCP/IP(Transmission Control Protocol / Internet protocol ).

  La creación de los cluster de computadores viene dado por el bajo costo que trae construirlos en comparación con los procesadores paralelos y aparte de ello son facilmente escalables, y podemos decir que no existen límites para el número de procesadores pudiendo ser adicionados en función de las necesidades de la aplicación. Resaltar que lo último mencionado no es del todo cierto pues trae como consecuencia lo que se conoce como cuello de botella lo cual en ciertas aplicaciones donde involucra muchas comunicaciones hace que el sistema se sature.

 El gran avance en el desempeño de las redes de computadores despertó la idea de utilizar este sistema multiprocesador en otros recursos de cómputo, conectados independientemente dando origen a la computación grid.
   Este nuevo entorno dispone de muchos recusos compartidos entre diferentes dominios institucionales los cuales involucran acceso directo a hardware, software y datos que necesitan de un control y procesamiento. Tal conjunto de recursos, usuarios y reglas de compartición constituyen una forma de organización virtual.

  Todo ello trae como consecuencia el concepto de interoperabilidad que trabaja en el establecimiento de relaciones entre los componentes del grid utilizando protocolos comunes de información de servicios, administración de recursos, transferencia de datos y autenticación segura de usuarios ,todo lo dicho pasa a formar parte del middleware que será responsable de gerenciar el grid.

  Distintos algoritmos permiten el escalonamiento eficiente de aplicaciones paralelas en plataformas computacionales heterogéneas y distribuídas, tales como grids computacionales. Muchos algoritmos de escalonamiento para esos entornos necesitan de un modelo de aplicación representado por un grafo acíclico direccionado(GAD), sleccionando tarifas para ejecución de acuerdo con sus características de comunicación de procesamiento.
 

1 comentario: