diff --git a/lectures/memory-hierarchies/slides.qmd b/lectures/memory-hierarchies/slides.qmd index 53f40e71ed21fc0d850d9e4704bc6c3bf6840bb3..ed4ca013289ca20f6fa72aeb54e0cbb44bf61e82 100644 --- a/lectures/memory-hierarchies/slides.qmd +++ b/lectures/memory-hierarchies/slides.qmd @@ -19,6 +19,16 @@ author: "Dominik Zobel and Florian Ziemen" +## Processor speed vs. memory speed + +{width=70%} + +:::{.smaller} +Based on figure from "Computer Architecture" by _J. Hennessy_ and _D. Patterson_ +::: + + + ## Access time example (1/2) {.leftalign} <!-- @@ -238,7 +248,7 @@ T_{avg,s} &= H_1 T_1 + ((1-H_1)\cdot H_2)\cdot(T_1+T_2)\\ -## Memory Pyramid +## Memory Pyramid (upwards) :::{.r-stack} @@ -259,6 +269,127 @@ T_{avg,s} &= H_1 T_1 + ((1-H_1)\cdot H_2)\cdot(T_1+T_2)\\ +## Memory Pyramid (downwards) - check numbers {auto-animate=true} + +Order of magnitude on Levante (AMD EPYC 7763) + +- Base frequency: 2.45 GHz + + +## Memory Pyramid (downwards) - check numbers {auto-animate=true} + +Order of magnitude on Levante (AMD EPYC 7763) + + Access time (ns) Capacity +------------ ----------------- --------- +Register ~0.4 1 KB + + +:::{.incremental} + + - L1 Cache about 3 times slower + +::: + + +## Memory Pyramid (downwards) - check numbers {auto-animate=true} + +Order of magnitude on Levante (AMD EPYC 7763) + + Access time (ns) Capacity +------------ ----------------- --------- +Register ~0.4 1 KB +L1 Cache ~1.1 32 KB + +:::{.incremental} + + - Same factors for L2 and L3 + +::: + + +## Memory Pyramid (downwards) - check numbers {auto-animate=true} + +Order of magnitude on Levante (AMD EPYC 7763) + + Access time (ns) Capacity +------------ ----------------- --------- +Register ~0.4 1 KB +L1 Cache ~1.1 32 KB +L2 Cache ~3.3 512 KB +L3 Cache ~12.8 32 MB + +:::{.incremental} + + - 256 GB of main memory (default) with a theoretical memory bandwidth of ~200 GB/s + +::: + + + +## Memory Pyramid (downwards) - check numbers {auto-animate=true} + +Order of magnitude on Levante (AMD EPYC 7763) + + Access time (ns) Capacity +------------ ----------------- --------- +Register ~0.4 1 KB +L1 Cache ~1.1 32 KB +L2 Cache ~3.3 512 KB +L3 Cache ~12.8 32 MB +Main Memory 60 256 GB + +:::{.incremental} + + - Fast Data as Flash based file system + +::: + + + +## Memory Pyramid (downwards) - check numbers {auto-animate=true} + +Order of magnitude on Levante (AMD EPYC 7763) + + Access time (ns) Capacity +------------ ----------------- --------- +Register ~0.4 1 KB +L1 Cache ~1.1 32 KB +L2 Cache ~3.3 512 KB +L3 Cache ~12.8 32 MB +Main Memory 60 256 GB +SSD 100 1 PB + +:::{.incremental} + + - File system at Levante ~130 PB, limited by quota for project + +::: + + + +## Memory Pyramid (downwards) - check numbers {auto-animate=true} + +Order of magnitude on Levante (AMD EPYC 7763) + + Access time (ns) Capacity +------------ ----------------- --------- +Register ~0.4 1 KB +L1 Cache ~1.1 32 KB +L2 Cache ~3.3 512 KB +L3 Cache ~12.8 32 MB +Main Memory ~60 256 GB +SSD ~100 1 PB +Hard disk ~3000 130 PB + +:::{.incremental} + + - Tape backup also possible + +::: + + + ## Memory Mountain (1/2) Describe what is done @@ -295,4 +426,4 @@ $\approx$ Factor 20 between best and worst access # Resources {.leftalign} - "Computer Systems: A Programmer's Perspective" by _R. Bryant_ and _D. O'Hallaron_, Pearson - + - "Computer Architecture" by _J. Hennessy_ and _D. Patterson_, O'Reilly diff --git a/lectures/memory-hierarchies/static/speed.png b/lectures/memory-hierarchies/static/speed.png new file mode 100644 index 0000000000000000000000000000000000000000..b0d15b9f266dfad93d055244f99282ab382c899e Binary files /dev/null and b/lectures/memory-hierarchies/static/speed.png differ