Optimizing general-purpose operating systems for high performance networking

Lead Research Organisation: University of Glasgow
Department Name: School of Computing Science

Abstract

Computer operating systems have long provided a programming interface to the network known as the "Berkeley Sockets API". This originated in the mid-1980s in the Berkeley Software Distribution (BSD) version of the Unix Operating System, and has since been implemented in MacOS X, Windows, and Linux. The Berkeley Sockets API thus represents an important standard and allows cross-platform interoperability, but it has been slow to evolve to meet the needs of modern networked applications.

This research will explore how new APIs, programming environments, and operating systems features can support the use and deployment of high performance, flexible, network transport protocols for modern and future networked applications. It will consider the challenges posed by the increase in network performance relative to processor speed, and the resulting need to low-overhead, zero copy, concurrent network protocols stacks and the parallel requirements to support increasingly flexible transport protocols, with strong security and multipath support. The work will especially consider the interplay between advanced programming language features, novel network transport protocols, and efficient operating systems abstractions; and the ability to support novel and emerging applications such as the Internet of Things and pervasive computing.

The project builds on prior work done as part of the student's MSci dissertation, and on ongoing work in the Internet Engineering Task Force (IETF) Transport Services (TAPS) working group to develop a standard for a "Post Sockets API", but is distinct from that work, and takes a more forward-looking approach since the standard work must account for thee limitations of backwards compatibility more strictly.

The work relates to the "Architectures and operating systems", "ICT networks and distributed systems", and "Pervasive and ubiquitous computing" (an EPSRC growth area). Specifically, it focusses on how best to support novel emerging and future applications, including mobile, ubiquitous, and IoT scenarios, and to democratise their
programming model, aiming to make it easier to make use of the advanced features of the network to support these applications.

Publications

10 25 50

Studentship Projects

Project Reference Relationship Related To Start End Student Name
EP/N509668/1 01/10/2016 30/09/2021
2125926 Studentship EP/N509668/1 01/10/2018 01/12/2022 Mihail Yanev
EP/R513222/1 01/10/2018 30/09/2023
2125926 Studentship EP/R513222/1 01/10/2018 01/12/2022 Mihail Yanev