Banyan: Coordination-Free Distributed Transactions over Mergeable Types / Nov 2020
Paper on Banyan for coordination-free distributed transactions in ASPLAS 2020
The First Billion Real Deployments of Unikernels / Feb 2020
Part 2
Rebuilding Operating Systems with Functional Principles / Feb 2020
Delivered the distinguished seminar series at St Andrews on rebuilding Operating Systems with functional principles
Programming the Next Trillion Embedded Devices / Feb 2020
Part 3
MirageOS 4: the dawn of practical build systems for exotic targets / Aug 2019
Paper on the MirageOS 4 build system at OCaml Workshop
Programming Unikernels in the Large via Functor Driven Development / May 2019
Preprint on programming unikernels with ML modules
Distributed Task Scheduling Framework over Irmin / Jan 2019
This is an idea proposed as a Cambridge Computer Science Part II project, and has been completed by Mohammed Daudali. It was supervised by Anil Madhavapeddy.
Distributed computation and task scheduling frameworks can be decentralised with minimal cost to performance. Furthermore, this decentralisation can provide a significant reduction in the trusted computing base and complexity of the system, affording end consumers a greater level of confidence in the integrity of the results. Moreover, carefully designed persistent and transient data structures can augment this confidence by providing strong isolation guarantees in a multi-tenant system, whilst retaining full transparency over the dynamic data flow graph. This can all be achieved with an API that interfaces directly with conventional developer tools, enabling end users to easily verify that the computation directly aligns with their expectations. Detailed metadata can ensure a fair and transparent pricing structure for both service providers and consumers by carefully tracking the resource usage. Together, this allows open-source communities to remain completely transparent whilst providing non-developer end users a simpler and more accessible downloadable package that can be independently verified. […374 words]
An architecture for interspatial communication / Apr 2018
Paper on the interspatial networking architecture at HotPOST 2018
CausalRPC: a traceable distributed computation framework / Jan 2018
This is an idea proposed as a Cambridge Computer Science Part II project, and has been completed by Craig Ferguson. It was supervised by Anil Madhavapeddy.
The project aims to implement an RPC framework in OCaml using the Irmin distributed database library as a network substrate. It will explore the trade-offs of a novel data-oriented approach to RPC in which race conditions between clients are resolved automatically by the middleware layer. The core deliverable is a demonstration of an RPC client remotely executing functions with Irmin-serialisable parameters on a server capable of handling concurrent client requests.
The project was completed successfully, with an implementation of CausalRPC, a distributed computation framework satisfying the above criteria. The approach of making the statefulness of RPC explicit was surprisingly effective, allowing CausalRPC to provide stronger consistency and traceability guarantees than conventional RPC systems. This broadened the scope of the project considerably, allowing for a variety of extensions to explore the inherent trade-offs of the approach. The final version of CausalRPC supported fault-tolerant worker clusters and is compatible with MirageOS. […244 words]
Unikernels: the rise of the library hypervisor in MirageOS / Oct 2016
DockerCon talk on unikernels and MirageOS
The functional innards of Docker for Mac and Windows / Jun 2016
I gave a talk at the Functional Works meetup, held in Jane Street London about how Docker for Mac and Windows use OCaml and unikernels under the hood.
Ian Eyberg, Joshua Bernstein, Anil Madhavapeddy at OSCON in Austin / Jun 2016
Interviewed by The New Stack at OSCON in Austin, Texas
Immutable Distributed Infrastructure with Unikernels / Sep 2015
Invited talk at NetPL on Immutable Distributed Infrastructure with Unikernels
Not-Quite-So-Broken TLS / Aug 2015
Paper on rebuilding TLS securely but practically at USENIX Security 2015
Unikernels: Functional Infrastructure with Mirage OS / May 2015
Talk at Esper on functional programming with unikernels
Displaying the 15 most recent news items out of 43 in total (see all the items).