The parallel implementation of integration to calculate the value of pi. - Sameer Shende CIS 630. The area under the curve f(x) = 4/(1+x*x) from 0 to 1 = pi The interval 0 to 1 is divided into n steps and we use data partitioning for parallel implementation. If there are 10 intervals and 3 processors, first and the second get 3 intervals (1,2,3 for the first, 4,5,6 for the second) and the third processor gets 4 intervals (7,8,9,10) - so that the last thread is at least as busy as the rest of the threads. The value of pi is calculated and tested repeatedly for the same parameters. It is consistent. (For two consecutive runs, the values are same to the 14th decimal place). Each thread calculates the local area and then acquires a lock and updates the global variable and releases the lock. After all the threads terminate, the value of pi is displayed and the error is calculated using the system specified value. For a large number of intervals (> 10000), the error reaches below the 10th decimal place in terms of percentage. The maximum size of the problem tested was with 8 processors and 1e9 (or 1 billion intervals). After 1 million intervals, the error is more or less constant and fine tuning the interval does not decrease the error significantly. The test runs consist of running different intervals with a single processor and increasing the number of intervals and the processors.