80 likes | 195 Vues
This lecture explores the crucial concepts of paging and the significance of DRAM within operating systems. It discusses the challenges associated with paging, particularly when a system is idle, and examines the growing use of DRAM for storage solutions amidst issues of performance and consistency. Highlighting innovations like RAMCloud, it details the architecture designed for datacenters with low latency and high scalability, enabling new applications. The lecture also raises important research questions regarding durability, availability, data models, and multi-tenancy in advanced computing environments.
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