ELEC 5200-001/6200-001 Computer Architecture and Design Fall 2015 Homework 6 Problems

advertisement
ELEC 5200-001/6200-001 Computer Architecture and Design
Fall 2015
Homework 6 Problems
Assigned 11/30/15, due 12/4/15
Problem 1:
(a) Run times for four programs (A, B, C and D) are recorded on two processors (X
and Y):
Program
A
B
C
D
Run time (seconds)
Processor X
Processor Y
2
3
20
50
700
700
1200
800
Compute the mean run time for each processor. Which processor is faster and
what is the performance ratio?
(b) Suppose X is a single processor with an average power consumption of 10W and
Y is chip multiprocessor (CMP) that uses dynamic voltage and frequency scaling
(DVFS) for power management and consumes 5W. Compute the efficiencies of
the two processors. What is the relative efficiency of Y with respect to X? Which
processor is more efficient?
Problem 2: Suppose in a typical target applications of a processor 30% of execution time is
spent on floating point additions, 25% on floating point multiplications, 25% on floating point
divisions, and the remaining time is used by other operations including integer math. To create a
higher performance processor, a design team examines three possible hardware changes, each
costing about the same in design effort and manufacturing: (i) Make floating point adder twice as
fast, (ii) Make floating point multiplier 20 times as fast, (iii) Make floating point divider 100
times as fast. What will the speedup be if these design changes are incorporated? To hold the
cost down, if we can include only one of the three enhancements, then which one should that be?
Problem 3: Consider n processor cores in a distributed memory system. The compiler distributes
a program to processors such that independent executions are possible. However, after execution
of instructions the processors must communicate to keep the data consistent. Given that the interprocessor communication network has a finite bandwidth the total amount of communication
through the network grows as more processors are used by a program. Suppose we model the
communication overhead for n processors as β(n – 1), where constant β, the inter-processor
communication overhead factor, has some small positive value. Show that the speed up can be
expressed as,
1
Speedup = 
(1)
(1/n) + β(n – 1)
Also show that:
(a) The fraction fenh of Amdahl’s law in this system equals 1 – nβ.
(b) For non-zero β, maximum speed up occurs when n = 1/√β.
(c) For a very small value of the communication overhead β > 0, the speed up, which is
always less than n, attains the maximum value when it is n/2.
Problem 4: For an n-processor system, we define parallelizing efficiency as the ratio of actual
speedup to the ideal speedup n. For the system of Problem 3 find the maximum speedups
achievable with β = 0.001 and at least 80% parallelizing efficiency.
Problem 5 (Optional): (See Lecture 11) In this problem we study the performance of the vSMP
HPCC – Virtual Symmetric Multiprocessing High Performance Compute Cluster at Auburn
University. The description of the system is available at:
http://eng.auburn.edu/admin/ens/hpcc/software_programming.html
This site contains a C program pi.c that computes the value of pi using an iterative formula. The
number of iterations in pi.c may be set between n = 140,000 and n = 200,000 so that the run time
of a single processor is significant (~5 minutes). Note that this n is different from the number of
processors in the previous problems. Here, the number of processors is ppn. Compile and run the
program varying the number of processors, ppn = 1, 2, 3, 4, 5, . . . , until the performance begins
to drop. Plot the run time (normalized with respect to the run time for ppn = 1) as a function of
ppn. Use Matlab curve fitting program to fit equation (1) of Problem 3 and find the value of the
parameter β.
Problem 6:
(a) For two instructions A and B where B follows A, define RAW, WAR and WAW
dependencies? How do they influence the out-of-order issuing of B.
(b) Examine the following sequence of four instructions for out-of-order issue:
#1
#2
#3
#4
R6 = R5 + R6
R1 = R5 + R7
R2 = R1 + R6
R3 = R5 – R6
Can #2 be issued in the same cycle as #1? If not when should #2 be issued?
Can #3 be issued before #1 or #2 is retired? If not, when should #3 be issued?
Can #4 be issued either together with or before #1, 2 or 3? Explain.
Download