Sustainable software

Posted on a forum I read:

I’m trying to work out how a “low energy future” would work in real life. Most of the power-hungry IT systems we have serve a specific function very efficiently. For example we had some issues with our payroll software at work. Out of interest, the finance dept worked out how long it would take to manually re-do everyone’s tax/NI/pensions etc. without the payroll software. It went from one day with the software to a few weeks without, meaning that if we were to roll back our IT we’d have to take on many more staff to do the same work…

Perhaps this is looking at things the wrong way round. Shouldn’t the question be: how will real life work in a low-energy future? After all, that’s the choice we have to make. Whether through choice – climate change – or economics – increased energy prices – a low-energy future seems the only one we’ve got. We can’t just discard the idea because it might impact on our current lifestyles! (Well, those of us who have jobs… perhaps the currently under- or unemployed might appreciate the chance for this extra work.)

But what about this particular case of computer software? Can examining it give us any insights into sustainability in general?

Of course, computing is clearly a contributory factor to our general resource and energy usage, perhaps more than you might think. According to analysis by Gartner, about 2% of carbon emissions worldwide are due to ICT, about the same as aviation. And a good proportion of the kinds of rare metals and other minerals we’re running out of end up in computers and other high-tech consumer goods. Most of us like having these things around, and here I need to declare an interest, having spent ten years’ work in this area, and still retaining it as a hobby.

Considerable work is going into making the physical computers more resource- and energy-efficient, together with moving computation to data-centres. But are the producers of computer software undermining this effort along the lines of the Jevons paradox? Here I’d question the “very efficient” from the quote above, on two grounds:

Firstly, it’s quite debatable how efficient software really is. It may seem to us that for all the advances we’ve made, basic tasks like wordprocessing don’t feel any faster than they did ten years ago. I’m not aware there’s been much serious analysis on this, but I recently read a short study on software energy efficiency which shows that the amount of energy needed to type simple text into Microsoft Office has increased dramatically. Now, this is complicated by the fact that Office now does all sorts of fancy things it never used to, but are those things that the average person ever wants to do? But as the report points out, it’s the new functionality which is used to sell it, and, speaking as a former insider, the priority for most products is that the thing has the functions, it doesn’t fall over too often, and provided it’s fast enough for the user, efficiency isn’t a major priority.

In fact, there’s been a bit of a convenient “war” between hardware and software manufacturers over the years. Software demands bigger and faster hardware to run increasingly complicated software on, but that’s fine because it keeps hardware innovation in business. The losers are the consumers who need to replace or upgrade their hardware regularly just to be able to run the latest software.

A final twist here is that with the speed of innovation and increased complexity, writing good software is pretty difficult, which can be seen from the number of major projects that come in under time and budget, or even work according to spec – the UK government has had a number of high-profile embarrassments in recent years. A lot of this can be put down to lack of experience and time for wisdom building up: few have had the chance to learn how to use the current generation of hardware and tools very well.

Secondly, there’s a question of what you’re being efficient with. In computing, that’s generally taken to be efficiency of time, rather than energy usage – getting your calculation done as quickly as possible, or your webpage loaded as near instantly as possible. Now clearly in some cases that equates to efficiency of energy, but sometimes not. One way for the computer to speed things up is for it to guess what you might do next and prepare accordingly. So while you’re reading one webpage, it might download the pages it links to so that when you make the click, the next page is there ready and waiting for you. Faster, but if you don’t click on that particular link, unnecessary work has been done. Pretty much the same principle happens at the heart of most computer chips – it’s the only way they can run as fast as they do.

So, should we be calling for some sort of Luddite fantasy in which we abandon all computing forever? Far from it! Software, as with technology in general, has clearly been a great enabler in what we can do and how we can live our lives. The Internet, in particular, is seen as a key resource by many looking at the future as a means of sharing information and wisdom about what works, or not, in the new kinds of societies and economies we’ll be trying to build. (Not to deny some of the detrimental effects on society, but that’s another debate.)

But there are questions that need to be asked about both what, and how much, software we develop and use. At present, there seem to be no such limits, but in a world where energy usage and carbon emissions will have to be restricted, what proportion of the budget is reasonable to spend on our computing infrastructure? You can see the irony of a possible future where millions watch video streamed over the internet of the final evacuation of the Maldives to higher sea levels.

One consideration here is whether we are heading for the scenario described by Joseph Tainter. In his analysis, societies become increasingly complex as they advance, needing extra energy to do so. There is a risk that the amount of energy required increases to the point where the civilisation simply imbalances. If changes are made in time, this can be dealt with, but the evidence from the past is that too often this didn’t happen. Are we, as a society, even willing to ask the question as to whether the “advances” made possible by computer software are advantageous, on environmental or indeed any other grounds? Optimism is hard to come by here.

But to finish, some thoughts on how software might be a microcosm of the wider sustainability debate.

Firstly, it seems to stand for, as well as facilitate our “instant gratification” culture. Just as we expect computers to give us answers immediately, they’ve led us to a place where we can get information, do the shopping, and a host of other things at the touch of a button. Consuming without thought, leading to resource depletion and waste at an increasing level.

Secondly, it demonstrates the difficulty of lack of wisdom in solving problems. In software, the ground moves so fast that we’re perpetually having to learn new things, and a lot of solutions are definitely not nearly as good as they might be. The same is true of our attempts to find a sustainable future. We don’t have any high-tech low-energy experience to draw on, to know what might work and what won’t. (And a lot of the low-tech experience from the past is now barely known.) So we need to try and gain it – and fast, being willing to experiment and make mistakes. Unfortunately not having certain answers is not popular with some sectors of the sceptical public.

Thirdly, it shows the importance of design (or lack of it). The environment in which software is written, including the wider consumer new-is-best culture, tends to lead to the kind of function-rich just-about-good-enough software we get. This was probably not planned, but just worked out that way. A more stable environment would almost certainly result in better software. The same is true of our wider economic system and institutions, which promote and feed off an ever-increasing cycle of growth in energy and resource usage. If we don’t want those, we need to look seriously at how our society is set up – this is proposed by many, but one of the more interesting treatments I’ve seen recently is in John Ehrenfeld’s Sustainability by Design – he argues that just as we design physical objects with their use in mind, we should be considering how we “redesign” our institutions to promote sustainability.

And, to return to the original quote, is this something the government bears in mind when it makes tax law? How have we ended up with a system sufficiently complex for payroll requires powerful computers to process? Perhaps such laws should be audited on the basis of the amount of energy needed for the calculations to enact!

[Follow-up: the day after writing this I came across The World just got back 13 TWh of spam-wasted electricity. A major botnet, estimated at generating 39% of the world’s spam, has just been taken down. The electricity involved in handling this spam across the world’s networks would have been about the same as that needed to power about a million developed world homes. One of the negative sides of computer software, not just in this regard… ]


Leave a comment

Filed under Thoughts

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s