Pushing Sustainability Further with Green Software | Intel Technology
(upbeat music) - [Announcer 1] Welcome to "What That Means" with Camille. Companion episodes to the InTechnology podcast. In this series, Camille asks top technical experts to explain in plain English commonly used terms in their field, then dives deeper, giving you insights into the hottest topics and arguments they face.
Get the definition directly from those who are defining it. Now here is Camille Morhardt. (gentle music) - Asim Hussein, Director of Green Software Engineering at Intel, welcome to the conversation today. He's also Co-Founder of Green Software Foundation.
Asim, welcome. - Thank you very much for having me here. - So green software or sustainable software, tell us what that is. - So there's multiple different ways you can think about being green, when it comes to software.
One way you can think about it is building software to make the world more sustainable. And for instance, you could build software which does farming in a more environmentally good way. Or you can acknowledge that software itself is an emitter of carbon emissions into the atmosphere and how do you actually reduce the emissions that software itself is responsible for? And that's how we define green software as software which really takes responsibility for its own emissions and tries to minimize that or eliminate as much of that as possible. - Okay, so I'll ask the most obvious question that would come with that, which is software is a digital thing contained inside of a box and doesn't fart or puff or (laughing), so, how is it emitting? - Well I dunno about your software. My software is a lot of that stuff.
So basically software is a driver of emissions. So essentially what we say is there's three ways of making software greener. There's essentially what we call four principles. The first principle is called carbon efficiency, which is emit the least amount of carbon possible.
And I know that sounds like an obvious statement but I feel sometimes obvious statements need to be made. And three years ago there was actually quite a lot of argument about this anyway, but there's really only three ways of reducing carbon emissions when it comes to software. The first is energy efficiency.
And that's because electricity, and this for me in my journey into this space, for me this was actually quite a surprise. I've been in the software development space for two decades now, and I never really knew what electricity was, how it was made, what are the components of it, how is it bought and sold? How does it differ country by country? Which now I find kind of a almost a ridiculous position to be in because it's fundamental to everything that I do is a consumption of electricity. But it might as well have just been magic that you're plugging into a wall socket and get a little bit of magic coming into computer and does magic stuff.
Whereas electricity is actually something quite you need to understand if you wanna be a green software practitioner, you need to understand what electricity is all about. And the main issue is that electricity is the single biggest emission of carbon emissions in the world. About 80% of all the world's electricity is still made through the burning of coal. And we hear a lot about renewables and resources and various countries, like I'm based in the UK, has a pretty decent amount of renewables available even in the US has a fairly decent amount of renewables available.
But most of the world burns coal. And in fact they'd burn very dirty coal. We used to burn much cleaner coal.
And then about 20 years ago people discovered that cleaner coal causes acid rain and so everybody flipped over to burning much more dirtier coal that has much greater emissions. So, just looking at from that perspective consuming, we call energy a proxy for carbon because you can draw a straight line between energy and carbon emissions, and therefore if your goal is to be carbon efficient, you must be able to be energy efficient. And that's one of the ways you can be greener, is just by consuming less energy.
- So hold on. So you said 80% of carbon emissions come from electricity. - It's about 49 I believe percent of carbon emissions come from heating and electricity generation.
I haven't got the electricity specific. In the US it's about 25% of the carbon missions of the US is just in the creation of electricity. But 80% of the electricity that's created worldwide is created of burning coal. - And you're saying compute is a piece of that puzzle because it's using electricity to run servers, to run PCs, to run whatever.
Electric thing, yeah. - So if you are building, and it depends, it really does vary depending on types of devices. So this is my mobile phone, they tend to be quite energy efficient for a variety of reasons. But the primary reason is because of the battery. There's so much human pressure put on developers who are building mobile applications to make them energy efficient because no one wants to have a mobile phone that dies after about a minute.
So there's already a natural pressure there. But if you are building software for devices for machines that typically are plugged into a power socket and have essentially an infinite amount of energy, there's almost no pressure on people who build software to make it more energy efficient because, I mean none of the price pressure for energy consumption is even passed to the consumer in the cloud space. I mean you can consume lots of energy, no energy, you pay the same for your cloud built.
So that's one of the angles is just energy efficiency. The other angle we call about is called hardware efficiency because like there's also as well as energy there's in the mixture of carbon emissions is also what we call embodied or embedded carbon. So looking at this mobile phone, again, this emitted carbon when it was manufactured, all the little components, the case, the chips, all of them emitted carbon, and it will also emit carbon when it's will be disposed of very responsibly. There'll also be some carbon emissions from there. All of that is called the embedded or embodied carbon of, all devices have this. This laptop has this, this mobile phone has this.
Then you have to ask yourself the question if you're an application developer, like what do you do with that information? The carbons is already out there, so what's my responsibility there? And then we talk about this idea of hardware efficiency, which is use the least embodied carbon possible, which for a mobile device, which for most end user devices is all about increasing the lifespan of this device, the usable lifespan of this device. So this is my old phone, I shouldn't probably wave it around to people, I don't wanna disparage manufacturers. But this is my old phone, and I was forced to upgrade this to my new phone, not because there's anything wrong with it, it didn't break, perfectly fine, it's only three years old, but just the software I needed to use stopped working on it.
And that's called software driven obsolescence. There's nothing wrong with this device, but the software I needs to run doesn't work on it. So that's one angle as a software person you can make your a software run an all the hardware and therefore reduce the pressure that's constantly there to keep on buying new devices. And in the cloud space, the general device and the hardware efficiency is an increasing server utilization. Most servers are sitting at relatively low rates of utilization.
All those lots of servers out there in the world that are sitting relatively low rates of utilization for a variety of reasons, most often they're just technical architectural choices that people have made or they're making trade off between one thing or another thing. And we just need to rebalance that trade off to say look, just increase your utilization. If you're in the cloud space and you're perhaps running on a hyperscaler and you need a server, it's there, you can just keep on running it.
You don't need to run at low utilizations, you can run at high utilizations. That's the hardware efficiency angle. - But wait, why would you wanna increase utilization? Wouldn't you be saving energy if you were running less. - If you are running two servers at 50% each utilization, your carbon emissions, you're going to achieve the same amount of functionality if you run one server with 100% utilization and your overall carbon emissions are going to be less. So rather than running 10 servers at 10% utilization factoring in both energy and embodied, it's just all over better to run at a higher rate of utilization.
- Is that primarily because of the embodied carbon in all of them? Like you would only have to have one instead of nine or is that because things become more efficient when they're running at higher capacity? - Yeah, there's some non-linear dimensional stuff going on here. But there's a little bit of what you are describing there as well, which is this energy proportionality principle of servers, which is that if you are running at 0% utilization, you're not using 0% energy, you're using an amount that's not zero. And then the interesting thing is once you get up to like 60, 70% utilization, to get from there to 100, you're not spending much more energy at all.
The more you use a server, the more efficient it becomes at turning electricity into useful operations. So there's that other angle to it as well, yeah. What you were saying. - Okay.
- And there's a final one, if you want me to dig into it. There's a final angle to the whole thing. Somebody said it in a really interesting way recently, which I love, which is like, energy efficiency is about using less energy and carbon awareness is about using the right energy. So carbon awareness is about how do you build software, how do you create software that does more when the electricity is clean and less when the electricity is dirty? So a lot of it is responding to, like for instance, I live in a country which has a fairly decent amount of wind power.
And so when the wind is blowing, it's been quite stormy the past few days. There's been a lot of electricity's been coming through wind. If you can build software which does more when electricity is coming from cleaner sources and then when the wind stops blowing and the sun stops shining, can you make your software do less? And that's one way in which you can reduce your carbon emissions. And actually this is the way.
There's a huge amount of interest in carbon awareness right now. Google's done some great work, Microsoft's done some great work, some of the people at Microsoft does some great work and now Intel. So now maybe watch this pace, see if Intel does some great work. So we're really excited about carbon awareness. And one of the reasons people are really excited about it is it's actually one of the easiest ways for organizations to explore green software because you have to change some things, but it's much more a decision about when and where you run things rather than you're rearchitecting an application which is quite an involved process.
- What other three or four categories can you run through that might have energy efficiency, carbon awareness and then embodied or embedded? - There are things that people talk about and discuss but they really just only fall into one or more of those categories. - So you said three years ago people were arguing about this. So is that actually when Green Software Foundation started, how long has that been around? I'm trying to get a sense of the trend, like how quickly has this evolved and how fast is it headed now? - It's evolved very fast. So I'm talking about my journey a little bit. So about three and a half, maybe three and a half, four years ago, I personally started exploring this space.
I was managing a team at Microsoft and this was an important, sustainability was important to me and I've really wanted to... And I was doing all these other things for sustainability but I recognized that my job, I did not know how to do my job more sustainably. I could do everything at home more sustainably. What about my job? The thing I do eight hours a day or 15 hours a day, how do I do that more sustainably? And so I started to explore that and the first thing I did is I joined a community called ClimateAction.Tech,
which I recommend other people=, reach out to if you wanna find other like-minded people. And I eventually became a co-organizer of that but that was very small about three, I remember it was about just a couple of hundred people when I first joined that community, now it's several thousand. And then a little bit later I was at Microsoft until recently, and I became the Green Cloud Advocacy Leader at Microsoft.
And even then, at the start of that, there really wasn't much conversation happening. It was just me and a few other people talking about green software. And then I'd say about two years ago now, just about exactly when the Biden Administration came into power, something happened around the world. I got pinged by so many other organizations. I had been writing about green software, almost in a vacuum for a while.
But then suddenly everybody else going, well, we're now interested in this space as well. But multiple organizations need a forum to sit and discuss. Like Intel can have an NDA with one other organization, we can have a bilateral conversation, but how do you have those kind of safe conversations with 20 different organizations? That's why you need something like the Green Software Foundation and that's why that was born about a year and a half ago.
We launched with eight members and now we're about 37 member organizations. There were just a couple of dozen people at the start. There's now like 700 people who are involved and the growth has just been phenomenal. So just from looking at that perspective, the interest in this space, at least in the last two years has just been almost hockey stick.
- So why, you associate it with a political shift, but why? - There's a really great report called Mainstream Green where they're looking at it from an advertising perspective, like we wanna sell things to people, how many people actually care about green. And they did a big survey in it and the way they broke it down was about 18% of people in the world were what we call super green. - 18%? - 18%, yeah, 18. - That's high.
- No, no, just 18, Just 18%. - That still seems high. - On the other end of the spectrum. There's another like 20% that believe the exact opposite on climate change, is interesting. But so the way we argue it is that there's already a large set of people out there and they work in every single organization, they work in every single type of role and imagine 20% of every tech team for them this is an important priority. So a, I would argue that that kind of underlying desire in people existed.
Why it flipped two years ago, I could just throw out a bunch of guesses here, but I really don't know. I do think the youth movement has been quite powerful. I won't name names but several execs I've spoken to have told me that one of the reasons they're engaging in sustainability is just because their kids are asking them questions at the dinner table. Which I think is funny, kids are listening to this, ask their parents questions at the dinner table 'cause it seems to have an impact.
So I think there's been a cultural shift in the world as well which has prioritized this higher on people's radar. Yeah, a whole variety of things, I'd argue. - If you are a company for example and you make software, maybe you make a more specific kind of a software, you're not a gigantic company, you're just sort of medium size, small to medium size, however you wanna define that. And you're interested in exploring this, but you don't necessarily have resources to bring on a green team or people who are already really well-versed. Are there some low hanging fruit that you might help your team to dig into or check out? - I used to think this space would just be a checklist.
I remember thinking how naive I was, like, my first forays into this were like, "Oh let's all gather around a table and just spend a couple of hours writing a checklist that people need to do. And then it became very obvious through those discussions I was having that this was much bigger than a checklist. This is an entire field of computing that we're talking about.
'Cause unfortunately the device is very specific and nuanced for the type of application and it's hard to give very broad scale advice because one, the same advice for a machine learning engineer might come up with completely the opposite outcome if you gave the same advice to web developers. So unfortunately some of this stuff is just, it's gonna have to delve into your particular software stack, you know your products best, you know what they are. What I always recommend, like, the best people to understand how to green your software is your existing teams. What they need is to understand what are the levers of green software, and some of the things I just mentioned there. So one of the things the Foundations created, this material, this has existed in the past that we created.
One is the website called principles.green, which is the eight principles of green software. The Foundation's now creating new certification, which is again just about three hours worth of training to level set the team of people of experienced software practitioners and just let them understand like what I spoke with before, like ,what is energy, why is it important, what of the levers? What's embodied carbon? Our belief is if you can just teach people that your teams already know how to solve problems, they're solving problems 24 hours a day.
Once you give them the tools, they will then go, "Oh now I understand what needs to be green. Oh just do X, Y and Z on product. - Right. So we're also creating catalogs with very specific targeted, advice for very specific targeted roles.
And we're gonna be launching with a catalog for web, if you're in the web space, a catalog for cloud if you're in the cloud space and a catalog for machine learning, the machine learning space, maybe mobile as well. So again, if you go to the Green Software Foundation, this is some material that that's gonna come out as well. But yeah, education training or also take a look at one of the things that's a big challenge for a lot of people is how do you measure some of this stuff. For me this has been, Avoid measurement has been the hardest problem in this space. So for the first two years just completely avoided it, like a problem on your to-do list that you keep on putting aside 'cause you know how gnarly and hard it's going to be.
But when the foundation was born we finally had the tools to figure this out. So we've actually come up with a specification for measuring software as well, and take a look at that. And again all this stuff goes to the Green Software Foundation, find all this material. - Let's say I work with servers so I'm gonna look at when renewables spike in certain places perhaps, is there any kind of abstracted thing where I can just go, "Oh okay, I can tell it what workloads to run but I don't know when energy is spiking or not. Like, how do you find that out dynamically? - The two questions you asked is the same question that everybody who's doing this thing is asking, which is, where should I run it and when should I run it? That's basically it. And I see so many companies and organizations are solving the same technical problem, which is where open source really shines.
So in the foundation we got multiple organizations together that are looking at the space and go look, compete at that level, but collaborate at the open source level, and they're developing something called a carbon wear software development kit, which is still a little bit abstracted away from what you are asking for, but it will be the library which you would incorporate into Kubernetes to do that orchestration. And it basically provides like an API, like a nice abstraction. You can clearly ask it questions like that. You can plug, there's multiple data providers that provide that data but then some of them are free, some of you've got to pay for.
All their APIs are a little bit different and this thing provides a nice level of abstraction so that you can just use a carbon or SDK. If you buy a different license, you plug it in and none of your software changes just using the SDK. That's also one thing you can look at. - So the other thing you mentioned was a planned software obsolescence and I'm assuming a lot of that is not driven by the software developer, but that there's not, maybe a manufacturer is saying, "Okay, past this generation of our hardware we're not providing support or we're not providing STKs or APIs or whatever for prior to that.
So software engineers or developers, they don't have a a means to validate or whatnot. So, is there pressure coming from consumers or from developers to alleviate that? - I wouldn't say there's a lot of pressure coming from developers to alleviate that, but this is an area of attention. I mean I feel quite lucky that, with the foundation we can work on multiple levels and there is one area which is regulatory pressure. And I think that's probably the angle at which this will come to bear.
There's already right to repair movements. And I would argue this is just like a flavor of that, but for software, 'cause the right to repair basically means allow me to repair my hardware so I can use it for longer. And the software being, allow me to use my hardware for longer, just don't for software obsolescence. And I do believe some manufacturers, I dunno if we should name them, some manufacturers are actually coming out these days and very clear, "We will have extended periods of support for our new devices to support that." - Do you have a time horizon or do you have a threshold or do you have a vision? What is utopia? What is a point where you're like, "Okay, that actually worked." Like (laughing).
- I can retire to the next next challenge. And this is again not me, this is a collaborative exercise. Many, many people are involved in this, but the new outcome that we want to achieve is that there should be zero harmful environmental effects from using software, which I think is a really powerful outcome.
'Cause a, we talk about environmental effects, not just carbon. 'Cause there's a lot of people in the Foundation wanna talk beyond carbon, because there are other environmental effects like air quality, which has a direct relation to life expectancy, and there's also water scarcity, which I think is gonna become more and more challenging as the years go on. So that's kind of the outcome. That's the future we wanna have. And it fills into my philosophy as well.
Like I have this statement which is, I fly, I do offset everything, but I do fly and I don't feel guilty about it because the future we want is that the flying should just be zero, it shouldn't have any harmful for environmental effects. That's the future we wanna have. The future isn't people making choices.
The future is just by default we can live a life which doesn't have any harm to environment. And that's the outcome the Foundation wants. Consumers of software shouldn't be making a choice.
They shouldn't be asking themselves a question, "Oh, do I really need to use this device? Do I need to watch TV at this resolution? No, you should be guilt-free consumption because we have solved the problems on the other side. This isn't something I would argue you can win. This is just something that some of us will be working on this side of the problem from now to eternity. And they'll be other forces and hopefully the balance in the middle will be something that we can live with in this world. But that's how I see it.
This is not gonna be won, this is just, we need a lot of people on one side to counterbalance the other side. - Asim Hussain, Director of Green Software Ecosystems at Intel and also Co-Founder of the Green Software Foundation, thank you Asim. (upbeat music) - Thank you for having me here. (upbeat music) - [Announcer 1] Never miss an episode of "What That Means" with Camille, by following us here on YouTube or search for InTechnology wherever you get your podcasts. - [Announcer 2] The views and opinions expressed are those of the guests and author and do not necessarily reflect the official policy or position of Intel Corporation.