Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Procesamiento Paralelo PVM
Procesamiento Paralelo PVM
Procesamiento
INTRODUCCION
Pgina 2
Procesamiento
PVM
1. CONCEPTO
El PVM es un paquete de software que permite a un
conjunto heterogneo de Unix o equipos con Windows
conectados entre s por una red que se utilizar como un
equipo nico en paralelo de gran tamao. Por lo tanto
grandes problemas informticos pueden ser resueltos de
manera ms rentable mediante la potencia agregada y la
memoria de muchos equipos.
PVM permite a los usuarios aprovechar sus equipos
informticos existentes para resolver problemas mucho
ms grandes a un coste adicional mnimo. Cientos de sitios
en todo el mundo estn utilizando PVM para resolver
importantes problemas cientficos, industriales y mdicas,
adems de utilizar PVM como una herramienta educativa
para ensear en paralelo de programacin. Con decenas de
miles de usuarios, PVM se ha convertido en el estndar de
facto para el mundo de la computacin distribuida a nivel
mundial.
Pgina 3
Procesamiento
Pgina 4
Procesamiento
El Sistema de P4
Express
MPI
El Sistema de Linda
EL SISTEMA DE P4
Es una biblioteca de macros y subrutinas desarrolladas en
el Laboratorio Nacional Argonne para la programacin de
una gran variedad de mquinas paralelas. p4 sistema
admite tanto el modelo de memoria compartida (con base
en los monitores) y el modelo de memoria distribuida (con
paso de mensajes). Para el modelo de memoria compartida
de la computacin paralela, P4 proporciona un conjunto de
monitores til, as como un conjunto de primitivas de las
que los monitores pueden ser construidos. Para el modelo
de memoria distribuida, P4 establece escrito enviar y recibir
operaciones y la creacin de procesos de acuerdo a un
archivo de texto que describe el grupo y la estructura de
proceso.
EXPRESS
El ncleo del sistema Express es un conjunto de
bibliotecas para la comunicacin, I / O, y los grficos
paralelos. Las primitivas de comunicacin son similares a
los encontrados en otro mensaje de paso de los sistemas
e incluyen una variedad de operaciones globales y los
datos primitivos de distribucin. Extended I / O (Input /
Output) rutinas permiten paralelo entrada y salida, y un
conjunto de rutinas similares se proporcionan para
Ing. Sistemas y Computacin
Pgina 5
Procesamiento
EL SISTEMAS DE LINDA
Pgina 6
Procesamiento
(insertar
Pgina 7
Procesamiento
Pgina 8
Procesamiento
Heterogeneidad
Cada computador tiene sus propias caractersticas en
cuanto:
Arquitectura
Mtodos de programacin optimizados
Cdigos diferentes
Formato de los datos
Exigencia
de
conversiones
en
las
transferencias
Capacidad de computacin
Potencia del procesador
Carga de trabajo
Carga de red
Hay que pensar en una distribucin
asimtrica de carga de trabajo
Escalabilidad
Porque podemos aumentar y
procesadores en caliente).
disminuir el nmero de
Pgina 9
Procesamiento
4.
ARQUITECTURA PVM
Pgina 10
Procesamiento
Pgina 11
Procesamiento
Utilizada para:
Control de procesos
Crear, enviar y recibir mensajes
Informacin del sistema
Configuraciones
dinmicas
(aadir
procesadores)
Sealizacin
Mensajes de error
Empaquetar datos en mensajes
Gestionar grupos de procesos
eliminar
TAREAS
Las tareas pueden ser iniciada desde la consola o por
otras tareas.
Toda accin PVM implica una invocacin al demonio
local
Los demonios locales gestionan el control de las tareas
existentes y su localizacin .
Cada tarea tiene un identificador nico en el sistema
PVM
Ing. Sistemas y Computacin
Pgina 12
Procesamiento
Pgina 13
Procesamiento
Pgina 14
Procesamiento
6. QU OFRECE EL PVM?
Un entorno de desarrollo
Libreras
Comunicacin
Sincronizacin
Iniciacin y finalizacin de tareas
Configuracin dinmica de la
virtual
mquina
Pgina 15
Procesamiento
Caractersticas:
Pleno control de qu computadores se integran al
sistema
CREACIN DE PROCESOS Y
EJECUCIN
ORGANIZACIN MASTER - SLAVE.
Comenzar un nuevo proceso PVM:
nrop= pvm_spawn(*tasks, **argv, flag, *where,
ntasks, *tids)
Terminar un proceso PVM:
pvm_exit()
INFORMACIN
Conocer el ID de una tarea (proceso) PVM:
Ing. Sistemas y Computacin
Pgina 16
Procesamiento
tid = pvm_mytid()
tidp = pvm_parent()
con
Pgina 17
Procesamiento
RECIBIR UN MENSAJE
info = pvm_upkint(int np, int nitem, 1)
Recuperar el mensaje
info = pvm_upkstr(char *c)
buffer
info = pvm_upkfloat(float *f, int nitem, 1)
desde el
RECIBIR UN MENSAJE(2)
Recibe
Pgina 18
Procesamiento
EJEMPLOS
hello.c (1)
#include <stdio.h>
#include "pvm3.h"
main()
{
int i, cc, t, tid;
char buf[100];
Ing. Sistemas y Computacin
Pgina 19
Procesamiento
Pgina 20
Procesamiento
Pgina 21
Procesamiento
P0
NAME=0
P1
NAME=1
P2
NAME=2
P3
NAME=3
P4
NAME=0
NUMPR OCESSORS=4
P0
NAME=0
P1
NAME=1
NUMPROCESSOR S=2
P2
NAME=0
P5
NAME=1
P6
NAME=2
P7
NAME=3
NUMPR OCESSORS=4
P3
NAME=1
NUMPR OCESSORS=2
P4
NAME=0
P5
NAME=1
NUMPROCESSORS=2
P6
NAME=0
P7
NAME=1
NUMPROCESSORS=2
COMUNICACIN COLECTIVA
Un mensaje puede ser distribuido a todos los miembros del
grupo excepto a si mismo
info = pvm_bcast(char *group, int msgtag)
SINCRONIZACIN
Pgina 22
Procesamiento
Pgina 23