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.

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.

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

Computer Science hosts J.P. Morgan

Following on from a successful visit last year, J.P. Morgan returned to the School of Computer Science last week, to promote tech careers, internships and other student opportunities.

Staff from the company and CS students are pictured viewing project challenges and their solutions highlighted in their technology showcase whilst discussing future career openings and enjoying the complimentary pizza.

J.P. Morgan is a popular destination for our graduates demonstrated by four Alumni (Maria McParland, Nada Kartouch, Conner Somerville and Peter Cockroft) who were part of the team representing the company at the successful event.

Computer Science Ball 2017

Postgraduate students, led by Paul Dobra, organised the first ever CS Ball in August. The celebration coincided with finishing summer dissertations and the annual poster and demo session. The school sponsored Smurfalicious Blue Ball proved very popular and sold out of tickets earlier in August. The theme was blue and the location was The old Manor Hotel, in Lundin Links. The evening comprised of champagne, dinner and a Ceilidh till midnight. Students are pictured enjoying the 3 course dinner and fully embracing the spirit of a Cèilidh. We look forward to seeing them at December Graduation.

Images courtesy of Paul Dobra, Ula Rustamova, Nick Tikhonov, and Xu Zhu.
– Main Organisers: Paul Dobra & Shyam Reyal
– Promotion (online): Yin Noe, Nouchali Reyal
– Promotion (offline): Gillian Baird, Fiona George, Midhat Un Nisa
– Material Design: Yin Noe
– Photography: Ula Rustamova and Nick Tikhonov
– Decorations: Fiona George, Midhat Un Nisa, Anke Shi, Masha Nedjalkova, Sihan Li
– Electronics / Multimedia / Drone: Xu Zhu
– Music for Disco: Blair Fyfe

https://www.facebook.com/csball.standrews/