Information Technology Reference
In-Depth Information
10.3.3
Concluding Remarks
Parallel programming is an evolving science, with new tools, languages, and
paradigms steadily coming along. We should therefore bear this in mind and be
prepared for future developments. There is no guarantee that MPI and OpenMP will
always be the dominant standards for parallel programming. For example, the arrival
of multicore chips has given rise to a serious debate on the applicability of these two
approaches. The important principles of parallel computing will survive, no matter
the standing of programming techniques.
Let us emphasize again that syntax details are not the most important stuff. A
programmer needs to have a correct notion about the multiple execution streams
that go side by side in a parallel program. A proper work division should give each
execution stream a distinct set of operations to carry out, balanced among all the
streams. The execution streams normally need to communicate with each other
for the purpose of exchanging data and/or synchronizing pace. Although parallel
programming libraries can provide a lot of ready-made communication functions,
challenges will remain, such as the treatment of possible conflicts between the
streams and performance-harming pitfalls. Interested readers are therefore referred
to the rich literature on parallel programming and computing.
10.4
Exercises
Exercise 10.1. The peak performance of the world's most powerful parallel com-
puter has undergone an exponential growth. Table 10.2 lists the history between
1993 and 2009, according to the Top500 List [2]. Suppose the growth can be
described mathematically by the following formula:
G.t/ D G 0 2 t t 0
t ? ;
where G.t/ denotes the development of the theoretical peak performance as a func-
tion of time, in terms of GFLOPS, and G 0 denotes the GFLOPS value at some
initial time t 0 . The purpose of this exercise is to estimate the value of t ? , i.e., the
average length of time over which the peak performance doubles. The method of
least squares should be used, where the value of t 0 can be chosen as year 1990. If
the same growth continues, what will the peak performance of the most powerful
parallel computer be in year 2020?
˘
Exercise 10.2. We want to partition a set of n non-equal computational tasks among
P homogeneous processors. Let us first suppose that half of the tasks cost twice
the computing time of the other half's. How should a fair work division be? Next,
suppose task 1 requires one unit of computing time, task 2 requires two time units,
task 3 requires three time units, and so on. How should fair work division take place
for this case?
˘
Search WWH ::




Custom Search