Trilogy2 aims to develop a new Internet architecture based on the concept of the liquid network. A liquid system should ideally allow resources including bandwidth, storage and processing to be used by any application, whether they are contributed by network operators, data centre operators or end systems. Resources form a shared pool and applications can scale up and down in multiple dimensions (storage, processing, bandwidth and energy usage) as needed, in a continuous effort to enhance the users’ experience as measured in terms of key metrics such as delay and battery life.
The Cambridge participation is primarily centered around three efforts:
- The Mirage library operating system that provides the policy-free mechanism to implement the liquid OS.
- A highly adaptive PVTCP transport protocol that takes advantage of heterogenous network connections.
- The Irminsule storage substrate that cleanly separates block storage form
Trilogy 2 is a 3-year EU STREP project that addresses the "Pervasive and Trusted Network and Service Infrastructures: Future Networks" challenge. The tasks below and include our collaborators at OnApp.
|Sep '12||Oct '12||Nov '12||Dec '12||Jan '13||Feb '13||Mar '13||Apr '13||May '13||Jun '13||Jul '13||Aug '13||Sep '13||Oct '13||Nov '13||Dec '13||Jan '14||Feb '14||Mar '14||Apr '14||∞|
Polyversal TCP prototype |
Irminsule prototype |
Polyversal TCP prototype
Over the last decade TCP has become the de facto "narrow waist" of the Internet; a one-size-fit-all transport that is poorly suited to the needs of modern applications. As middle-boxes have become ubiquitous, it has become nigh impossible for alternative transports to exist, and so application developers have come to view opening a TCP socket as the only reliable way to connect to a server. Some recent proposals circumvent this problem by camouflaging new transports so that they appear like TCP to middleboxes.
Polyversal TCP aims to unify many different strands of TCP to make it suitable to work as an extensible one-size-fits-all transport that can take advantage of heterogenous interconnects such as shared memory or virtual machine channels. This will in turn greatly simplify the construction of complex distributed systems being built elsewhere in OCaml Labs.
Irminsule is a distributed filesystem and block store that follows the same design principles as Git. The design consists of three main components:
- a low-level immutable and consistent key/value data-store
- a DAG persisted in that datastore; and
- a tag store which associate names to keys of the low-level data-store.
The immutability of the low-level block store makes it significantly easier to apply replication and network coding techniques to improve resilience via replication, and to optimise scheduling across many hosts using MPTCP-style congestion control.