0

I read about efficiency in parallel computing, but never got an clear idea about it, also I read about achieving efficiency >1 and conclude that it's possible when it's a super linear.

Is that correct and possible?

If yes, then can anybody tell me how and provide an example for that?

Or, if it is not, then why?

user3666197
  • 1
  • 6
  • 50
  • 92
James
  • 11

1 Answers1

0

Let's agree on a few terms first:

A set of processes may get scheduled for execution under several different strategies --

  • [SERIAL] - i.e. execute one after another has finished, till all are done, or
  • [PARALLEL] - i.e. all-start at once, all-execute at once, all-terminate at once

or

  • in a "just"-[CONCURRENT] fashion - i.e. some start at once, as resources permit, others are scheduled for [CONCURRENT] execution whenever free or new resources permit. The processing gets finished progressively, but without any coordination, just as resources-mapping and priorities permit.

Next,
let's define a measure, how to compare a processing efficiency, right?

Given an efficiency may be related to power-consumption or to processing-time, let's focus on processing-time, ok?

Gene Amdahl has elaborated domain of generic processing speedups, from which we will borrow here. The common issue in HPC / computer science education is that lecturers do not emphasise the real-world costs of organising the parallel-processing. For this reason, the overhead-naive ( original ) formulation of the Amdahl's Law ought be always used in an overhead-strict re-formulation, because otherwise any naive-form figures are in just comparing apples to oranges.

On the other hand, once both the process-add-on-setup-overhead costs and process-termination-add-on-overhead costs are recorded into the scheme, the overhead-strict speedup comparison starts to make sense to speak about processing-time efficiency.

Having said this, there are cases, when processing-time efficiency can become > 1, while it is fair to say, that a professional due care has to be taken and that not all processing-types permit to gain any remarkable speedup on whatever large-scale pool of code-execution resources, right due to the obligation to pay and cover the add-on costs of the NUMA / distributed-processing overheads.


May like to read further and experiment

user3666197
  • 1
  • 6
  • 50
  • 92