Understanding Software Dynamics (Paperback)

Sites, Richard

買這商品的人也買了...

商品描述

An Expert Guide to Software Performance Optimization

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

Understanding Software Dynamics will be valuable to experienced software professionals, including application and OS developers, hardware and system architects, real-time system designers, and game developers, as well as advanced students.

Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

商品描述(中文翻譯)

《軟體效能優化的專家指南》

從行動和雲端應用程式到視訊遊戲再到無人駕駛車輛控制,越來越多的軟體都有時間限制:它必須無縫、一致且幾乎即時地提供可靠的結果。如果無法達到這些要求,客戶會感到不滿,有時甚至會造成生命危險。當複雜的軟體表現不佳或失敗時,軟體工程師需要找出並解決根本原因。這是困難的,歷史上很少有可用的工具可以幫助解決這個問題。

在《理解軟體動態》中,效能專家Richard L. Sites直面這個問題,提供了專業方法和先進工具,用於理解複雜的、時間限制的軟體動態,提高可靠性並解決具有挑戰性的效能問題。

Sites借鑒了數十年的軟體效能優化經驗,以及廣泛的研究生級開發者教學經驗。他介紹了適用於任何環境的原則和技術,從嵌入式設備到數據中心,並以基於x86或ARM處理器運行Linux並通過以太網連接的示例進行闡述。他還指導讀者建立並應用一個功能強大、新穎且極低開銷的開源軟體工具KUtrace,以精確追蹤每個CPU核心上的執行。利用從這個工具中獲得的洞察力,讀者可以應用細緻的解決方案,而不僅僅是粗暴的技術,例如關閉快取或核心。

- 測量並解決與CPU、記憶體、磁碟/固態硬碟、網路及其互動相關的問題
- 修復總是太慢的程式,以及有時沒有明顯原因的延遲程式
- 在程式碼中設計有用的可觀察性、記錄和時間戳功能
- 更有效地推理效能數據,了解現實與預期的差異
- 識別問題,如過多執行、指令執行緩慢、等待資源和軟體鎖定

《理解軟體動態》對有經驗的軟體專業人士非常有價值,包括應用程式和作業系統開發人員、硬體和系統架構師、即時系統設計師和遊戲開發人員,以及高級學生。

請註冊您的書籍,以便方便地獲取下載、更新和/或更正。詳情請參閱書中內容。

作者簡介

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.

作者簡介(中文翻譯)

Richard L. Sites於1959年撰寫了他的第一個電腦程式,並在硬體和軟體之間的邊界上度過了他大部分的職業生涯,對CPU/軟體性能互動特別感興趣。他過去的工作包括VAX微碼、DEC Alpha共同架構師,以及發明了幾乎所有處理器中都能找到的性能計數器。他在DEC、Adobe、Google和Tesla進行了低開銷的微碼和軟體追蹤。Sites博士於1974年在斯坦福大學獲得博士學位;他擁有66項專利,並且是美國國家工程院的成員。