Skip to content

Instantly share code, notes, and snippets.

@AndyMoreland
Created November 21, 2014 08:04
Show Gist options
  • Save AndyMoreland/1217fe0e7dfb2c7d2c8d to your computer and use it in GitHub Desktop.
Save AndyMoreland/1217fe0e7dfb2c7d2c8d to your computer and use it in GitHub Desktop.
High Level: Log structured file system with RAM pointers into the log. Can reconstruct the RAM table by reading the log.
Arguing that power consumption will increase and that flash will get cheaper faster than CPU/DRAM.
* Naively, we need 1 watt of cooling for 1 watt of computation.
* They optimize for small-object random access workloads.
** Since it's small-objects and random access disk seeks suck.
* Can't use RAM because RAM is expensive and also power hungry.
* Flash pages are much larger
* Flash translation layer is weird
* Flash failure model is optimistic
* Logs can be pre-deleted ahead of time so that writes are faster
* Use generational GC to compact the log
* Checkpointing saves scanning time to reconstruct the in-memory metadata
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment