VilasG,
I think I can explain the spike you see at 5 CPUs. It appears that your array-splitting VI is not splitting the array into equally-sized pieces. For example, in the five-CPU case, the VI splits the array into four pieces that are one-eighth the size of the original array, and one piece that's one-half the size. This is also true for the 3, 6 and 7-CPU cases (though the sizes of the pieces differ). When I changed the VI to split the array evenly, I got the expected performance improvements.
Also, instead of using Rotate Array for an experiment like this, I recommend doing something like incrementing each array element. That way, you know that the same amount of work is getting done. As it is, you see a 4x performance improvement when going from 1 CPU to 2, and this is because your Rotate Arrays are only doing half as much total work when you split the original array in half and rotate each half.