Glasgow Parallelism Group (GPG)

Introduction

The advent of manycores means that parallelism is the key to all general purpose software development. The Glasgow Parallelism Group (GPG) is broad-based, and investigates a range of parallelism topics, including how to better exploit multi- and many-core machines, Clouds, High-Performance Computers (HPC), and other platforms.

Specific research interests are as follows.

  • Parallel Language Design and Implementation, e.g. GpH, HdpH, Lift
  • Heterogeneous Architectures, e.g. exploiting FPGAs, or GPUs
  • Parallel Hardware
  • Reasoning about Concurrency, e.g. Session Types, Model Checking
  • Edge Computing
  • Cluster Resource Management
  • Machine Learning on Low Power Devices
  • Parallel and Distributed Functional Programming, e.g. Erlang, Lift, GpH, HdpH
  • Parallelising Interesting Applications, e.g. Robot Vision, Computer Algebra, Weather Simulations
  • Parallel Combinatorial Search, e.g. YewPar
Within the School of Computing Science, GPG is one of the research groups in the Glasgow Systems Section (GLASS).

We have a strong collaboration on parallel language engineering with the Heriot-Watt Dependable Systems Group (DSG).

Members and Mailing List

Academic Staff

Researchers

Associates

Mailing List

Announcements are made on the GPG mailing list: . If you would like to subscribe to the list, please email .

Meetings and Seminars

Most seminars are Glasgow Systems Section (GLASS) events. Some of the Programming Languages at University of Glasgow (PLUG) Seminars are also of interest.

Projects and Activities

The group is engaged in a wide range of research projects and activities.

Euro-Par 2022

A major activity for several GPG members is as part of a consortium of Scottish Computing Schools that are organising a major international parallelism conference: Euro-Par'22, to be hosted at the University of Glasgow.

Projects

Most of the research projects below are funded by national or international research programmes.

Crucially the GPG leads the *MaRIONet* network of Excellence and three (from a total of five) of the SADEA projects in the EPSRC Many-core Architectures and Concurrency in Distributed and Embedded Systems (MACDES) priority area.

  • STARDUST: Session Types for Reliable Distributed Systems is an EPSRC Project (EP/T014628) that seeks to combine the strengths of session types and actor languages (Erlang and Scala/Akka) to develop a well-founded theory of reliable actor programming. Key aims are to deliver tools that provide lightweight support for developers, e.g. warn of potential issues, and to allow developers to continue to use established idioms. In partnership with Imperial College London and the University of Kent. September 2020 - August 2024.
  • BEST: Better Smart Campus Sensor Technologies explores the capabilities of tierless programming languages (Clean iTasks and mTasks) Radboud Computing Science for the University of Glasgow Smart Campus. June 2019 - July 2020.
  • Bonseyes is an European Union's Horizon 2020 project (grant agreement No 732204) that addresses Artificial Intelligence for Edge Devices. December 2016 - January 2020.
  • MaRIONet is the Manycore Research, Innovation and Opportunities Network funded by the EPSRC (EP/P006434). Our aim is to enhance the capability of the UK manycore research community through focused engagement of academic and industrial researchers.
  • Border Patrol is an EPSRC project (EP/N028201) that addresses hardware and software cyber security concerns. Joint with Imperial College and Heriot-Watt Universities and EDF, ABB and Xilinx. February 2017 - January 2022.
  • The FRUIT project, chaired by Jeremy Singer, is based on this hypothesis: "Massive aggregation of low-cost, low-power, commodity infrastructure can form an efficient and effective compute fabric for key distributed applications." The participating institutions and external collaborators will build a distributed UK-wide federated testbed of lightweight compute nodes capable of exploring the research issues that arise from such a dynamic infrastructure. The aim is to demonstrate how resource-constrained micro-data centres can be harnessed as generic platforms to run virtualised, network-wide services in a resource-efficient and still high-performing manner, and enable the 'as-a-Service' paradigm over low-cost low-power federated infrastructures.
  • SADEA 1 AnyScale Apps is an EPSRC project (EP/L000725) joint with Manchester and Edinburgh. The project aims to develop a "write once, scale anywhere" software development and deployment paradigm. Apps are composed of runtime components which interact. Each component has several API-compatible variants that offer different cost/benefit tradeoffs. At runtime, the dynamic resource availability determines which variants are executed at particular nodes in the distributed heterogeneous infrastructure. October 2013 - September 2017.
  • SADEA 2 Exploiting Parallelism through Type Transformations for Hybrid Manycore Systems (TyTra) is an EPSRC Project (EP/L00058X) joint with Imperial and Heriot-Watt that uses compilation technology to exploit parallelism without changing the program. January 2014 - January 2019.
  • SADEA 3 Adaptive JIT-based Parallelism (AJITPar) is an EPSRC Project (EP/L000687) in partnership with Microsoft Labs in Cambridge. The project investigates the feasibility of providing performance portability using a combination of dynamic scheduling and dynamic trace-based Just-In-Time (JIT) compilation. October 2013 - April 2017.
  • From Data Types to Session Types: A Basis for Concurrency and Distribution (EPSRC EP/K034413/1) June 2013 - October 2019. Simon Gay (Glasgow), Philip Wadler (Edinburgh), and Nobuko Yoshida (Imperial).
  • RSE/SE Enterprise Fellowship: Commercialising work in the space of health monitoring and personalsed care while protecting privacy in generated data.

Long Term Research Projects

These are long running research activities funded from a range of sources.
  • Lift is a project aiming to achieve performance portability across modern parallel architectures. The Lift compiler transforms a program expressed in the high-level Lift programming language into optimised low-level OpenCL code. In this transformation optimisations are automatically explored using a set of rewrite rules. Lift is open source software available on GitHub. Lift has been described in multiple research publications. Lift is actively developed by a research team including multiple PhD students based in Scotland and Germany.
  • The University of Glasgow Raspberry Pi Cloud project is a teaching and research project centred around the construction of a "scale-model" of a Cloud data centre using energy and cost efficient Raspberry Pi devices.
  • Members of GPG built YewPar, software aimed at providing general-purpose, distributed memory, parallel skeletons for combinatorial search problems, e.g. finding the largest clique in a graph.
  • Members of GPG helped design and build Glasgow Parallel Haskell (GpH). It's one of the early robust parallel functional languages, and remains one of the most widely used parallel Haskell models, e.g. the most popular Haskell compiler, GHC supports it on multicores. The sophisticated GUM runtime system supports GpH on distributed-memory machines like clusters. The new GUMSMP runtime system supports GpH on hierarchical architectures like NUMAs or clusters of multicores.
  • Members of GPG helped design and build Haskell distributed parallel Haskell (HdpH). It's a parallel Haskell for large scale distributed-memory machines like clusters or HPC platforms. Crucially, HdpH is implemented in vanilla (GHC) Haskell.

Activities

The group engages in a wide range of parallelism research activities, including the following.

Parallel Architectures

The group has access to a wide range of architectures. We have access to national capability-class HPC resources like ARCHER currently with approximately 5000 nodes (120 000 cores).

We have a range of architectures in our own administrative domain, where we can freely install software and schedule experiments.

  • Non-Uniform Memory Architectures (NUMA) include
    • An Intel Xeon Phi system with 126 cores on two Phi boards.
    • A 64-core AMD 1.8GHz, 512GB, 7+TB Raid Array, Linux
  • We have range of Field Programmable Gate Arrays (FPGAs) and Graphics Processors (GPUs)
  • We have a cluster of Raspberry Pis
  • A 20-node, 320-core Beowulf cluster Specification and Access Protocol

PhD Studentships

PhD positions are available for students with excellent Computer Science qualifications, a high level of motivation, and related research interests. A typical applicant will have a first or upper-second class Honours degree in Computer Science, or equivalent qualification.

Studentships to fund a PhD are available each year. For the primary sources of funding
UK students should contact a member of academic staff before March,
Non-UK students should contact a member of academic staff before January.