What Is Green Software and Why Do We Need It?
spectrum.ieee.org
spectrum.ieee.org
This seems to be an opinion piece written by the people involved about their grading tool and their courses and certifications.
And their grading tool counts every website proxied through CloudFlare as green while it counts Hetzner's hydropower datacenter in Finland as coal.
But mostly, it seems they want to start selling courses and certifications for green software. The entire idea seems weird to me, because they're arguing about superficial effects like reducing unused JavaScript while blissfully ignoring the elephant in the room, which would be ad auctions.
Agreed. Note the total absence of real fixes:
- Don't use more than one tracker on a web page. Watch your page load and see what you're loading.
- Don't load a large number of CSS and Javascript files. Don't use a tool that creates them. Again, watch your page load and see what's loading.
- If you really think you really need statistical data on who clicks where, collect it for maybe 1% of users, chosen at random.
There is a weak accidental correlation between these two things, but it's not necessary.
The only way to decrease the heating of the climate is to make heating it up more expensive. Or make people go to prison.
Making more efficient use of our computers will lead to more computers being produced and more energy being used to run them.
No, leading to more of the latent demand being satisfied.
Google states their data center water use in terms of "golf course equivalents" which in my opinion is an excellent way to frame the issue.
edit/ According to a blog post they made [0] they use up to 25% reclaimed water, which is probably better than golf courses, too.
[0]: https://blog.google/outreach-initiatives/sustainability/our-...
Chip designs routinely use energy metrics like picojoules per bit to express the hardware's power budgets and efficiencies, generalizing these kinds of figure of merit to software seems natural. While I doubt that running a particular version of software can automagically make a computer "green" (If WebKit becomes faster, users are simply going to open more tabs), but I think this can be a reasonable and meaningful concept within a clear technical context.
It's like telling people to take shorter showers in a drought, when residential water consumption is a miniscule fraction compared to agricultural or industrial use. To the point where short showers affects nothing and benefits no one. When we really should be cutting allotments given to farmers and industry. This is something that goes on very frequently where I live.
The other top-line figure here, that "data centers and data transmission networks" use 2% of world energy is also misleading. Internet user base doubled and internet bytes traffic increased 6x over the period studied, but energy use increased by only 20% and CO2 emissions did not increase at all. This is a remarkable achievement for the industry.
A grid of LUTs, 4 bits in, 4 bits out, clocked in 2 phases, could potentially give you Petaflops of performance with the same transistor count. Your entire program would execute in parallel.
What would you do with an instance of GPT-4 that could output 10 billion tokens per second?
Doing it as a 'post-process' will most likely result in just another layer of semi-grifting "specialists" that will come up with over complicated "solutions" that focus on masking symptoms rather then actually tackling underlying reasons.
Your "eh, good enough" code costs your users collectively hundreds or thousands of dollars in electricity. Your galaxy brain insane shit stupid application packaged as 40 docker images instead of a 200kb binary has caused millions of dollars in hardware upgrades. Uncountable amounts of e-waste and pollution.
It's really just absolutely staggering to think about. The ever-plummeting quality and performance of software is snowballing into an energy and ecological catastrophe that we are all very studiously ignoring.
And you know what? We can draw a single straight line from this problem back to capitalism. Capitalism fundamentally cannot consider externalities. So we shit out the cheapest software that technically does the job because there's no profit incentive to do otherwise. If we could all slow down and write decent software, the world would be a better place. But no, that's not profitable enough.
Edit: Back to bare metal OS + compiled stuff is where I want to head. Go on Debian on native hardware is the most bearable stack in that space I have used.
You use a VM to make it possible to reset the state of an OS, and to limit its capabilities, so that you limit the capabilities of anything it runs.
(edited after posting: I read the article, and I see it's a movement, but not a conference. So same question, would love to see operating systems improvements be part of the green software movement, do you know if it is?)
To say nothing of the beautiful simplicity of a device simply running instructions as given.
I don't want a future in computing where I can't direct my own physical property to follow the programming I tell it to. A world where everything is a tenancy and there are security checkpoints and fine-grained access control on every block sucks in computing just as much as it does in real life.
We would regularly be given $0.25 (I think?) to buy milk for lunch at school in 1st grade. Heck, buy the time I was 10 or so, I'd regularly be handed $20, and go and buy cigarettes for Mom with it, while she waited with my younger sisters in the station wagon outside.
No matter how confused, or forgetful, or mischievous, the maximum loss was the amount handed over the in first place. It was a far safer model than handing over a credit card.
Each bill is an economic token. Its a very simple model, and any side effects from using them are immediately known.
If your OS were to make it just as easy to use (grant permission to the program you're running) a specific file, or folder, or network connection, and nothing else you wouldn't need to worry about virii, worms, malware, etc... you'd have decided what to open, and by default, nothing else goes along for the ride.
Replacing dialog boxes with "power boxes" that act the same, except they return a capability that the OS enforces, means that most GUI applications would behave identically, and it wouldn't require much change to the code. Command line applications, on the other hand, require a new standard and uniform way to specify files, paths, etc.
Even so, that would be far, far easier than spinning up a VM every time you want to run code you don't trust.
This is not frequently talked about, but right now (and basically since forever) desktop computer security runs by and large on good will and I'm terrified of the times when it doesn't anymore. (Simultaneously this is a huge compliment to the programmer crowd!)
Operating costs for information systems are already directly proportional to energy consumption. There is no further alignment of incentives required.
IOW the only way to really move the needle here is to somehow classify data centers - becaues that's who really pays - with some label forcing them to offset their emmisions, and then pass those costs onto us.