Addressing

Some possibilities

Sequential and Structured

application (16 bit)

table (16 bit)

address (64 bit)

Random

Distribution

Effects

Approaches

Mapping/Address Space Paritioning

Tradeoffs: Capacity, Throughput (via parallel requests) vs Latency (lookup time client->host, host->addr+metadata)

RAMCloud Address -> Metadata as quickly as possible (e.g. with as few requests and as little processing as possible) where metadata includes physical address, size, and permissions at least.

Ideal: 0 network messages and O(1) address to host mapping time with high probability

Implies all clients are aware of mapping.
Complication: access-control requires highly-consistent mapping replication if control is on addresses (e.g. the application/table is part of the structured address).

Objects may need to relocate due failures, load, or capacity.

Fixed Number of Objects per Shard

Some of these issues are addressable with linear hashing techniques, but it will erode the O(1) time.

DHT

B-Trees

Replication

Effects

Locality

Effects