#73 Cache-freundliches Programmieren, CPU-Caches, Ersetzungsstrategien und Cache-Invalidierung

#73 Cache-freundliches Programmieren, CPU-Caches, Ersetzungsstrategien und Cache-Invalidierung

Diese Episode in deiner Podcast-App hören...

Shownotes / Worum geht's?

There are only two hard things in Computer Science: cache invalidation and naming things.

Caches sind einfach überall. Jede Aktion auf einem Computer nutzt eine Vielzahl an Caches. Sei es der Browser Cache, DNS-Cache, In-Memory Cache auf dem Server oder dein lokaler CPU Cache L1-L4. Doch was sind Caches eigentlich? Welche Cache-Layer und Cache-Hierarchien gibt es? Wie funktionieren Caches? Wie kann ich Cache-freundlich programmieren? Was passiert, wenn der Cache voll ist und was sind Eviction-Policies? Wie relevant sind heutzutage eigentlich die CPU-Caches L1 bis L4 für die normalen Software-Entwickler*innen? Wie kann ich verifizieren, ob mein Code Cache-freundlich ist? Und warum ist Cache Invalidation eigentlich ein hartes Problem?

Bonus: Was Bandlaufwerke mit Caching und niederländisches Hähnchen mit Queues zu tun haben.


Das schnelle Feedback zur Episode:

👍 (top) 👎 (geht so)


Feedback (gerne auch als Voice Message)


Gerne behandeln wir auch euer Audio Feedback in einer der nächsten Episoden, einfach Audiodatei per Email oder WhatsApp Voice Message an +49 15678 136776



Sprungmarken

(00:00:00) Intro

(00:01:02) Es gibt nur zwei harte Probleme in der Informatik

(00:06:56) Caching und Cache Invalidierung

(00:07:25) Was ist ein Cache?

(00:10:36) Jeder nutzt Caches jeden Tag: Cache-Layer

(00:12:34) Cache-Hierarchien und wie relevant sind CPU Caches (L1 bis L4) heute noch?

(00:16:39) Wie funktioniert eigentlich ein Cache? Cache Hit, Cache Miss, Cache Ratio

(00:21:27) Ersetzungsstrategien / Eviction-Policies: FIFO, LIFO, LRU, TTL, MRU, LFU

(00:31:57) Wie kann ich Cache-Freundlich programmieren um den L1 bis L4 Cache richtig zu nutzen und Monitoring von L1 bis L4 Caches

(00:48:39) Ist die Funktionsweise von L1 bis L4 Caches valide für andere Arten von Caches?

(00:51:12) Warum ist Cache Invalidierung ein hartes Problem?


Hosts


Feedback (gerne auch als Voice Message)