La maquina virtual_paralela_pvm
-
Upload
ingdianabaquero -
Category
Documents
-
view
1.330 -
download
0
Transcript of La maquina virtual_paralela_pvm
Laboratorio 1. Máquina Virtual Paralela
El laboratorio será realizado en equipos de 2 personas. Las instrucciones son las mismas
para cada equipo. Recuerde debe entregar un informe con las actividades y resultados
obtenidos.
La máquina virtual paralela PVM (Parallel Virtual Machine), permite realizar computación
paralela y estará formada por todos los nodos en los que esté activo el demonio pvmd.
Consta de los siguientes componentes:
el demonio pvmd.
el archivo de configuración ~/pvm.hosts.
la consola interactiva de PVM (pvm) y su frontal gráfico XPVM (xpvm).
las librerías PVM.
las herramientas de desarrollo (aimk...).
PASOS PARA INSTALAR EN DEBIAN
1. Instalar PVM
# apt-get install pvm pvm-dev
2. Ajustar las variables de entorno:
Para ello editaremos .bashrc y añadiremos las siguientes líneas: export PVM_ROOT=/usr/lib/pvm3
export PVM_ARCH=LINUX
o export PATH=$PATH:/usr/lib/pvm3/bin:$HOME/pvm3/bin/LINUX
Cargamos .bashrc de nuevo y comprobamos:
$ source ~/.bashrc
$ echo $PVM_ROOT
/usr/lib/pvm3
3. Habilitar SSH sin password: para que el master pueda ejecutar comandos remotos
en los esclavos, PVM utiliza rsh (Remote Shell) o ssh (Secure Shell). En Debian el
comando rsh es un enlace del sistema de alternativas que apunta a /usr/bin/ssh, por
lo que PVM utiliza por omisión conexiones seguras.
Para disponer de SSH instalaremos en los esclavos el servidor SSH (paquete
openssh-server) y los configuraremos para que acepten conexiones desde el master
sin pedir password ni pass-phrase (utilizaremos el mismo usuario en todas las
máquinas). Para ello:
- crearemos una clave RSA en el master:
#ssh-keygen -t rsa -f ~/.ssh/id_rsa
- activaremos ssh-agent en el master para que no nos pida la pass-phrase:
#eval `ssh-agent -s`
Agent pid 12297
#ssh-add
Enter passphrase for /home/mayol/.ssh/id_rsa:
Identity added: /home/mayol/.ssh/id_rsa (/home/mayol/.ssh/id_rsa)
- copiaremos la clave pública (~/.ssh/id_rsa.pub) en todos los esclavos:
mayol@master:~$ scp ~/.ssh/id_rsa.pub
mayol@slave1:~/.ssh/id_rsa.pub
- la añadiremos al final del fichero ~/.ssh/authorized_keys en cada esclavo:
mayol@slave1:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- y comprobaremos que podemos iniciar sesión SSH en los esclavos sin que nos
pida password:
mayol@master:~$ ssh slave1
mayol@slave1:~$
4. Manejar PVM desde la consola interactiva: entraremos en la consola PVM con el
comando pvm y obtendremos el prompt (si el demonio pvmd no estaba corriendo lo
lanzará):
$ pvm
pvm>
Para ver la lista de nodos del cluster usaremos el comando conf:
pvm> conf
conf
1 host, 1 data format
HOST DTID ARCH SPEED DSIG
master 40000 LINUX 1000 0x00408841
Podemos añadir un nodo (y lanzar el demonio pvmd en ese nodo) con el comando
add Los nombres de los nodos utilizados en pvm.hosts deben estar en /etc/hosts:
127.0.0.1 localhost
192.168.0.200 master
192.168.0.201 slave1
192.168.0.202 slave2
192.168.0.203 slave3
pvm> add slave1
Y eliminar un nodo con el comando delete (mataremos el demonio pvmd en ese
nodo):
pvm> delete slave1
Para arrancar el demonio pvmd en el master y en todos los nodos listados en
pvm.hosts ejecutaremos:
$ pvm pvm.hosts
pvm>
Siendo pvm.hosts un archivo que contiene la lista de nodos del cluster, por ejemplo:
# Master PVM
master
# Slaves
slave1
slave2
slave3
Comprobamos la lista de nodos del cluster:
pvm> conf
conf
4 hosts, 1 data format
HOST DTID ARCH SPEED DSIG
master 40000 LINUX 1000 0x00408841
slave1 100000 LINUX 1000 0x00408841
slave2 140000 LINUX 1000 0x00408841
slave3 c0000 LINUX 1000 0x00408841
Para ver una relación de los comandos de la consola:
pvm> help
help Print helpful information about a command
Syntax: help [ command ]
Commands are:
add Add hosts to virtual machine
alias Define/list command aliases
conf List virtual machine configuration
delete Delete hosts from virtual machine
...
Podemos salir de la consola PVM sin parar los demonios pvmd con el comando
quit:
pvm> quit
quit
pvmd still running.
Para volver a entrar en la consola PVM:
$ pvm
pvmd already running.
pvm>
Para salir de la consola PVM matando todos los demonios pvmd el comando es halt:
pvm> halt
halt
Terminado