This weekend my son asked me a question that had me stumped, forced me to sit in the garden to think (*which was a great relief*) and to find a way of explaining it to him. Here is the result of my journey, whereby I used the example of adding eight numbers together, which I vaguely remember form material I once read during my studies. My explanation obviously is based in an ideal world, whereby no-one and nothing else is executing on the system, which for simplicity sake (*it was also getting cold in Ladner*) I defined as an assumption

## Adding 8 numbers on a single processor

The diagram shows that we ‘theoretically’ require 7 steps for a single processor system to add 8 numbers together:

## Adding 8 numbers on a dual processor

The diagram shows that we ‘theoretically’ require 4 steps for a dual processor system to add 8 numbers together:

## Adding 8 numbers on a quad processor

The diagram shows that we ‘theoretically’ require 3 steps for a quad processor system to add 8 numbers together:

## Summary

What becomes evident at a glance, is that the efficiency and effectiveness of multiple processors depends on the logic processed. In the first step the multiple processors all started running, but from step 2 onwards some were working and some were idling at the beach … in other words the efficiency reduced as the calculation steps proceeded along. The following table shows the ‘theoretical’ speed-up for this silly problem:

Processor |
Steps |
Speed-Up |

1 | 7 | 7/7=1 |

2 | 4 | 7/4=1.75 |

4+ | 3 | 7/3=2.33 |

In other words we would need a quad to be twice as fast as the single processor system to solve this specific problem domain. Looking forward to the next weekend and the next question from my boys … they can think of and ask the weirdest stuff.

PingBack from http://asp-net-hosting.simplynetdev.com/rambling-%e2%80%a6-why-is-my-dual-processor-colleague-not-twice-as-fast/

Continuing from Rambling … why is my dual processor colleague not twice as fast? I thought I should have

Continued from Rambling … loops and multi-processing. When things literally slow down… While riding on