Interesting that on a six core machine there is very little gain after a Degree of Parallelism of 3. The problem does seem highly data parallelizable (is that a word). So why isn't it able to better utilize the 6 cores?
Most of the literature in parallel (at least, in the parallel compilers space, where I work) plot speedup (http://en.wikipedia.org/wiki/Speedup) versus number of processors instead of seconds versus threads/processors to show how well a given algorithm and implementation scale. Of course, you have to be careful about what you use for the sequential (T_1) baseline, but it's much easier to understand the data in the graphs.