Cracking the Code on Sustainable Software
www.informationweek.com
Artificial intelligence is generating ripples that extend far beyond business productivity and financial results. One of the most frequently overlooked areas? How software development and coding practices intersect with power, water, and the need for additional IT resources.As hardware has become more plentiful and powerful, its possible to do things with software that werent possible in the past. Theres a higher ceiling for inefficiency, says Ed Anderson, vice president and analyst for Gartner. Software developers know that hardware can pick up the slack and fill the gaps.This age of abundance is leading to wasted data center space, unnecessary complex IT architectures, excessive network traffic, and a coding framework that elevates developer convenience over performance. While software doesnt explicitly consume carbon, the result is higher costs along with difficulty hitting carbon reduction targets and other sustainability goals.Many organizations have done a good job of adopting more efficient hardware but their relationship with software is poorly understood, observes Sanjay Podder, global managing director for technology, sustainability and innovation at Accenture and chair of the Green Software Foundation.As a result, IT leaders are increasingly exploring ways to write, manage and maintain sustainable software. Theyre turning to metrics and emerging tools -- including AI -- that detect bloated code, track energy and water consumption, and monitor overall performance, such as energy aware libraries and schedulers that dial down waste.Powering DownThe case for sustainable software is growing. According to research from Accenture, the sectors carbon footprint rose from 1.5% to 4% from 2007 to 2022. And theres no end in sight. It predicts that 14% or more of all emissions will come from software by 2040. Much of this increase will result from GPUs, which consume energy at a 10 times greater rate than other types of semiconductors.Energy and carbon reduction arent the only concerns, however. Theres also a strong business case for sustainable software. Applications and other forms of code impact productivity, efficiency, the customer experience and more. Subpar software slows systems, adds to storage requirements, and wastes time for software developers.To be sure, software efficiency touches many areas, such as writing and testing code, running it, and when to retire it, Anderson says. As a result, its vital to focus on the entire software development lifecycle. Are you coding in such a way that unnecessary tasks take place? Are you sending unnecessary data across the network? Are you pushing AI accuracy to the point of diminishing returns? he asks.One common problem, says Asim Hussain, executive director of The Green Software Foundation, is that while many CIOs recognize the value of a sustainable software strategy, the task can seem vague and confusing. You must assign a number to things to understand what to address, how to address it and obtain a budget for it. Otherwise, theres no way to identify what makes the biggest impact or whether you are using inefficient hardware or using dirty energy.The CIOs role in driving sustainable software is changing, Podder observes. Five years ago, a CIOs would have said that sustainability wasn't in their charter, and it was the job of the chief sustainability officer. As technology has advanced, supply chains and workflows have evolved, and software has emerged at the center of everything, its critical for CIOs to play a more prominent role in software sustainability.Measured StepsIts critical to establish a framework for measuring baseline energy consumption and emissions across the software stack. However, the task can prove daunting because no singular or consistent metric exists across systems and industries. Unfortunately, many tools measure an individual component or code library but do not provide universal visibility.There are a lot of different signals to pick up and, unlike financial accounting, theres no set standard or methodology available, Hussain says. The Green Software Foundation is attempting to address this problem by establishing standards, such as the Software Carbon Intensity (SCI) Specification and connecting organizations to tools and courses that promote software sustainability. In addition, consulting firms like Accenture and various vendors and cloud providers offer proprietary tools. Its also possible to tap open-source resources like GitLab and Jenkins.Gartners Anderson says that its important to gather data but also analyze it effectively. Lacking metrics and data its impossible to know which projects deliver the greatest ROI and what type of development resources to devote to a task. AI can magnify costs and benefits further. Do you devote 50% more resources to eke out a 1% or 2% gain in model accuracy? Is the additional accuracy worth the investment in time and energy? he asks.This analysis should extend to how different devices use energy -- servers, clouds, PCs, web browsers and smartphones. It also encompasses choices about software development languages. Interpretative languages like Perl, Python, and JavaScript are up to 50x less efficient than a legacy language like C or Rust, he says. There may be opportunities to use a less energy intensive language for certain tasks.Energy-efficient development practices can flag issues like lazy loading, caching, and server-side rendering. It can also help an organization adopt modular coding practices that reduce carbon impact and costs. There also are opportunities that involve carbon-aware computing. This includes scheduling certain workloads when renewable energy is widely available or shifting workloads to other systems or data centers to take advantage of clean energy at certain times of the day, Podder points out.Code GreenEven seemingly small changes -- such as displaying light text on a black background -- can make a significant difference when it ripples across tens of thousands of screens. Accenture found that this approach can reduce carbon emissions by 60%. Similarly, delivering streaming video in high definition can consume up to 8x the carbon emissions as standard definition. Disabling autoplay for videos can drive down energy use by a factor of 2x or more.In the end, success requires organizations to balance competing priorities, such as speed to market, feature requirements, costs and sustainable goals. It also requires a focus on AI model and algorithm optimization. Says Podder: There are trade-offs with every decision. The key is to achieve greater sustainability without compromising your ability to build and deliver good software.
0 Comments
·0 Shares
·28 Views