cloudkernels / vaccel

A meta repo for gathering all the necessary components for running (and releasing) a vaccel environment
10 stars 2 forks source link

Implement vsock alternative to custom virtio #15

Closed bchalios closed 3 years ago

bchalios commented 3 years ago

Problem

vsock is a virtio device that creates a channel between the host and the guest over Unix socket.

We can use this, to avoid modifying the hypervisor itself and the need to load our kernel module for virtio-accel inside the guest.

Pros

  1. Use vanilla versions of the hypervisors. We will not need to modify the hypervisor every time we change the vaccel API
  2. Support vaccel in every hypervisor that implements vsock
  3. Enable an architecture where we only have one instance of vAccelRT in the host, instead of one per VMM instance.

Cons

  1. Potential transport overhead

Required components

  1. A communication protocol for vAccel
  2. A vAccelRT application that listens to requests from the guests and implements them
  3. A vsock plugin for vAccelRT
bchalios commented 3 years ago

Closing since we do have an initial implementation in place.

Optimizations, API enhancements, etc will be tracked with new PRs