Algunas implementaciones importantes de sistemas de dsm
CVM: fue desarrollado en University of Maryland y su nombre se deriva de las siglas de Coherent Virtual Machine. Es un sistema de DSM con soporte para multithreading únicamente a nivel del sistema. Esto quiere decir que los programas que se ejecuten sobreCVM no pueden ser a su vez multithreaded. El sistema está organizado como una biblioteca de nivel de usuario, que se enlaza con los programas del usuario para permitirles emplear la semántica de memoria compartida sobre el multicomputador. La comunicación se lleva a cabo empleando protocolos construidos sobre el protocolo estándar UDP. Esto le da una gran flexibilidad respecto a la forma en quepueden conectarse los computadores participantes.
Desde sus inicios, CVM fue pensado como un sistema experimental. Está escrito en C++ y cuentas con varios protocolos de consistencia de memoria, incluyendo versiones de un único escritor y de varios escritores simultáneos para el modelo de consistencia Lazy Release. El sistema se adapta a una diversidad de sistemas Unix, entre los que se cuentanDigital Unix, Solaris y AIX.
A pesar de que uno de sus objetivos era la extensibilidad, la inclusión de nuevos protocolos o la modificación del código existente no resulta una tarea sencilla. Además, sólo es posible tener acceso al código fuente de la primera versión del sistema.
Un proyecto posterior, D-CVM, o Dynamic CVM incorpora multithreading a nivel del programa de usuario y migración dethreads, sobre las mismas plataformas que soportan CVM.
Quarks: es un sistema de DSM, con código fuente disponible, desarrollado en University of Utah. Está implementado como una biblioteca de nivel de usuario y permite conectar estaciones de trabajo Unix para formar una máquina paralela. El sistema ha sido portado a SunOS/SPARC, HP-UX/PA-RISC y IRIX/MIPS. Entre sus características principalesestá la incorporación de múltiples protocolos de consistencia de memoria y el uso de multithreading para aprovechar los retardos de comunicación. El sistema permite escribir programas en C y C++, soportando paralelismo y sincronización empleando marcos m4.
Brazos: es un ambiente de programación paralela de alto desempeño desarrollado en Rice University para ejecutarse en procesadores Intel conel sistema operativo Windows NT. La comunicación se lleva a cabo empleando redes Ethernet de 100Mbps y 1Gbps.
El sistema Brazos es multithreaded, tanto a nivel del sistema en sí, como de los programas del usuario. Dentro de sus características distintivas se encuentra el uso de primitivas IP multicast, para reducir la cantidad de comunicación, e incorpora un protocolo que implementa el modelode consistencia Scope. Alternativamente permite emplear un modelo de consistencia Release.
La implementación de Brazos está compuesta por tres partes. En primer lugar, una biblioteca a nivel del usuario que brinda soporte para las aplicaciones. Luego, un servicio de ejecución remota para administrar las sesiones que se ejecutan en cada máquina. Finalmente, una interfaz basada en ventanas....
Regístrate para leer el documento completo.