# Rambling … why is my dual processor colleague not twice as fast?

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:

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.

Tags

1. Continuing from Rambling â€¦ why is my dual processor colleague not twice as fast? I thought I should have

2. Continued from Rambling â€¦ loops and multi-processing. When things literally slow downâ€¦ While riding on