When did you start thinking about software sustainability, and what motivates you most?
Software sustainability became a concern for me when Bitcoin became popular, and mining Bitcoin began to consume phenomenal amounts of energy. Graphics Processing Units (GPUs) on the common marketplaces for the public became scarce.
Now, we’re in a position where data is king, and the growth of generative AI calls for machine learning on a chip. With AI, there’s always a tradeoff between computing capabilities and running costs. The prices in the GPU marketplace push GPUs beyond the reach of general users and our students.
Can you give us an insight into the IT-related programs offered at UCL?
UCL Computer Science is a global leader in experimental computer science research and teaching. The Research Excellence Framework, which assesses the quality of research in UK higher education institutions, ranked us first in the UK for research power. However, we’re not doing cutting-edge research for its own sake. We are motivated by applying computer systems in industry, government, and science, ensuring that our students use technology to address real-world problems.
I co-founded the UCL Industry Exchange Network (UCL IXN) program with my colleague Professor Graham Roberts. UCL IXN gives students hands-on experience with industry as part of their undergraduate and Master’s courses during term time. Students work with tech organizations, SMEs, gaming companies, the NHS, and global charities to tackle business and societal problems. We have successfully removed fiction from the computer science syllabus on many of our courses, with over 800 students studying real-world projects throughout the year. I help to coordinate the undergraduate industry projects – just over 300 students per year.
How does sustainability fit within UCL and your programs?
UCL is committed to addressing some of the biggest challenges facing the world. Within my courses, I have recently updated our materials to demonstrate to the students the benefits and drawbacks of online and offline AI models. Although online AI benefits from leveraging the world’s databases, there are many occasions where offline is the preferred option and where larger sets of more generalized data will not add significant value to these learning models that are based on precise localized data.
UCL MotionInput began as a UCL IXN project. The touchless computing software was first developed for the NHS during the COVID-19 pandemic and started in March 2020. The NHS couldn’t deploy a cloud-based AI at that time due to many restrictions, including the use of cameras, streaming bandwidth, and privacy, as well as cloud-based processing costs. They needed a solution that was local and available on offline models. So, we built our solution with efficiency and a mentality of “use what you have got” as the primary drivers.
We are entering a period of education where Large Language Models are everywhere, and students can use generative AI. However, there is still the sustainability cost. We need to metricate AI and ML models to better understand how to teach efficiency and code optimizations to our students. In this AI-enabled world, I want students to optimize their solutions using the resources they already have access to, not simply to use the latest tech stacks because of their popularity. I want them to make existing hardware more efficient by orders of magnitude.
UCL EnergyGuard, which we worked on with Intel, is another UCL IXN project, initially developed by UCL Computer Science Master's student Siam Islam. Two years in the making, it is about to become publicly available. A team studying for a Software Systems Engineering MSc comprising Sheldon Chen, Steven Larry Ball, Chukun Wang, Jules Rodrigues, Lombardo Paredes Calles and Xibo Wang continued the work. EnergyGuard enables computer users to monitor and reduce the energy that their apps and gameplay use. It is fantastic to see the accumulated wattage of your games as you play – you get a sense of how much this experience impacts you and its real-world cost.
GPUs are power-hungry, so we’re helping users become aware of how much gaming costs them – the electricity bill, hardware costs, subscription costs, bandwidth, etc. In terms of the gaming experience, I think that after a game’s initial few minutes of “Wow factor,” elements that don’t affect gameplay, such as the resolution of graphics and frame rate, could be gently scaled back to save pennies during slow gaming periods. Imagine the net effect if millions of gamers started to save energy this way.
How are you fostering a culture of green software development within UCL?
I want to instill within students a mindset that appreciates the importance of building green software. Every CS student’s goal should be to devise a project solution that, in engineering terms, will squeeze out every last drop of performance.
Thinking back to the original game console days, programmers had to invent wildly new algorithms and best practices to save on memory space, pixel, and color usage. Today’s developers have massive computing capabilities on the phones and tablets that they carry. Bad software design practices and lack of software profiling by developers can start to hog resources, waste RAM and storage utilization, and use up excessive processing cycles that slow down performance. This results in a ripple effect; it takes longer to achieve tasks.
We want to raise awareness for using less hardware and improving utilization of what you have. To develop software that is as efficient as possible. To use best practices to validate and test, audit, and compare. Lowering the barriers of what hardware you need to keep upgrading is not sustainable.
Then, there are the goals of carbon reduction and sustainability in software. Our general “good deeds” mantra calls for our students to open every academic year with a hackathon focusing on a tech-for-good solution. This year, 900 students registered on an AI hack centered around the world’s largest humanitarian network, the International Federation of Red Cross and Red Crescent Societies, with 100 of those students submitting example project ideas. We tasked students with using technology, especially offline AI, to help people in critical need. There is no cloud in a flood or earthquake crisis or simply in specific geographic locations.
How does UCL hope to engage with the GSF and contribute to the green software movement?
UCL Computer Science works on many projects to address the UN SDGs and collaborates with many external partners.
The premise of UCL IXN was to establish collaborations between industry partners such as Microsoft, IBM, Intel, Avanade, NTT DATA, and other tech firms and organizations, including the NHS and charities such as the Red Cross. Our triparty framework agreements establish a conduit for these organizations to work together where they wouldn’t normally do so. We learn from each other and share best practices about sustainability.
As a department of over 140 lecturers, 100 research staff, 1,300 taught students and 150 research students, we’re in an excellent position to promote the work of the GSF and support the green software journey.
What role do you envision for student-led initiatives in promoting sustainability within the college's IT and software development community?
Through teaching events, showcases, and hackathons, students will learn about the possibilities of sustainable systems and the GSF. When they graduate and enter employment, they can apply these learnings. Students who are keen to do more will come forward. We have a “hack-ish” style to our proof-of-concept project work as well, looking at imagining how things could be different in the world with technologies we already have. This is exciting for the students. We want to nurture and highlight this by communicating their efforts within UCL and to the broader world. These articles and media coverage will, in turn, bring new communities to us to work with us.
How will UCL's involvement in the Green Software Foundation impact the future of sustainable software development?
The open-source movement and the power of AI and ML can accelerate developments in green software terms. A personal research goal is to create APIs to help people metric and better understand sustainability.
In the short term, systems will become more flexible in adapting to what the user already has. For example, a family could play the latest game on older hardware within five years. We will be able to extend the life of hardware as gaming software and gaming operating systems dynamically reshape the concepts and materials to fit the legacy hardware already in our possession. We will not be bound to seek out the next minor iteration of a phone or device once we find its predecessor locked out of the games we want to keep playing.
Conversely, we’ll be able to extend the lifespan of software. Careful software curation could mean we can utilize older software: think of how Microsoft Encarta ’96 could still be used where there is no internet access in the world! It’s still a valuable educational resource if reshaped for a different ecosystem and generation. Many older computer games are now considered works of art to many who grew up with the 80s and 90s consoles – the second-hand auction market proves this. Enabling software lovers to appreciate the technology of an era is wonderful. Microsoft did a great job of backward compatibility on Xbox.
I think it would be interesting to see a government-led charter for software energy usage. Perhaps a set of recognized guidelines, like the WCAG guidelines on accessibility. EPCs (Energy Performance Certificates) show how efficient people’s homes are, so why not use a similar approach for software?
This article is licenced under Creative Commons (CC BY 4.0)