E-Book, Englisch, Band 1, 396 Seiten, E-Book
Liu Software Performance and Scalability
1. Auflage 2009
ISBN: 978-0-470-46538-7
Verlag: John Wiley & Sons
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)
A Quantitative Approach
E-Book, Englisch, Band 1, 396 Seiten, E-Book
Reihe: Quantitative Software Engineering Series
ISBN: 978-0-470-46538-7
Verlag: John Wiley & Sons
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)
Praise from the Reviewers:
"The practicality of the subject in a real-world situationdistinguishes this book from others available on the market."
--Professor Behrouz Far, University of Calgary
"This book could replace the computer organization texts now inuse that every CS and CpE student must take. . . . It is muchneeded, well written, and thoughtful."
--Professor Larry Bernstein, Stevens Institute ofTechnology
A distinctive, educational text onsoftware performance andscalability
This is the first book to take a quantitative approach to thesubject of software performance and scalability. It brings togetherthree unique perspectives to demonstrate how your products can beoptimized and tuned for the best possible performance andscalability:
* The Basics--introduces the computer hardware andsoftware architectures that predetermine the performance andscalability of a software product as well as the principles ofmeasuring the performance and scalability of a softwareproduct
* Queuing Theory--helps you learn the performancelaws and queuing models for interpreting the underlying physicsbehind software performance and scalability, supplemented withready-to-apply techniques for improving the performance andscalability of a software system
* API Profiling--shows you how to design moreefficient algorithms and achieve optimized performance andscalability, aided by adopting an API profiling framework(perfBasic) built on the concept of a performance map for drillingdown performance root causes at the API level
Software Performance and Scalability gives you aspecialized skill set that will enable you to design and buildperformance into your products with immediate, measurableimprovements. Complemented with real-world case studies, it is anindispensable resource for software developers, quality andperformance assurance engineers, architects, and managers. It isanideal text for university courses related to computer andsoftware performance evaluation and can also be used to supplementa course in computer organization or in queuing theory forupper-division and graduate computer science students.
Autoren/Hrsg.
Weitere Infos & Material
Preface.
Acknowledgments.
Introduction: Performance versus Scalability.
PART 1 THE BASICS.
1 Hardware Platform.
1.1 Turning Machine.
1.2 von Neumann Machine.
1.3 Zuse Machine.
1.4 Intel Machine.
1.5 Sun Machine.
1.6 System Under Test.
1.7 Odds Against Turing.
1.8 Sizing Hardware.
1.9 Summary.
Recommended Reading.
Exercises.
2 Software Platform.
2.1 Software Stack.
2.2 APIs.
2.3 Multithreading.
2.4 Categorizing Software.
2.5 Enterprise Computing.
2.6 Summary.
Recommended Reading.
Exercises.
3 Testing Software Performance and Scalability.
3.1 Scope of Software Performance and Scalability Testing.
3.2 Software Development Performance.
3.3 Defining Software Performance.
3.4 Stochastic Nature of Software Performance Measurements.
3.5 Amdahl's Law.
3.6 Software Performance and Scalability Factors.
3.7 System Performance Counters.
3.8 Software Performance Data Principles.
3.9 Summary.
Recommended Reading.
Exercises.
PART 2 APPLYING QUEUING THEORY.
4 Introduction to Queuing Theory.
4.1 Queuing Concepts and Metrics.
4.2 Introduction to Probability Theory.
4.3 Applying Probability Theory to Queuing Systems.
4.4 Queuing Models for Networked Queuing Systems.
4.5 Summary.
Recommended Reading.
Exercises.
5 Case Study I: Queuing Theory to SOA.
5.1 Introduction to SOA.
5.2 XML Web Services.
5.3 The Analytical Model.
5.4 Service Demand.
5.5 MedRec Application.
5.6 MedRec Deployment and Test Scenario.
5.7 Test Results.
5.8 Comparing the Model with the Measurements.
5.9 Validity of the SOA Performance Model.
5.10 Summary.
Recommended Reading.
Exercises.
6 Caser Study II: Queuing Theory Applied to Optimizing and Tuning Software Performance and Scalability.
6.1 Analyzing Software Performance and Scalability.
6.2 Effective Optimization and Tuning Techniques.
6.3 Balanced Queuing System.
6.4 Summary.
Recommended Reading.
Exercises.
PART 3 APPLYING API PROFILING.
7 Defining API Profiling Framework.
7.1 Defense Lines Against Software Performance and Scalability Defects.
7.2 Software Program Execution Stack.
7.3 The PerfBasic API Profiling Framework.
7.4 Summary.
Exercises.
8 Enabling API Profiling Framework.
8.1 Overall Structure.
8.2 Global Parameters.
8.3 Main Logic.
8.4 Processing Files.
8.5 Enabling Profiling.
8.6 Processing Inner Classes.
8.7 Processing Comments.
8.8 Processing Methods Begin.
8.9 Processing Return Statements.
8.10 Processing Method End.
8.11 Processing Main Method.
8.12 Test Program.
8.13 Summary.
Recommended Reading.
Exercises.
9. Implementing API Profiling Framework.
9.1 Graphics Tool--dot.
9.2 Graphics Tool--ILOG.
9.3 Graphics Resolution.
9.4 Implementation.
9.5 Summary.
Exercises.
10 Case Study: Applying API Profiting to Solving Software Performance and Scalability Challenges.
10.1 Enabling API Profiling.
10.2 API Profiling with Standard Logs.
10.3 API Profiling with Custom Logs.
10.4 API Profiling with Combo Logs.
10.5 Applying API Profiling to Solving Performance and Scalability Problems.
10.6 Summary.
Exercises.
APPENDIX A STOCHASTIC EQUILIBRIUM AND ERGODICITY.
A.1 Basic Concepts.
A.2 Classification of Random Processes.
A.3 Discrete-Time Markov Chains.
A.4 Continuous-Time Markov Chains.
A.5 Stochastic Equilibrium and Ergodicity.
A.6 Birth-Death Chains.
APPENDIX B MEMORYLESS PROPERTY OF THE EXPONENTIAL DISTRIBUTION.
APPENDIX C M/M/1 QUEUES AT STEADY STATE.
C.1 Review of Birth-Death Chains.
C.2 Utilization and Throughput.
C.3 Average Queue Length in the System.
C.4 Average System Time.
C.5 Average Wait Time.