Buy New
-
To see product details, add this item to your cart.
Ships from: SuperBookDeals--- Sold by: SuperBookDeals---
Used - Very Good
-
To see product details, add this item to your cart.
Ships from: BooksRun Sold by: BooksRun
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Understanding Software Dynamics (Addison-Wesley Professional Computing Series)
Purchase options and add-ons
From mobile and cloud apps to video games to driverless vehicle control, more and more software is time-constrained: It must deliver reliable results seamlessly, consistently, and virtually instantaneously. If it doesn't, customers are unhappy--and sometimes lives are put at risk. When complex software underperforms or fails, software engineers need to identify and address the root causes. This is difficult and, historically, few tools have been available to help.
In Understanding Software Dynamics, performance expert Richard L. Sites tackles the problem head on, offering expert methods and advanced tools for understanding complex, time-constrained software dynamics, improving reliability and troubleshooting challenging performance problems.
Sites draws on several decades of experience pioneering software performance optimization, as well as extensive experience teaching graduate-level developers. He introduces principles and techniques for use in any environment, from embedded devices to datacenters, illuminating them with examples based on x86 or ARM processors running Linux and linked by Ethernet. He also guides readers through building and applying a powerful, new, extremely low-overhead open-source software tool, KUtrace, to precisely trace executions on every CPU core. Using insights gleaned from this tool, readers can apply nuanced solutions--not merely brute-force techniques such as turning off caches or cores.
- Measure and address issues associated with CPUs, memory, disk/SSD, networks, and their interactions
- Fix programs that are always too slow, and those that sometimes lag for no apparent reason
- Design useful observability, logging, and time-stamping capabilities into your code
- Reason more effectively about performance data to see why reality differs from expectations
- Identify problems such as excess execution, slow instruction execution, waiting for resources, and software locks
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
- ISBN-100137589735
- ISBN-13978-0137589739
- Edition1st
- PublisherAddison-Wesley Professional
- Publication dateDecember 10, 2021
- LanguageEnglish
- Dimensions7 x 1.15 x 9.1 inches
- Print length464 pages
Frequently bought together

Customers who viewed this item also viewed
- Systems Performance (Addison-Wesley Professional Computing Series)PaperbackFREE Shipping by AmazonGet it as soon as Sunday, Sep 20
- Design Patterns: Elements of Reusable Object-Oriented SoftwareHardcoverFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Monday, Sep 21
- Code: The Hidden Language of Computer Hardware and SoftwarePaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Sunday, Sep 20
- Performance Modeling and Design of Computer Systems: Queueing Theory in ActionHardcoverFREE Shipping by AmazonGet it as soon as Monday, Sep 21Only 10 left in stock (more on the way).
- TCP/IP Illustrated: The Protocols, Volume 1 (Addison-Wesley Professional Computing Series)HardcoverFREE Shipping by AmazonGet it as soon as Monday, Sep 21
- C++ Concurrency in ActionPaperbackFREE Shipping by AmazonGet it as soon as Sunday, Sep 20Only 6 left in stock (more on the way).
Customers also bought or read
- Systems Performance (Addison-Wesley Professional Computing Series)#1 Best SellerComputer Performance Optimization
Paperback$57.41$57.41FREE delivery Sun, Sep 20 - Operating Systems: Three Easy Pieces#1 Best SellerComputer Operating Systems Theory
Paperback$28.27$28.27Delivery Mon, Sep 21 - Computer Architecture: A Quantitative Approach (The Morgan Kaufmann Series in Computer Architecture and Design)#1 Best SellerComputer Hardware Design & Architecture
Paperback$72.17$72.17FREE delivery Mon, Sep 21 - Performance Analysis and Tuning on Modern CPUs: Learn to write fast software like a pro
Paperback$31.65$31.65Delivery Mon, Sep 21 - Programming Massively Parallel Processors: A Hands-on Approach
Paperback$67.11$67.11FREE delivery Sun, Sep 20 - A Philosophy of Software Design, 2nd Edition#1 Best SellerSoftware Testing
Paperback$19.87$19.87Delivery Sun, Sep 20 - The Art of Writing Efficient Programs: An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examples
Paperback$39.59$39.59FREE delivery Mon, Sep 21 - Code: The Hidden Language of Computer Hardware and Software#1 Best SellerSoftware Design & Engineering
Paperback$33.95$33.95Delivery Sun, Sep 20 - Performance Modeling and Design of Computer Systems: Queueing Theory in Action
Hardcover$81.98$81.98FREE delivery Mon, Sep 21 - C++ Software Design: Design Principles and Patterns for High-Quality Software
Paperback$51.24$51.24FREE delivery Mon, Sep 21 - The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition)
Hardcover$45.97$45.97FREE delivery Sun, Sep 20 - Observability Engineering: Achieving Production Excellence
Paperback$36.49$36.49FREE delivery Sep 29 - Oct 12 - Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Paperback$44.25$44.25FREE delivery Sep 29 - Oct 14 - Computer Organization and Design RISC-V Edition: The Hardware Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)
Paperback$74.96$74.96FREE delivery Sep 21 - 23 - Modern X86 Assembly Language Programming: Covers X86 64-bit, AVX, AVX2, and AVX-512
Paperback$49.90$49.90FREE delivery Mon, Sep 21 - Design Patterns: Elements of Reusable Object-Oriented Software
Hardcover$24.35$24.35Delivery Mon, Sep 21 - Optimizing Cloud Native Java: Practical Techniques for Improving JVM Application Performance
Paperback$47.25$47.25FREE delivery Wed, Sep 23 - Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture
Paperback$46.15$46.15FREE delivery Mon, Sep 21
From the Publisher
"Sites and KUtrace met my 33-year-old one-second challenge."
Donald Knuth's praise for Richard Sites' Stanford Seminar "Making the Invisible Visible: Observing Complex Software Dynamics" and in reference to the low-overhead open-source software tool, KUtrace.
What is KUtrace?
KUtrace (Kernal-User Trace) is a Linux-based software facility that captures and timestamps every transition between user-mode and kernel-mode execution—every system call and return, interrupt and return, trap and return, and context switch. The CPU overhead is under 0.5% when doing 200,000 events per second per CPU core, so it is about 10x faster than a tool such as ftrace. Recording is into a pre-reserved kernel trace buffer of several megabytes.
Understanding Software Dynamics teaches you how to build the low-overhead KUtrace tool to record for any server what kernel or user code is executing on each CPU core every nanosecond—all programs, all operating system code, all interrupt handling, all idle loops, etc.
Editorial Reviews
Review
"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
About the Author
Product details
- Publisher : Addison-Wesley Professional
- Publication date : December 10, 2021
- Edition : 1st
- Language : English
- Print length : 464 pages
- ISBN-10 : 0137589735
- ISBN-13 : 978-0137589739
- Item Weight : 2 pounds
- Dimensions : 7 x 1.15 x 9.1 inches
- Part of series : Addison-Wesley Professional Computing
- Best Sellers Rank: #741,034 in Books (See Top 100 in Books)
- Customer Reviews:
About the author

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.
























