There is a question in my exam that said:

Consider the following three processors (x, y, and z) that are all of varying areas. Assume that the single-thread performance of a core increases with the square root of its area.

  1. Processor X, core area = A

  2. Processor Y, core area = 4A

  3. Processor Z, core area = 16A

You are given a workload where S fraction of its work is serial and 1 - S of its work is infinitely parallelizable.

a. If executed on a die composed of 16 Processor X's, what value of S would give a speedup of 4 over the performance of the workload on just Processor X?

b. Given a homogenous die of area 16A, which of the three processors would you use on your die to achieve maximal speedup? What is the speedup over just a single Processor X? Assume the same work load as in part b.

My progress with this part so far:

In an area of 16A, 4 cores of Y would fit. The square root of its area is $2\sqrt{A}$, which each of the four cores' performance would increase by a factor of two? Using Amdahl's law,

Overall speed-up for this choice $=\dfrac{1}{\dfrac{1 - S}{4(2)?} + S}$

And likewise, the overall speed-up for choosing 1 core of Z $=\dfrac{1}{\dfrac{1 - S}{1(4)?} + S}$

I am assuming that 1 core of area 4A is like 2 cores of area A, is this a valid assumption? For S = 0.2, 4 cores of Y would yield a higher speedup than one core of Z. Is this reasoning correct?


1 Answer 1


The problem in an exam is that you need the answer that is expected from you - something I’d have a real problem with. So keep this solution to yourself.

Speed up is always hard to calculate - calculating execution time avoids lots of fractions and is equivalent. Assume your task would take one second on one processor X.

Since S is serial, you need at least S seconds. In that time, your 15 remaining cores can do 15S worth of work. If 15S >= 1-S or S >= 1/16 then all work is done after S. if S <= 1/16 then all cores can work on the task simultaneously, so the work takes 1/16 time. So time = max(S, 1/16) and speed up = min (1/S, 16). Speed up = 4 when S = 1/4.

You can have four processors of type Y at twice the speed or 1 of type Z at four times the speed. The work takes half of max(S, 1/4), that is max (S/2, 1/8) on 4 processors of type Y and it takes 1/4 on one processor of type Z.

X is fastest when S <= 1/8. Y is fastest for 1/8 <= S <= 1/2, and Z is fastest for S >= 1/2.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.