Sites-Understanding Software Dynamics,1/e
©2022 |Addison-Wesley Professional | Available
Richard L Sites
©2022 |Addison-Wesley Professional | Available
Introducing Pearson+ 1500+ eTexts and study tools, all in one place. Subscriptions starting at $9.99/month.
K-12 educators: This link is for individuals purchasing with credit cards or PayPal only. Contact your Savvas Learning Company Account General Manager for purchase options.
World-renowned software performance expert Richard Sites offers expert methods and advanced tools for understanding complex time-constrained software dynamics, improving software reliability, and troubleshooting challenging performance problems. He addresses CPU, memory, disk, network, and more, helping students fix programs that are always too slow, or work well at times but inexplicably slow down at other times.
Sites draws on several decades of experience pioneering software performance optimization, and extensive experience teaching developers at the graduate level. He introduces principles and techniques which can be used in any environment, from embedded devices to datacenters, illuminating them with examples based on x86 or ARM processors running Linux and linked by Ethernet. Sites also guides students through building and applying a powerful new extremely-low-overhead open source software tool, KUtrace, to trace exactly what is executing on every CPU core. Using insights gleaned from this tool, students can apply nuanced approaches to performance enhancementnot merely brute-force techniques such as turning off caches or cores."In the Preface, Sites mentions that he got many helpful suggestions while teaching graduate-level courses after retiring from Google I think that any senior CS student can benefit by reading this book. While all the material in the first half of the book leads up to the use of KUTrace, the first two parts are worth reading on their own by anyone who wants to better understand the systems they are building and using."Rick Farrow, ;login
"Complex software often uses threads, events, and I/O to produce results. Even intermittent performance bugs can lead to functional failures when results are time sensitive. Here Sites shares his methods from decades of experience as a real-world performance detective to enable you to approach the deduction skills of an IT Sherlock Holmes."
Mark D. Hill, Partner Hardware Architect at Microsoft and Professor Emeritus at the University of Wisconsin-Madison
"I think that any senior CS student or professional can benefit by reading this book. While all the material in the first half of the book leads up to the use of KUTrace, the first two parts are worth reading on their own by anyone who wants to better understand the systems they are building and using."Rik Farrow, ;login
This product is part of the following series. Click on a series title to see the full list of products in the series.
Foreword xix
Preface xxi
Acknowledgments xxv
About the Author xxvii
Part I: Measurement 1
Chapter 1: My Program Is Too Slow 3
Chapter 2: Measuring CPUs 15
Chapter 3: Measuring Memory 31
Chapter 4: CPU and Memory Interaction 49
Chapter 5: Measuring Disk/SSD 61
Chapter 6: Measuring Networks 85
Chapter 7: Disk and Network Database Interaction 111
Part II: Observation 131
Chapter 8: Logging 133
Chapter 9: Aggregate Measures 141
Chapter 10: Dashboards 157
Chapter 11: Other Existing Tools 167
Chapter 12: Traces 193
Chapter 13: Observation Tool Design Principles 209
Part III: Kernel-User Trace 217
Chapter 14: KUtrace: Goals, Design, Implementation 219
Chapter 15: KUtrace: Linux Kernel Patches 227
Chapter 16: KUtrace: Linux Loadable Module 239
Chapter 17: KUtrace: User-Mode Runtime Control 245
Chapter 18: KUtrace: Postprocessing 249
Chapter 19: KUtrace: Display of Software Dynamics 257
Part IV: Reasoning 267
Chapter 20: What to Look For 269
Chapter 21: Executing Too Much 271
Chapter 22: Executing Slowly 279
Chapter 23: Waiting for CPU 289
Chapter 24: Waiting for Memory 299
Chapter 25: Waiting for Disk 307
Chapter 26: Waiting for Network 319
Chapter 27: Waiting for Locks 337
Chapter 28: Waiting for Time 357
Chapter 29: Waiting for Queues 361
Chapter 30: Recap 383
Appendix A: Sample Servers 387
Appendix B: Trace Entries 391
Glossary 397
References 405
Index 415
Download Instructor's Guide (application/zip) (41.109 MB)
Understanding Software Dynamics (OASIS)
Sites
©2022
Pearson offers affordable and accessible purchase options to meet the needs of your students. Connect with us to learn more.
K12 Educators: Contact your Savvas Learning Company Account General Manager for purchase options. Instant Access ISBNs are for individuals purchasing with credit cards or PayPal.
Savvas Learning Company is a trademark of Savvas Learning Company LLC.
Sites
©2022  | Addison-Wesley Professional  | 464 pp
Richard L. Sites wrote his first computer program in 1959 and has spent most of his career at the boundary between hardware and software, with a particular interest in CPU/software performance interactions. His past work includes VAX microcode, DEC Alpha co-architect, and inventing the performance counters found in nearly all processors today. He has done low-overhead microcode and software tracing at DEC, Adobe, Google, and Tesla. Dr. Sites earned his PhD at Stanford in 1974; he holds 66 patents and is a member of the US National Academy of Engineering.
We're sorry! We don't recognize your username or password. Please try again.
The work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning.
You have successfully signed out and will be required to sign back in should you need to download more resources.