Show notes are at https://stevelitchfield.com/sshow/chat.html
…
continue reading
Contenu fourni par Gaël DUEZ. Tout le contenu du podcast, y compris les épisodes, les graphiques et les descriptions de podcast, est téléchargé et fourni directement par Gaël DUEZ ou son partenaire de plateforme de podcast. Si vous pensez que quelqu'un utilise votre œuvre protégée sans votre autorisation, vous pouvez suivre le processus décrit ici https://fr.player.fm/legal.
Player FM - Application Podcast
Mettez-vous hors ligne avec l'application Player FM !
Mettez-vous hors ligne avec l'application Player FM !
#38 - Building Green Software with Sara Bergman
MP3•Maison d'episode
Manage episode 416944261 series 3346125
Contenu fourni par Gaël DUEZ. Tout le contenu du podcast, y compris les épisodes, les graphiques et les descriptions de podcast, est téléchargé et fourni directement par Gaël DUEZ ou son partenaire de plateforme de podcast. Si vous pensez que quelqu'un utilise votre œuvre protégée sans votre autorisation, vous pouvez suivre le processus décrit ici https://fr.player.fm/legal.
🔎 What are the main angles to be covered when you truly want to design, run, and sometimes decommission, software, in the greenest possible way?
🎙️ In this episode, Sara Bergman, a seasoned software engineer and one of the acclaimed co-authors of the O’Reilly book “Building Green Software” joins Gaël Duez to discuss the book, and more specifically the chapters on AI, measurements, and hardware.
Some takeaways:
💻 Software people’s responsibility in utilizing hardware
🌡️ Concept of temperature-aware computing
☁️ Importance of major cloud providers
🌱 Some follow-up on the discussion on carbon-aware vs grid-aware computing for more effective environmental impact
❤️ Subscribe, follow, like, ... stay connected the way you want to never miss an episode!
📧 Once a month, you get carefully curated news on digital sustainability packed with exclusive Green IO contents, subscribe to the Green IO newsletter here.
📣 Green IO next Conference is in London on September 19th 2024 (use the voucher GREENIOVIP to get a free ticket)
📣 Green IO next Conference is in London on September 19th 2024 (use the voucher GREENIOVIP to get a free ticket)
Learn more about our guest and connect:
📧 You can also send us an email at contact@greenio.com to share your feedback and suggest future guests or topics.
Sara's sources and other references mentioned in this episode:
- Building Green Software book
- Green Software Foundation
- Green IO #21 Greening Software 101 with Anne Currie & Arne Tarara
- Environment Variables podcast
- Can Federated Learning Save the Planet?
- InfoQ articles on Green Software
- Huggin Face
- Kaggle
- Oil firms forced to consider full climate effects of new drilling, following landmark Norwegian court ruling
Transcript
Gaël Duez 00:00
Hello everyone. Welcome to Green IO, the podcast for responsible technologists building a greener digital world one byte at a time. Every two Tuesdays, our guests from across the globe share insights, tools and alternative approaches, enabling people within the tech sector and beyond to boost digital sustainability. Because accessible and transparent information is in the DNA of Green IO. All the references mentioned in this episode, as well as the transcript, will be in the show notes both on your podcast platform and on our website greenio.tech
O’Reilly books remain a world class reference when it comes to sharing IT knowledge. It kind of sets the tones on what matters in the software industry. And to be honest, if you do a quick research on a topic like security, you will easily find ten to twelve books talking about these topics in the last, I would say five years. I did the exercise with machine learning and AI and data, and it's just overwhelming. And then when you do the exercise with sustainability, I have to say that until this year, the only book mentioning clearly sustainability in its title was the one from Tim Freak, which was published way back in 2016.
So it is a fair statement to say that the new O’Reilly book, Building Green Software, written by Anne Curie, Sara Bergman and Sarah Hsu, has been very much awaited in the green software industry, in the green software community. So this is why I'm delighted to have today on the show Sara Bergman with us to talk about the latest trends and what are all the angles to be covered when you truly want to design and to run and to maybe sometimes decommission software in the greenest possible way. Sara, as I said, is one of the co-authors of this book. She is a senior software engineer. She works at Microsoft. She's based in Norway. And I think I have to give her double kudo in this episode, because this year she gave birth twice. First to a wonderful book, much acclimated and much awaited, as I say, but also to a beautiful little boy. So nice to meet you, Sara. Congratulations for bringing yet another beautiful human being on planet Earth. And thanks for joining the show today.
Sara Bergman 02:44
Thank you. Thank you three times. Yes, it's been quite exciting the last twelve months, indeed. I'm really glad to be on the podcast. Thanks for having me.
Gaël Duez 02:55
You're more than welcome. And Sarah, if you listen to us, the other Sarah, you know you don't have to be jealous because you will also join the podcast at some point in September. And you're the one in Green IO London, the conference, the on-site conference that will have a book signing session. So we will have the three Musketeers on the show at some point or the other.
But, Sara, before we jump into the nitty gritty of building green softwares, where you will bring your own expertise, I must say, I admire you so much. Every time I try to write an article, it's great for, I would say the first two thirds, and then I just can't make it. I just cannot close the project, etcetera. It's just a little article. And you wrote a book. You have to tell me, what is your secret recipe to manage to write a book on top of being a very active member of the climate action tech community, a very active member in the Green Software Foundation? A very active member. I guess. I mean, you're still on their payroll at Microsoft. So how did you manage?
Sara Bergman 04:08
Yeah. Also while being pregnant.
Gaël Duez 04:13
I mentioned it, but I didn't want to bring it up yet another time in the discussion.
Sara Bergman 04:18
Yeah. Sometimes I question my life choices. Sometimes I'm very happy with my life choices. No, but I think there are several things. So, first of all, I got the question to co-write this book. It was in the early stages of my pregnancy, and I was like, is this really a good time? There was definitely a lot of mom guilt from my side, you know, should I be doing this sort of selfish project when I should really just be focusing on my, my kid? But then, you know, how many times in your life will you get the question to write a book, especially the book I always wanted to write for O'Reilly, like, I felt this was maybe a once in a lifetime opportunity and I didn't want to regret it. And after all, you know, my son is going to live on after me. He's going to have a whole life on this planet. So I want to do everything I can do to ensure he has a bright future. So, yes, I said yes to write this book, but I wasn't the lone writer. I had Anne and I had Sarah. And when I asked other people, like, who have written books, like, oh, what are your best tips? A lot of them said, don't have any co authors, but I want to say, do they have co authors? Have co authors that you know and trust, Anne and Sarah, I mean, there would have been no book without them. It's been a great collaboration. We work really well together. I'm so pleased to be able to say that. And that's been such a driving function. You know, when you did a little bit of motivation, they had my back and I had their backs, and we could proofread each other's stuff. So that's been, that's been a really big part in sort of getting this book out.
Also, having deadlines when it's like enforced by someone else can be really, I am at least motivated by that. You know, you should have this done by this date and sort of set it up at a reasonable pace. It hasn't been, in fact, we were a little bit faster than what O'Reilly suggested because we were motivated to get the book out the door. So that was helpful.
And thirdly, it's a really fun thing to write about, I think. I enjoy writing. I always had and I miss it in my normal work, so to speak, because then I write code, but I don't write so much text except emails. Write a lot of emails.
Gaël Duez 06:49
Are you going to use the generating AI to do your emails? I'm surprised.
Sara Bergman 06:54
They will take away the creative process of writing. No, I know it's a great feature. I enjoy writing. So I guess that was a long answer to a short question.
Gaël Duez 07:04
Yeah, but that's a very interesting answer, I guess. Enjoying it. You need to find pleasure in entering such a big adventure. And let's talk about green software now. I guess you brought some specialties, some special knowledge compared to your colleague. I remember, for instance, that Anne was very proactive and was very, even a bit provocative regarding how you should code, looking for efficiency, trusting language builders rather than trying to tweak them, et cetera. She had also a pretty strong stance on AI, who would be a no brainer when it's about coding and coding efficiently. But I guess you brought other areas of expertise. And correct me if I'm wrong, one of them is artificial intelligence and data management.
Sara Bergman 08:00
Yeah, I did write a lot of that content for the book. And I want to say I'm not a data scientist, I am a software engineer. But AI and sustainability has really been a focus of mine, especially my talking career. I had my first talk on that subject in 2020. So that was like before the hype sort of. And the reason I've been interested in it is because there's been so much good research in that field. There's been so many fantastic researchers who have done a lot of studies, published a lot of data on it. So it's really, it's been a topic that was really easy to understand because other people have made all this wonderful information available and I don't know if it makes me weird or not, but I do enjoy reading research articles. I think they're fascinating. I think it's so cool that we as a global community have this practice where we pay people to do cutting edge research and then they publish these results for free for everyone to reap the benefit of, I think that's amazing. So, yes, AI was definitely something we wanted to bring into the book. It wasn't actually originally in the plan when we first decided to write it, but then of course, with the LLM wave that happened in 2023, it was a no-brainer to include it.
Gaël Duez 09:30
That was actually one of my questions, because there is this debate, like, is data management, data science part of software engineering, or is it subtopic, or is it a completely different field now? And I don't think it really matters to enter the debate, but I was happily surprised to see a chapter. So what are the top three main takeaways for you? If I want to be a sustainable software engineer, I have to deal with large amounts of data or AI. What are the main takeaways?
Sara Bergman 10:04
So, the main takeaways, I would say the first, is to reuse what's already out there. Other people spend a lot of energy and time and carbon to, for example, collect large datasets or for example, already trained models. Can you use those data sets? Can you use those models either directly or use transfer, learning to apply them to a new problem domain that's sort of similar, then you save carbon compared to starting from scratch, because you can utilize something that's already in existence. So if you think about the waste permit of reduce, reuse, recycle, burn, then the same applies here, right? It's always best to reduce, but if you can reuse, that's great, etcetera, etcetera. So that's the first takeaway.
Secondly is to shrink the model size, both the training phase, but also once you deploy it and shrinking model size is ongoing and has been ongoing for quite some time, research space. So there are already all these great techniques. You can compress, you can use distillation quantization, and that saves you time, which is more efficient because if you have a smaller model, you can, for example, train it faster. Training it faster means you can utilize this hardware, this energy used to power the hardware on for other things.
Same with the model. Once it's in production, a smaller model will take smaller space. You can even use smaller hardware devices. For example, you might even be able to deploy to the edge or to an Internet of Things device. So yeah, that's the number two. Shrink the model size.
Gaël Duez 11:53
Regarding this smaller is beautiful approach, you mentioned edge computing. Do you believe that that's a viable option when it comes to AI?
Sara Bergman 12:05
It really depends on what you're using AI for and the type of model that you have. I think for some scenarios it's absolutely viable. And not all AI needs to be these huge models. I believe we can use it for smaller things perhaps as well. And then I think edge can be really good. It's also a great way. If you're using user data to train your model, then you could even use something called federated learning, where you train your model closer to the end users. You sort of collaborate on a model, and in that case edge can be good because you don't have to transfer all the data back and forth to your data center, but you can rather share the model and not the sort of data itself, if that makes sense.
Gaël Duez 12:50
I didn't know about federated learning. Could you share an example? Did you have some ideas and illustrations in your mind?
Sara Bergman 12:58
So there is a paper actually called Can Federated Learning Save the Planet? And that's really good. In that paper, they had some examples of what they used it for, and then they compared it to traditional centralized data center training and saw that this can be a bit slower to converge, obviously, because you have all the end users collaborating on a model, but it can also be a greener approach, mostly because you're more efficient in how you use your hardware and you use the network less as well.
Gaël Duez 13:28
And do they provide an order of magnitude? Is it like 5 times, 50 times, 1 million times less carbon intensive?
Sara Bergman 13:37
Yeah, they're a little bit careful because it sort of depends on external factors like the grid intensity. Where do you place the data center? How long do you send the data? So it's a lot of ifs and buts, the way it can be in grant software. So it's not super straightforward to give a magnet to it always.
Gaël Duez 13:57
You mentioned reusing data in like the three R of waste management. I really love it. So of course there is a reducing part, and I think we could spend an entire episode on. Do we really need to gather that amount of data? Most of it, which will not be used with the reducing. I mean, if I'm a software engineer, not that well connected to the AI community, etcetera, etcetera. You know, someone asked me, okay, some sort of generative AI, etcetera, and the obvious answer would be, okay, I'll go for char GPT or GPT-3 depending what you want to achieve, and I don't want to do that. Where could I find these models or these data sets? That I can reuse that.
Sara Bergman 14:46
Two great places to look at, at least, are Kaggle and Hugging Face. They have lots of both data and models open source available, and they're community led, which is pretty cool.
Gaël Duez 14:59
Okay, so Kaggle and Hugging Face are the two places you would advise people to look for. Jumping on another part of the book, there is something that was really music to my ears, that you've got an entire chapter dedicated to hardware. And once again, I believe that you're kind of the expert on this topic, and this is not that usual to have a software engineering book going all the way down to the hardware level. So once again, what are the main takeaways of this chapter, and how could you share useful tips or actionable things to do for a software engineer?
Sara Bergman 15:34
Yeah, so I think there could definitely be a whole book, or like many books on hardware and sustainability, another area of research and really focused attention for a long time by the community. Anything new? I come from so my background in engineering was actually half hardware, half software. So I had, you know, coursemates who, like me, became software engineers. I have others who design hardware. So that's my background on hardware.
So here's the thing. No matter what type of software you write, it runs on some kind of hardware. You have to accept that fact and accept that hardware is a part of your life. Even if you just see hardware as, like, a means to an end. Or if, like, there's some people who love hardware, right? They collect old machines, they learn how to program on punch cards. Like, those people are still very much alive and kicking and active in our community. So you know that we have the full, the full range. But either way, like, wherever someone falls on that range, hardware is like a fact of life as a software engineer. And hardware comes with this great carbon debt, right? It's incredibly carbon intensive to produce the kind of hardware that we use to run software. What we wanted in the book is to make sure that this is known, right? I don't think anyone is unaware of this fact, but to really make it, to highlight it, to make it clear that this is a fact and there are things that you in your software can do to affect it. And that's the thing we don't cover anything on. Like how do we make hardware greener? Because, again, that's a topic for a completely different book with other experts to write that book. And there's plenty to be said there. However, we as software people, have a responsibility for how we utilize said hardware.
And there are two main things I want to say that you should be doing. And the first is to increase the lifetime of your hardware. Simply use what you have for longer, even if that's a server in your server hall, or if that is to promote end user devices longevity. So basically making them last longer. And the second thing is utilizing what you have effectively, so increasing the utilization, again, more relevant, I want to say, on like the server side, where you have more control. If you are programming for end user devices, you can't really control how much an end user is running simultaneously on their phone, for example. But you can if you own the hardware, and you can if you're deployed to the cloud, by making sure you are using the right tools to enable the cloud provider to be more efficient. And I believe Anne talked about some of those things when she was here.
Gaël Duez 18:36
And on this specific topic. Did you talk about some sort of graceful degradation concept? The fact that I think Ismaël Velasco is the one who coined it, sorry if someone else did it before, but the idea that it's okay, that maybe some features won't be available on older devices and yet they should be able to smoothly run through your services, etcetera. Hence the graceful degradation. And I really love the graceful degradation idea. Is it something that you believe is applicable? Is it something that you talked about in the book?
Sara Bergman 19:13
Would you talk briefly about it? Yes. And also how some of that functionality that you may be able to live without should never be security, right? You don't want to leave users on an unsafe device. You still have a responsibility as a software engineer. So that's something we talk about as well. But it's an action packed chapter and it's not super long. So yeah, there's definitely more to be said in the future on that topic.
Gaël Duez 19:43
And I have one last question that literally popped up in my mind when I was listening to you and connecting the dots with the interview I had with Professor PS Lee who was one of the really worldwide top experts on data center sustainability, especially tropical data centers. He's based in Singapore and he was telling us something that I guess pretty much all of us knew but we don't pay attention to is that the temperature on which you run your processor matters a lot when it comes to the longevity of your equipment.
And my point is, and I'm pretty sure you didn't have this crazy idea in the book, but do you believe that at some point we should introduce in our software some sort of feedback loop saying, like for instance, if I launch a very massive batch, data treatment, whatever you name it, real time processing I guess that we should introduce some kind of feedback loop regarding the temperature of our hardware and saying, hey, by the way, you know, if the temperature reaches a certain threshold, even if it doesn't threaten the operation itself, we know that actually we're damaging the hardware. So that could be interesting to pose or to reduce the amount of computing that we are requiring from our machine, whether it's virtual or not, because hence we will literally make its life easier and make sure that the hardware will last longer. Some sort of temperature aware computing.
Sara Bergman 21:22
I think that would be super cool. And I think this is where we come into, like a distinction of who should write which type of software. I don't think that maybe every software engineer should write that piece of code. It will likely look exactly the same for everyone, but there should be some kind of controlling software that allows you to take these options. So you can just say, when I deploy this, I want to have the temperature aware computing option so you don't have to make the decision, if that makes sense. It's the same when I use my washing machine. I don't know how a washing machine is built. I guess it uses a lot of electricity and water. I know there is an echo program, though. I use that echo program because I trust that the people who build the washing machine are smarter than me and they know how to save the most electricity and water. So I just click the button and the washing machine does it for me. Same with this type of software. All software people can like, understand how it works. Like, yes, keep temperatures down, make hardware last longer, great, but they just want to check the button and not write the code for reading the temperature of the CPU and figuring out when is a good time to switch off and how long should I delay, etcetera, et cetera. It will require us to write possible or breakable programs, though, that can allow for that type of action. But I think that will come more and more when we have more renewables on the grid. We might have to, not might. I think we are going to have to accept that we live in a world where electricity fluctuates, where there's time with more electricity, time with less electricity, and our software is going to have to get on with their lives anyway and sort of gracefully scale up and down, depending on that. And temperature can be the same type of variable, right.
Something we did touch a little on in the book is repairs. Right. Sometimes you might notice that some part of your server always kicks the bucket first, typically like your disks, because they get a lot of tension, especially mechanical discs. So maybe you can even change your software to write less, keep those discs around for longer. That's, again, a little harder thing. But it's definitely possible. And depending on the scale you operate on, it can definitely be a worthwhile exercise to at least investigate.
Gaël Duez 23:53
Yeah, food for thought, indeed. And by the way, you know, these echo programs on your washing machine, I learned very recently that this is the only program that is tested when they deliver the ecolabel. So it means that, you know, when you buy a washing machine with A or B ratings, etcetera, because you're very conscious about, you know, electricity consumption savings and water savings as well. If you use any other program, there is no promise at all that the ratings would be achieved. So the test is only on the echo program. So I guess we have to trust them and use the echo program a lot.
Sara Bergman 24:34
Oh, that's interesting. I don't know.
Gaël Duez 24:36
But Sara, I know that you wanted to talk about this topic as well, because that's one of your areas of expertise, something very dear to my heart, actually measuring. And my first question would be how accurate our measurement needs to be to start to do things or to be actionable?
Sara Bergman 24:55
Yeah, it's a great question, and I think different people have different points of view. Here I am firmly in the camp of let perfect be the enemy of progress. I don't think perfect measurement, of course, it's a goal. It would be great if we could have perfect, reliable, trustworthy carbon data. That will be amazing. We don't, however. So we can't halt all progress just because we don't have this perfect measurement yet. Sometimes I feel people get so caught up in it, it's like, oh, but if I don't have these numbers to report, then I can't show that I made progress, and then there's no point in making progress. And that is exactly what I don't want to happen. So I don't think we need to have perfect measurements. I do think you have to be scientific in the way you measure, though. You can't measure one way. First do some changes and then measure in a completely different way. Obviously, then the result isn't scientific. So you need to keep a scientific approach and measure in the same way. But it's fine to use a proxy, like just measuring energy, it's fine to use cost. For example, if you do it a bit smartly, it's fine to use the amount of hardware that you use as a proxy. You don't have to measure every single detail just to do something, is what I really firmly believe.
Gaël Duez 26:15
And what is interesting in what you say is it's not only a question of having impact metrics like carbon equivalent emissions, water consumption, abiotic resource depletion, etcetera, having them in a not so accurate way, although always scientifically measured and with a scientific process, because, as you say. But you also find with using proxy metrics, like for instance, for trying to assess the carbon footprint of a website, there is this big debate around whether the weight and the amount of data being exchanged or whether the network really matters or not, and whether it matters short term, etcetera. Well, big debate, but your point is that it's fine to also use this kind of proxy metrics, as long as we know that they go sort of in the right direction and that we measure it in a scientific way.
Sara Bergman 27:07
Yes, you can always find more things to measure, more complex ways to think about things. There's always more data, more things to consider. What about erosion of the soil? What about eco diversity? What about the water use? What about this and this and that? You can add on, and then you end up in a state of analysis paralysis, where you are just trying to model the perfect reality to make decisions. And that can be a fun exercise to do. And I'm very glad that there are lots of people who are doing it, so the rest of us can make use of that eventually. But that shouldn't stop us from starting to make progress today, because I am convinced that almost everyone is writing software. They know at least one thing they can do to be more efficient, and they might not be able to say it's like ten times more carbon efficient, or even one time more carbon efficient, but they know it will be better. So just having something that can show some number, maybe so you can just show your manager, your datasheet, whoever, you know, decides if that was a good or a bad thing, then I think it's a good thing. I think it's a valid thing, because we are in this state where we can't really afford to sit back and just do the numbers for a while. We need to take action. We need to do things, preferably yesterday.
Gaël Duez 28:27
I'm on you with this one, that actually, it leaves too many people also on the side of the road waiting for the perfect metrics. And don't get me wrong, I'm part of the Boavizta. These folks there are just geniuses when it comes to metrics, measurement, etcetera. They run one of the most comprehensive databases in the world when it comes to impact hardware. We're very happy to have this kind of people helping us. But for the 99 other percent, waiting for the perfect numbers will be an issue.
Sara Bergman 28:59
Yeah, and then, and that's why I'm also glad that all major cloud providers have some kind of metric now. It's, I dare say none of them are perfect, but a few years ago we didn't even have that. That is one number you can use to get better. Because like you said, the majority of software people should not be spending their time modeling and figuring out the perfect metric. They should be spending their time writing software. And it's great that we have other people who can focus and do this really in depth analysis. We absolutely need those. But not everyone in the field needs to be doing that.
Gaël Duez 29:35
We've talked since the beginning of the interview of software engineers, but we know that it comes in very different shapes in flavors, and the same goes for the sustainability experts in our field. Some of them are very much into the clouds. I will slightly disagree that it's better than nothing, but a bit more will be better than better than nothing when it comes to the data provided by main hyperscalers. But I know also that there are great people within these companies trying to move the needle way higher. I would say kudos to them, but I think we could do better, especially regarding the revenues at the end of the year. I think they could allocate a bit more money to speed up things, as you say, preferably yesterday.
Sara Bergman 30:19
Agreed? Yes. And I think also people who are the customers of cloud providers should ask for this, because that's how any business operates. What the customer wants is what the business will spend time on. If people ask for it, it will be a worthwhile investment for the major cloud provider. So that's something that everyone actually can do to make measurements better.
Gaël Duez 30:44
Let's use our consumer power also, whether it's in our personal life or professional life. I have one last question, Sara for you. You wrote the three of you a full chapter on carbon aware computing. Sara, don't know if you had the time to listen or to read the episodes that we've made recently with Ismaël Velasco and Hannah Smith on carbon aware computing and the limits of this approach just for the listeners who didn't have the chance to listen to it. The main takeaway from these two great experts is that be cautious about carbon aware computing because it cannot be used as a silver bullet sometimes. The idea of shifting over time or over space your computing workload to go where the grid is greener, aka low carbon. Please stop using the word greener, except me in the subtitles of my show. But it is because I do very lazy marketing tricks. So sorry for this, but otherwise, let's talk about low carbon and renewable. Their main concern, and that connects nicely to what you said about specialization, is that a software engineer and even a data scientist, etcetera, that they're not experts in electricity grid management. And there are some things that we need to pay attention to.
For instance, if you shift your workload in a place or in a time where the electricity seems to be low carbon, but actually you're at the very peak of your low carbon production, you might actually trigger the production of very highly carbonized electricity via gas or mostly gas or even coal powered factories. That was one of the issues. The other issue being that for the moment, it's a zero sum game. And if you take the low carbon electricity of someone, he or she will have to use highly carbonized electricity. And it cannot be an excuse not to reduce. You mentioned, like you reduce, reuse, etcetera, it cannot be an excuse not to reduce. And there were other aspects, so I cannot redo the entire episode, but I think there were two of the main takeaways of this discussion, which in a nutshell, ended up with, we might talk about grid aware computing rather than carbon aware computing. And knowing that you're an expert on this topic, and you're a very loud advocate on this approach in the green software foundation, what's your take on it? What's your position on this fine tuning of our approach?
Sara Bergman 33:34
Absolutely. Hannah and Ismaël, are giants in this field. There are great people. So obviously they have very smart ideas. So yes. Once again, the grid is so complex these days, and not everyone has the time or should spend the time figuring this out. And in the book, we do have a chapter on carbon aware computing, but it's only one chapter out of a whole book, because as you said, it is not the silver bullet. If it was, then, you know, we would only write that chapter and be done with the book but it's not. It's a great tool that can be used. I want to say it's not always perfect considering the signals that we have now, but I believe the signals could be if they were a little bit better. For example, now we sort of have two signals. We have the carbon intensity of the grid, and we also have the cost of the electricity because typically, if it's cheap, no one is competing for that electricity. If it's expensive, a lot of people are competing about that. Electricity. You could combine those two signals and get something that's closer to what I think they suggested. But again, I, as a software engineer, don't want to do that. I want someone to do it for me. So I just have a signal that I can read as an API, for example. I think if I'm allowed to be a visionary a little, I think that will come because I think it will be worthwhile. And then all the things that we talked about in the carbon aware space will apply. It will just listen to slightly different signals is what I personally think. I don't think carbon aware computing is necessarily bad. I don't think it's bad at all, actually. I think it's good. I think it sometimes can be a little counterintuitive, but yeah, that full episode was great. Now let's not redo it. But I strongly agree that it's not the silver bullet. It should not be used as a sales silver bullet, but it is a useful tool to have in your tool belt with all the other things.
Gaël Duez 35:34
Yeah, fair point, fair point. So I think we unpacked quite a lot of your book. We need to save some chapters for Sarah as well. So maybe I'd like to close the podcast with. Not this time, one, but two questions. The first one is, of course, we talked a lot about your book. You mentioned several references. Do you want to add one or two other references that could be extremely useful. It could be a video, it could be books, it could be articles, podcasts, you name it to software engineers truly willing to decarbonize the most urgent environmental issue but of course there are others as well to decarbonize their code base.
Sara Bergman 36:16
I think if you're brand new to the space, the green software engineering course, it's a really good place to start to just get your feet wet. It's not super long and it covers a lot of the basic stuff, so I think that's really good. Also, the Green Software Foundation podcast. I think it's cozy and nice, and it's similar to this one in the conversational style and being else. I don't know. Personally, I don't like when the rhetoric becomes very like, lecturing to me. That makes me sort of shy away because I, you know, when you're trying to do something good, when you're trying to learn something, you don't want to be like, told sternly that you're doing things wrong. And that's also the tone we strive for in the book. Everyone is on their own unique individual learning curve. And no matter where you are, like, you shouldn't be shamed for not being further along or things like that. It's very important to meet people where they are. And I think this podcast and I think the Green Software foundation podcast are both also. Sorry, one more InfoQ has had some good articles recently as well on sustainability and so on.
Gaël Duez 37:31
Thanks a lot for sharing these references. Yes, some of them are guests pretty familiar with the listeners, like environmentally viable. My dear fellow podcast. Hello, Chris and Asim, who are longstanding podcast hosts of this great show.
To close the podcast. Sara, could you share some good news, like, a piece of good news when it comes to sustainability, or even maybe IT sustainability?
Sara Bergman 37:58
Yeah. Well, I had one piece of news that was not really related to IT sustainability, but to sustainability. In Norway, where I live, we're actually pretty recently Greenpeace and natural Ungdom, which means nature and youth in Norwegian. They won a case against the Norwegian state regarding new oil fields. So the state wanted to do three new oil fields, anger, peace and nature. They took them to court, and they won. So there will be new. There won't be these three new oil fields anymore, which I think is pretty great. Of course, it is very controversial here in Norway, who makes a lot of money from oil but I think if we really want a low carbon future, then we need to focus on other methods of generating energy.
Gaël Duez 38:57
Yeah, that was a great victory, actually. And I guess you won another one pretty recently with a ban on deep sea mining. That was also very controversial. So it's a good signal because Norway, I guess, is, unfortunately, the remaining country where climate denial has some momentum. I think maybe in Poland as well. But I don't want to say stupid things. Sorry, Lukasz, if you listen to me and say so. But I think there is, or maybe it's Hungaria. I don't know. Sorry about that, if I recall. Well, there is one eastern country which is still pretty deep in climate denial. And Norway, for obvious reasons, likes the connection with oil production. And you don't really want to kill the hand that nourishes you. But that's very positive news that even in areas where the fight against climate change is not as consensual as it should be. I'm not saying that there are no issues in other countries. I mean, in France, to talk about a place I know pretty well, we are between 30 and 35, sometimes 40% of people around some sort of climate denial. So either it doesn't exist, which is a small minority, or it exists, but it's not human related. So I'm not lecturing anyone or any country here, and that was not my point. But it's just that no way is a specific challenge as a specific challenge on its own. And still my main message, that being said, because I didn't want to sound too pretentious or whatever, that was a million of miles away from what I intended to say, that yeah, we can still win cases and manage to get massive sustainability achievements. So I think that's very, very positive news coming from Norway. Thanks a lot for sharing it, Sara, and thanks for joining the show. That was great to have you. I hope we didn't spoil the readers too much, but it was great. I mean, thanks again for making this book happen. I think it's a very important milestone in our road toward more IT sustainability. So thanks a lot for sharing all of this in the show, too.
Sara Bergman 41:09
Thank you so much for having me on the podcast. It's been really fun and taking time off your busy schedule and early morning and all of those things, so thank you so much for that.
Gaël Duez 43:11
Thank you for listening to this Green IO episode. If you enjoyed it, please share it and give us five stars on Apple or Spotify. We are an independent media relying solely on you to get more listeners. Plus, it will give our little team Jill, Meibel, Tani and I a nice booster. In our next episode, we will talk about politics or actually how the European Union Parliament has delivered several legislations to the green IT industry, either directly or indirectly. And what does it mean for product and tech people in Europe and beyond, such as GDPR did? I will be joined by the members of the European Parliament, Kim Van Sparrentak and Max Schulze, the founder of the Sustainable Digital Infrastructure alliance. Stay tuned. Green IO is a podcast and much more, so visit greenio.tech to subscribe to our free monthly newsletter every last Friday of the month. Read the latest articles on our blog and check the conferences we organize across the globe. The next one is in London on September 19, and you can get a free ticket using the voucher GREENIOVIP. The call for speakers has also been opened, so feel free to apply if you wish to speak. I'm looking forward to meeting you there to help you fellow responsible technologists build a greener digital world.
Hello everyone. Welcome to Green IO, the podcast for responsible technologists building a greener digital world one byte at a time. Every two Tuesdays, our guests from across the globe share insights, tools and alternative approaches, enabling people within the tech sector and beyond to boost digital sustainability. Because accessible and transparent information is in the DNA of Green IO. All the references mentioned in this episode, as well as the transcript, will be in the show notes both on your podcast platform and on our website greenio.tech
O’Reilly books remain a world class reference when it comes to sharing IT knowledge. It kind of sets the tones on what matters in the software industry. And to be honest, if you do a quick research on a topic like security, you will easily find ten to twelve books talking about these topics in the last, I would say five years. I did the exercise with machine learning and AI and data, and it's just overwhelming. And then when you do the exercise with sustainability, I have to say that until this year, the only book mentioning clearly sustainability in its title was the one from Tim Freak, which was published way back in 2016.
So it is a fair statement to say that the new O’Reilly book, Building Green Software, written by Anne Curie, Sara Bergman and Sarah Hsu, has been very much awaited in the green software industry, in the green software community. So this is why I'm delighted to have today on the show Sara Bergman with us to talk about the latest trends and what are all the angles to be covered when you truly want to design and to run and to maybe sometimes decommission software in the greenest possible way. Sara, as I said, is one of the co-authors of this book. She is a senior software engineer. She works at Microsoft. She's based in Norway. And I think I have to give her double kudo in this episode, because this year she gave birth twice. First to a wonderful book, much acclimated and much awaited, as I say, but also to a beautiful little boy. So nice to meet you, Sara. Congratulations for bringing yet another beautiful human being on planet Earth. And thanks for joining the show today.
Sara Bergman 02:44
Thank you. Thank you three times. Yes, it's been quite exciting the last twelve months, indeed. I'm really glad to be on the podcast. Thanks for having me.
Gaël Duez 02:55
You're more than welcome. And Sarah, if you listen to us, the other Sarah, you know you don't have to be jealous because you will also join the podcast at some point in September. And you're the one in Green IO London, the conference, the on-site conference that will have a book signing session. So we will have the three Musketeers on the show at some point or the other.
But, Sara, before we jump into the nitty gritty of building green softwares, where you will bring your own expertise, I must say, I admire you so much. Every time I try to write an article, it's great for, I would say the first two thirds, and then I just can't make it. I just cannot close the project, etcetera. It's just a little article. And you wrote a book. You have to tell me, what is your secret recipe to manage to write a book on top of being a very active member of the climate action tech community, a very active member in the Green Software Foundation? A very active member. I guess. I mean, you're still on their payroll at Microsoft. So how did you manage?
Sara Bergman 04:08
Yeah. Also while being pregnant.
Gaël Duez 04:13
I mentioned it, but I didn't want to bring it up yet another time in the discussion.
Sara Bergman 04:18
Yeah. Sometimes I question my life choices. Sometimes I'm very happy with my life choices. No, but I think there are several things. So, first of all, I got the question to co-write this book. It was in the early stages of my pregnancy, and I was like, is this really a good time? There was definitely a lot of mom guilt from my side, you know, should I be doing this sort of selfish project when I should really just be focusing on my, my kid? But then, you know, how many times in your life will you get the question to write a book, especially the book I always wanted to write for O'Reilly, like, I felt this was maybe a once in a lifetime opportunity and I didn't want to regret it. And after all, you know, my son is going to live on after me. He's going to have a whole life on this planet. So I want to do everything I can do to ensure he has a bright future. So, yes, I said yes to write this book, but I wasn't the lone writer. I had Anne and I had Sarah. And when I asked other people, like, who have written books, like, oh, what are your best tips? A lot of them said, don't have any co authors, but I want to say, do they have co authors? Have co authors that you know and trust, Anne and Sarah, I mean, there would have been no book without them. It's been a great collaboration. We work really well together. I'm so pleased to be able to say that. And that's been such a driving function. You know, when you did a little bit of motivation, they had my back and I had their backs, and we could proofread each other's stuff. So that's been, that's been a really big part in sort of getting this book out.
Also, having deadlines when it's like enforced by someone else can be really, I am at least motivated by that. You know, you should have this done by this date and sort of set it up at a reasonable pace. It hasn't been, in fact, we were a little bit faster than what O'Reilly suggested because we were motivated to get the book out the door. So that was helpful.
And thirdly, it's a really fun thing to write about, I think. I enjoy writing. I always had and I miss it in my normal work, so to speak, because then I write code, but I don't write so much text except emails. Write a lot of emails.
Gaël Duez 06:49
Are you going to use the generating AI to do your emails? I'm surprised.
Sara Bergman 06:54
They will take away the creative process of writing. No, I know it's a great feature. I enjoy writing. So I guess that was a long answer to a short question.
Gaël Duez 07:04
Yeah, but that's a very interesting answer, I guess. Enjoying it. You need to find pleasure in entering such a big adventure. And let's talk about green software now. I guess you brought some specialties, some special knowledge compared to your colleague. I remember, for instance, that Anne was very proactive and was very, even a bit provocative regarding how you should code, looking for efficiency, trusting language builders rather than trying to tweak them, et cetera. She had also a pretty strong stance on AI, who would be a no brainer when it's about coding and coding efficiently. But I guess you brought other areas of expertise. And correct me if I'm wrong, one of them is artificial intelligence and data management.
Sara Bergman 08:00
Yeah, I did write a lot of that content for the book. And I want to say I'm not a data scientist, I am a software engineer. But AI and sustainability has really been a focus of mine, especially my talking career. I had my first talk on that subject in 2020. So that was like before the hype sort of. And the reason I've been interested in it is because there's been so much good research in that field. There's been so many fantastic researchers who have done a lot of studies, published a lot of data on it. So it's really, it's been a topic that was really easy to understand because other people have made all this wonderful information available and I don't know if it makes me weird or not, but I do enjoy reading research articles. I think they're fascinating. I think it's so cool that we as a global community have this practice where we pay people to do cutting edge research and then they publish these results for free for everyone to reap the benefit of, I think that's amazing. So, yes, AI was definitely something we wanted to bring into the book. It wasn't actually originally in the plan when we first decided to write it, but then of course, with the LLM wave that happened in 2023, it was a no-brainer to include it.
Gaël Duez 09:30
That was actually one of my questions, because there is this debate, like, is data management, data science part of software engineering, or is it subtopic, or is it a completely different field now? And I don't think it really matters to enter the debate, but I was happily surprised to see a chapter. So what are the top three main takeaways for you? If I want to be a sustainable software engineer, I have to deal with large amounts of data or AI. What are the main takeaways?
Sara Bergman 10:04
So, the main takeaways, I would say the first, is to reuse what's already out there. Other people spend a lot of energy and time and carbon to, for example, collect large datasets or for example, already trained models. Can you use those data sets? Can you use those models either directly or use transfer, learning to apply them to a new problem domain that's sort of similar, then you save carbon compared to starting from scratch, because you can utilize something that's already in existence. So if you think about the waste permit of reduce, reuse, recycle, burn, then the same applies here, right? It's always best to reduce, but if you can reuse, that's great, etcetera, etcetera. So that's the first takeaway.
Secondly is to shrink the model size, both the training phase, but also once you deploy it and shrinking model size is ongoing and has been ongoing for quite some time, research space. So there are already all these great techniques. You can compress, you can use distillation quantization, and that saves you time, which is more efficient because if you have a smaller model, you can, for example, train it faster. Training it faster means you can utilize this hardware, this energy used to power the hardware on for other things.
Same with the model. Once it's in production, a smaller model will take smaller space. You can even use smaller hardware devices. For example, you might even be able to deploy to the edge or to an Internet of Things device. So yeah, that's the number two. Shrink the model size.
Gaël Duez 11:53
Regarding this smaller is beautiful approach, you mentioned edge computing. Do you believe that that's a viable option when it comes to AI?
Sara Bergman 12:05
It really depends on what you're using AI for and the type of model that you have. I think for some scenarios it's absolutely viable. And not all AI needs to be these huge models. I believe we can use it for smaller things perhaps as well. And then I think edge can be really good. It's also a great way. If you're using user data to train your model, then you could even use something called federated learning, where you train your model closer to the end users. You sort of collaborate on a model, and in that case edge can be good because you don't have to transfer all the data back and forth to your data center, but you can rather share the model and not the sort of data itself, if that makes sense.
Gaël Duez 12:50
I didn't know about federated learning. Could you share an example? Did you have some ideas and illustrations in your mind?
Sara Bergman 12:58
So there is a paper actually called Can Federated Learning Save the Planet? And that's really good. In that paper, they had some examples of what they used it for, and then they compared it to traditional centralized data center training and saw that this can be a bit slower to converge, obviously, because you have all the end users collaborating on a model, but it can also be a greener approach, mostly because you're more efficient in how you use your hardware and you use the network less as well.
Gaël Duez 13:28
And do they provide an order of magnitude? Is it like 5 times, 50 times, 1 million times less carbon intensive?
Sara Bergman 13:37
Yeah, they're a little bit careful because it sort of depends on external factors like the grid intensity. Where do you place the data center? How long do you send the data? So it's a lot of ifs and buts, the way it can be in grant software. So it's not super straightforward to give a magnet to it always.
Gaël Duez 13:57
You mentioned reusing data in like the three R of waste management. I really love it. So of course there is a reducing part, and I think we could spend an entire episode on. Do we really need to gather that amount of data? Most of it, which will not be used with the reducing. I mean, if I'm a software engineer, not that well connected to the AI community, etcetera, etcetera. You know, someone asked me, okay, some sort of generative AI, etcetera, and the obvious answer would be, okay, I'll go for char GPT or GPT-3 depending what you want to achieve, and I don't want to do that. Where could I find these models or these data sets? That I can reuse that.
Sara Bergman 14:46
Two great places to look at, at least, are Kaggle and Hugging Face. They have lots of both data and models open source available, and they're community led, which is pretty cool.
Gaël Duez 14:59
Okay, so Kaggle and Hugging Face are the two places you would advise people to look for. Jumping on another part of the book, there is something that was really music to my ears, that you've got an entire chapter dedicated to hardware. And once again, I believe that you're kind of the expert on this topic, and this is not that usual to have a software engineering book going all the way down to the hardware level. So once again, what are the main takeaways of this chapter, and how could you share useful tips or actionable things to do for a software engineer?
Sara Bergman 15:34
Yeah, so I think there could definitely be a whole book, or like many books on hardware and sustainability, another area of research and really focused attention for a long time by the community. Anything new? I come from so my background in engineering was actually half hardware, half software. So I had, you know, coursemates who, like me, became software engineers. I have others who design hardware. So that's my background on hardware.
So here's the thing. No matter what type of software you write, it runs on some kind of hardware. You have to accept that fact and accept that hardware is a part of your life. Even if you just see hardware as, like, a means to an end. Or if, like, there's some people who love hardware, right? They collect old machines, they learn how to program on punch cards. Like, those people are still very much alive and kicking and active in our community. So you know that we have the full, the full range. But either way, like, wherever someone falls on that range, hardware is like a fact of life as a software engineer. And hardware comes with this great carbon debt, right? It's incredibly carbon intensive to produce the kind of hardware that we use to run software. What we wanted in the book is to make sure that this is known, right? I don't think anyone is unaware of this fact, but to really make it, to highlight it, to make it clear that this is a fact and there are things that you in your software can do to affect it. And that's the thing we don't cover anything on. Like how do we make hardware greener? Because, again, that's a topic for a completely different book with other experts to write that book. And there's plenty to be said there. However, we as software people, have a responsibility for how we utilize said hardware.
And there are two main things I want to say that you should be doing. And the first is to increase the lifetime of your hardware. Simply use what you have for longer, even if that's a server in your server hall, or if that is to promote end user devices longevity. So basically making them last longer. And the second thing is utilizing what you have effectively, so increasing the utilization, again, more relevant, I want to say, on like the server side, where you have more control. If you are programming for end user devices, you can't really control how much an end user is running simultaneously on their phone, for example. But you can if you own the hardware, and you can if you're deployed to the cloud, by making sure you are using the right tools to enable the cloud provider to be more efficient. And I believe Anne talked about some of those things when she was here.
Gaël Duez 18:36
And on this specific topic. Did you talk about some sort of graceful degradation concept? The fact that I think Ismaël Velasco is the one who coined it, sorry if someone else did it before, but the idea that it's okay, that maybe some features won't be available on older devices and yet they should be able to smoothly run through your services, etcetera. Hence the graceful degradation. And I really love the graceful degradation idea. Is it something that you believe is applicable? Is it something that you talked about in the book?
Sara Bergman 19:13
Would you talk briefly about it? Yes. And also how some of that functionality that you may be able to live without should never be security, right? You don't want to leave users on an unsafe device. You still have a responsibility as a software engineer. So that's something we talk about as well. But it's an action packed chapter and it's not super long. So yeah, there's definitely more to be said in the future on that topic.
Gaël Duez 19:43
And I have one last question that literally popped up in my mind when I was listening to you and connecting the dots with the interview I had with Professor PS Lee who was one of the really worldwide top experts on data center sustainability, especially tropical data centers. He's based in Singapore and he was telling us something that I guess pretty much all of us knew but we don't pay attention to is that the temperature on which you run your processor matters a lot when it comes to the longevity of your equipment.
And my point is, and I'm pretty sure you didn't have this crazy idea in the book, but do you believe that at some point we should introduce in our software some sort of feedback loop saying, like for instance, if I launch a very massive batch, data treatment, whatever you name it, real time processing I guess that we should introduce some kind of feedback loop regarding the temperature of our hardware and saying, hey, by the way, you know, if the temperature reaches a certain threshold, even if it doesn't threaten the operation itself, we know that actually we're damaging the hardware. So that could be interesting to pose or to reduce the amount of computing that we are requiring from our machine, whether it's virtual or not, because hence we will literally make its life easier and make sure that the hardware will last longer. Some sort of temperature aware computing.
Sara Bergman 21:22
I think that would be super cool. And I think this is where we come into, like a distinction of who should write which type of software. I don't think that maybe every software engineer should write that piece of code. It will likely look exactly the same for everyone, but there should be some kind of controlling software that allows you to take these options. So you can just say, when I deploy this, I want to have the temperature aware computing option so you don't have to make the decision, if that makes sense. It's the same when I use my washing machine. I don't know how a washing machine is built. I guess it uses a lot of electricity and water. I know there is an echo program, though. I use that echo program because I trust that the people who build the washing machine are smarter than me and they know how to save the most electricity and water. So I just click the button and the washing machine does it for me. Same with this type of software. All software people can like, understand how it works. Like, yes, keep temperatures down, make hardware last longer, great, but they just want to check the button and not write the code for reading the temperature of the CPU and figuring out when is a good time to switch off and how long should I delay, etcetera, et cetera. It will require us to write possible or breakable programs, though, that can allow for that type of action. But I think that will come more and more when we have more renewables on the grid. We might have to, not might. I think we are going to have to accept that we live in a world where electricity fluctuates, where there's time with more electricity, time with less electricity, and our software is going to have to get on with their lives anyway and sort of gracefully scale up and down, depending on that. And temperature can be the same type of variable, right.
Something we did touch a little on in the book is repairs. Right. Sometimes you might notice that some part of your server always kicks the bucket first, typically like your disks, because they get a lot of tension, especially mechanical discs. So maybe you can even change your software to write less, keep those discs around for longer. That's, again, a little harder thing. But it's definitely possible. And depending on the scale you operate on, it can definitely be a worthwhile exercise to at least investigate.
Gaël Duez 23:53
Yeah, food for thought, indeed. And by the way, you know, these echo programs on your washing machine, I learned very recently that this is the only program that is tested when they deliver the ecolabel. So it means that, you know, when you buy a washing machine with A or B ratings, etcetera, because you're very conscious about, you know, electricity consumption savings and water savings as well. If you use any other program, there is no promise at all that the ratings would be achieved. So the test is only on the echo program. So I guess we have to trust them and use the echo program a lot.
Sara Bergman 24:34
Oh, that's interesting. I don't know.
Gaël Duez 24:36
But Sara, I know that you wanted to talk about this topic as well, because that's one of your areas of expertise, something very dear to my heart, actually measuring. And my first question would be how accurate our measurement needs to be to start to do things or to be actionable?
Sara Bergman 24:55
Yeah, it's a great question, and I think different people have different points of view. Here I am firmly in the camp of let perfect be the enemy of progress. I don't think perfect measurement, of course, it's a goal. It would be great if we could have perfect, reliable, trustworthy carbon data. That will be amazing. We don't, however. So we can't halt all progress just because we don't have this perfect measurement yet. Sometimes I feel people get so caught up in it, it's like, oh, but if I don't have these numbers to report, then I can't show that I made progress, and then there's no point in making progress. And that is exactly what I don't want to happen. So I don't think we need to have perfect measurements. I do think you have to be scientific in the way you measure, though. You can't measure one way. First do some changes and then measure in a completely different way. Obviously, then the result isn't scientific. So you need to keep a scientific approach and measure in the same way. But it's fine to use a proxy, like just measuring energy, it's fine to use cost. For example, if you do it a bit smartly, it's fine to use the amount of hardware that you use as a proxy. You don't have to measure every single detail just to do something, is what I really firmly believe.
Gaël Duez 26:15
And what is interesting in what you say is it's not only a question of having impact metrics like carbon equivalent emissions, water consumption, abiotic resource depletion, etcetera, having them in a not so accurate way, although always scientifically measured and with a scientific process, because, as you say. But you also find with using proxy metrics, like for instance, for trying to assess the carbon footprint of a website, there is this big debate around whether the weight and the amount of data being exchanged or whether the network really matters or not, and whether it matters short term, etcetera. Well, big debate, but your point is that it's fine to also use this kind of proxy metrics, as long as we know that they go sort of in the right direction and that we measure it in a scientific way.
Sara Bergman 27:07
Yes, you can always find more things to measure, more complex ways to think about things. There's always more data, more things to consider. What about erosion of the soil? What about eco diversity? What about the water use? What about this and this and that? You can add on, and then you end up in a state of analysis paralysis, where you are just trying to model the perfect reality to make decisions. And that can be a fun exercise to do. And I'm very glad that there are lots of people who are doing it, so the rest of us can make use of that eventually. But that shouldn't stop us from starting to make progress today, because I am convinced that almost everyone is writing software. They know at least one thing they can do to be more efficient, and they might not be able to say it's like ten times more carbon efficient, or even one time more carbon efficient, but they know it will be better. So just having something that can show some number, maybe so you can just show your manager, your datasheet, whoever, you know, decides if that was a good or a bad thing, then I think it's a good thing. I think it's a valid thing, because we are in this state where we can't really afford to sit back and just do the numbers for a while. We need to take action. We need to do things, preferably yesterday.
Gaël Duez 28:27
I'm on you with this one, that actually, it leaves too many people also on the side of the road waiting for the perfect metrics. And don't get me wrong, I'm part of the Boavizta. These folks there are just geniuses when it comes to metrics, measurement, etcetera. They run one of the most comprehensive databases in the world when it comes to impact hardware. We're very happy to have this kind of people helping us. But for the 99 other percent, waiting for the perfect numbers will be an issue.
Sara Bergman 28:59
Yeah, and then, and that's why I'm also glad that all major cloud providers have some kind of metric now. It's, I dare say none of them are perfect, but a few years ago we didn't even have that. That is one number you can use to get better. Because like you said, the majority of software people should not be spending their time modeling and figuring out the perfect metric. They should be spending their time writing software. And it's great that we have other people who can focus and do this really in depth analysis. We absolutely need those. But not everyone in the field needs to be doing that.
Gaël Duez 29:35
We've talked since the beginning of the interview of software engineers, but we know that it comes in very different shapes in flavors, and the same goes for the sustainability experts in our field. Some of them are very much into the clouds. I will slightly disagree that it's better than nothing, but a bit more will be better than better than nothing when it comes to the data provided by main hyperscalers. But I know also that there are great people within these companies trying to move the needle way higher. I would say kudos to them, but I think we could do better, especially regarding the revenues at the end of the year. I think they could allocate a bit more money to speed up things, as you say, preferably yesterday.
Sara Bergman 30:19
Agreed? Yes. And I think also people who are the customers of cloud providers should ask for this, because that's how any business operates. What the customer wants is what the business will spend time on. If people ask for it, it will be a worthwhile investment for the major cloud provider. So that's something that everyone actually can do to make measurements better.
Gaël Duez 30:44
Let's use our consumer power also, whether it's in our personal life or professional life. I have one last question, Sara for you. You wrote the three of you a full chapter on carbon aware computing. Sara, don't know if you had the time to listen or to read the episodes that we've made recently with Ismaël Velasco and Hannah Smith on carbon aware computing and the limits of this approach just for the listeners who didn't have the chance to listen to it. The main takeaway from these two great experts is that be cautious about carbon aware computing because it cannot be used as a silver bullet sometimes. The idea of shifting over time or over space your computing workload to go where the grid is greener, aka low carbon. Please stop using the word greener, except me in the subtitles of my show. But it is because I do very lazy marketing tricks. So sorry for this, but otherwise, let's talk about low carbon and renewable. Their main concern, and that connects nicely to what you said about specialization, is that a software engineer and even a data scientist, etcetera, that they're not experts in electricity grid management. And there are some things that we need to pay attention to.
For instance, if you shift your workload in a place or in a time where the electricity seems to be low carbon, but actually you're at the very peak of your low carbon production, you might actually trigger the production of very highly carbonized electricity via gas or mostly gas or even coal powered factories. That was one of the issues. The other issue being that for the moment, it's a zero sum game. And if you take the low carbon electricity of someone, he or she will have to use highly carbonized electricity. And it cannot be an excuse not to reduce. You mentioned, like you reduce, reuse, etcetera, it cannot be an excuse not to reduce. And there were other aspects, so I cannot redo the entire episode, but I think there were two of the main takeaways of this discussion, which in a nutshell, ended up with, we might talk about grid aware computing rather than carbon aware computing. And knowing that you're an expert on this topic, and you're a very loud advocate on this approach in the green software foundation, what's your take on it? What's your position on this fine tuning of our approach?
Sara Bergman 33:34
Absolutely. Hannah and Ismaël, are giants in this field. There are great people. So obviously they have very smart ideas. So yes. Once again, the grid is so complex these days, and not everyone has the time or should spend the time figuring this out. And in the book, we do have a chapter on carbon aware computing, but it's only one chapter out of a whole book, because as you said, it is not the silver bullet. If it was, then, you know, we would only write that chapter and be done with the book but it's not. It's a great tool that can be used. I want to say it's not always perfect considering the signals that we have now, but I believe the signals could be if they were a little bit better. For example, now we sort of have two signals. We have the carbon intensity of the grid, and we also have the cost of the electricity because typically, if it's cheap, no one is competing for that electricity. If it's expensive, a lot of people are competing about that. Electricity. You could combine those two signals and get something that's closer to what I think they suggested. But again, I, as a software engineer, don't want to do that. I want someone to do it for me. So I just have a signal that I can read as an API, for example. I think if I'm allowed to be a visionary a little, I think that will come because I think it will be worthwhile. And then all the things that we talked about in the carbon aware space will apply. It will just listen to slightly different signals is what I personally think. I don't think carbon aware computing is necessarily bad. I don't think it's bad at all, actually. I think it's good. I think it sometimes can be a little counterintuitive, but yeah, that full episode was great. Now let's not redo it. But I strongly agree that it's not the silver bullet. It should not be used as a sales silver bullet, but it is a useful tool to have in your tool belt with all the other things.
Gaël Duez 35:34
Yeah, fair point, fair point. So I think we unpacked quite a lot of your book. We need to save some chapters for Sarah as well. So maybe I'd like to close the podcast with. Not this time, one, but two questions. The first one is, of course, we talked a lot about your book. You mentioned several references. Do you want to add one or two other references that could be extremely useful. It could be a video, it could be books, it could be articles, podcasts, you name it to software engineers truly willing to decarbonize the most urgent environmental issue but of course there are others as well to decarbonize their code base.
Sara Bergman 36:16
I think if you're brand new to the space, the green software engineering course, it's a really good place to start to just get your feet wet. It's not super long and it covers a lot of the basic stuff, so I think that's really good. Also, the Green Software Foundation podcast. I think it's cozy and nice, and it's similar to this one in the conversational style and being else. I don't know. Personally, I don't like when the rhetoric becomes very like, lecturing to me. That makes me sort of shy away because I, you know, when you're trying to do something good, when you're trying to learn something, you don't want to be like, told sternly that you're doing things wrong. And that's also the tone we strive for in the book. Everyone is on their own unique individual learning curve. And no matter where you are, like, you shouldn't be shamed for not being further along or things like that. It's very important to meet people where they are. And I think this podcast and I think the Green Software foundation podcast are both also. Sorry, one more InfoQ has had some good articles recently as well on sustainability and so on.
Gaël Duez 37:31
Thanks a lot for sharing these references. Yes, some of them are guests pretty familiar with the listeners, like environmentally viable. My dear fellow podcast. Hello, Chris and Asim, who are longstanding podcast hosts of this great show.
To close the podcast. Sara, could you share some good news, like, a piece of good news when it comes to sustainability, or even maybe IT sustainability?
Sara Bergman 37:58
Yeah. Well, I had one piece of news that was not really related to IT sustainability, but to sustainability. In Norway, where I live, we're actually pretty recently Greenpeace and natural Ungdom, which means nature and youth in Norwegian. They won a case against the Norwegian state regarding new oil fields. So the state wanted to do three new oil fields, anger, peace and nature. They took them to court, and they won. So there will be new. There won't be these three new oil fields anymore, which I think is pretty great. Of course, it is very controversial here in Norway, who makes a lot of money from oil but I think if we really want a low carbon future, then we need to focus on other methods of generating energy.
Gaël Duez 38:57
Yeah, that was a great victory, actually. And I guess you won another one pretty recently with a ban on deep sea mining. That was also very controversial. So it's a good signal because Norway, I guess, is, unfortunately, the remaining country where climate denial has some momentum. I think maybe in Poland as well. But I don't want to say stupid things. Sorry, Lukasz, if you listen to me and say so. But I think there is, or maybe it's Hungaria. I don't know. Sorry about that, if I recall. Well, there is one eastern country which is still pretty deep in climate denial. And Norway, for obvious reasons, likes the connection with oil production. And you don't really want to kill the hand that nourishes you. But that's very positive news that even in areas where the fight against climate change is not as consensual as it should be. I'm not saying that there are no issues in other countries. I mean, in France, to talk about a place I know pretty well, we are between 30 and 35, sometimes 40% of people around some sort of climate denial. So either it doesn't exist, which is a small minority, or it exists, but it's not human related. So I'm not lecturing anyone or any country here, and that was not my point. But it's just that no way is a specific challenge as a specific challenge on its own. And still my main message, that being said, because I didn't want to sound too pretentious or whatever, that was a million of miles away from what I intended to say, that yeah, we can still win cases and manage to get massive sustainability achievements. So I think that's very, very positive news coming from Norway. Thanks a lot for sharing it, Sara, and thanks for joining the show. That was great to have you. I hope we didn't spoil the readers too much, but it was great. I mean, thanks again for making this book happen. I think it's a very important milestone in our road toward more IT sustainability. So thanks a lot for sharing all of this in the show, too.
Sara Bergman 41:09
Thank you so much for having me on the podcast. It's been really fun and taking time off your busy schedule and early morning and all of those things, so thank you so much for that.
Gaël Duez 43:11
Thank you for listening to this Green IO episode. If you enjoyed it, please share it and give us five stars on Apple or Spotify. We are an independent media relying solely on you to get more listeners. Plus, it will give our little team Jill, Meibel, Tani and I a nice booster. In our next episode, we will talk about politics or actually how the European Union Parliament has delivered several legislations to the green IT industry, either directly or indirectly. And what does it mean for product and tech people in Europe and beyond, such as GDPR did? I will be joined by the members of the European Parliament, Kim Van Sparrentak and Max Schulze, the founder of the Sustainable Digital Infrastructure alliance. Stay tuned. Green IO is a podcast and much more, so visit greenio.tech to subscribe to our free monthly newsletter every last Friday of the month. Read the latest articles on our blog and check the conferences we organize across the globe. The next one is in London on September 19, and you can get a free ticket using the voucher GREENIOVIP. The call for speakers has also been opened, so feel free to apply if you wish to speak. I'm looking forward to meeting you there to help you fellow responsible technologists build a greener digital world.
❤️ Never miss an episode! Hit the subscribe button on the player above and follow us the way you like.
📧 Our Green IO monthly newsletter is also a good way to be notified, as well as getting carefully curated news on digital sustainability packed with exclusive Green IO contents.
47 episodes
MP3•Maison d'episode
Manage episode 416944261 series 3346125
Contenu fourni par Gaël DUEZ. Tout le contenu du podcast, y compris les épisodes, les graphiques et les descriptions de podcast, est téléchargé et fourni directement par Gaël DUEZ ou son partenaire de plateforme de podcast. Si vous pensez que quelqu'un utilise votre œuvre protégée sans votre autorisation, vous pouvez suivre le processus décrit ici https://fr.player.fm/legal.
🔎 What are the main angles to be covered when you truly want to design, run, and sometimes decommission, software, in the greenest possible way?
🎙️ In this episode, Sara Bergman, a seasoned software engineer and one of the acclaimed co-authors of the O’Reilly book “Building Green Software” joins Gaël Duez to discuss the book, and more specifically the chapters on AI, measurements, and hardware.
Some takeaways:
💻 Software people’s responsibility in utilizing hardware
🌡️ Concept of temperature-aware computing
☁️ Importance of major cloud providers
🌱 Some follow-up on the discussion on carbon-aware vs grid-aware computing for more effective environmental impact
❤️ Subscribe, follow, like, ... stay connected the way you want to never miss an episode!
📧 Once a month, you get carefully curated news on digital sustainability packed with exclusive Green IO contents, subscribe to the Green IO newsletter here.
📣 Green IO next Conference is in London on September 19th 2024 (use the voucher GREENIOVIP to get a free ticket)
📣 Green IO next Conference is in London on September 19th 2024 (use the voucher GREENIOVIP to get a free ticket)
Learn more about our guest and connect:
📧 You can also send us an email at contact@greenio.com to share your feedback and suggest future guests or topics.
Sara's sources and other references mentioned in this episode:
- Building Green Software book
- Green Software Foundation
- Green IO #21 Greening Software 101 with Anne Currie & Arne Tarara
- Environment Variables podcast
- Can Federated Learning Save the Planet?
- InfoQ articles on Green Software
- Huggin Face
- Kaggle
- Oil firms forced to consider full climate effects of new drilling, following landmark Norwegian court ruling
Transcript
Gaël Duez 00:00
Hello everyone. Welcome to Green IO, the podcast for responsible technologists building a greener digital world one byte at a time. Every two Tuesdays, our guests from across the globe share insights, tools and alternative approaches, enabling people within the tech sector and beyond to boost digital sustainability. Because accessible and transparent information is in the DNA of Green IO. All the references mentioned in this episode, as well as the transcript, will be in the show notes both on your podcast platform and on our website greenio.tech
O’Reilly books remain a world class reference when it comes to sharing IT knowledge. It kind of sets the tones on what matters in the software industry. And to be honest, if you do a quick research on a topic like security, you will easily find ten to twelve books talking about these topics in the last, I would say five years. I did the exercise with machine learning and AI and data, and it's just overwhelming. And then when you do the exercise with sustainability, I have to say that until this year, the only book mentioning clearly sustainability in its title was the one from Tim Freak, which was published way back in 2016.
So it is a fair statement to say that the new O’Reilly book, Building Green Software, written by Anne Curie, Sara Bergman and Sarah Hsu, has been very much awaited in the green software industry, in the green software community. So this is why I'm delighted to have today on the show Sara Bergman with us to talk about the latest trends and what are all the angles to be covered when you truly want to design and to run and to maybe sometimes decommission software in the greenest possible way. Sara, as I said, is one of the co-authors of this book. She is a senior software engineer. She works at Microsoft. She's based in Norway. And I think I have to give her double kudo in this episode, because this year she gave birth twice. First to a wonderful book, much acclimated and much awaited, as I say, but also to a beautiful little boy. So nice to meet you, Sara. Congratulations for bringing yet another beautiful human being on planet Earth. And thanks for joining the show today.
Sara Bergman 02:44
Thank you. Thank you three times. Yes, it's been quite exciting the last twelve months, indeed. I'm really glad to be on the podcast. Thanks for having me.
Gaël Duez 02:55
You're more than welcome. And Sarah, if you listen to us, the other Sarah, you know you don't have to be jealous because you will also join the podcast at some point in September. And you're the one in Green IO London, the conference, the on-site conference that will have a book signing session. So we will have the three Musketeers on the show at some point or the other.
But, Sara, before we jump into the nitty gritty of building green softwares, where you will bring your own expertise, I must say, I admire you so much. Every time I try to write an article, it's great for, I would say the first two thirds, and then I just can't make it. I just cannot close the project, etcetera. It's just a little article. And you wrote a book. You have to tell me, what is your secret recipe to manage to write a book on top of being a very active member of the climate action tech community, a very active member in the Green Software Foundation? A very active member. I guess. I mean, you're still on their payroll at Microsoft. So how did you manage?
Sara Bergman 04:08
Yeah. Also while being pregnant.
Gaël Duez 04:13
I mentioned it, but I didn't want to bring it up yet another time in the discussion.
Sara Bergman 04:18
Yeah. Sometimes I question my life choices. Sometimes I'm very happy with my life choices. No, but I think there are several things. So, first of all, I got the question to co-write this book. It was in the early stages of my pregnancy, and I was like, is this really a good time? There was definitely a lot of mom guilt from my side, you know, should I be doing this sort of selfish project when I should really just be focusing on my, my kid? But then, you know, how many times in your life will you get the question to write a book, especially the book I always wanted to write for O'Reilly, like, I felt this was maybe a once in a lifetime opportunity and I didn't want to regret it. And after all, you know, my son is going to live on after me. He's going to have a whole life on this planet. So I want to do everything I can do to ensure he has a bright future. So, yes, I said yes to write this book, but I wasn't the lone writer. I had Anne and I had Sarah. And when I asked other people, like, who have written books, like, oh, what are your best tips? A lot of them said, don't have any co authors, but I want to say, do they have co authors? Have co authors that you know and trust, Anne and Sarah, I mean, there would have been no book without them. It's been a great collaboration. We work really well together. I'm so pleased to be able to say that. And that's been such a driving function. You know, when you did a little bit of motivation, they had my back and I had their backs, and we could proofread each other's stuff. So that's been, that's been a really big part in sort of getting this book out.
Also, having deadlines when it's like enforced by someone else can be really, I am at least motivated by that. You know, you should have this done by this date and sort of set it up at a reasonable pace. It hasn't been, in fact, we were a little bit faster than what O'Reilly suggested because we were motivated to get the book out the door. So that was helpful.
And thirdly, it's a really fun thing to write about, I think. I enjoy writing. I always had and I miss it in my normal work, so to speak, because then I write code, but I don't write so much text except emails. Write a lot of emails.
Gaël Duez 06:49
Are you going to use the generating AI to do your emails? I'm surprised.
Sara Bergman 06:54
They will take away the creative process of writing. No, I know it's a great feature. I enjoy writing. So I guess that was a long answer to a short question.
Gaël Duez 07:04
Yeah, but that's a very interesting answer, I guess. Enjoying it. You need to find pleasure in entering such a big adventure. And let's talk about green software now. I guess you brought some specialties, some special knowledge compared to your colleague. I remember, for instance, that Anne was very proactive and was very, even a bit provocative regarding how you should code, looking for efficiency, trusting language builders rather than trying to tweak them, et cetera. She had also a pretty strong stance on AI, who would be a no brainer when it's about coding and coding efficiently. But I guess you brought other areas of expertise. And correct me if I'm wrong, one of them is artificial intelligence and data management.
Sara Bergman 08:00
Yeah, I did write a lot of that content for the book. And I want to say I'm not a data scientist, I am a software engineer. But AI and sustainability has really been a focus of mine, especially my talking career. I had my first talk on that subject in 2020. So that was like before the hype sort of. And the reason I've been interested in it is because there's been so much good research in that field. There's been so many fantastic researchers who have done a lot of studies, published a lot of data on it. So it's really, it's been a topic that was really easy to understand because other people have made all this wonderful information available and I don't know if it makes me weird or not, but I do enjoy reading research articles. I think they're fascinating. I think it's so cool that we as a global community have this practice where we pay people to do cutting edge research and then they publish these results for free for everyone to reap the benefit of, I think that's amazing. So, yes, AI was definitely something we wanted to bring into the book. It wasn't actually originally in the plan when we first decided to write it, but then of course, with the LLM wave that happened in 2023, it was a no-brainer to include it.
Gaël Duez 09:30
That was actually one of my questions, because there is this debate, like, is data management, data science part of software engineering, or is it subtopic, or is it a completely different field now? And I don't think it really matters to enter the debate, but I was happily surprised to see a chapter. So what are the top three main takeaways for you? If I want to be a sustainable software engineer, I have to deal with large amounts of data or AI. What are the main takeaways?
Sara Bergman 10:04
So, the main takeaways, I would say the first, is to reuse what's already out there. Other people spend a lot of energy and time and carbon to, for example, collect large datasets or for example, already trained models. Can you use those data sets? Can you use those models either directly or use transfer, learning to apply them to a new problem domain that's sort of similar, then you save carbon compared to starting from scratch, because you can utilize something that's already in existence. So if you think about the waste permit of reduce, reuse, recycle, burn, then the same applies here, right? It's always best to reduce, but if you can reuse, that's great, etcetera, etcetera. So that's the first takeaway.
Secondly is to shrink the model size, both the training phase, but also once you deploy it and shrinking model size is ongoing and has been ongoing for quite some time, research space. So there are already all these great techniques. You can compress, you can use distillation quantization, and that saves you time, which is more efficient because if you have a smaller model, you can, for example, train it faster. Training it faster means you can utilize this hardware, this energy used to power the hardware on for other things.
Same with the model. Once it's in production, a smaller model will take smaller space. You can even use smaller hardware devices. For example, you might even be able to deploy to the edge or to an Internet of Things device. So yeah, that's the number two. Shrink the model size.
Gaël Duez 11:53
Regarding this smaller is beautiful approach, you mentioned edge computing. Do you believe that that's a viable option when it comes to AI?
Sara Bergman 12:05
It really depends on what you're using AI for and the type of model that you have. I think for some scenarios it's absolutely viable. And not all AI needs to be these huge models. I believe we can use it for smaller things perhaps as well. And then I think edge can be really good. It's also a great way. If you're using user data to train your model, then you could even use something called federated learning, where you train your model closer to the end users. You sort of collaborate on a model, and in that case edge can be good because you don't have to transfer all the data back and forth to your data center, but you can rather share the model and not the sort of data itself, if that makes sense.
Gaël Duez 12:50
I didn't know about federated learning. Could you share an example? Did you have some ideas and illustrations in your mind?
Sara Bergman 12:58
So there is a paper actually called Can Federated Learning Save the Planet? And that's really good. In that paper, they had some examples of what they used it for, and then they compared it to traditional centralized data center training and saw that this can be a bit slower to converge, obviously, because you have all the end users collaborating on a model, but it can also be a greener approach, mostly because you're more efficient in how you use your hardware and you use the network less as well.
Gaël Duez 13:28
And do they provide an order of magnitude? Is it like 5 times, 50 times, 1 million times less carbon intensive?
Sara Bergman 13:37
Yeah, they're a little bit careful because it sort of depends on external factors like the grid intensity. Where do you place the data center? How long do you send the data? So it's a lot of ifs and buts, the way it can be in grant software. So it's not super straightforward to give a magnet to it always.
Gaël Duez 13:57
You mentioned reusing data in like the three R of waste management. I really love it. So of course there is a reducing part, and I think we could spend an entire episode on. Do we really need to gather that amount of data? Most of it, which will not be used with the reducing. I mean, if I'm a software engineer, not that well connected to the AI community, etcetera, etcetera. You know, someone asked me, okay, some sort of generative AI, etcetera, and the obvious answer would be, okay, I'll go for char GPT or GPT-3 depending what you want to achieve, and I don't want to do that. Where could I find these models or these data sets? That I can reuse that.
Sara Bergman 14:46
Two great places to look at, at least, are Kaggle and Hugging Face. They have lots of both data and models open source available, and they're community led, which is pretty cool.
Gaël Duez 14:59
Okay, so Kaggle and Hugging Face are the two places you would advise people to look for. Jumping on another part of the book, there is something that was really music to my ears, that you've got an entire chapter dedicated to hardware. And once again, I believe that you're kind of the expert on this topic, and this is not that usual to have a software engineering book going all the way down to the hardware level. So once again, what are the main takeaways of this chapter, and how could you share useful tips or actionable things to do for a software engineer?
Sara Bergman 15:34
Yeah, so I think there could definitely be a whole book, or like many books on hardware and sustainability, another area of research and really focused attention for a long time by the community. Anything new? I come from so my background in engineering was actually half hardware, half software. So I had, you know, coursemates who, like me, became software engineers. I have others who design hardware. So that's my background on hardware.
So here's the thing. No matter what type of software you write, it runs on some kind of hardware. You have to accept that fact and accept that hardware is a part of your life. Even if you just see hardware as, like, a means to an end. Or if, like, there's some people who love hardware, right? They collect old machines, they learn how to program on punch cards. Like, those people are still very much alive and kicking and active in our community. So you know that we have the full, the full range. But either way, like, wherever someone falls on that range, hardware is like a fact of life as a software engineer. And hardware comes with this great carbon debt, right? It's incredibly carbon intensive to produce the kind of hardware that we use to run software. What we wanted in the book is to make sure that this is known, right? I don't think anyone is unaware of this fact, but to really make it, to highlight it, to make it clear that this is a fact and there are things that you in your software can do to affect it. And that's the thing we don't cover anything on. Like how do we make hardware greener? Because, again, that's a topic for a completely different book with other experts to write that book. And there's plenty to be said there. However, we as software people, have a responsibility for how we utilize said hardware.
And there are two main things I want to say that you should be doing. And the first is to increase the lifetime of your hardware. Simply use what you have for longer, even if that's a server in your server hall, or if that is to promote end user devices longevity. So basically making them last longer. And the second thing is utilizing what you have effectively, so increasing the utilization, again, more relevant, I want to say, on like the server side, where you have more control. If you are programming for end user devices, you can't really control how much an end user is running simultaneously on their phone, for example. But you can if you own the hardware, and you can if you're deployed to the cloud, by making sure you are using the right tools to enable the cloud provider to be more efficient. And I believe Anne talked about some of those things when she was here.
Gaël Duez 18:36
And on this specific topic. Did you talk about some sort of graceful degradation concept? The fact that I think Ismaël Velasco is the one who coined it, sorry if someone else did it before, but the idea that it's okay, that maybe some features won't be available on older devices and yet they should be able to smoothly run through your services, etcetera. Hence the graceful degradation. And I really love the graceful degradation idea. Is it something that you believe is applicable? Is it something that you talked about in the book?
Sara Bergman 19:13
Would you talk briefly about it? Yes. And also how some of that functionality that you may be able to live without should never be security, right? You don't want to leave users on an unsafe device. You still have a responsibility as a software engineer. So that's something we talk about as well. But it's an action packed chapter and it's not super long. So yeah, there's definitely more to be said in the future on that topic.
Gaël Duez 19:43
And I have one last question that literally popped up in my mind when I was listening to you and connecting the dots with the interview I had with Professor PS Lee who was one of the really worldwide top experts on data center sustainability, especially tropical data centers. He's based in Singapore and he was telling us something that I guess pretty much all of us knew but we don't pay attention to is that the temperature on which you run your processor matters a lot when it comes to the longevity of your equipment.
And my point is, and I'm pretty sure you didn't have this crazy idea in the book, but do you believe that at some point we should introduce in our software some sort of feedback loop saying, like for instance, if I launch a very massive batch, data treatment, whatever you name it, real time processing I guess that we should introduce some kind of feedback loop regarding the temperature of our hardware and saying, hey, by the way, you know, if the temperature reaches a certain threshold, even if it doesn't threaten the operation itself, we know that actually we're damaging the hardware. So that could be interesting to pose or to reduce the amount of computing that we are requiring from our machine, whether it's virtual or not, because hence we will literally make its life easier and make sure that the hardware will last longer. Some sort of temperature aware computing.
Sara Bergman 21:22
I think that would be super cool. And I think this is where we come into, like a distinction of who should write which type of software. I don't think that maybe every software engineer should write that piece of code. It will likely look exactly the same for everyone, but there should be some kind of controlling software that allows you to take these options. So you can just say, when I deploy this, I want to have the temperature aware computing option so you don't have to make the decision, if that makes sense. It's the same when I use my washing machine. I don't know how a washing machine is built. I guess it uses a lot of electricity and water. I know there is an echo program, though. I use that echo program because I trust that the people who build the washing machine are smarter than me and they know how to save the most electricity and water. So I just click the button and the washing machine does it for me. Same with this type of software. All software people can like, understand how it works. Like, yes, keep temperatures down, make hardware last longer, great, but they just want to check the button and not write the code for reading the temperature of the CPU and figuring out when is a good time to switch off and how long should I delay, etcetera, et cetera. It will require us to write possible or breakable programs, though, that can allow for that type of action. But I think that will come more and more when we have more renewables on the grid. We might have to, not might. I think we are going to have to accept that we live in a world where electricity fluctuates, where there's time with more electricity, time with less electricity, and our software is going to have to get on with their lives anyway and sort of gracefully scale up and down, depending on that. And temperature can be the same type of variable, right.
Something we did touch a little on in the book is repairs. Right. Sometimes you might notice that some part of your server always kicks the bucket first, typically like your disks, because they get a lot of tension, especially mechanical discs. So maybe you can even change your software to write less, keep those discs around for longer. That's, again, a little harder thing. But it's definitely possible. And depending on the scale you operate on, it can definitely be a worthwhile exercise to at least investigate.
Gaël Duez 23:53
Yeah, food for thought, indeed. And by the way, you know, these echo programs on your washing machine, I learned very recently that this is the only program that is tested when they deliver the ecolabel. So it means that, you know, when you buy a washing machine with A or B ratings, etcetera, because you're very conscious about, you know, electricity consumption savings and water savings as well. If you use any other program, there is no promise at all that the ratings would be achieved. So the test is only on the echo program. So I guess we have to trust them and use the echo program a lot.
Sara Bergman 24:34
Oh, that's interesting. I don't know.
Gaël Duez 24:36
But Sara, I know that you wanted to talk about this topic as well, because that's one of your areas of expertise, something very dear to my heart, actually measuring. And my first question would be how accurate our measurement needs to be to start to do things or to be actionable?
Sara Bergman 24:55
Yeah, it's a great question, and I think different people have different points of view. Here I am firmly in the camp of let perfect be the enemy of progress. I don't think perfect measurement, of course, it's a goal. It would be great if we could have perfect, reliable, trustworthy carbon data. That will be amazing. We don't, however. So we can't halt all progress just because we don't have this perfect measurement yet. Sometimes I feel people get so caught up in it, it's like, oh, but if I don't have these numbers to report, then I can't show that I made progress, and then there's no point in making progress. And that is exactly what I don't want to happen. So I don't think we need to have perfect measurements. I do think you have to be scientific in the way you measure, though. You can't measure one way. First do some changes and then measure in a completely different way. Obviously, then the result isn't scientific. So you need to keep a scientific approach and measure in the same way. But it's fine to use a proxy, like just measuring energy, it's fine to use cost. For example, if you do it a bit smartly, it's fine to use the amount of hardware that you use as a proxy. You don't have to measure every single detail just to do something, is what I really firmly believe.
Gaël Duez 26:15
And what is interesting in what you say is it's not only a question of having impact metrics like carbon equivalent emissions, water consumption, abiotic resource depletion, etcetera, having them in a not so accurate way, although always scientifically measured and with a scientific process, because, as you say. But you also find with using proxy metrics, like for instance, for trying to assess the carbon footprint of a website, there is this big debate around whether the weight and the amount of data being exchanged or whether the network really matters or not, and whether it matters short term, etcetera. Well, big debate, but your point is that it's fine to also use this kind of proxy metrics, as long as we know that they go sort of in the right direction and that we measure it in a scientific way.
Sara Bergman 27:07
Yes, you can always find more things to measure, more complex ways to think about things. There's always more data, more things to consider. What about erosion of the soil? What about eco diversity? What about the water use? What about this and this and that? You can add on, and then you end up in a state of analysis paralysis, where you are just trying to model the perfect reality to make decisions. And that can be a fun exercise to do. And I'm very glad that there are lots of people who are doing it, so the rest of us can make use of that eventually. But that shouldn't stop us from starting to make progress today, because I am convinced that almost everyone is writing software. They know at least one thing they can do to be more efficient, and they might not be able to say it's like ten times more carbon efficient, or even one time more carbon efficient, but they know it will be better. So just having something that can show some number, maybe so you can just show your manager, your datasheet, whoever, you know, decides if that was a good or a bad thing, then I think it's a good thing. I think it's a valid thing, because we are in this state where we can't really afford to sit back and just do the numbers for a while. We need to take action. We need to do things, preferably yesterday.
Gaël Duez 28:27
I'm on you with this one, that actually, it leaves too many people also on the side of the road waiting for the perfect metrics. And don't get me wrong, I'm part of the Boavizta. These folks there are just geniuses when it comes to metrics, measurement, etcetera. They run one of the most comprehensive databases in the world when it comes to impact hardware. We're very happy to have this kind of people helping us. But for the 99 other percent, waiting for the perfect numbers will be an issue.
Sara Bergman 28:59
Yeah, and then, and that's why I'm also glad that all major cloud providers have some kind of metric now. It's, I dare say none of them are perfect, but a few years ago we didn't even have that. That is one number you can use to get better. Because like you said, the majority of software people should not be spending their time modeling and figuring out the perfect metric. They should be spending their time writing software. And it's great that we have other people who can focus and do this really in depth analysis. We absolutely need those. But not everyone in the field needs to be doing that.
Gaël Duez 29:35
We've talked since the beginning of the interview of software engineers, but we know that it comes in very different shapes in flavors, and the same goes for the sustainability experts in our field. Some of them are very much into the clouds. I will slightly disagree that it's better than nothing, but a bit more will be better than better than nothing when it comes to the data provided by main hyperscalers. But I know also that there are great people within these companies trying to move the needle way higher. I would say kudos to them, but I think we could do better, especially regarding the revenues at the end of the year. I think they could allocate a bit more money to speed up things, as you say, preferably yesterday.
Sara Bergman 30:19
Agreed? Yes. And I think also people who are the customers of cloud providers should ask for this, because that's how any business operates. What the customer wants is what the business will spend time on. If people ask for it, it will be a worthwhile investment for the major cloud provider. So that's something that everyone actually can do to make measurements better.
Gaël Duez 30:44
Let's use our consumer power also, whether it's in our personal life or professional life. I have one last question, Sara for you. You wrote the three of you a full chapter on carbon aware computing. Sara, don't know if you had the time to listen or to read the episodes that we've made recently with Ismaël Velasco and Hannah Smith on carbon aware computing and the limits of this approach just for the listeners who didn't have the chance to listen to it. The main takeaway from these two great experts is that be cautious about carbon aware computing because it cannot be used as a silver bullet sometimes. The idea of shifting over time or over space your computing workload to go where the grid is greener, aka low carbon. Please stop using the word greener, except me in the subtitles of my show. But it is because I do very lazy marketing tricks. So sorry for this, but otherwise, let's talk about low carbon and renewable. Their main concern, and that connects nicely to what you said about specialization, is that a software engineer and even a data scientist, etcetera, that they're not experts in electricity grid management. And there are some things that we need to pay attention to.
For instance, if you shift your workload in a place or in a time where the electricity seems to be low carbon, but actually you're at the very peak of your low carbon production, you might actually trigger the production of very highly carbonized electricity via gas or mostly gas or even coal powered factories. That was one of the issues. The other issue being that for the moment, it's a zero sum game. And if you take the low carbon electricity of someone, he or she will have to use highly carbonized electricity. And it cannot be an excuse not to reduce. You mentioned, like you reduce, reuse, etcetera, it cannot be an excuse not to reduce. And there were other aspects, so I cannot redo the entire episode, but I think there were two of the main takeaways of this discussion, which in a nutshell, ended up with, we might talk about grid aware computing rather than carbon aware computing. And knowing that you're an expert on this topic, and you're a very loud advocate on this approach in the green software foundation, what's your take on it? What's your position on this fine tuning of our approach?
Sara Bergman 33:34
Absolutely. Hannah and Ismaël, are giants in this field. There are great people. So obviously they have very smart ideas. So yes. Once again, the grid is so complex these days, and not everyone has the time or should spend the time figuring this out. And in the book, we do have a chapter on carbon aware computing, but it's only one chapter out of a whole book, because as you said, it is not the silver bullet. If it was, then, you know, we would only write that chapter and be done with the book but it's not. It's a great tool that can be used. I want to say it's not always perfect considering the signals that we have now, but I believe the signals could be if they were a little bit better. For example, now we sort of have two signals. We have the carbon intensity of the grid, and we also have the cost of the electricity because typically, if it's cheap, no one is competing for that electricity. If it's expensive, a lot of people are competing about that. Electricity. You could combine those two signals and get something that's closer to what I think they suggested. But again, I, as a software engineer, don't want to do that. I want someone to do it for me. So I just have a signal that I can read as an API, for example. I think if I'm allowed to be a visionary a little, I think that will come because I think it will be worthwhile. And then all the things that we talked about in the carbon aware space will apply. It will just listen to slightly different signals is what I personally think. I don't think carbon aware computing is necessarily bad. I don't think it's bad at all, actually. I think it's good. I think it sometimes can be a little counterintuitive, but yeah, that full episode was great. Now let's not redo it. But I strongly agree that it's not the silver bullet. It should not be used as a sales silver bullet, but it is a useful tool to have in your tool belt with all the other things.
Gaël Duez 35:34
Yeah, fair point, fair point. So I think we unpacked quite a lot of your book. We need to save some chapters for Sarah as well. So maybe I'd like to close the podcast with. Not this time, one, but two questions. The first one is, of course, we talked a lot about your book. You mentioned several references. Do you want to add one or two other references that could be extremely useful. It could be a video, it could be books, it could be articles, podcasts, you name it to software engineers truly willing to decarbonize the most urgent environmental issue but of course there are others as well to decarbonize their code base.
Sara Bergman 36:16
I think if you're brand new to the space, the green software engineering course, it's a really good place to start to just get your feet wet. It's not super long and it covers a lot of the basic stuff, so I think that's really good. Also, the Green Software Foundation podcast. I think it's cozy and nice, and it's similar to this one in the conversational style and being else. I don't know. Personally, I don't like when the rhetoric becomes very like, lecturing to me. That makes me sort of shy away because I, you know, when you're trying to do something good, when you're trying to learn something, you don't want to be like, told sternly that you're doing things wrong. And that's also the tone we strive for in the book. Everyone is on their own unique individual learning curve. And no matter where you are, like, you shouldn't be shamed for not being further along or things like that. It's very important to meet people where they are. And I think this podcast and I think the Green Software foundation podcast are both also. Sorry, one more InfoQ has had some good articles recently as well on sustainability and so on.
Gaël Duez 37:31
Thanks a lot for sharing these references. Yes, some of them are guests pretty familiar with the listeners, like environmentally viable. My dear fellow podcast. Hello, Chris and Asim, who are longstanding podcast hosts of this great show.
To close the podcast. Sara, could you share some good news, like, a piece of good news when it comes to sustainability, or even maybe IT sustainability?
Sara Bergman 37:58
Yeah. Well, I had one piece of news that was not really related to IT sustainability, but to sustainability. In Norway, where I live, we're actually pretty recently Greenpeace and natural Ungdom, which means nature and youth in Norwegian. They won a case against the Norwegian state regarding new oil fields. So the state wanted to do three new oil fields, anger, peace and nature. They took them to court, and they won. So there will be new. There won't be these three new oil fields anymore, which I think is pretty great. Of course, it is very controversial here in Norway, who makes a lot of money from oil but I think if we really want a low carbon future, then we need to focus on other methods of generating energy.
Gaël Duez 38:57
Yeah, that was a great victory, actually. And I guess you won another one pretty recently with a ban on deep sea mining. That was also very controversial. So it's a good signal because Norway, I guess, is, unfortunately, the remaining country where climate denial has some momentum. I think maybe in Poland as well. But I don't want to say stupid things. Sorry, Lukasz, if you listen to me and say so. But I think there is, or maybe it's Hungaria. I don't know. Sorry about that, if I recall. Well, there is one eastern country which is still pretty deep in climate denial. And Norway, for obvious reasons, likes the connection with oil production. And you don't really want to kill the hand that nourishes you. But that's very positive news that even in areas where the fight against climate change is not as consensual as it should be. I'm not saying that there are no issues in other countries. I mean, in France, to talk about a place I know pretty well, we are between 30 and 35, sometimes 40% of people around some sort of climate denial. So either it doesn't exist, which is a small minority, or it exists, but it's not human related. So I'm not lecturing anyone or any country here, and that was not my point. But it's just that no way is a specific challenge as a specific challenge on its own. And still my main message, that being said, because I didn't want to sound too pretentious or whatever, that was a million of miles away from what I intended to say, that yeah, we can still win cases and manage to get massive sustainability achievements. So I think that's very, very positive news coming from Norway. Thanks a lot for sharing it, Sara, and thanks for joining the show. That was great to have you. I hope we didn't spoil the readers too much, but it was great. I mean, thanks again for making this book happen. I think it's a very important milestone in our road toward more IT sustainability. So thanks a lot for sharing all of this in the show, too.
Sara Bergman 41:09
Thank you so much for having me on the podcast. It's been really fun and taking time off your busy schedule and early morning and all of those things, so thank you so much for that.
Gaël Duez 43:11
Thank you for listening to this Green IO episode. If you enjoyed it, please share it and give us five stars on Apple or Spotify. We are an independent media relying solely on you to get more listeners. Plus, it will give our little team Jill, Meibel, Tani and I a nice booster. In our next episode, we will talk about politics or actually how the European Union Parliament has delivered several legislations to the green IT industry, either directly or indirectly. And what does it mean for product and tech people in Europe and beyond, such as GDPR did? I will be joined by the members of the European Parliament, Kim Van Sparrentak and Max Schulze, the founder of the Sustainable Digital Infrastructure alliance. Stay tuned. Green IO is a podcast and much more, so visit greenio.tech to subscribe to our free monthly newsletter every last Friday of the month. Read the latest articles on our blog and check the conferences we organize across the globe. The next one is in London on September 19, and you can get a free ticket using the voucher GREENIOVIP. The call for speakers has also been opened, so feel free to apply if you wish to speak. I'm looking forward to meeting you there to help you fellow responsible technologists build a greener digital world.
Hello everyone. Welcome to Green IO, the podcast for responsible technologists building a greener digital world one byte at a time. Every two Tuesdays, our guests from across the globe share insights, tools and alternative approaches, enabling people within the tech sector and beyond to boost digital sustainability. Because accessible and transparent information is in the DNA of Green IO. All the references mentioned in this episode, as well as the transcript, will be in the show notes both on your podcast platform and on our website greenio.tech
O’Reilly books remain a world class reference when it comes to sharing IT knowledge. It kind of sets the tones on what matters in the software industry. And to be honest, if you do a quick research on a topic like security, you will easily find ten to twelve books talking about these topics in the last, I would say five years. I did the exercise with machine learning and AI and data, and it's just overwhelming. And then when you do the exercise with sustainability, I have to say that until this year, the only book mentioning clearly sustainability in its title was the one from Tim Freak, which was published way back in 2016.
So it is a fair statement to say that the new O’Reilly book, Building Green Software, written by Anne Curie, Sara Bergman and Sarah Hsu, has been very much awaited in the green software industry, in the green software community. So this is why I'm delighted to have today on the show Sara Bergman with us to talk about the latest trends and what are all the angles to be covered when you truly want to design and to run and to maybe sometimes decommission software in the greenest possible way. Sara, as I said, is one of the co-authors of this book. She is a senior software engineer. She works at Microsoft. She's based in Norway. And I think I have to give her double kudo in this episode, because this year she gave birth twice. First to a wonderful book, much acclimated and much awaited, as I say, but also to a beautiful little boy. So nice to meet you, Sara. Congratulations for bringing yet another beautiful human being on planet Earth. And thanks for joining the show today.
Sara Bergman 02:44
Thank you. Thank you three times. Yes, it's been quite exciting the last twelve months, indeed. I'm really glad to be on the podcast. Thanks for having me.
Gaël Duez 02:55
You're more than welcome. And Sarah, if you listen to us, the other Sarah, you know you don't have to be jealous because you will also join the podcast at some point in September. And you're the one in Green IO London, the conference, the on-site conference that will have a book signing session. So we will have the three Musketeers on the show at some point or the other.
But, Sara, before we jump into the nitty gritty of building green softwares, where you will bring your own expertise, I must say, I admire you so much. Every time I try to write an article, it's great for, I would say the first two thirds, and then I just can't make it. I just cannot close the project, etcetera. It's just a little article. And you wrote a book. You have to tell me, what is your secret recipe to manage to write a book on top of being a very active member of the climate action tech community, a very active member in the Green Software Foundation? A very active member. I guess. I mean, you're still on their payroll at Microsoft. So how did you manage?
Sara Bergman 04:08
Yeah. Also while being pregnant.
Gaël Duez 04:13
I mentioned it, but I didn't want to bring it up yet another time in the discussion.
Sara Bergman 04:18
Yeah. Sometimes I question my life choices. Sometimes I'm very happy with my life choices. No, but I think there are several things. So, first of all, I got the question to co-write this book. It was in the early stages of my pregnancy, and I was like, is this really a good time? There was definitely a lot of mom guilt from my side, you know, should I be doing this sort of selfish project when I should really just be focusing on my, my kid? But then, you know, how many times in your life will you get the question to write a book, especially the book I always wanted to write for O'Reilly, like, I felt this was maybe a once in a lifetime opportunity and I didn't want to regret it. And after all, you know, my son is going to live on after me. He's going to have a whole life on this planet. So I want to do everything I can do to ensure he has a bright future. So, yes, I said yes to write this book, but I wasn't the lone writer. I had Anne and I had Sarah. And when I asked other people, like, who have written books, like, oh, what are your best tips? A lot of them said, don't have any co authors, but I want to say, do they have co authors? Have co authors that you know and trust, Anne and Sarah, I mean, there would have been no book without them. It's been a great collaboration. We work really well together. I'm so pleased to be able to say that. And that's been such a driving function. You know, when you did a little bit of motivation, they had my back and I had their backs, and we could proofread each other's stuff. So that's been, that's been a really big part in sort of getting this book out.
Also, having deadlines when it's like enforced by someone else can be really, I am at least motivated by that. You know, you should have this done by this date and sort of set it up at a reasonable pace. It hasn't been, in fact, we were a little bit faster than what O'Reilly suggested because we were motivated to get the book out the door. So that was helpful.
And thirdly, it's a really fun thing to write about, I think. I enjoy writing. I always had and I miss it in my normal work, so to speak, because then I write code, but I don't write so much text except emails. Write a lot of emails.
Gaël Duez 06:49
Are you going to use the generating AI to do your emails? I'm surprised.
Sara Bergman 06:54
They will take away the creative process of writing. No, I know it's a great feature. I enjoy writing. So I guess that was a long answer to a short question.
Gaël Duez 07:04
Yeah, but that's a very interesting answer, I guess. Enjoying it. You need to find pleasure in entering such a big adventure. And let's talk about green software now. I guess you brought some specialties, some special knowledge compared to your colleague. I remember, for instance, that Anne was very proactive and was very, even a bit provocative regarding how you should code, looking for efficiency, trusting language builders rather than trying to tweak them, et cetera. She had also a pretty strong stance on AI, who would be a no brainer when it's about coding and coding efficiently. But I guess you brought other areas of expertise. And correct me if I'm wrong, one of them is artificial intelligence and data management.
Sara Bergman 08:00
Yeah, I did write a lot of that content for the book. And I want to say I'm not a data scientist, I am a software engineer. But AI and sustainability has really been a focus of mine, especially my talking career. I had my first talk on that subject in 2020. So that was like before the hype sort of. And the reason I've been interested in it is because there's been so much good research in that field. There's been so many fantastic researchers who have done a lot of studies, published a lot of data on it. So it's really, it's been a topic that was really easy to understand because other people have made all this wonderful information available and I don't know if it makes me weird or not, but I do enjoy reading research articles. I think they're fascinating. I think it's so cool that we as a global community have this practice where we pay people to do cutting edge research and then they publish these results for free for everyone to reap the benefit of, I think that's amazing. So, yes, AI was definitely something we wanted to bring into the book. It wasn't actually originally in the plan when we first decided to write it, but then of course, with the LLM wave that happened in 2023, it was a no-brainer to include it.
Gaël Duez 09:30
That was actually one of my questions, because there is this debate, like, is data management, data science part of software engineering, or is it subtopic, or is it a completely different field now? And I don't think it really matters to enter the debate, but I was happily surprised to see a chapter. So what are the top three main takeaways for you? If I want to be a sustainable software engineer, I have to deal with large amounts of data or AI. What are the main takeaways?
Sara Bergman 10:04
So, the main takeaways, I would say the first, is to reuse what's already out there. Other people spend a lot of energy and time and carbon to, for example, collect large datasets or for example, already trained models. Can you use those data sets? Can you use those models either directly or use transfer, learning to apply them to a new problem domain that's sort of similar, then you save carbon compared to starting from scratch, because you can utilize something that's already in existence. So if you think about the waste permit of reduce, reuse, recycle, burn, then the same applies here, right? It's always best to reduce, but if you can reuse, that's great, etcetera, etcetera. So that's the first takeaway.
Secondly is to shrink the model size, both the training phase, but also once you deploy it and shrinking model size is ongoing and has been ongoing for quite some time, research space. So there are already all these great techniques. You can compress, you can use distillation quantization, and that saves you time, which is more efficient because if you have a smaller model, you can, for example, train it faster. Training it faster means you can utilize this hardware, this energy used to power the hardware on for other things.
Same with the model. Once it's in production, a smaller model will take smaller space. You can even use smaller hardware devices. For example, you might even be able to deploy to the edge or to an Internet of Things device. So yeah, that's the number two. Shrink the model size.
Gaël Duez 11:53
Regarding this smaller is beautiful approach, you mentioned edge computing. Do you believe that that's a viable option when it comes to AI?
Sara Bergman 12:05
It really depends on what you're using AI for and the type of model that you have. I think for some scenarios it's absolutely viable. And not all AI needs to be these huge models. I believe we can use it for smaller things perhaps as well. And then I think edge can be really good. It's also a great way. If you're using user data to train your model, then you could even use something called federated learning, where you train your model closer to the end users. You sort of collaborate on a model, and in that case edge can be good because you don't have to transfer all the data back and forth to your data center, but you can rather share the model and not the sort of data itself, if that makes sense.
Gaël Duez 12:50
I didn't know about federated learning. Could you share an example? Did you have some ideas and illustrations in your mind?
Sara Bergman 12:58
So there is a paper actually called Can Federated Learning Save the Planet? And that's really good. In that paper, they had some examples of what they used it for, and then they compared it to traditional centralized data center training and saw that this can be a bit slower to converge, obviously, because you have all the end users collaborating on a model, but it can also be a greener approach, mostly because you're more efficient in how you use your hardware and you use the network less as well.
Gaël Duez 13:28
And do they provide an order of magnitude? Is it like 5 times, 50 times, 1 million times less carbon intensive?
Sara Bergman 13:37
Yeah, they're a little bit careful because it sort of depends on external factors like the grid intensity. Where do you place the data center? How long do you send the data? So it's a lot of ifs and buts, the way it can be in grant software. So it's not super straightforward to give a magnet to it always.
Gaël Duez 13:57
You mentioned reusing data in like the three R of waste management. I really love it. So of course there is a reducing part, and I think we could spend an entire episode on. Do we really need to gather that amount of data? Most of it, which will not be used with the reducing. I mean, if I'm a software engineer, not that well connected to the AI community, etcetera, etcetera. You know, someone asked me, okay, some sort of generative AI, etcetera, and the obvious answer would be, okay, I'll go for char GPT or GPT-3 depending what you want to achieve, and I don't want to do that. Where could I find these models or these data sets? That I can reuse that.
Sara Bergman 14:46
Two great places to look at, at least, are Kaggle and Hugging Face. They have lots of both data and models open source available, and they're community led, which is pretty cool.
Gaël Duez 14:59
Okay, so Kaggle and Hugging Face are the two places you would advise people to look for. Jumping on another part of the book, there is something that was really music to my ears, that you've got an entire chapter dedicated to hardware. And once again, I believe that you're kind of the expert on this topic, and this is not that usual to have a software engineering book going all the way down to the hardware level. So once again, what are the main takeaways of this chapter, and how could you share useful tips or actionable things to do for a software engineer?
Sara Bergman 15:34
Yeah, so I think there could definitely be a whole book, or like many books on hardware and sustainability, another area of research and really focused attention for a long time by the community. Anything new? I come from so my background in engineering was actually half hardware, half software. So I had, you know, coursemates who, like me, became software engineers. I have others who design hardware. So that's my background on hardware.
So here's the thing. No matter what type of software you write, it runs on some kind of hardware. You have to accept that fact and accept that hardware is a part of your life. Even if you just see hardware as, like, a means to an end. Or if, like, there's some people who love hardware, right? They collect old machines, they learn how to program on punch cards. Like, those people are still very much alive and kicking and active in our community. So you know that we have the full, the full range. But either way, like, wherever someone falls on that range, hardware is like a fact of life as a software engineer. And hardware comes with this great carbon debt, right? It's incredibly carbon intensive to produce the kind of hardware that we use to run software. What we wanted in the book is to make sure that this is known, right? I don't think anyone is unaware of this fact, but to really make it, to highlight it, to make it clear that this is a fact and there are things that you in your software can do to affect it. And that's the thing we don't cover anything on. Like how do we make hardware greener? Because, again, that's a topic for a completely different book with other experts to write that book. And there's plenty to be said there. However, we as software people, have a responsibility for how we utilize said hardware.
And there are two main things I want to say that you should be doing. And the first is to increase the lifetime of your hardware. Simply use what you have for longer, even if that's a server in your server hall, or if that is to promote end user devices longevity. So basically making them last longer. And the second thing is utilizing what you have effectively, so increasing the utilization, again, more relevant, I want to say, on like the server side, where you have more control. If you are programming for end user devices, you can't really control how much an end user is running simultaneously on their phone, for example. But you can if you own the hardware, and you can if you're deployed to the cloud, by making sure you are using the right tools to enable the cloud provider to be more efficient. And I believe Anne talked about some of those things when she was here.
Gaël Duez 18:36
And on this specific topic. Did you talk about some sort of graceful degradation concept? The fact that I think Ismaël Velasco is the one who coined it, sorry if someone else did it before, but the idea that it's okay, that maybe some features won't be available on older devices and yet they should be able to smoothly run through your services, etcetera. Hence the graceful degradation. And I really love the graceful degradation idea. Is it something that you believe is applicable? Is it something that you talked about in the book?
Sara Bergman 19:13
Would you talk briefly about it? Yes. And also how some of that functionality that you may be able to live without should never be security, right? You don't want to leave users on an unsafe device. You still have a responsibility as a software engineer. So that's something we talk about as well. But it's an action packed chapter and it's not super long. So yeah, there's definitely more to be said in the future on that topic.
Gaël Duez 19:43
And I have one last question that literally popped up in my mind when I was listening to you and connecting the dots with the interview I had with Professor PS Lee who was one of the really worldwide top experts on data center sustainability, especially tropical data centers. He's based in Singapore and he was telling us something that I guess pretty much all of us knew but we don't pay attention to is that the temperature on which you run your processor matters a lot when it comes to the longevity of your equipment.
And my point is, and I'm pretty sure you didn't have this crazy idea in the book, but do you believe that at some point we should introduce in our software some sort of feedback loop saying, like for instance, if I launch a very massive batch, data treatment, whatever you name it, real time processing I guess that we should introduce some kind of feedback loop regarding the temperature of our hardware and saying, hey, by the way, you know, if the temperature reaches a certain threshold, even if it doesn't threaten the operation itself, we know that actually we're damaging the hardware. So that could be interesting to pose or to reduce the amount of computing that we are requiring from our machine, whether it's virtual or not, because hence we will literally make its life easier and make sure that the hardware will last longer. Some sort of temperature aware computing.
Sara Bergman 21:22
I think that would be super cool. And I think this is where we come into, like a distinction of who should write which type of software. I don't think that maybe every software engineer should write that piece of code. It will likely look exactly the same for everyone, but there should be some kind of controlling software that allows you to take these options. So you can just say, when I deploy this, I want to have the temperature aware computing option so you don't have to make the decision, if that makes sense. It's the same when I use my washing machine. I don't know how a washing machine is built. I guess it uses a lot of electricity and water. I know there is an echo program, though. I use that echo program because I trust that the people who build the washing machine are smarter than me and they know how to save the most electricity and water. So I just click the button and the washing machine does it for me. Same with this type of software. All software people can like, understand how it works. Like, yes, keep temperatures down, make hardware last longer, great, but they just want to check the button and not write the code for reading the temperature of the CPU and figuring out when is a good time to switch off and how long should I delay, etcetera, et cetera. It will require us to write possible or breakable programs, though, that can allow for that type of action. But I think that will come more and more when we have more renewables on the grid. We might have to, not might. I think we are going to have to accept that we live in a world where electricity fluctuates, where there's time with more electricity, time with less electricity, and our software is going to have to get on with their lives anyway and sort of gracefully scale up and down, depending on that. And temperature can be the same type of variable, right.
Something we did touch a little on in the book is repairs. Right. Sometimes you might notice that some part of your server always kicks the bucket first, typically like your disks, because they get a lot of tension, especially mechanical discs. So maybe you can even change your software to write less, keep those discs around for longer. That's, again, a little harder thing. But it's definitely possible. And depending on the scale you operate on, it can definitely be a worthwhile exercise to at least investigate.
Gaël Duez 23:53
Yeah, food for thought, indeed. And by the way, you know, these echo programs on your washing machine, I learned very recently that this is the only program that is tested when they deliver the ecolabel. So it means that, you know, when you buy a washing machine with A or B ratings, etcetera, because you're very conscious about, you know, electricity consumption savings and water savings as well. If you use any other program, there is no promise at all that the ratings would be achieved. So the test is only on the echo program. So I guess we have to trust them and use the echo program a lot.
Sara Bergman 24:34
Oh, that's interesting. I don't know.
Gaël Duez 24:36
But Sara, I know that you wanted to talk about this topic as well, because that's one of your areas of expertise, something very dear to my heart, actually measuring. And my first question would be how accurate our measurement needs to be to start to do things or to be actionable?
Sara Bergman 24:55
Yeah, it's a great question, and I think different people have different points of view. Here I am firmly in the camp of let perfect be the enemy of progress. I don't think perfect measurement, of course, it's a goal. It would be great if we could have perfect, reliable, trustworthy carbon data. That will be amazing. We don't, however. So we can't halt all progress just because we don't have this perfect measurement yet. Sometimes I feel people get so caught up in it, it's like, oh, but if I don't have these numbers to report, then I can't show that I made progress, and then there's no point in making progress. And that is exactly what I don't want to happen. So I don't think we need to have perfect measurements. I do think you have to be scientific in the way you measure, though. You can't measure one way. First do some changes and then measure in a completely different way. Obviously, then the result isn't scientific. So you need to keep a scientific approach and measure in the same way. But it's fine to use a proxy, like just measuring energy, it's fine to use cost. For example, if you do it a bit smartly, it's fine to use the amount of hardware that you use as a proxy. You don't have to measure every single detail just to do something, is what I really firmly believe.
Gaël Duez 26:15
And what is interesting in what you say is it's not only a question of having impact metrics like carbon equivalent emissions, water consumption, abiotic resource depletion, etcetera, having them in a not so accurate way, although always scientifically measured and with a scientific process, because, as you say. But you also find with using proxy metrics, like for instance, for trying to assess the carbon footprint of a website, there is this big debate around whether the weight and the amount of data being exchanged or whether the network really matters or not, and whether it matters short term, etcetera. Well, big debate, but your point is that it's fine to also use this kind of proxy metrics, as long as we know that they go sort of in the right direction and that we measure it in a scientific way.
Sara Bergman 27:07
Yes, you can always find more things to measure, more complex ways to think about things. There's always more data, more things to consider. What about erosion of the soil? What about eco diversity? What about the water use? What about this and this and that? You can add on, and then you end up in a state of analysis paralysis, where you are just trying to model the perfect reality to make decisions. And that can be a fun exercise to do. And I'm very glad that there are lots of people who are doing it, so the rest of us can make use of that eventually. But that shouldn't stop us from starting to make progress today, because I am convinced that almost everyone is writing software. They know at least one thing they can do to be more efficient, and they might not be able to say it's like ten times more carbon efficient, or even one time more carbon efficient, but they know it will be better. So just having something that can show some number, maybe so you can just show your manager, your datasheet, whoever, you know, decides if that was a good or a bad thing, then I think it's a good thing. I think it's a valid thing, because we are in this state where we can't really afford to sit back and just do the numbers for a while. We need to take action. We need to do things, preferably yesterday.
Gaël Duez 28:27
I'm on you with this one, that actually, it leaves too many people also on the side of the road waiting for the perfect metrics. And don't get me wrong, I'm part of the Boavizta. These folks there are just geniuses when it comes to metrics, measurement, etcetera. They run one of the most comprehensive databases in the world when it comes to impact hardware. We're very happy to have this kind of people helping us. But for the 99 other percent, waiting for the perfect numbers will be an issue.
Sara Bergman 28:59
Yeah, and then, and that's why I'm also glad that all major cloud providers have some kind of metric now. It's, I dare say none of them are perfect, but a few years ago we didn't even have that. That is one number you can use to get better. Because like you said, the majority of software people should not be spending their time modeling and figuring out the perfect metric. They should be spending their time writing software. And it's great that we have other people who can focus and do this really in depth analysis. We absolutely need those. But not everyone in the field needs to be doing that.
Gaël Duez 29:35
We've talked since the beginning of the interview of software engineers, but we know that it comes in very different shapes in flavors, and the same goes for the sustainability experts in our field. Some of them are very much into the clouds. I will slightly disagree that it's better than nothing, but a bit more will be better than better than nothing when it comes to the data provided by main hyperscalers. But I know also that there are great people within these companies trying to move the needle way higher. I would say kudos to them, but I think we could do better, especially regarding the revenues at the end of the year. I think they could allocate a bit more money to speed up things, as you say, preferably yesterday.
Sara Bergman 30:19
Agreed? Yes. And I think also people who are the customers of cloud providers should ask for this, because that's how any business operates. What the customer wants is what the business will spend time on. If people ask for it, it will be a worthwhile investment for the major cloud provider. So that's something that everyone actually can do to make measurements better.
Gaël Duez 30:44
Let's use our consumer power also, whether it's in our personal life or professional life. I have one last question, Sara for you. You wrote the three of you a full chapter on carbon aware computing. Sara, don't know if you had the time to listen or to read the episodes that we've made recently with Ismaël Velasco and Hannah Smith on carbon aware computing and the limits of this approach just for the listeners who didn't have the chance to listen to it. The main takeaway from these two great experts is that be cautious about carbon aware computing because it cannot be used as a silver bullet sometimes. The idea of shifting over time or over space your computing workload to go where the grid is greener, aka low carbon. Please stop using the word greener, except me in the subtitles of my show. But it is because I do very lazy marketing tricks. So sorry for this, but otherwise, let's talk about low carbon and renewable. Their main concern, and that connects nicely to what you said about specialization, is that a software engineer and even a data scientist, etcetera, that they're not experts in electricity grid management. And there are some things that we need to pay attention to.
For instance, if you shift your workload in a place or in a time where the electricity seems to be low carbon, but actually you're at the very peak of your low carbon production, you might actually trigger the production of very highly carbonized electricity via gas or mostly gas or even coal powered factories. That was one of the issues. The other issue being that for the moment, it's a zero sum game. And if you take the low carbon electricity of someone, he or she will have to use highly carbonized electricity. And it cannot be an excuse not to reduce. You mentioned, like you reduce, reuse, etcetera, it cannot be an excuse not to reduce. And there were other aspects, so I cannot redo the entire episode, but I think there were two of the main takeaways of this discussion, which in a nutshell, ended up with, we might talk about grid aware computing rather than carbon aware computing. And knowing that you're an expert on this topic, and you're a very loud advocate on this approach in the green software foundation, what's your take on it? What's your position on this fine tuning of our approach?
Sara Bergman 33:34
Absolutely. Hannah and Ismaël, are giants in this field. There are great people. So obviously they have very smart ideas. So yes. Once again, the grid is so complex these days, and not everyone has the time or should spend the time figuring this out. And in the book, we do have a chapter on carbon aware computing, but it's only one chapter out of a whole book, because as you said, it is not the silver bullet. If it was, then, you know, we would only write that chapter and be done with the book but it's not. It's a great tool that can be used. I want to say it's not always perfect considering the signals that we have now, but I believe the signals could be if they were a little bit better. For example, now we sort of have two signals. We have the carbon intensity of the grid, and we also have the cost of the electricity because typically, if it's cheap, no one is competing for that electricity. If it's expensive, a lot of people are competing about that. Electricity. You could combine those two signals and get something that's closer to what I think they suggested. But again, I, as a software engineer, don't want to do that. I want someone to do it for me. So I just have a signal that I can read as an API, for example. I think if I'm allowed to be a visionary a little, I think that will come because I think it will be worthwhile. And then all the things that we talked about in the carbon aware space will apply. It will just listen to slightly different signals is what I personally think. I don't think carbon aware computing is necessarily bad. I don't think it's bad at all, actually. I think it's good. I think it sometimes can be a little counterintuitive, but yeah, that full episode was great. Now let's not redo it. But I strongly agree that it's not the silver bullet. It should not be used as a sales silver bullet, but it is a useful tool to have in your tool belt with all the other things.
Gaël Duez 35:34
Yeah, fair point, fair point. So I think we unpacked quite a lot of your book. We need to save some chapters for Sarah as well. So maybe I'd like to close the podcast with. Not this time, one, but two questions. The first one is, of course, we talked a lot about your book. You mentioned several references. Do you want to add one or two other references that could be extremely useful. It could be a video, it could be books, it could be articles, podcasts, you name it to software engineers truly willing to decarbonize the most urgent environmental issue but of course there are others as well to decarbonize their code base.
Sara Bergman 36:16
I think if you're brand new to the space, the green software engineering course, it's a really good place to start to just get your feet wet. It's not super long and it covers a lot of the basic stuff, so I think that's really good. Also, the Green Software Foundation podcast. I think it's cozy and nice, and it's similar to this one in the conversational style and being else. I don't know. Personally, I don't like when the rhetoric becomes very like, lecturing to me. That makes me sort of shy away because I, you know, when you're trying to do something good, when you're trying to learn something, you don't want to be like, told sternly that you're doing things wrong. And that's also the tone we strive for in the book. Everyone is on their own unique individual learning curve. And no matter where you are, like, you shouldn't be shamed for not being further along or things like that. It's very important to meet people where they are. And I think this podcast and I think the Green Software foundation podcast are both also. Sorry, one more InfoQ has had some good articles recently as well on sustainability and so on.
Gaël Duez 37:31
Thanks a lot for sharing these references. Yes, some of them are guests pretty familiar with the listeners, like environmentally viable. My dear fellow podcast. Hello, Chris and Asim, who are longstanding podcast hosts of this great show.
To close the podcast. Sara, could you share some good news, like, a piece of good news when it comes to sustainability, or even maybe IT sustainability?
Sara Bergman 37:58
Yeah. Well, I had one piece of news that was not really related to IT sustainability, but to sustainability. In Norway, where I live, we're actually pretty recently Greenpeace and natural Ungdom, which means nature and youth in Norwegian. They won a case against the Norwegian state regarding new oil fields. So the state wanted to do three new oil fields, anger, peace and nature. They took them to court, and they won. So there will be new. There won't be these three new oil fields anymore, which I think is pretty great. Of course, it is very controversial here in Norway, who makes a lot of money from oil but I think if we really want a low carbon future, then we need to focus on other methods of generating energy.
Gaël Duez 38:57
Yeah, that was a great victory, actually. And I guess you won another one pretty recently with a ban on deep sea mining. That was also very controversial. So it's a good signal because Norway, I guess, is, unfortunately, the remaining country where climate denial has some momentum. I think maybe in Poland as well. But I don't want to say stupid things. Sorry, Lukasz, if you listen to me and say so. But I think there is, or maybe it's Hungaria. I don't know. Sorry about that, if I recall. Well, there is one eastern country which is still pretty deep in climate denial. And Norway, for obvious reasons, likes the connection with oil production. And you don't really want to kill the hand that nourishes you. But that's very positive news that even in areas where the fight against climate change is not as consensual as it should be. I'm not saying that there are no issues in other countries. I mean, in France, to talk about a place I know pretty well, we are between 30 and 35, sometimes 40% of people around some sort of climate denial. So either it doesn't exist, which is a small minority, or it exists, but it's not human related. So I'm not lecturing anyone or any country here, and that was not my point. But it's just that no way is a specific challenge as a specific challenge on its own. And still my main message, that being said, because I didn't want to sound too pretentious or whatever, that was a million of miles away from what I intended to say, that yeah, we can still win cases and manage to get massive sustainability achievements. So I think that's very, very positive news coming from Norway. Thanks a lot for sharing it, Sara, and thanks for joining the show. That was great to have you. I hope we didn't spoil the readers too much, but it was great. I mean, thanks again for making this book happen. I think it's a very important milestone in our road toward more IT sustainability. So thanks a lot for sharing all of this in the show, too.
Sara Bergman 41:09
Thank you so much for having me on the podcast. It's been really fun and taking time off your busy schedule and early morning and all of those things, so thank you so much for that.
Gaël Duez 43:11
Thank you for listening to this Green IO episode. If you enjoyed it, please share it and give us five stars on Apple or Spotify. We are an independent media relying solely on you to get more listeners. Plus, it will give our little team Jill, Meibel, Tani and I a nice booster. In our next episode, we will talk about politics or actually how the European Union Parliament has delivered several legislations to the green IT industry, either directly or indirectly. And what does it mean for product and tech people in Europe and beyond, such as GDPR did? I will be joined by the members of the European Parliament, Kim Van Sparrentak and Max Schulze, the founder of the Sustainable Digital Infrastructure alliance. Stay tuned. Green IO is a podcast and much more, so visit greenio.tech to subscribe to our free monthly newsletter every last Friday of the month. Read the latest articles on our blog and check the conferences we organize across the globe. The next one is in London on September 19, and you can get a free ticket using the voucher GREENIOVIP. The call for speakers has also been opened, so feel free to apply if you wish to speak. I'm looking forward to meeting you there to help you fellow responsible technologists build a greener digital world.
❤️ Never miss an episode! Hit the subscribe button on the player above and follow us the way you like.
📧 Our Green IO monthly newsletter is also a good way to be notified, as well as getting carefully curated news on digital sustainability packed with exclusive Green IO contents.
47 episodes
Tất cả các tập
×Bienvenue sur Lecteur FM!
Lecteur FM recherche sur Internet des podcasts de haute qualité que vous pourrez apprécier dès maintenant. C'est la meilleure application de podcast et fonctionne sur Android, iPhone et le Web. Inscrivez-vous pour synchroniser les abonnements sur tous les appareils.