The field of computer science is young, developing and improving new technologies at an exponential rate. Academics across the world work in highly collaborative and imaginative environments, generating research that becomes the base for technology we use every day. The School of Computer Science at the University of St Andrews plays a significant role is a huge part of in this research, generating highly influential and foundational algorithms and technological protocols, for use in tech products and services we all use every day.
Identifier Locator Network Protocol (ILNP)
The internet currently runs on Internet Protocol (IP) architecture: a structure that has been incrementally updated across decades. While powerful, the landscape of IP has become overly complex and unscalable. The Identifier Locator Network Protocol (ILNP) developed by Professor Saleem Bhatti at St Andrews, aims to change that. ILNP replaces traditional IP addresses – numerical labels that represent devices connected to the internet – with two datatypes: an Identifier and a Locator. The nature of ILNP means that only devices used by individuals – desktops, laptops, tablets smartphones – require software updates, which leaves most networks and systems untouched. Through this, deployment at scale becomes simple, for example by the normal updates to our devices we have all become accustomed to.
The Problems with IP Addresses
IP addresses are composed of two parts: A Network ID, which specifies the network a device is in, and a Host ID, which specifies an individual device located on that network. Think of it like houses located on the same street: the addresses 4 and 5 Market Street have a distinct number to identify the individual house, but the same street name to recognise they’re located within the same general area.
However, IP addresses treat both Network and Host IDs as a single value, and so the use of an IP address binds data flows to a specific device and to a specific network. Currently, if the device needs to move, or use multiple different networks simultaneously (e.g. 5G and WiFi) this requires it to use a new IP address for each network, possible breaking existing communication streams, or to have complex workarounds to enable continuous communication. This in turn can cause problems for many applications, and such devices might no longer be able to easily utilise end-to-end security and privacy mechanisms.
The potential of ILNP has been recognised by the global Internet Research Task Force (IRTF), who recommended it against 13 other proposals within network architecture development. The ideas behind ILNP have inspired vendors like Cisco and Ericsson (major suppliers of communication equipment) in thinking about the design of future communication systems. An ILNP derivative, Identifier Locator Addressing (ILA), has been used by Facebook, and the core ideas within ILNP have also influenced Fastly (a cloud service provider), who themselves provide services for many customers worldwide, including BuzzFeed, GitHub, Deliveroo, The Guardian, and Vimeo.
Architectural Memory Consistency Models and Validation of Processors
Our computers, cell phones, and other gadgets are all multicore: relying on multiple computer hardware units working together to bring us an experience that is quick, seamless, and accurate. Multicore technology is very difficult to get right. Any time different units are independently computing, they need to have detailed communication to make sure they have a consistent view of the rest of the system. Keeping system memory consistent across multiple pieces of hardware is extraordinarily challenging.
A way to maintain consistency across multicore technologies is to make sure hardware specifications are specific, precise, and easy to test. Dr Susmit Sarkar at St Andrews has shown how programming language techniques can be used to generate precise mathematical hardware specifications – with a particular focus on memory consistency. Additionally, he and his collaborators have generated short test programs to make sure these specifications and broad multicore processors work correctly. These have been adopted by IBM and by ARM Architecture, processors which exist in 95% of our mobile devices. The specifications have saved these companies money, have strengthened security in the knowledge that our technology works as specified, and have become core in the testing and generating of new flagship processors.
Another specification project St Andrews has worked with is RISC-V: a free and open ISA enabling a new era of processor innovation through open standards collaboration (www.riscv.org). RISC-V has an expert’s group focused on developing a memory consistency specification. Dr Sarkar was personally invited to the group in August 2017, making substantial contributions to the final specification of RISC-V. Alongside other researchers, designers, and industrial users he helped design the accepted specification.
For most people, what’s going on beneath the surface of the technologies we use every day can appear to be nothing short of magic: obscure, non-understandable processes. This could not be further from the truth. Computer scientists like those at the University of St Andrews work tremendously hard to improve, analyse, and create the technology that propels our present and our future.
This work contributed to the University of St Andrews’ REF 2021 submission.
The Research Excellence Framework (REF) is a system which assesses research at UK Higher Education Institutions by discipline, based on three elements: outputs, impact and environment. This blogpost is based upon two impact case studies that contributed to St Andrews’ outstanding results this REF cycle. View the submitted case studies in the UKRI’s impact case study database, here and here.