PDF de programación - Práctica 1 - Cálculo del Número PI por el Método de Montecarlo

Imágen de pdf Práctica 1 - Cálculo del Número PI por el Método de Montecarlo

Práctica 1 - Cálculo del Número PI por el Método de Montecarlográfica de visualizaciones

Actualizado el 7 de Febrero del 2020 (Publicado el 13 de Julio del 2017)
6.687 visualizaciones desde el 13 de Julio del 2017
443,6 KB
12 paginas
Creado hace 14a (13/10/2009)
Manuel Arenaz
[email protected]

Cálculo del Número PI por el Método de Motecarlo

Algoritmo Secuencial para el Cálculo del Número PI

Método de Montecarlo

  Generación de experimentos aleatorios independientes
consistentes en generar N puntos (x,y) con x,y∈[0,1] y
contar el número C de puntos (x,y) que caen dentro del
cuadrante de un círculo de radio 1.




πr2
π/4

  Área de un círculo:
  Área del cuadrante:
  Probabilidad:
C/N = π/4  π = 4C/N

  La aproximación del número π es
más precisa cuando N→∞.

© Manuel Arenaz, 2009

2

Cálculo del Número PI por el Método de Motecarlo

Algoritmo Paralelo para el Cálculo del Número PI

Paralelización

  Reparto del trabajo correspondiente a la generación de
N experimentos entre un conjunto de P procesadores.
  Cada procesador genera Np puntos (x,y) con x,y∈[0,1] y
cuenta el número Cp de puntos (x,y) que caen dentro del
cuadrante de un círculo de radio 1.



p=0
 C0

© Manuel Arenaz, 2009

p=P-1
 CP-1

  Número de experimentos:
Np = N/P con p∈ {0,…P-1}
  Estimación de π = 4C/N
donde C=C0+…+Cp-1
es el nº total de aciertos

3

Cálculo del Número PI por el Método de Motecarlo

Algoritmo Paralelo para el Cálculo del Número PI

Paralelización

N,P

N,P

N,P

  Inicialmente sólo el
proceso maestro del
programa paralelo
conoce los valores de
N y P.
  Paso 1: Envío de N y P
a los procesos esclavos
del programa paralelo
  pvm_send/pvm_recv
  pvm_mcast/pvm_recv

© Manuel Arenaz, 2009

4

Cálculo del Número PI por el Método de Motecarlo

Algoritmo Paralelo para el Cálculo del Número PI

Paralelización

  Paso 2: Cada proceso
del programa paralelo
realiza el trabajo que le
corresponde.
  Cálculo del número de
experimentos Np = N/P.

  Realización de los
experimentos para
calcular Cp.

Np=N/P Np=N/P Np=N/P

Cp

Cp

Cp

© Manuel Arenaz, 2009

5

Cálculo del Número PI por el Método de Motecarlo

Algoritmo Paralelo para el Cálculo del Número PI

Paralelización

  Paso 3: Los procesos
esclavos del programa
paralelo envían el resultado
Cp que han calculado al
proceso maestro
  El proceso maestro calcula el

númro total de aciertos

C = C0+…+Cp-1

Cp

Cp

Cp
C

π=4C/N

  … y a continuación calcula el



valor estimado de π

π = 4C/N

© Manuel Arenaz, 2009

6

Cálculo del Número PI por el Método de Motecarlo

Entrono de Trabajo en el Laboratorio

Entorno de Trabajo

  Máquina virtual paralela restringida a un único PC.
  Sistema de ficheros en red compartido.

  Lenguaje C
  Compilador gcc
  PVM 3.0
  XPVM 1.0

© Manuel Arenaz, 2009

7

Cálculo del Número PI por el Método de Motecarlo

Algoritmo para el Cálculo del Número PI

Compilación

  Crear la estrutura de directorios con la que está

configurado PVM en las máquinas del laboratorio:

  Almacenar código fuente en $HOME/pmv3/src/
  Almacenar ejecutables en $HOME/pvm3/bin/LINUX/

  Compilación como cualquier programa C

Incluyendo el fichero de cabeceras pvm3.h en el código fuente

 
  Enlazando el código ejecutable con las librerías libpvm3.a y libgpvm3.a.

  Usar el script compilepvm.

© Manuel Arenaz, 2009

8

Cálculo del Número PI por el Método de Motecarlo

Compilación y Ejecuciónde Programas Paralelos PVM

Arranque Entorno PVM
  Dos daemons gestionan las comunicaciones:
  PVM daemon ‘pvmd’
  PVM group daemon ‘pvmgs’
  Arranque de los daemons:
  pvmd se arranca al ejecutar los comandos ‘pvm’ y ‘xpvm’

desde un terminal del sistema.

  pvmgs se arranca al ejecutar el comando ‘pvmgs&’ en

background desde un terminal del sistema.

  El script de compilación compilepvm comprueba el

estado del entorno PVM antes de compilar un
programa paralelo PVM.

© Manuel Arenaz, 2009

9

Cálculo del Número PI por el Método de Motecarlo

Compilación y Ejecuciónde Programas Paralelos PVM

Ejecución de Programas Paralelos
  Altarnativas para ejecutar el programa paralelo PVM:
  desde un terminal, como cualquier otro programa UNIX.
  desde la consola PVM usando el comando spawn:







$ pvm
pvm> spawn -> prog_pvm

  Desde el entorno gráfico XPVM usando el comando spawn:



$ xpvm


activando la opción de menu ‘TASKS->SPAWN’.

  Comprobar que no existen procesos PVM colgados de

pruebas anteriores


$ ps -aefl | grep pvm



© Manuel Arenaz, 2009

10

Cálculo del Número PI por el Método de Motecarlo

La consola de PVM

La consola de PVM

  Comandos más importantes de la consola PVM:

 

 

 

 

 

 

 

 

 

“help”: Ayuda sobre los comandos disponibles en la consola
“spawn file”: Ejecución de un proceso PVM almacenado en el fichero file.
En este modo de ejecución no funciona la entrada por teclado!!
Es posible redireccionar la salida del programa PVM a la pantalla (e.g., “spawn -> file”)
“ps”: Muestra los procesos que hay en la máquina virtual.
“conf”: Muestra los computadores que forman parte de la máquina virtural.:
“add/delete hosts”: Añade/Elimina computadores de la máquina virtual.
“kill tid”: Elimina el proceso de identificador tid.
“reset”: Elimina todos los procesos del usuario y reinicializa el daemon
pvm3d.
“quit”: Sale de la consola pero el daemon pvm3d sigue ejecutándose.
“halt”: Sale de la consola y elimina el daemon pvm3d.

© Manuel Arenaz, 2009

11

Cálculo del Número PI por el Método de Motecarlo

Material

  Código secuencial para el cálculo del número PI por el
método de Montecarlo
  Plantilla de programa paralelo PVM escrito siguiendo
el paradigma de programación SPMD (Simple Program
Multiple Data)
  Script de compilación y arranque de la máquina virtual
de PVM en el laboratorio 0.3
  Transparencias del seminario de PVM
  Transparencias de uso de XPVM

© Manuel Arenaz, 2009

12
  • Links de descarga
http://lwp-l.com/pdf5344

Comentarios de: Práctica 1 - Cálculo del Número PI por el Método de Montecarlo (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad