Understanding Software Dynamics 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