80 likes | 201 Views
This lecture discusses the critical aspects of technology in operating systems, focusing on paging, data storage, and the use of DRAM in data centers. It highlights the challenges of paging out during low activity and the growing reliance on DRAM to enhance data accessibility and performance, exemplified by organizations like Facebook. The lecture explores the RAMCloud architecture, which allows for low-latency, high-capacity general-purpose storage by utilizing DRAM, improving application responsiveness and enabling new innovative applications in data centers.
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