Open Source & Labs

Projects

What we have built together as a community. We take the papers we study and turn them into working code, then measure whether the ideas hold up.

Now Building

Current project

Paper Implementation
In active development

Serverless Runtime / Database Co-Design with Asynchronous I/O

Abstract

Minimizing database access latency is crucial in serverless edge computing for many applications, but databases are predominantly deployed in cloud environments, resulting in costly network round trips. Embedding an in-process database library such as SQLite into the serverless runtime is the holy grail for low-latency database access. However, SQLite's architecture limits concurrency and multitenancy, which is essential for serverless providers, forcing us to rethink the architecture of a database library. We propose re-architecting SQLite to provide asynchronous bytecode instructions for I/O to avoid blocking in the library and decoupling the query and storage engines to facilitate database and serverless runtime co-design. Our preliminary evaluation shows up to a 100x reduction in tail latency, suggesting that our approach is conducive to runtime/database co-design for low latency.

100×

reduction in tail latency (preliminary)

01

Asynchronous bytecode I/O

I/O becomes an asynchronous bytecode instruction, so the database library never blocks the runtime while it waits on storage.

02

Decoupled query & storage engines

Separating the query engine from the storage engine lets each one be scheduled and scaled on its own.

03

Built for multitenancy

An embedded database that many serverless tenants can share safely, without the network round trip to the cloud.

SQLiteAsynchronous I/OServerlessEdge Computing
Our Process

From paper to working code

Every project starts in a reading session and ends with numbers we can stand behind.

  1. 01

    Read

    We pick a paper or idea and work through it together in our sessions.

  2. 02

    Design

    We break it into pieces, agree on an approach, and split up the work.

  3. 03

    Build

    Members implement it in the open, with code review on every change.

  4. 04

    Measure

    We benchmark the result against the paper's claims and share what we learn.

Archive

Past projects

This is where our shipped projects will live.

Have a paper you would love to see implemented? Suggest it and help us build it.

Suggest a project