vrv / FAWN-KV

A Distributed Key-Value Store for FAWN

Home Page:http://www.cs.cmu.edu/~fawnproj/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Implement load balacing of requests across chain.

vrv opened this issue · comments

Taking a cue from CRAQ (http://www.usenix.org/event/usenix09/tech/full_papers/terrace/terrace.pdf), we should implement a form of query-anywhere chain replication in FAWN-KV to load balance keys across our chain replicas. When using a front-end, this can be simply done by keeping track of 'outstanding key updates' at the frontend: on a lookup, you check to see if the key is being updated, and if so, send the request to the tail. Otherwise the key is safe to be requested from any of the backends.

When not using a frontend, we would have to directly implement CRAQ: there's no frontend to keep track of pending updates in the chain and so it would require communication between the nodes in the chain.