[00:00:00] Camille Morhardt: Asim Hussain, Director of Green Software Engineering at Intel, welcome to the conversation today. He’s also a co-founder of Green Software Foundation. Asim, welcome.
[00:00:12] Asim Hussain: Thank you. Thank you very much for having me here.
[00:00:14] Camille Morhardt: So, Green Software or Sustainable Software, tell us what that is.
[00:00:20] Asim Hussain: 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. For instance, you could build software, which does farming in a more environmentally good way, or you can acknowledge a 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, a software, which really takes responsibility for its own emissions and tries to minimize that or eliminate as much of that as possible.
[00:00:58] Camille Morhardt: I’ll ask the sort of 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 burp or so how is it emitting?
[00:01:11] Asim Hussain: Well, I don’t know about your software, my stuff does a lot of stuff. So basically, software is a driver of emissions. So, essentially what we say is there’s three ways of making software greener. Essentially, were called 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 that sometimes these obvious statements need to be made. And three years ago, there’s 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. 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 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 almost a ridiculous position to be in because it’s fundamental to everything that I do is a consumption of electricity.
You need to understand, if you want to be a green software practitioner, you need to understand what electricity is all about. And the main issue is that electricity is a single biggest emitter of carbon emissions in the world. About 80% of all the world’s electricity is still made to the burning of coal. And we hear a lot about renewables and resources, but most of the world burns coal. And in fact, they 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 kind of flipped over to burning kind of a much more dirty coal that has much greater emissions.
So, just looking it from that perspective, 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 also be energy efficient. And that’s kind of one of the ways you can be green is just by consuming less energy.
[00:03:03] Camille Morhardt: No, hold on. So, you said 80% of carbon emissions come from electricity.
[00:03:11] Asim Hussain: I’ve forgotten the global stat. It’s about 49%, I believe, of carbon emissions come from heating and electricity generation. I haven’t got the electricity specifically. In the U.S., it’s about 25% of the carbon emissions of the U.S. is just in the creation of electricity. But most electricity in the world is created by burning coal. 80% of the electricity that’s created worldwide is created by burning coal. That was the statistic I was saying. Yeah.
[00:03:38] Camille Morhardt: Okay. 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 electrical thing.
[00:03:51] Asim Hussain: Yeah. And it really does vary depending on types of devices. So, this is my mobile phone. It tends to be quite energy efficient for a variety of reasons, but for 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 bill. So that’s kind of, one of the angles is just kind of energy efficiency.
The other angle we call about is called hardware efficiency because there’s 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 it, emitted carbon. And it will also emit carbon when it’s disposed of very responsibly. There will also be some carbon emissions from there. All of that is called the embedded or embodied carbon.
Then you have to ask yourself the question, if you’re an application developer, what do you do with that information? The carbon is already out there. What’s more responsibility there? And then we talk about this idea of hardware efficiency, which is use the least embodied carbon possible, which for most kind of end user devices is all about increasing the lifespan of this device, the usable lifespan of this device. So 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. 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. That’s one angle as a software person, you can kind of make your software run on older hardware and therefore reduce the pressure that’s constantly there to keep on buying new devices.
And in the cloud space is an increasing server utilization. Most servers are sitting at kind of 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 offs 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.
[00:06:32] Camille Morhardt: But wait, why would you want to increase utilization? Wouldn’t you be saving energy if you were running less?
[00:06:38] Asim Hussain: If you are running two servers at 50% each utilization, you’re going to achieve the same amount of functionality if you run one server with a 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 high rate of utilization.
[00:07:02] Camille Morhardt: 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?
[00:07:14] Asim Hussain: Yeah, there’s kind of like some non-linear dimensional stuffs going on here, but yeah, it’s a little bit of what you’re describing there as well, which is kind of 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 a 100%, you’re not spending much more energy at all. So one thing we say is actually the more you use a server, the more efficient it becomes at turning electricity into useful operations. So that other angle to it as well.
[00:07:32] Camille Morhardt: Okay.
[00:07:33] Asim Hussain: And there’s a final one, which is called carbon awareness. Somebody said in a really interesting way recently, which I love, energy efficiency is about using less energy and carbon awareness is about using the right energy. So carbon awareness is about how do you create software that does more when the electricity is clean and less when the electricity is dirty.
For instance, I live in a country which has a fairly decent amount of wind power. And if you can build a 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 kind of reduce your carbon emissions. And actually this is the way … There’s a huge amount of interest in carbon awareness right now. 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-architecting an application, which is quite an involved process.
[00:08:59] Camille Morhardt: So if you are a company and you make software, you’re not a gigantic company, and you’re interested in exploring this, but you don’t necessarily have resources to kind of 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?
[00:09:26] Asim Hussain: I used to think this space would just be a checklist. Let’s all gather round 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, because unfortunately, the advice is very specific and nuanced for the type of application. And it’s hard to give very broad scale advice because the same advice from 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, you’re just going to have to delve into your particular software, stack your products tests, you know, what they are. 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. That’s some of the things I just mentioned there.
So one of the things the foundation’s created, website called Principles.Green, which is kind of the eight principles of green software. The foundation is 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 what I spoke before. Like, what is energy, why is it important, what are 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 Mr. Green … Oh, just do X, Y, and Z on product Zed Y. So first off, have your teams take that training. It’s only three hours and there’s certification that can come through the Linux Foundation. So you can get a Linux Foundation certification as well.
So we’re also creating catalogs with very specific targeted advice for very specific targeted roles. And we’re going to be launching with a catalog for a web, if you’re in the web space, a catalog for clouds, if you’re in the cloud space, and a catalog for machine learning, if you’re the machine learning space. Maybe mobile as well.
One of the things that’s a big challenge for a lot of people is how do you measure some of this stuff? Measurement has been the hardest problem in this space, but when the foundation was born, we finally had the tools to kind of 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.
[00:11:53] Camille Morhardt: Does that help with … Let’s say, I work with servers. So I’m going to look at workload balancing toward … You know, there is more wind in the evening. Okay. First of all, I may not know where my device or where my software is going to land globally. And so I don’t know what kind of power or where. So I mean, I could look up.
[00:12:11] Asim Hussain: Yeah.
[00:12:12] Camille Morhardt: I could find out when renewables spike in certain places perhaps, and do a time-based thing. But is there any kind of abstracted thing where I can just go, oh, okay, I want to plug into … I want my software to plug into this and run. I can tell it what workloads to run, but I don’t know when energy is spiking or not. How do you find that out dynamically?
[00:12:36] Asim Hussain: There’s already these orchestration technologies, which are already figuring out, oh, you need to spin up a server over there, so that maybe you could add a little bit more logic. So it can say, oh, let me think about it for a second. Where’s the cleanest? Oh, maybe over there. So there’s already some work being done in that space.
The foundation also is creating something called a carbon aware software development care. Because basically, 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. And I see so many companies and organizations are solving the same technical problem, which is where open source kind of really shines. So in the foundation, we got kind of multiple organizations together. They’re looking at the space and they’re developing something called a carbon-aware software development kit, which is still a little bit abstracted away from what you are asking for, but it will be the kind of 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 questions like that.
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 can plug it in, and none of your software changes in just using the SDK.
[00:13:56] Camille Morhardt: So the other thing you mentioned was 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 SDKs or APIs or whatever for prior to that. So software engineers or developers are just not … they don’t have a means to validate or whatnot. So, is there pressure coming from consumers or from developers to alleviate that?
[00:14:31] Asim Hussain: 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 the foundation, I feel quite lucky with the foundation can work on multiple levels, and there is kind of one area which is kind of regulatory pressure. And I think that’s probably the angle at which this will come to bear. There’s already kind of right to repair movements. And I would argue, this is just a flavor of that, but for software, because the right to repair basically means allow me to repair my hardware so I can use it for longer. Some manufacturers are actually coming out these days with very clear, we will have extended periods of support for our new devices to kind of support that.
[00:15:14] Camille Morhardt: I understand there’s actual physical limitations at some point. You’ve got a software package that’s too big, but we’re not talking about that. We’re talking about unnecessary or planned obsolescence. Premature. Okay. So you started or you co-founded this a few years ago. Do you have a time horizon or do you have a threshold or do you have a vision? What is the point where you’re like, okay, that actually worked.
[00:15:43] Asim Hussain: I can retire and kind of move on to the next challenge. So actually the foundation is just, we’ve just finished what’s called a theory of change exercise where we invited at least all the member organizations and all existing leads in the foundation just to sit down and figure out what is our 1, 2, 3, 4, 10 year plan. Where do we want to get to? Like, actually, what is the ideal future? Because honestly, well the original mission statement was made by me in about 20 minutes because I had to send something to an organization like quickly. 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. Because A, we talk about environmental effects, not just carbon, because there’s a lot of people in the foundation want to talk beyond the carbon because there are other environmental effects. There’s kind of like air quality, which has a direct relation to life expectancy. And there’s also water scarcity, which I think is going to become more and more challenging as the years go on.
That’s the future we want to have. And it fits into my philosophy as well. I have this statement, which is that 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 shouldn’t have any harmful environmental effects. That’s the future. We want to 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 the environment. And that’s kind of the outcome the foundation wants.
Consumers of software shouldn’t be making a choice. They should 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. And we’ve come up with what we want to achieve in the next three years and what we want to achieve in the next 10 years. This isn’t something I would argue can win. This is just something that some of us will be working on this side of the problem from now to eternity and there’ll be other forces, and hopefully, that’s how the balance in the middle will be something that we can live with in this world. But that’s kind of how I see it. This is not going to be one. This is just, we need a lot of people on one side to counter balance the other side.
[00:17:54] Camille Morhardt: Asim Hussain, Director of Green Software and Development and Ecosystem at Intel and also co-founded the Green Software Foundation. Thank you, Asim.
[00:18:05] Asim Hussain: You for having me here.