Software Bloat and Wasted Joules: Is Modularity a Hurdle to Green Software?

Status:: 🟩
Links:: Energy Debt | Technical Debt | Impacts of Software Modularity on Energy Efficiency

Metadata

Authors:: Bhattacharya, Suparna; Gopinath, K.; Rajamani, Karthick; Gupta, Manish
Title:: Software Bloat and Wasted Joules: Is Modularity a Hurdle to Green Software?
Publication Title:: "Computer"
Date:: 2011
URL:: http://ieeexplore.ieee.org/document/6017179/
DOI:: 10.1109/MC.2011.293

Bibliography

Bhattacharya, S., Gopinath, K., Rajamani, K., & Gupta, M. (2011). Software Bloat and Wasted Joules: Is Modularity a Hurdle to Green Software? Computer, 44(9), 97–101. https://doi.org/10.1109/MC.2011.293

Zotero

Type:: #zotero/journalArticle
Keywords:: [βœ…, Green Software, Software Architecture]

Relations

Abstract

The paper discusses that adopting an integrated analysis of software bloat and hardware platforms is necessary to realizing modular software that's also green.

Notes & Annotations

πŸ“‘ Annotations (imported on 2023-08-24#11:59:28)

bhattacharya.etal.2011.softwarebloatwasted (pg. 1)

During the past two decades, software design paradigms have evolved to prioritize programmer productivity over runtime efficiency, in part due to dramatic improvements in performance enabled through CMOS technology.

bhattacharya.etal.2011.softwarebloatwasted (pg. 2)

For example, moving a single date field from a SOAP message to a Java object in a stock-brokerage benchmark involved 58 transformations and generated 70 objects. Many of these were facilitative transformations for reusing existing parsers, serializers, and formatters. The observations highlight the considerable overhead expended in supplying data to the application’s core business logic.

bhattacharya.etal.2011.softwarebloatwasted (pg. 2)

To date, server energy-optimization efforts have largely focused on the design of energy-efficient hardware and energy-aware thermal and power management techniques. Energyproportional design has gained interest as a principled approach to achieve significant energy savings. However, reducing energy waste due to software inefficiencies requires a new perspective.

bhattacharya.etal.2011.softwarebloatwasted (pg. 3)

The traditional maxim for creating lean software, as advocated by David Parnas and Niklaus Wirth, among others, is to engineer it right by adopting minimalist design principles that avoid bloat. Such software is built in a series of stepwise refinements carefully crafted to provision each potential use case without sacrificing extensibility or reuse. The Linux kernel illustrates the successful adoption of this principle to efficiently satisfy diverse environments and requirements.

bhattacharya.etal.2011.softwarebloatwasted (pg. 4)

Modularity is fundamental to the composability of software packages and to their rapid development and deployment. However, the prevalent approach to achieving it can lead to significant software bloat, which is detrimental to power, performance, and energy efficiency.

bhattacharya.etal.2011.softwarebloatwasted

The real issue isn’t modularity itself but that, because of the difficulty in modularizing functions exactly as needed, programmers inadvertently introduce superfluous processing and data overhead for reuse.