Skip to content

MaxWies/Indilog

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IndiLog

IndiLog is a scalable FaaS runtime for stateful serverless computing with shared logs. It uses distributed indexing to efficiently locate records on the shared logs.

IndiLog extends Boki. Boki exports the shared log API to serverless functions, allowing them to manage states with strong consistency, durability, and fault tolerance. Indilog and Boki use Nightcore as the runtime for serverless functions.

IndiLog's name originates from one of its main design characteristics: distributed indexing

Building IndiLog

Under Ubuntu 20.04, building IndiLog needs following dependencies installed:

sudo apt install g++ make cmake pkg-config autoconf automake libtool curl unzip

Once installed, build IndiLog with:

./build_deps.sh
make -j $(nproc)

Kernel requirements

IndiLog uses like Boki io_uring for asynchronous I/Os.

IndiLog requires Linux kernel 5.10 or later to run.

IndiLog support libraries

IndiLog supports Boki's libraries for transactional workflows and durable object storage.

System evaluation

A separate repository IndiLog-Benchmarks includes scripts and detailed instructions on running evaluation workloads for IndiLog and Boki.

Limitations of the current prototype

The shared log API is only exported to functions written in Go.

Releases

No releases published

Packages

No packages published

Languages

  • C++ 90.8%
  • Go 6.8%
  • Makefile 0.9%
  • Python 0.6%
  • C 0.5%
  • Shell 0.3%
  • JavaScript 0.1%