Here the key thing is :
We have 8 tasks(instructions)..So if we have one processor so task will be done sequentially so :
Time taken to 8 tasks to do sequentially = 8 time units ..Here the assumption is given :
Time taken by each instruction takes same amount of time..Hence it is 8 time units for sequential case..
Now if we consider the parallel case..So we see in the precedence graph.
a) T1 is done first
b) T2 is done next
c) T3,T4 and T5 next in parallel as we have 4 processors so we can assign 3 of them..
d) Then finally T6 , T7 and T8 similarly..
Hence in all we need now 4 time units..
Hence performance enhancement(speedup) = Time taken in sequential part / (Time taken in parallelised system)
= 8 / 4
= 2
Now efficiency is defined in the question as :
Efficiency = Speed up / No of processors
Hence efficiency = 2 / 4
= 50 %
Hence C) is the correct answer..