Hardware Reference
In-Depth Information
else. For example, if we put in a complicated fast floating-point unit, that takes space,
and something might have to be moved farther away from the middle to accommodate it,
adding an extra cycle in delay to reach that unit. The basic Amdahl's law equation does not
take into account this trade-off.
a. [20] <1.9> If the new fast floating-point unit speeds up floating-point operations by, on
average, 2×, and floating-point operations take 20% of the original program's execu-
tion time, what is the overall speedup (ignoring the penalty to any other instructions)?
b. [20] <1.9> Now assume that speeding up the floating-point unit slowed down data
cache accesses, resulting in a 1.5× slowdown (or 2/3 speedup). Data cache accesses con-
sume 10% of the execution time. What is the overall speedup now?
c. [15] <1.9> After implementing the new floating-point operations, what percentage of
execution time is spent on floating-point operations? What percentage is spent on data
cache accesses?
1.17 [10/10/20/20] <1.10> Your company has just bought a new Intel Core i5 dual-core pro-
cessor, and you have been tasked with optimizing your software for this processor. You
will run two applications on this dual core, but the resource requirements are not equal.
The first application requires 80% of the resources, and the other only 20% of the resources.
Assume that when you parallelize a portion of the program, the speedup for that portion
is 2.
a. [10] <1.10> Given that 40% of the first application is parallelizable, how much speedup
would you achieve with that application if run in isolation?
b. [10] <1.10> Given that 99% of the second application is parallelizable, how much spee-
dup would this application observe if run in isolation?
c. [20] <1.10> Given that 40% of the first application is parallelizable, how much overall
system speedup would you observe if you parallelized it?
d. [20] <1.10> Given that 99% of the second application is parallelizable, how much over-
all system speedup would you observe if you parallelized it?
1.18 [10/20/20/20/25] <1.10> When parallelizing an application, the ideal speedup is speeding
up by the number of processors. This is limited by two things: percentage of the application
that can be parallelized and the cost of communication. Amdahl's law takes into account
the former but not the later.
a. [10] <1.10> What is the speedup with N processors if 80% of the application is parallel-
izable, ignoring the cost of communication?
b. [20] <1.10> What is the speedup with 8 processors if, for every processor added, the
communication overhead is 0.5% of the original execution time.
c. [20] <1.10> What is the speedup with 8 processors if, for every time the number of pro-
cessors is doubled, the communication overhead is increased by 0.5% of the original
execution time?
d. [20] <1.10> What is the speedup with N processors if, for every time the number of
processors is doubled, the communication overhead is increased by 0.5% of the origin-
al execution time?
e. [25] <1.10> Write the general equation that solves this question: What is the number of
processors with the highest speedup in an application in which P % of the original exe-
cution time is parallelizable, and, for every time the number of processors is doubled,
the communication is increased by 0.5% of the original execution time?
Search WWH ::




Custom Search