Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Temporal id locality
  • Allocation could be tricky to make fastpractical in a distributed setting
  • How many tables does a typical (or large) RDBMS have?
  • How many applications do we expect to support in a single RAMCloud instance?How much metadata space is need for all tables/applications?
  • How does metadata replication occur and what is the frequency?

application (16 bit)

table (16 bit)

address (64 bit)

...

  • Smaller ids (64-bit?)
    • Not if we want these to look like capabilities
  • Simple to make fast
  • Not meaningful to client (both a plus and minus)
  • Indexing must be done by clients and stored in the cloud
    • Akin to FriendFeed's setup

Distribution

  • How much metadata space is needed for all tables/applications?
    • Up to 2^48 objects, 128 bit (16 byte) key, size (4-8 bytes), permissions or appid if not in address (2-4 bytes)
    • (2^43)*16/2^40 = 128 TB
  • How does metadata replication occur and what is the frequency?

Effects

  • + Capacity
    • Strictly necessary for this reason alone
  • + Throughput/Latency
    • + Avoid hot spots
    • Multiple hosts can service requests in parallel
    • Do either of these matter if nodes can handle 1M requests/sec?
  • - Throughput/Latency
    • Cost to map address -> shard, shard -> host on client
    • Cost to map address -> metadata (physical location, size, and permissions)
  • - Consistency
  • - Reliability

...