Praise from the Reviewers: "The practicality of the subject in a real-world situation distinguishes this book from others available on the market." —Professor Behrouz Far, University of Calgary "This book could replace the computer organization texts now in use that every CS and CpE student must take. . . . It is much needed, well written, and thoughtful." —Professor Larry Bernstein, Stevens Institute of Technology A distinctive, educational text onsoftware performance and scalability This is the first book to take a quantitative approach to the subject of software performance and scalability. It brings together three unique perspectives to demonstrate how your products can be optimized and tuned for the best possible performance and scalability: The Basics—introduces the computer hardware and software architectures that predetermine the performance and scalability of a software product as well as the principles of measuring the performance and scalability of a software product Queuing Theory—helps you learn the performance laws and queuing models for interpreting the underlying physics behind software performance and scalability, supplemented with ready-to-apply techniques for improving the performance and scalability of a software system API Profiling—shows you how to design more efficient algorithms and achieve optimized performance and scalability, aided by adopting an API profiling framework (perfBasic) built on the concept of a performance map for drilling down performance root causes at the API level Software Performance and Scalability gives you a specialized skill set that will enable you to design and build performance into your products with immediate, measurable improvements. Complemented with real-world case studies, it is an indispensable resource for software developers, quality and performance assurance engineers, architects, and managers. It is anideal text for university courses related to computer and software performance evaluation and can also be used to supplement a course in computer organization or in queuing theory for upper-division and graduate computer science students.  
Les mer
Gives the reader the ability to set up a proper test environment and conduct software performance and scalability tests. Uses many examples showing software performance problems and applicable solutions. Contains a number of case studies to assist the reader with comprehending all aspects of software performance and scalability.
Les mer
PREFACE xv ACKNOWLEDGMENTS xxi Introduction 1 Performance versus Scalability 1 PART 1 THE BASICS 3 1. Hardware Platform 5 1.1 Turing Machine 6 1.2 von Neumann Machine 7 1.3 Zuse Machine 8 1.4 Intel Machine 9 1.5 Sun Machine 17 1.6 System Under Test 18 1.7 Odds Against Turing 30 1.8 Sizing Hardware 35 1.9 Summary 37 2. Software Platform 41 2.1 Software Stack 42 2.2 APIs 44 2.3 Multithreading 47 2.4 Categorizing Software 535 2.5 Enterprise Computing 55 2.6 Summary 63 3. Testing Software Performance and Scalability 65 3.1 Scope of Software Performance and Scalability Testing 67 3.2 Software Development Process 83 3.3 Defining Software Performance 86 3.4 Stochastic Nature of Software Performance Measurements 95 3.5 Amdahl’s Law 97 3.6 Software Performance and Scalability Factors 99 3.7 System Performance Counters 111 3.8 Software Performance Data Principles 129 3.9 Summary 131 PART 2 APPLYING QUEUING THEORY 135 4. Introduction to Queuing Theory 137 4.1 Queuing Concepts and Metrics 139 4.2 Introduction to Probability Theory 143 4.3 Applying Probability Theory to Queuing Systems 145 4.4 Queuing Models for Networked Queuing Systems 153 4.5 Summary 172 5. Case Study I: Queuing Theory Applied to SOA 177 5.1 Introduction to SOA 178 5.2 XML Web Services 179 5.3 The Analytical Model 181 5.4 Service Demand 183 5.5 MedRec Application 188 5.6 MedRec Deployment and Test Scenario 189 5.7 Test Results 191 5.8 Comparing the Model with the Measurements 198 5.9 Validity of the SOA Performance Model 200 5.10 Summary 200 6. Case Study II: Queuing Theory Applied to Optimizing and Tuning Software Performance and Scalability 205 6.1 Analyzing Software Performance and Scalability 207 6.2 Effective Optimization and Tuning Techniques 220 6.3 Balanced Queuing System 240 6.4 Summary 244 PART 3 APPLYING API PROFILING 249 7. Defining API Profiling Framework 251 7.1 Defense Lines Against Software Performance and Scalability Defects 252 7.2 Software Program Execution Stack 253 7.3 The PerfBasic API Profiling Framework 254 7.4 Summary 260 8. Enabling API Profiling Framework 263 8.1 Overall Structure 264 8.2 Global Parameters 265 8.3 Main Logic 266 8.4 Processing Files 266 8.5 Enabling Profiling 267 8.6 Processing Inner Classes 270 8.7 Processing Comments 271 8.8 Processing Method Begin 272 8.9 Processing Return Statements 274 8.10 Processing Method End 275 8.11 Processing Main Method 276 8.12 Test Program 277 8.13 Summary 279 9. Implementing API Profiling Framework 281 9.1 Graphics Tool—dot 281 9.2 Graphics Tool—ILOG 284 9.3 Graphics Resolution 286 9.4 Implementation 287 9.5 Summary 300 10. Case Study: Applying API Profiling to Solving Software Performance and Scalability Challenges 303 10.1 Enabling API Profiling 304 10.2 API Profiling with Standard Logs 313 10.3 API Profiling with Custom Logs 320 10.4 API Profiling with Combo Logs 325 10.5 Applying API Profiling to Solving Performance and Scalability Problems 333 10.6 Summary 337 APPENDIX A STOCHASTIC EQUILIBRIUM AND ERGODICITY 339 A.1 Basic Concepts 339 A.2 Classification of Random Processes 343 A.3 Discrete-Time Markov Chains 345 A.4 Continuous-Time Markov Chains 349 A.5 Stochastic Equilibrium and Ergodicity 351 A.6 Birth–Death Chains 357 APPENDIX B MEMORYLESS PROPERTY OF THE EXPONENTIAL DISTRIBUTION 361 APPENDIX C M/M/1 QUEUES AT STEADY STATE 363 C.1 Review of Birth–Death Chains 363 C.2 Utilization and Throughput 364 C.3 Average Queue Length in the System 365 C.4 Average System Time 365 C.5 Average Wait Time 366 INDEX 367
Les mer
Praise from the Reviewers: "The practicality of the subject in a real-world situation distinguishes this book from others available on the market." —Professor Behrouz Far, University of Calgary "This book could replace the computer organization texts now in use that every CS and CpE student must take. . . . It is much needed, well written, and thoughtful." —Professor Larry Bernstein, Stevens Institute of Technology A distinctive, educational text onsoftware performance and scalability This is the first book to take a quantitative approach to the subject of software performance and scalability. It brings together three unique perspectives to demonstrate how your products can be optimized and tuned for the best possible performance and scalability: The Basics—introduces the computer hardware and software architectures that predetermine the performance and scalability of a software product as well as the principles of measuring the performance and scalability of a software product Queuing Theory—helps you learn the performance laws and queuing models for interpreting the underlying physics behind software performance and scalability, supplemented with ready-to-apply techniques for improving the performance and scalability of a software system API Profiling—shows you how to design more efficient algorithms and achieve optimized performance and scalability, aided by adopting an API profiling framework (perfBasic) built on the concept of a performance map for drilling down performance root causes at the API level Software Performance and Scalability gives you a specialized skill set that will enable you to design and build performance into your products with immediate, measurable improvements. Complemented with real-world case studies, it is an indispensable resource for software developers, quality and performance assurance engineers, architects, and managers. It is anideal text for university courses related to computer and software performance evaluation and can also be used to supplement a course in computer organization or in queuing theory for upper-division and graduate computer science students.
Les mer

Produktdetaljer

ISBN
9780470462539
Publisert
2009-06-05
Utgiver
Vendor
Wiley-Blackwell
Vekt
662 gr
Høyde
239 mm
Bredde
165 mm
Dybde
24 mm
Aldersnivå
P, 06
Språk
Product language
Engelsk
Format
Product format
Innbundet
Antall sider
396

Forfatter

Om bidragsyterne

Henry H. Liu, PhD, is Software Developer at BMC Software. Previously, he worked as a physicist in the national labs of China, France, Germany, and the United States. He also worked at Intel and Amdocs as a software performance engineer prior to joining BMC. He was an Alexander von Humboldt Research Fellow from 1990–1992 in Germany. He was awarded the Best Paper Award at CMG's 2004 conference in the category of software performance engineering. He is a certified Sun Enterprise Architect, IBM XML Developer, and Microsoft .NET Developer. Dr. Liu is most interested in applying his previous scientific research disciplines to solving software performance and scalability challenges.