FaRM

Article.

  • Super fast with DRAM.

  • All within one data center. Doesn't solve geo replication anyhow.

  • Bottleneck - CPU.

  • Sharded by key between primary/backup pairs.

  • All replicas are updated if there's change. You always read from primary. If one replica is available you are good.

  • All must fit in the (combined) RAM.

  • Tolerate power failures - non-volatile RAM scheme (NVRAM).

  • RDMA - network interface cards that can read/write memory directly.

  • Kernel Bypass - app code can access network cards directly, without kernel help.

  • When the battery system detects main power failure - stop all processes, write all RAM to SSD. Then die.

  • RDMA - remote direct memory access. Access memory remotely without involving destination CPU at all. Append messages to a queue.

  • API:

    • txCreate()

    • o = txRead(oid)

    • o.f += 1

    • txWrite(oid, o)

    • ok = txCommit()

Last updated