July 23, 2009
A. What is meant by “multicore” processors?
B. Why have multicore
processors become the default architecture for most types of
According to the Cyberinfrastructure Tutor Introduction, what are the two approaches to
parallel programming and what is the main difference between them?
Define precisely in one or two sentences the meaning of each of the following terms:
Problem Decomposition (what are the two types of d
ecomposition commonly used in
Speedup of a parallel program
Efficiency of a parallel program
Scalability of a parallel program
What are the components of execution time according to the
What is Amdahl’s Law and why is it important?
What is the Gustafson
How do the two laws in parts b and c above differ in their analysis of
What is the Karp
An application r
unning on 10 processors
% of its time in serial code.
What is the scaled speedup of the application?
A parallel program executing on 32 processors spends 5% of its time in
sequential code. What is the scaled speedup of this program?
oceanographer gives you a serial program and asks you h
ow much faster it
might run on 20
processors. You can only find one function amenable to a
parallel solution. Benchmarking
on a single processor reveals 60
% of the
execution time is spent inside this f
unction. What is the best speedup a parallel
on is likely to achieve on 20
Questions on MPI
three pieces of information to characterize the message body in a flexible
way in point to point communications. What are those 3
pieces of information?
What is a “communicator”?
What are the main advantages of using the collective communication
routines over building the equivalent operation out of point
What is the difference between the MPI
broadcast and the MPI scatter
What is meant by the “process rank”?
What is meant by a “virtual topology” in MPI and what are the two virtual
topologies supported by MPI?
What is an MPI handle? Answer in one sentence.
point communications, do the sender and receiver usually
communicate synchronously or asynchronously?
What are the four parts of an MPI message envelope?
Explain in one sentence
what is the function of each of the parts?
How does a receiving process determine which message to receive?
What is the purpose of the status argument in MPI_RECV? What information
is contained in that argument?
MPI_SEND and MPI_RECV block the calling processes. Neither
returns until the
communication operation it invoked is completed. What is meant by the word
“complete” in each of these two functions?
What is the difference between blocking and non
blocking SEND and RECV
messages in MPI?
Posted MPI_ SENDs and
MPI_RECVs must be completed
. MPI provides
both blocking and nonblocking completion routines
. What are these routines
What is meant by “non
contiguous data” in MPI? How can we send and
Write the code in C for a
modified version of the “Hello World” program
processor prints its rank as well as the total number of processors in the
Explain how virtual topologies can be used
to parallelize matrix transposition.
Explain the process of recursive halving and doubling used in MPI?