Of course it is C[i] = A[i] + B[i].It was a typing mistake,never mind. You just understand the concept.
27-1 b.
for grain-size=1
n=A.length
grain-size=1
r=n
for k=0 to n-1
spawn ADD-SUBARRAY(A,B,C,k+1,min((k+1),n)
)
sync
This will make n sub branches all to be executed in parallel and finally sync instruction will cause the flow of execution to be synchronized at that point.
27-1 C.
x1 is the constant to represent computational cost of spawning a new process. This step is executed (n/grain-size) number of times.
x2 is the constant to represent the computational cost of the addition operation. This step is executed (grain-size) number of times for each spawned preocess in parallel.
Hence total time for a parallel thread is x1(n/grain-size) + x2.(grainsize)