Git Product home page Git Product logo

vhive's Introduction

build Unit Tests Integration Tests vHive CRI tests Go Report Card License: MIT

vHive Header

Mission

vHive aims to enable serverless systems researchers to innovate across the deep and distributed software stacks of a modern serverless platform. Hence, we built vHive to be representative of the leading Function-as-a-Service (FaaS) providers, integrating the same production-grade components used by the providers, including AWS Firecracker hypervisor, Cloud Native Computing Foundation's Containerd, and Kubernetes.

vHive adopts the Knative flexible programming model, allowing the researchers to quickly deploy and experiment with any serverless applications that may comprise many functions, running in secure Firecracker microVMs, as well as serverfull services. Both the functions and the stateful services can be deployed using OCI/Docker images.

vHive empowers systems researchers to innovate on key serverless features, including functions autoscaling and cold-start delay optimization with several snapshotting mechanisms.

vHive architecture

vHive Architecture

The details of the vHive architecture can be found in our ASPLOS'21 paper (extended abstract, full paper).

Technical talks

Referencing our work

If you decide to use vHive for your research and experiments, we are thrilled to support you by offering advice for potential extensions of vHive and always open for collaboration.

Please cite our paper that has been recently accepted to ASPLOS 2021:

@inproceedings{ustiugov:benchmarking,
  author    = {Dmitrii Ustiugov and
               Plamen Petrov and
               Marios Kogias and
               Edouard Bugnion and
               Boris Grot},
  title     = {Benchmarking, Analysis, and Optimization of Serverless Function Snapshots},
  booktitle = {Proceedings of the 26th ACM International Conference on
               Architectural Support for Programming Languages and Operating Systems (ASPLOS'21)},
  publisher = {{ACM}},
  year      = {2021},
  doi       = {10.1145/3445814.3446714},
}

Getting started with vHive

vHive can be readily deployed on premises or in cloud, with support for nested virtualization. We provide a quick-start guide that describes how to set up an experiment with vHive.

Developing vHive

Developer's guide and performance analysis with vHive

We provide a basic developer's guide that we plan to extend in future. We encourage the community to contribute their analysis scenarios and tools.

vHive roadmap

vHive is a community-led project, maintained by the EASE lab. The current roadmap is available and is going to be updated to accommodate the community's goals and evolution. To guarantee high code quality and reliability, we deploy fully automated CI on cloud and self-hosted runners with GitHub Actions.

The statistics of this repository's views, clones, forks is available by the following link.

Getting help and contributing

We would be happy to answer any questions in GitHub Issues and encourage the open-source community to submit new Issues, assist in addressing existing issues and limitations, and contribute their code with Pull Requests. Please check our guide on Contributing to vHive if you would like contribute. You can also talk to us on the official Firecracker Slack in the #firecracker-vHive-research channel.

License and copyright

vHive is free. We publish the code under the terms of the MIT License that allows distribution, modification, and commercial use. This software, however, comes without any warranty or liability.

The software is maintained at the EASE lab in the University of Edinburgh.

Maintainers

vhive's People

Contributors

amariucaitheodor avatar amohoste avatar boramalper avatar deepsourcebot avatar dependabot[bot] avatar mic92 avatar niuj1ao avatar plamenmpetrov avatar shyamjesal avatar tom-kuchler avatar ustiugov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.