PVM Máquina Virtual en Paralelo

Anuncio
PVM
Parallel Virtual Machine
Autor: Alejandro Gutiérrez Muñoz
PVM – ¿Qué es PVM?
 Consiste en un software y un conjunto de librerías, que permiten establecer una
colección de uno o mas sistemas de computación, con el fin de poder integrar dichos
sistemas en un esquema de una sola máquina virtual.
 Opera sobre diferentes plataformas de UNIX y Windows. Puede establecerse en
cualquier esquema de red heterogénea, sobretodo en el ambiente de Internet.
 Brinda rutinas en lenguajes C y en Fortran para procesos como paso de mensajes
asincrónicamente y para el control de procesos. Además de ofrecer un paralelismo
escalable, entre otras muchas ventajas.
 Es muy utilizado para realizar y desarrollar aplicaciones científicas complejas que
requieren un esquema de programación en paralelo, dada su compatibilidad entre
sistemas operativos, es muy portable y fácil de instalar.
 Actualmente PVM esta en la versión 3.4.6. Pero para exponer los ejemplos nos
basaremos en la versión 3.0.
PVM – Ventajas
 Es una de las librerías de paso de mensajes mas fáciles de usar.
 Flexible: Control arbitrario de dependencia de estructuras. La
aplicación decide:
○ Donde y cuando ejecutar o terminar las tareas.
○ Que máquinas se añaden o se eliminan desde la máquina virtual paralela.
○ Que tareas se pueden comunicar y/o sincronizar con otras.
 Flexible: Control arbitrario de dependencia de estructuras. La
aplicación decide:
 Puede incorporar cualquier ordenador al esquema de la maquina
virtual, como vemos a continuación.
PVM – Desventajas
Al ser un esquema heterogéneo de ordenadores, el rendimiento
depende de la capacidad de procesamiento de los ordenadores
vinculados al esquema de la maquina virtual (lo que era una ventaja
tiene una su desventaja).
 Es algo deficiente en cuanto al paso de mensajes se refiere.

PVM – Configuración del
Ámbito






Para explicar este punto nos vamos a vasar en los sistemas operativos
UNIX.
Cada ordenador debe de estar ejecutando el demonio pvmd
PVM requiere de cierta configuración para cada usuario. Es necesario crear
un archivo .rhosts en el directorio HOME de cada usuario que quiera
ejecutar programas bajo PVM.
El archivo .rhosts debe contener una línea por cada ordenador que va
formar parte de la maquina virtual. Además debe incluir el nombre de
usuario que se utilizara en cada una de ellas.
Ejemplo:
maquina1 username1
maquina2 username2
maquina3 username3
maquina4 username4
Además, se debe crear el directorio pvm3/bin/LINUX en el directorio HOME
y colocar ahí los programas.
PVM – Configuración de la MV




Para configurar la MV utilizamos el programa “pvm” en
cualquiera de los ordenadores que forman parte de la MV.
Nos aparecerá un promt donde podremos introducir comandos
para interactuar con la MV.
Los comandos mas interesantes son:
add/delete hostname: Añade/Quita el ordenador con nombre
hostname a la maquina virtual.
 conf: Para ver la configuracion actual.
 ps –a: Para ver los procesos en ejecucion en la maquina virtual.
 quit: Para salir de la consola pero dejar la maquina virtual activa.
 halt: Para detener la maquina virtual y salir de la consola.
PVM – Librerías




libpvm3: Esta librería brinda una gran cantidad de
rutinas escritas en lenguaje C. Esta librería siempre
es requerida.
libfpvm3: Librería adicional que se requiere en caso
de que la aplicación escrita en PVM utilice código
de Fortran.
libgpvm: Librería requerida en caso de usar grupos
dinámicos.
A continuación explicaremos un poco los métodos
mas interesantes de la librería principal libpvm3
PVM – Librerías – libpvm3 (I)

En libpvm3 encontramos;

Message Passing (paso de mensajes), como por
ejemplo:


Task Control (tareas de control), por ejemplo:


pvm_barrier: Bloquea el proceso de la llamada hasta que
todos los procesos en un grupo la han llamado.
Virtual Machine Control (Control de la maquina virtual):


pvm_exit: Para que el proceso salga de PVM
Group Library Functions:


pvm_send: Envía la información del buffer.
pvm_addhosts: Añade un host a la MV
Miscellaneous (funciones varias):

vm_perror: Imprime mensaje describiendo el último error
devuelto por una llamada PVM.
PVM – Compilación

Para compilar los programas implementados
para PVM usamos:

cc -o prog prog.c -lpvm3
PVM – Bibliografía



www.wikipedia.en
http://www.csm.ornl.gov/pvm/man/manpages.html
Libro Online: PVM:

parallel virtual machine
Autores: Varios
Documentos relacionados
Descargar