80 likes | 186 Views
Technology Changes. Role of Paging. Can’t afford to page out unless idle for a long time. DRAM in Storage Systems. Usage exploding, but: Clumsy (consistency with backing store) Lost performance (cache misses, backing store). Facebook: 200 TB total data 150 TB cache!. memcached.
E N D
Technology Changes CS 140 Lecture Notes: Technology and Operating Systems
Role of Paging • Can’t afford to page out unless idle for a long time CS 140 Lecture Notes: Technology and Operating Systems
DRAM in Storage Systems Usage exploding, but: • Clumsy (consistency with backing store) • Lost performance (cache misses, backing store) Facebook:200 TB total data150 TB cache! memcached Web indexesentirely in DRAM Main-memorydatabases Large filecaches UNIX buffercache Main-memoryDBs, again 1970 1980 1990 2000 2010 CS 140 Lecture Notes: Technology and Operating Systems
RAMCloud General-purpose storage in DRAM: • All data always in DRAM (no cache misses) • As durable and available as disk • Designed for datacenters: • Scale: 1000+ servers, 100+ TB • Low latency: 5-10µs remote access Potential impact: enable new class of applications CS 140 Lecture Notes: Technology and Operating Systems
RAMCloud Architecture 1000 – 100,000 Application Servers High-speed networking: • 5 µs round-trip • Full bisection bwidth … Appl. Appl. Appl. Appl. Library Library Library Library DatacenterNetwork Coordinator Master Master Master Master CommodityServers Backup Backup Backup Backup … 64-256 GBper server 1000 – 10,000 Storage Servers CS 140 Lecture Notes: Technology and Operating Systems
Data Model: Key-Value Store Tables create(tableId, blob)=>objectId, version read(tableId, objectId)=> blob, version write(tableId, objectId, blob)=> version cwrite(tableId, objectId, blob, version)=> version delete(tableId, objectId) Object Identifier (64b) Version (64b) (Only overwrite ifversion matches) Blob (≤1MB) • Richer model in the future: • Indexes? • Transactions? • Graphs? CS 140 Lecture Notes: Technology and Operating Systems
Research Issues • Durability and availability • Fast communication (RPC) • Data model • Concurrency, consistency, transactions • Data distribution, scaling • Multi-tenancy • Client-server functional distribution • Node architecture CS 140 Lecture Notes: Technology and Operating Systems