Storage 2: Cache optimizations and coherence

Overview

In this lecture, we describe access costs and cache optimization strategies.

Full lecture notes on storageTextbook readings

Storage hierarchy

Storage hierarchy

Systems cache examples

Expense of storage

Question

Historical costs of storage

Absolute costs ($/MB):

Year Memory (DRAM) Flash/SSD Hard disk
~1955 $613,000,000 $9,290
1970 $1,090,000 $388
1990 $221 $8.13
2003 $0.134 $0.455 $0.00194
2010 $0.0283 $0.00358 $0.000108
2025 $0.004 $0.00005 $0.000039

Relative costs (relative to hard disk storage in 2025):

Year Memory (DRAM) Flash/SSD Hard disk
~1955 15,700,000,000,000 238,000,000
1970 28,000,000,000 9,950,000
1990 5,670,000 208,000
2003 3,440 11,600 49.7
2010 727 91.8 2.79
2025 102 1.28 1.00

(Processor speed has also increased a lot—from 0.002 MIPS in 1951 to 750,000 MIPS now—but this is “only” 375,000,000x.)

Access cost framework

Example: System calls

Beyond latency

Relationship of latency and throughput

High-latency, high-throughput I/O

AWS Snowmobile

Access costs, latency, and throughput

Reducing access costs

Cache optimizations

Batching

Prefetching

Write coalescing

Parallel or background access

Question

Exploring performance of file access

Exploring performance of access patterns