Práctica: Cálculo Multiproceso usando cerrojos

El área bajo la curva $ y = \frac{1}{1+x^2}$ entre 0 y $ 1$ nos proporciona un método para calcular $ \pi $ :

$\displaystyle \int_{0}^{1} \frac{4}{(1+x^2)} dx = 4 \arctan(x) \vert _{0}^{1} = 4 ( \frac{\pi}{4} - 0) = \pi $

Esta integral puede aproximarse por la suma:

$\displaystyle \pi \simeq \sum_{i=0}^{N-1} \frac{4}{N \times \left (1+ (\frac{i+0.5}{N})^2 \right)}$ (3.1)

La suma puede hacerse en paralelo.

Escriba un programa Perl que calcule $ \pi $ usando varios procesos cada uno de los cuales calcula una parte de la suma asociada con la integral anterior. Utilice flock para sincronizar los procesos. Observe si hay diferencia entre ejecutarlo en un entorno NFS o no.

Casiano Rodríguez León
Licencia de Creative Commons
Programación Distribuida y Mejora del Rendimiento
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=44.
2012-06-19