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: “Large-Scale Hierarchical k-means for Heterogeneous Many-Core Supercomputers” by Teng Yu
AbstractRecord linkage is the process of identifying records that refer to the same real-world entities, in situations where entity identifiers are unavailable. Records are linked on the basis of similarity between common attributes, with every pair being classified as a link or non-link depending on their degree of similarity. Record linkage is usually performed in a three-step process: first groups of similar candidate records are identified using indexing, pairs within the same group are then compared in more detail, and finally classified. Even state-of-the-art indexing techniques, such as Locality Sensitive Hashing, have potential drawbacks. They may fail to group together some true matching records with high similarity. Conversely, they may group records with low similarity, leading to high computational overhead. We propose using metric space indexing to perform complete record linkage, which results in a parameter-free record linkage process combining indexing, comparison and classification into a single step delivering complete and efficient record linkage. Our experimental evaluation on real-world datasets from several domains shows that linkage using metric space indexing can yield better quality than current indexing techniques, with similar execution cost, without the need for domain knowledge or trial and error to configure the process.
Virtualisation is a powerful tool used for the isolation, partitioning, and sharing of physical computing resources. Employed heavily in data centres, becoming increasingly popular in industrial settings, and used by home-users for running alternative operating systems, hardware virtualisation has seen a lot of attention from hardware and software developers over the last ten?fifteen years.
From the hardware side, this takes the form of so-called hardware assisted virtualisation, and appears in technologies such as Intel-VT, AMD-V and ARM Virtualization Extensions. However, most forms of hardware virtualisation are typically same-architecture virtualisation, where virtual versions of the host physical machine are created, providing very fast isolated instances of the physical machine, in which entire operating systems can be booted. But, there is a distinct lack of hardware support for cross-architecture virtualisation, where the guest machine architecture is different to the host.
I will talk about my research in this area, and describe the cross-architecture virtualisation hypervisor Captive that can boot unmodified guest operating systems, compiled for one architecture in the virtual machine of another.
I will talk about the challenges of full system simulation (such as memory, instruction, and device emulation), our approaches to this, and how we can efficiently map guest behaviour to host behaviour.
Finally, I will discuss our plans for open-sourcing the hypervisor, the work we are currently doing and what future work we have planned.