Chapman and Hall/CRC
405 pages | 77 B/W Illus.
Efficiency is a crucial concern across computing systems, from the edge to the cloud. Paradoxically, even as the latencies of bottleneck components such as storage and networks have dropped by up to four orders of magnitude, software path lengths have progressively increased due to overhead from the very frameworks that have revolutionized the pace of information technology. Such overhead can be severe enough to overshadow the benefits from switching to new technologies like persistent memory and low latency interconnects.
Resource Proportional Software Design for Emerging Systems introduces resource proportional design (RPD) as a principled approach to software component and system development that counters the overhead of deeply layered code without removing flexibility or ease of development. RPD makes resource consumption proportional to situational utility by adapting to diverse emerging needs and technology systems evolution.
This book is primarily geared towards practitioners with some advanced topics for researchers. The principles shared in the book are expected to be useful for programmers, engineers and researchers interested in ensuring software and systems are optimized for existing and next generation technologies.
The authors are from both industry (Bhattacharya and Voigt) and academic (Gopinath) backgrounds.
Introduction. The Problem of Software Bloat. Does Lean Imply Green? How Bloat in Software Impacts System Power Performance. Resource Proportional Software Design Principles to Reduce Propensity for Bloat. Resource Proportional Design Strategies I. Resource Proportional Design Strategies: II. Resource Proportional Design Strategies III. Resource Proportional Programming for Persistent Memory Applications. Resource Proportionality in Memory Speed Fabrics. Applying Resource Proportional Design Principles to a Deeply Layered Stack. Data Centric Resource Proportional Systems Design. Adapting the Systems Software Stack to a Changing Paradigm of Uniform Logical Access to a Radically Non-Uniform System. Bridging the Gap. Conclusions and Call to Action.