PLEASE THERE IS A LOT OF QUESTION LIKE THIS, BUT ALL THE ANSWERS ARE WRONG... PLEASE MAKE SURE TO GIVE A GOOD ONE, PLEAS

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899603
Joined: Mon Aug 02, 2021 8:13 am

PLEASE THERE IS A LOT OF QUESTION LIKE THIS, BUT ALL THE ANSWERS ARE WRONG... PLEASE MAKE SURE TO GIVE A GOOD ONE, PLEAS

Post by answerhappygod »

PLEASE THERE IS A LOT OF QUESTION LIKE THIS, BUT ALL THE ANSWERS
ARE WRONG... PLEASE MAKE SURE TO GIVE A GOOD ONE, PLEASE
2. Summing up to π (50 pts.) Write a parallel program pie.c in C
or C++ (pie.cc) for Linux that computes an approximation of the
number π using a series with N+1 terms. The series sum is
partitioned in T non-overlapping partial sums, each computed by T
separate child processes created with the fork() library function.
This program demonstrates data parallelism and interprocess
communication using pipes. Each child process could perform a
(potentially) long computation on a separate CPU (or core).
Depending on the computer architecture, the entire computation
could reach a speedup close to T. Numbers N and T are passed from
the shell to the pie program as command line parameters. The
main(argc, argv[]) function call gets these parameters (T, N) in
argv[1] and argv[2] as strings, respectively. (Element argv[0]
contains the program name and we don’t need it.) The first
parameter, N, is the upper limit for i in the formula above. The
second parameter, T, is the number of child processes that compute
partial sums. N should always be greater than T, N>T. Otherwise
the program should display an error message and call exit(1). Use
the Nilakantha approximation formula for π
(http://en.wikipedia.org/wiki/Pi): π = 3 + 4/(2*3*4) – 4/(4*5*6) +
4/(6*7*8) - 4/(8*9*10) + …. + k*4/((2*i)* (2*i+1)*( 2*i+2))+...
where k = 1 if i is odd and k = -1 if i is even and i goes from 1
to N. The program can be run like this from the shell: ./pie N T
For instance, ./pie 100 4 This command computes the approximation
with 101 terms (starting with term 3) with 4 child processes. Here
is a description of the algorithm to be implemented. The parent
process iterates with an index variable of type int called j from 0
to T (0≤j
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply