Mathematics: A System for Doing Mathematics by Computer, Second Edition (Stephen Wolfram)

and simulation to the most commonly used performance metrics. Part Two, "Measurement Techniques and Tools," is more specific, and in my opinion is the most valuable of the book. Chapters 4, 5, and 6 contain a comprehensive treatment of computer systems workloads. The presentation is very good, punctuated by practical advice and realistic examples. My only suggestion would have been to either expand to a reasonable treatment or avoid altogether the superficial discussion on statistical techniques for workload characterization. The techniques mentioned by the author (principal component analysis, Markov chains, and cluster analysis) require familiarity with multivariate statistics beyond that of most computer professionals, and it is unlikely to dojustice to these topics in a few pages each. Chapters 7 and 8 are devoted to monitors and accounting logs, which are the main tools for collecting data about computer performance. Chapter 9 contains an overview of capacity planning and benchmarking, with brief discussions of numerous items, such as steps, problems, common mistakes, sources of bias, and limitations. These three chapters are also quite informative and reasonably well written. I have some mixed thoughts on the author’s extensive use of lists to present the material. On the positive side, this structured format makes the contents easily accessible to the casual reader. However, the material appears as sets of disjointed "chunks," and the connections among them are lost. Chapter 10 is devoted to preparing graphics for data presentation. It offers good suggestions, in general, with a few inaccuracies, such as confusing Gantt charts, which by definition have the time dimension represented by the horizontal axis, with bar charts, which look similar but are not necessarily drawn on a time scale. Indeed, the examples on pages 150 and 153, mistakenly labelled as Gantt charts, show bar charts where the horizontal axis represents the percentage of time that the system is utilized by various activities on a 0-100% scale, rather than the actual periods of time during which each activity is executed by the system. This section concludes with Chapter 11, which is devoted to the manipulation of numbers. The chapter, appropriately titled "Ratio Games," shows how results and conclusions can be distorted by the choice of numerator and denominator of the measures of performance. The remaining four parts of the book are devoted to Probability and Statistics; Design and Analysis of Experiments; Simulation; and Queueing Models. These are all weighty subjects that cannot be thoroughly covered in about 100 pages each. The treatment is adequate for a review for readers who are already familiar with the material, or as a synopsis for those readers who are not familiar with the subject and may need to decide whether or not to seek additional information or expertise. The book is designed as a textbook, and as such each chapter includes exercises. Most of the exercises in the first two parts are worded in an open-ended manner, and are suitable for discussions in graduate courses. The exercises in the last four parts are typical homework problems ofthe "plug in the formula" variety found in many texts on quantitative techniques, and as such are quite limited and not very exciting. Overall, the author did a good job of describing the field of computer systems performance analysis and of surveying the main techniques for quantitative analysis. Besides its original use as a textbook, this book would be very helpful to two audiences: those already working in performance analysis who need access to reference material on quantitative techniques, and those who are already trained in statistics and operations research but need to learn about performance analysis. In summary, although the presentation of the material is intuitive rather than rigorous, and could withstand some improvement, the book is certainly recommended to those two audiences.