Systems Research Group

This is the website for the Systems Research Group (SRG) at the University of St Andrews. Systems is the largest research area in the School of Computer Science, covering the broad areas of distributed systems, networked systems, sensor systems and data-intensive systems.

The Systems Research Group (SRG) consists of twelve interdisciplinary faculty members, and a large cohort of Research Fellows and PhD students. Our interdisciplinary nature means that we can work on projects which cross multiple areas of systems research, many in collaboration with industry partners. Members of the group have expertise in research areas spanning: data centres, cloud computing, many-core systems, networking, middleware, sensor networking, machine learning, Internet of Things (IoT), autonomic computing and software architectures.

We take a very practical approach to research, by building and evaluating real systems, whilst publishing in many of the top-tiered systems research conferences and journals. SRG research is currently funded through the following organisations:

SRG runs a bi-weekly seminar series every other Thursday at 1pm in JC 1.33B during semester time. There are talks from faculty, research fellows, PhD students and visitors. Please check our exciting schedule.

News and Events

The latest Systems Research Group posts from the School of Computer Science blog.

SRG Seminar: “Application of Bayesian Nonparametric in household human activity recognition” by Lei Fang


In this talk, I will talk about the possibility of using Bayesian nonparametric clustering, or Dirichlet Process Mixture model to solve human activity recognition problem. In particular, I will discuss how the technique can be useful when the activity labels are not annotated and/or the activity evolves over the time. This initial study is built on an existing work on using directional statistical models (von Mises-Fisher) distribution, called Hierarchical Mixture of Conditional Independent von Mises Fisher distribution (HMCIvMFs), for unknown events detection and learning. Markov chain Monte Carlo sampling based learning algorithm will be presented together with some initial experiment results.

SRG Seminar: “Introduction to Apache Mesos and the DataCenter Operating System” by Matt Jarvis

Data processing paradigms are undergoing a paradigm shift as we move more and more towards real time processing. Emerging software models such as the SMACK stack are at the forefront of this change, focused on a pipeline processing model, but are also introducing new levels of operational complexity in running multiple complex distributed systems such as Spark, Kafka and Cassandra. In this talk, I’ll introduce both Apache Mesos and DC/OS as a solution to this growing problem, and describe the benefits are of running these new kinds of systems for emerging cloud native workloads.
Matt Jarvis is Senior Director of Community and Evangelism at Mesosphere, engaging with the communities around DC/OS and Mesos. Matt has spent more than 15 years building products and services around open source software, on everything from embedded devices to large scale distributed systems. Most recently he has been focused on the open cloud infrastructure space, and in emerging patterns for cloud native applications. 

SRG Seminar: “On Engineering Unikernels” by Ward Jaradat

We have explored data coordination techniques that permit distributed systems to be constructed by interconnecting services. In such systems the network latency is often a problem. For example, large data volumes might have to be transmitted across the network if computation cannot be co-located close to data sources. One solution to this problem is the ability to deploy services in appropriate geographical locations and compose them together to create distributed ecosystems. Hence we seek to be able to deploy such services rapidly and dynamically enact and orchestrate them. However, this goal is hindered by the size of the deployments. Currently, virtual machine appliances that host such services on top of monolithic kernels are very large, thus are potentially slow to deploy as they may need to be transmitted across a network.

Our principles led us to take the route of re-engineering the standard software stack to create self-contained applications that are less-bloated and consequently much smaller based on Unikernels. Unikernels are compact library operating systems that enable a single application to be statically linked against a simple kernel that manages the underlying resources presented by a hypervisor. In this talk I will present Stardust – a specialised Unikernel that aims to support the deployment of application services based on the Java programming language.