Projects

Past Projects

Research Software

  • YewPar: Members of GLASS 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. 
  • Glasgow Parallel Haskell: Members of the Systems section 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. 
  • Haskell distributed parallel Haskell: Members of the Systems section 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. 
  • Glasgow Network Functions (GNF): Members of the section have developed an open-source, container-based Network Function Virtualization (NFV) framework that allows the transparent attachment of virtual Network Functions (NF)s to selected traffic in Software-Defined Networks.
  • Extending the matching abilities of OpenFlow: Members of the section have developed a protocol-independent, flexible alternative to today’s OpenFlow fixed match fields based on the Berkeley Packet Filters (BPF) for packet classification.
  • SDN-based Virtual Machine Management for Cloud Data Centers: Members of the section have developed a SDN-based software orchestration framework for live Virtual Machine (VM) management that exploits temporal network information to migrate VMs and minimise the network-wide communication cost of the resulting traffic dynamics.