Skip to content
This repository has been archived by the owner on Mar 2, 2022. It is now read-only.

Port Storage/Global monitor to user level #3

Open
lastweek opened this issue Nov 8, 2018 · 1 comment
Open

Port Storage/Global monitor to user level #3

lastweek opened this issue Nov 8, 2018 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@lastweek
Copy link
Contributor

lastweek commented Nov 8, 2018

The reason they are now in kernel is because our network layer is in kernel (LITE, SOSP'17). But, there is really NO NEED to have such a kernel-level network stack. Also, LITE's original authors (Shin-Yeh and Yiying) both feel the need to have a user-level RDMA stack.

We only need a good RPC framework. And there are many ways to build it: 1) FaRM/LITE ring buffer, 2) HERD, 3) eRPC, and so on. They favor either latency or throughput. The original ring buffer design is sufficient now. Which design to use is still to be decided.

Having a user-level storage/global monitors can also:

  1. Greatly ease testing. No more kernel panic, no more.
  2. Storage code can be simplified. No more awkward workaround, no more.

Anyhow, this is a pure engineering effort. I'm not sure when we could finish it.

@lastweek lastweek self-assigned this Nov 8, 2018
@lastweek lastweek added the enhancement New feature or request label Nov 8, 2018
@lastweek
Copy link
Contributor Author

lastweek commented Nov 8, 2018

Being in kernel loses the joy of using some open-source user space stuff such as coroutine. I especially like the Arachne, OSDI'18 work. They have some good insights in building the library. We should read that again when we start.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant