Glasgow Carbon-Conscious Computing (GC3) lab

The GC3 lab is a new laboratory of the Systems Section of the School of Computing Science at the University of Glasgow. Its research falls into the School's newest research theme, Low-Carbon and Sustainable Computing.

News - Fall 2022: Interested in joining? There is currently a School of Computing Science PhD studentship to be allocated!

GC_3 Lab Logo
starting point:

There are increasingly many applications that make use of large amounts of data. This includes scientific data processing in research organizations as well as big data applications in industry. Meanwhile, there are also more and more data-intensive applications in context of the distributed sensors and devices of the Internet of Things.
We believe there is immense potential in using data-driven methods and machine learning across domains and disciplines. Though, if we are not careful, this development will further increase computing’s environmental footprint. This footprint is already estimated to contribute 2 to 3 percent of the global carbon emissions – very much rivaling aviation – and is projected to dramatically rise further over the next decades, not least because of the trend towards more data-intensive applications.

research agenda:

The central aim of our research is to reduce the carbon footprint of large-scale data processing applications on today's diverse computing infrastructures. Towards this goal, we work on methods, systems, and tools that support a more resource-efficient and sustainable use of modern distributed computing infrastructures (including, for instance, edge and cloud resources) for data-intensive applications (including, for example, machine learning, data analytics, and stream processing), while other requirements (such as for an application's performance or dependability) are still also taken into account.

Our guiding principles for this are:

  1. compute when and where green energy is available (which can, for instance, translate to carbon-aware scheduling and renewable-aware admission control) as the carbon intensity of grids and renewable energy generation often varies
  2. allocate resources for high resource utilization and highly utilize allocated resources (which can, for example, translate to "right-sizing", server consolidation, co-location of jobs with complementary resource demands, and bottleneck mitigation) as any energy is wasted with mostly idling resources
  3. save computation and communication through distributed and dynamic architectures (which can, for instance, translate to edge computing, adaptively offloading tasks and scaling out to more nodes only when necessary, effective caching, or distributed learning) as it is sometimes possible to do the same with less in complex software systems

Much of the work builds upon years of research on adaptive resource management for data-intensive applications (e.g. for big data analytics, scientific workflows, and machine learning), mainly at and with TU Berlin. We, hence, currently focus on investigating and making use of:

  • profiling and modeling of application and infrastructure performance as well as power consumption
  • forecasting of computational loads, carbon emissions, and the availability of renewable energy
  • carbon-optimized resource allocation, dynamic scheduling and scaling, and automatic system tuning

Another focus is on techniques and tools that support the monitoring, testing, and benchmarking of the behavior and impact of data-intensive applications.

selected publications:

Several of these works are featured in my talk in the Low-Carbon and Sustainable seminar series of our School and the recording of the talk is available online.

involved students:
  • Currently: Ricky Arthurs (L4), Rishabh Mathur (L4), James Sharma (L4)
  • Previously: Manikanth Sai (MSc), Gulpreet Kaur Chadha (MSc)
visiting researchers:
close collaborations: