storage and memory hierarchy -...
TRANSCRIPT
![Page 1: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/1.jpg)
Storage and Memory Hierarchy
CS165
![Page 2: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/2.jpg)
What is the memory hierarchy ?
![Page 3: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/3.jpg)
HDD / Shingled HDD
Flash
Main Memory
L3
L2
L1
~2ms
Bigger CheaperSlower
FasterSmallerMore expensive
~100μs
~100ns
~3ns
<1ns
~10ns
![Page 4: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/4.jpg)
Why have such a hierarchy?
![Page 5: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/5.jpg)
Which one is faster?
As the gap grows, we need a deeper memory hierarchy
![Page 6: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/6.jpg)
HDD / Shingled HDD
Flash
Main Memory
L3
L2
L1
~2ms
Bigger CheaperSlower
FasterSmallerMore expensive
~100μs
~100ns
~3ns
<1ns
~10ns
4
page size ~4KB
block size(cacheline) 64B
![Page 7: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/7.jpg)
IO cost: Scanning a relation to select 10%
HDD
Main Memory
5-page buffer
IO#: Load 5 pages
![Page 8: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/8.jpg)
IO cost: Scanning a relation to select 10%
HDD
Main Memory
5-page buffer
IO#: 5
![Page 9: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/9.jpg)
IO cost: Scanning a relation to select 10%
HDD
Main Memory
5-page buffer
IO#: 5
Send for consumption
![Page 10: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/10.jpg)
IO cost: Scanning a relation to select 10%
HDD
Main Memory
5-page buffer
IO#: 5 Load 5 pages
![Page 11: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/11.jpg)
IO cost: Scanning a relation to select 10%
HDD
Main Memory
5-page buffer
IO#: 10
![Page 12: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/12.jpg)
IO cost: Scanning a relation to select 10%
HDD
Main Memory
5-page buffer
IO#: 10 Load 5 pages
![Page 13: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/13.jpg)
IO cost: Scanning a relation to select 10%
HDD
Main Memory
5-page buffer
IO#: 15
![Page 14: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/14.jpg)
IO cost: Scanning a relation to select 10%
HDD
Main Memory
5-page buffer
IO#: 15 Load 5 pages
![Page 15: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/15.jpg)
IO cost: Scanning a relation to select 10%
HDD
Main Memory
5-page buffer
IO#: 20
![Page 16: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/16.jpg)
IO cost: Scanning a relation to select 10%
HDD
Main Memory
5-page buffer
IO#: 20
Send for consumption
![Page 17: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/17.jpg)
What if we had an oracle (index)?
![Page 18: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/18.jpg)
IO cost: Scanning a relation to select 10%
HDD
Main Memory
5-page buffer
IO#:
Index
![Page 19: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/19.jpg)
IO cost: Use an index to select 10%
HDD
Main Memory
5-page buffer
IO#:
Index
Load the index
![Page 20: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/20.jpg)
IO cost: Use an index to select 10%
HDD
Main Memory
5-page buffer
IO#: 1
Index
![Page 21: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/21.jpg)
IO cost: Use an index to select 10%
HDD
Main Memory
5-page buffer
IO#: 1
Index
Load useful pages
![Page 22: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/22.jpg)
IO cost: Use an index to select 10%
HDD
Main Memory
5-page buffer
IO#: 3
Index
![Page 23: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/23.jpg)
What if useful data is in all pages?
![Page 24: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/24.jpg)
Scan or Index ?
HDD
Main Memory
5-page buffer
IO#:
Index
![Page 25: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/25.jpg)
Scan or Index ?
HDD
Main Memory
5-page buffer
IO#: 20 with scan
Index
IO#: 21 with index
![Page 26: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/26.jpg)
HDD / Shingled HDD
Flash
Main Memory
L3
L2
L1
~2ms
Bigger CheaperSlower
FasterSmallerMore expensive
~100μs
~100ns
~3ns
<1ns
~10ns
![Page 27: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/27.jpg)
Cache Hierarchy
L3
L2
L1
What is a core?
What is a socket?
![Page 28: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/28.jpg)
Cache HierarchyShared Cache: L3 (or LLC: Last Level Cache)
L3 is physically distributed in multiple sockets
L2 is physically distributed in every core of every socket
Each core has its own private L1 & L2 cacheAll levels need to be coherent*
L3
L2
L1 L1 L1 L1
0 1 2 3
L2 L2 L2
![Page 29: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/29.jpg)
Core 0 reads faster when data are in its L1
If it does not fit, it will go to L2, and then in L3
Can we control where data is placed?
We would like to avoid going to L2 and L3 altogether
But, at least we want to avoid to remote L2 and L3
And remember: this is only one socket!We have multiple of those!
Non Uniform Memory Access (NUMA)
0 1 2 3
L3
L1 L1 L1 L1
L2 L2 L2 L2
![Page 30: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/30.jpg)
Non Uniform Memory Access (NUMA)
0 1 2 3
L3
L1 L1 L1 L1
0 1 2 3
L3
L1 L1 L1 L1
Main Memory
L2 L2 L2 L2 L2 L2 L2 L2
![Page 31: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/31.jpg)
Non Uniform Memory Access (NUMA)
0 1 2 3
L3
L1 L1 L1 L1
0 1 2 3
L3
L1 L1 L1 L1
Main Memory
L2 L2 L2 L2 L2 L2 L2 L2
Cache hit!
![Page 32: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/32.jpg)
Non Uniform Memory Access (NUMA)
0 1 2 3
L3
L1 L1 L1 L1
0 1 2 3
L3
L1 L1 L1 L1
Main Memory
L2 L2 L2 L2 L2 L2 L2 L2
Cache miss!
Cache hit!
![Page 33: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/33.jpg)
Non Uniform Memory Access (NUMA)
0 1 2 3
L3
L1 L1 L1 L1
0 1 2 3
L3
L1 L1 L1 L1
Main Memory
L2 L2 L2 L2 L2 L2 L2 L2
Cache miss!
Cache hit!
Cache miss!
![Page 34: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/34.jpg)
Non Uniform Memory Access (NUMA)
0 1 2 3
L3
L1 L1 L1 L1
0 1 2 3
L3
L1 L1 L1 L1
Main Memory
L2 L2 L2 L2 L2 L2 L2 L2
Cache miss!
LLC miss!
Cache miss!
![Page 35: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/35.jpg)
Non Uniform Memory Access (NUMA)
0 1 2 3
L3
L1 L1 L1 L1
0 1 2 3
L3
L1 L1 L1 L1
Main Memory
L2 L2 L2 L2 L2 L2 L2 L2
Cache miss!
NUMAaccess!
Cache miss!
![Page 36: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/36.jpg)
Why knowing the cache hierarchy mattersint arraySize;for (arraySize = 1024/sizeof(int) ; arraySize <= 2*1024*1024*1024/sizeof(int) ; arraySize*=2)// Create an array of size 1KB to 4GB and run a large arbitrary number of operations{ int steps = 64 * 1024 * 1024; // Arbitrary number of steps int* array = (int*) malloc(sizeof(int)*arraySize); // Allocate the array int lengthMod = arraySize - 1;
// Time this loop for every arraySize int i; for (i = 0; i < steps; i++) { array[(i * 16) & lengthMod]++; // (x & lengthMod) is equal to (x % arraySize) }}
256KB
16MB
This machine has:256KB L2 per core16MB L3 per socket
NUMA!
![Page 37: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/37.jpg)
Storage HierarchyWhy not stay in memory?
Cost
Volatility
What was missing from memory hierarchy?
Durability
Capacity
![Page 38: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/38.jpg)
Storage Hierarchy
HDD
Flash
Main Memory
Shingled Disks
Tape
![Page 39: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/39.jpg)
Storage Hierarchy
HDD
Flash
Main Memory
Shingled Disks
Tape
![Page 40: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/40.jpg)
DisksSecondary durable storage that support both random and sequential access
● Data organized on pages/blocks (accross tracks)● Multiple tracks create an (imaginary) cylinder● Disk access time:
seek latency + rotational delay + transfer time(0.5-2ms) + (0.5-3ms) + <0.1ms/4KB
● Sequential >> random access (~10x)● Goal: avoid random access
![Page 41: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/41.jpg)
Seek time + Rotational delay + Transfer timeSeek time: the head goes to the right track
Short seeks are dominated by “settle” time(D is on the order of hundreds or more)
Rotational delay: The platter rotates to the right sector. What is the min/max/avg rotational delay for 10000RPM disk?
Transfer time: <0.1ms / page → more than 100MB/s
![Page 42: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/42.jpg)
FlashSecondary durable storage that support both random and sequential access
● Data organized on pages (similar to disks) which are further grouped to erase blocks● Main advantage over disks: random read is now much more efficient● BUT: Slow random writes!● Goal: avoid random writes
![Page 43: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/43.jpg)
The internals of flash
![Page 44: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/44.jpg)
Flash access time… depends on:
● device organization (internal parallelism)● software efficiency (driver)● bandwidth of flash packages● Flash Translation Layer (FTL), a complex device driver (firmware) which
○ tunes performance and device lifetime
![Page 45: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/45.jpg)
Flash vs HDDHDD
✓ Large - cheap capacity
✗ Inefficient random reads
Flash
✗ Small - expensive capacity
✓ Very efficient random reads
✗ Read/Write Asymmetry
![Page 46: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/46.jpg)
Storage Hierarchy
HDD
Flash
Main Memory
Shingled Disks
Tape
![Page 47: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/47.jpg)
TapesData size grow exponentially!
Cheaper capacity:
● Increase density (bits/in2) ● Simpler devices
Tapes:
● Magnetic medium that allowsonly sequential access(yes like an old school tape)
![Page 48: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/48.jpg)
Very difficult to differentiate between tracks“settle” time becomes
Increasing disk densityWriting a track affects neighboring tracksCreate different readers/writers Interleave writes tracks
![Page 49: Storage and Memory Hierarchy - DASlabdaslab.seas.harvard.edu/.../doc/sections/W5_Memory_intro.pdfMemory/Storage Hierarchy Access granularity (pages, blocks, cache-lines) Memory Wall](https://reader036.vdocuments.site/reader036/viewer/2022063005/5fb3a8941d81fb78836e5224/html5/thumbnails/49.jpg)
Memory/Storage Hierarchy
Access granularity (pages, blocks, cache-lines)
Memory Wall → deeper and deeper hierarchy
Next week: Algorithm design with a good understanding of the hierarchy -- External Sorting -- Cache-conscious algorithms
Summary