Warehouse Stock Clearance Sale

Grab a bargain today!


Sign Up for Fishpond's Best Deals Delivered to You Every Day
Go
Software Performance and ­Scalability
A Quantitative Approach (Quantitative Software Engineering Series)

Rating
Format
Hardback, 396 pages
Published
United States, 1 May 2009

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.


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.


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.

Show more

Our Price
HK$872
Elsewhere
HK$973.57
Save HK$101.57 (10%)
Ships from UK Estimated delivery date: 22nd Apr - 29th Apr from UK
Free Shipping Worldwide

Buy Together
+
Buy together with Oracle Database Performance and Scalability at a great price!
Buy Together
HK$1,912

Product Description

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.


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.


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.

Show more
Product Details
EAN
9780470462539
ISBN
0470462531
Publisher
Other Information
Illustrated
Dimensions
23.1 x 16 x 2.3 centimeters (0.66 kg)

Table of Contents

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

About the Author

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.

Show more
Review this Product
Ask a Question About this Product More...
 
Look for similar items by category
People also searched for
Item ships from and is sold by Fishpond World Ltd.

Back to top