DLS: Functional Foundations for Operating Systems

Biography: Dr. Anil Madhavapeddy is a University Lecturer at the Cambridge Computer Laboratory, and a Fellow of Pembroke College where he is Director of Studies for Computer Science. He has worked in industry (NetApp, Citrix, Intel), academia (Cambridge, Imperial, UCLA) and startups (XenSource, Unikernel Systems, Docker) over the past two decades. At Cambridge, he directs the OCaml Labs research group which delves into the intersection of functional programming and systems, and is a maintainer on many open source projects such as OpenBSD, OCaml, Xen and Docker.

Timetable
9:30: Introduction by Professor Saleem Bhatti
9:35: Lecture 1
10:35: Break with tea and coffee
11:15: Lecture 2
12:15: Lunch (not provided)
14:00: Lecture 3
15:00: Close by Professor Simon Dobson

Lecture 1: Rebuilding Operating Systems with Functional Principles
The software stacks that we deploy across computing devices in the world are based on shaky foundations. Millions of lines of C code crammed into monolithic operating system kernels, mixed with layers of scheduling logic, wrapped in a hypervisor, and served with a dose of nominal security checking on the side. In this talk, I will describe an alternative approach to constructing reliable, specialised systems with a familiar developer experience. We will use modular functional programming to build several services such as a secure web server that have no reliance on conventional operating systems, and explain how to express their logic in a high level, functional fashion. By the end of it, everyone in the audience should be able to build their own so-called unikernels!

Lecture 2: The First Billion Real Deployments of Unikernels
Unikernels offer a path to a more sane basis for driving applications on hardware, but will they ever be adopted for real? For the past fifteen years, an intrepid group of adventurers have been developing the MirageOS application stack in the OCaml programming language. Along the way, it has been deployed in many unusual industrial situations that I will describe in this talk, starting with the Docker container stack, then moving onto the Xen hypervisor that drives billions of servers worldwide. I will explain the challenges of using functional programming in industry, but also the rewards of seeing successful deployments quietly working in mission-critical areas of systems software.

Lecture 3: Programming the Next Trillion Embedded Devices
The unikernel approach of compiling highly specialised applications from high-level source code is perfectly suited to programming the trillions of embedded devices that are making their way around the world. However, this raises new challenges from a programming language perspective: how can we run on a spectrum of devices from the very tiny (with just kilobytes of RAM) to specialised hardware? I will describe the new frontier of functional metaprogramming (programs which generate more programs) that we are using to compile a single application to many heterogenous devices, and a Git-like model to coordinate across thousands of nodes. I will conclude with by motivating the need for a next-generation operating system to power new exciting applications such as augmented and virtual reality in our situated environments, and remove the need for constant centralised coordination via the Internet.

Event details

  • When: 13th February 2018 09:30 - 15:15
  • Where: Byre Theatre
  • Series: Distinguished Lectures Series, Systems Seminars Series
  • Format: Distinguished lecture

PhD viva success: Alexander Murashko

Congratulations to Alexander Murashko, who successfully defended his thesis last week. Alexander is pictured with External Examiner, Professor Paul McKevitt from Ulster University, Internal Examiner Dr Kasim Terzic, Convener Professor Alan Dearle and Supervisor Dr John Thomson.

Image courtesy of Annemarie Paton.

December Graduation Reception

Congratulations to the Masters Class of 2017, and MPhil student Yunjia Wang, who graduated last week. Each year, students are invited to a reception in Computer Science, to celebrate their achievement and reflect on their time in the School.

Our graduates move on to a wide variety of interesting and challenging employment and further study opportunities, and we wish them all well with their future careers.

Join us for Graduation: Thursday 7th December

The School will celebrate more student successes and accomplishments next week, when our recent MSc and PhD students graduate. We look forward to toasting their success at our graduation reception in the School of Computer Science, next Thursday afternoon, between 12 and 3.30. Over the years graduation has involved cakes, fizz, laughter, changeable weather and lots of reminiscing as pictured below. For family and friends who can’t make it to graduation ceremonies, the University broadcasts each graduation ceremony live.

Summer and Winter Graduations 2010 – 2014

Celebrations, Kilts and Graduation 2010- 2014

PhD viva success: Adam Barwell

Congratulations to Adam Barwell, who successfully defended his thesis yesterday. Adam’s thesis was supervised by Professor Kevin Hammond. He is pictured with second supervisor Dr Christopher Brown, Internal examiner Dr Susmit Sarkar and external examiner Professor Susan Eisenbach from Imperial College, London.

One from the archives: Plans for new Computer Science building

November 2002, and plans were unveiled in the university news, for a new computer science building. Stages of the build were photographed for posterity.

Fast forward to March 2005, and the Jack Cole building was officially opened by the then First Minister, Jack McConnell. The building was named after the founder of Computer Science at St Andrews, Professor Alfred Jack Cole.

Computer Science Student Representatives 2017

Congratulations to our student representatives for 2017/8, elected by their peers last month. Our Reps are integral to the proactive communication channel between staff and the students and also chair and run the Staff-Student Consultative Committee (SSCC) held each semester within the School.


The reps are pictured outside the Jack Cole Building, after this semester’s SSCC meeting and are (from left to right)

  • Lewis Mazzei (1st year, minutes)
  • Beatrice Olivera (1st year, minutes)
  • Jamie Bell (2nd year, careers)
  • ​Gergely Flamich (School President)
  • Arnold Haidu (MSc, library)
  • Stacey Izmaylova (3rd year, social)
  • Xu Zhu (PhD, Postgrad)
  • Keno Schwalb (4th year)
  • Paul McKay (Evening)

Image courtesy of Ula Rustamova

iVoLVER receives Best Demo Jury Award at ACM ISS

The iVoLVER system, created by Gonzalo Méndez and Miguel Nacenta from the SACHI group at the School of Computer Science, University of St Andrews, received Best Demo Jury Award at the ACM Interactive Surfaces and Spaces (ACM ISS) conference last week.

ACM ISS 2017, took place in Brighton, UK and selects a different location each year, with Tokyo, Japan selected as next year’s destination. The conference is a premier venue for research that studies how people interact in smart spaces and surfaces and how to design and engineer solutions for novel interfaces.

iVoLVER is a web-based visual programming environment that enables anyone to transform visualizations that they find in-the-wild (e.g., in a poster or a newspaper) into new visualizations that are more useful for them. Congratulations to the iVoLVER team. You can try out the open source iVoLVER prototype using a browser.

An example iVoLVER interface

Best Demo Jury Award

Ae fond farewell: Vicky Robinson

Vicky Robinson, a valued member of our admin team, has departed for pastures new. Vicky and colleagues are pictured earlier this month, enjoying some nibbles and fizz, to mark her last day. Staff also organised an informative and enjoyable Gin tasting courtesy of Luvians. Fare thee well Vicky, thanks for all the hard work, and have a fabulous new adventure in Cyprus.