Book review: Multiprocessor Performance by Erol Gelenbe (J. Wiley & Sons, Chichester, England)
暂无分享,去创建一个
Multiprocessor Performance is a relatively short monograph, which starts out with chapters giving an overview of mul-tiprocessor performance, multiprocessor architectures, speedup and Amdahl's Law, and the important topic of interconnection network performance. These were generally quite readable, and occasionally informative. The next chapters turn heavily to mathematical analysis of program structures , acyclic graphs as models of parallel programs, "'task graph" models, and super-computer performance evaluation. I found these hard to follow, partly for notational reasons to be discussed, and partly because, with one exception, the analyses were not validated by benchmarks taken of real programs on real machines, rather by simulations. Like some other books in this area, Multiprocessor Performance contains several claims which are not substantiated: ° "'A (potentially parallel application) will have to be written in a programming language where the nature of these cooperating sequential processes becomes explicit..." (reviewer's emphasis)-I do not believe this to be true. For example , the summation of a list of numbers L can be performed by recursive doubling on a Connection Machine, which certainly requires such cooperation. However, it can be expressed in an abstract manner in APL or J as: \tt +/L. ° "'Multiprocessor architectures offer the greatest potential for performance". This is based on a loaded dice comparison with processor arrays in which the processor array is fixed in size, but in which the number of processors in the multipro-cessor are allowed to increase with the problem size. This is mitigated somewhat by the admittedly larger granularity of cost associated with increasing the size of a processor array. The chapters on Amdahl's Law introduces amendments based on load imbalance which help to explain why real applications often appear to violate the Law. Chapter 4, Performance of Interconnection Networks, introduces and discusses DROP and HOLD, which are two approaches to circuit establishment in such networks. I have not seen previous mention of these in other literature. I gave up on trying to read the chapters on General Acyclic Random Graph Models, and Multiprocessor Performance with Task Graph Models. Although there appears to be useful material in them, they are rather dry mathematical derivations, without much to draw the reader. Appeal to other disciplines would be helpful. (I should explain that I am a language designer and imple-menter, and quite rusty at analysis, so the fault may be mine rather than the author's). For example, in determining the execution time …