Computer and microprocessor architectures are advancing at an astounding pace. However, increasing demands on performance coupled with a wide variety of specialized operating environments act to slow this pace by complicating the performance evaluation process. Carefully balancing efficiency and accuracy is key to avoid slowdowns, and such a balance can be achieved with an in-depth understanding of the available evaluation methodologies. Performance Evaluation and Benchmarking outlines a variety of evaluation methods and benchmark suites, considering their strengths, weaknesses, and when each is appropriate to use. Following a general overview of important performance analysis techniques, the book surveys contemporary benchmark suites for specific areas, such as Java, embedded systems, CPUs, and Web servers. Subsequent chapters explain how to choose appropriate averages for reporting metrics and provide a detailed treatment of statistical methods, including a summary of statistics, how to apply statistical sampling for simulation, how to apply SimPoint, and a comprehensive overview of statistical simulation. The discussion then turns to benchmark subsetting methodologies and the fundamentals of analytical modeling, including queuing models and Petri nets. Three chapters devoted to hardware performance counters conclude the book.
Supplying abundant illustrations, examples, and case studies, Performance Evaluation and Benchmarking offers a firm foundation in evaluation methods along with up-to-date techniques that are necessary to develop next-generation architectures.