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
2010-03-22