Bueno continuando con el tema de Pvm vamos a ver la instalación correspondiente
Se Descargo el paquete(http://rpm.pbone.net/index.php3/stat/4/idpl/2396522/com/pvm-3.4.3-4.i386.rpm.html) en formato fuente y .rpm y se instalo en todas las maquinas usando el comando.
rpm -ivh pvm-3.4.3-4.i386.rpm
Con esto se instalo en nuestro sistema el programa PVM y el compilador aimk , el paso siguiente fue configurar las variables de entorno agregando esto al fichero ~/bashrc
export PVM_ROOT=/usr/share/pvm3
export PVM_ARCH=LINUX
export PATH=$PATH:$PVM_ROOT/lib:$HOME/pvm3/bin/$PVM_ARCH
export PVM_DPATH=$PVM_ROOT/lib/pvmd
export PVM_RSH=/usr/bin/ssh
export MANPATH=$MANPATH:$PVM_ROOT/man
Donde PVM_ROOT es el directorio donde se instalo el programa PVM_ARCH representa la arquitectura del sistema en el que se intalo la herramienta en nuestro caso contamos con 2 arquitecturas distintas LINUX para la maquina intel (x86)y LINUXSPARC para las station.
Tambien es necesario hacer notar que por defecto PVM trabajo con conexión mediante rsh lo que se cambio a SSH mediante la cariable PVM_RSH.
Existe otra manera de cambiar la ultima opcion que consiste en cambiar antes de compilar el pvm el archivo ../pvm3/conf/LINUXSPARC.def, el cual es para cuando se compila el programa (cuando no haya el sistema de paquetes rpm), si es ese el caso primero hay que configurar las variables de entorno para que se pueda compilar sin problemas
Luego el siguiente paso fue ejecutar pvm y configurar algunos aspectos extras, desde pvm.
pvm>add con este comando agregamos la lista de maquinas que correran pvm como lo muestra la siguiente imagen (conf muestra las maquinas agregadas)
Luego en las maquinas se procedio a configurar el compilador aimk modificando el fichero Makefile.aimk con los siguientes cambios:
# $Id: Makefile.aimk,v 1.16 1998/11/20 19:46:41 pvmsrc Exp $
#
# Makefile.aimk for PVM example programs.
#
...
#
SHELL = /bin/sh
# CAMBIO 1
#PVMDIR = ../..
# se sustituye por
PVMDIR = /usr/share/pvm3/
#CAMBIO 2
#SDIR = $(PVMDIR)/examples
#se sustituye por
SDIR = $(HOME)/pvm3/examples
# CAMBIO 3
#BDIR = $(PVMDIR)/bin
se sustituye por
BDIR = $(HOME)/pvm3/bin
XDIR = $(BDIR)/$(PVM_ARCH)
CFLOPTS = -g
CFLAGS = $(CFLOPTS) -I$(PVMDIR)/include $(ARCHCFLAGS)
##### Need to select some architecture-specific libraries to link tasks
# The default setup is for workstations
### Select PVMLIB depending on architecture.
# For MPPs (PGON and AIX4SP2/SP2MPI) select:
# PVMLIB = -lpvm3pe
# For Workstations and shared memory architectures select:
# PVMLIB = -lpvm3
PVMLIB = -lpvm3
A continuacion se compila un prograama para chequear el correcto funcionamiento de la herramienta, y esto se hace mediante un ejemplo clasico el HolaMundo que viene en los ejemplos de PVM, se compila con aimk mediante el siguiente comando:
$ aimk hello
Luego con el comando spawn dentro de pvm iniciamos el subprograma hello como se ve en la imagen y el llamado a otra maquina en este caso se ejecuto desde Rocco y llamo a Keyra
Como paso final se creo el archivo pvm.hosts el cual contiene los nombre o en su defecto las Ip de las maquinas que se desean agregar al iniciar el demonio pvmd, el cual se ejecuta al inicio con el comando add
$pvm>add pvm.hosts