Questions about Parallel Programming

shrewdnessfreedomΛογισμικό & κατασκευή λογ/κού

2 Δεκ 2013 (πριν από 3 χρόνια και 8 μήνες)

37 εμφανίσεις

Questions about Parallel

Programming



1.

Name different levels of parallelism


2.

Can you hide parallelism from the programmer? How? What is difficult?


3.

Why would you want to program a parallel application?


4.

What is difficult about providing a parallel
programming environment?


5.

Do what number of processors to current parallel applications scale?


6.

When did parallel programming become a mainstream technology? Why?


7.

Why is it harder to write a parallel program than a serial program?


8.

Can you think of a situ
ation where it is easier?


9.

Why do
loops provide a good source of parallelism?


10.

How many iterations does it take for a loop with a single statement to beneficially run in
parallel?


11.

What performance impact doe
s

induction variable substitution have?


12.

Can you

think of a disadvantage of data privatization?


13.

What are advantages and disadvantages of coarse
-
grain domain decomposition?


14.

On what programs are autoparallelizers most successful? Why?


15.

On what programs are autoparallelizers least successful? Why?


16.

What
techniques
are

most important for automatic
parallelization?


17.

Why is a flow dependence difficult to eliminate? What does it take to eliminate it?


18.

What dependences does the privatization transformation eliminate? How does it do it?


19.

What dependences do you

see in the loop


for (j=1; j<n; j++) {


sum = sum + a[j]

}


20.

How does loop interchange improve performance?


21.

Give an intuition why privatization is the most important parallelization
technique
.


22.

What is the relationship between induction variable
substitution and strength reduction?


23.

Describe the overheads caused by reduction parallelization.


24.

A reduction statement looks similar to an induction statement. What is the difference?


25.

What technique creates spatial locality and what technique achieves
temporal locality?


26.

Write an example of a loop that has temporal reuse.


27.

Write an example of a loop that has spatial reuse.


28.

What effect and what overheads does loop coalescing have?


29.

What is an asynchronous algorithm?


30.

What is transactional memory?


31.

What
makes atomic regions difficult to implement?


32.

In terms of parallelization techniques, how
do

vector machines differ from multiprocessors?


33.

How can inlining help interprocedural analysis? What are some of the drawbacks?


34.

What issues exist when optimizing for distributed
-
memory architectures ?


35.

What makes automatic data distribution intrinsically difficult?


36.


What was the goal of HPF?


37.

Explain the basic translation scheme of the OpenMP
-
to
-
MPI compilation method


38.

Give an ex
ample of two consecutive parallel regions that access an array A. Compute the array
sections and communication sets.