#73 Cache-freundliches Programmieren, CPU-Caches, Ersetzungsstrategien und Cache-Invalidierung
60 Minuten
Podcast
Podcaster
Beschreibung
vor 1 Jahr
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.
Unsere aktuellen Werbepartner findest du auf
https://engineeringkiosk.dev/partners
Das schnelle Feedback zur Episode:
(top) (geht so)
Feedback (gerne auch als Voice Message)
EngKiosk Community:
https://engineeringkiosk.dev/join-discord
Email: stehtisch@engineeringkiosk.dev
Mastodon: https://podcasts.social/@engkiosk
Twitter: https://twitter.com/EngKiosk
WhatsApp +49 15678 136776
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
Links
KIP-932: Queues for Kafka:
https://cwiki.apache.org/confluence/display/KAFKA/KIP-932%3A+Queues+for+Kafka
Engineering Kiosk Episode #65 Clean Code macht Software
langsam:
https://engineeringkiosk.dev/podcast/episode/65-clean-code-macht-software-langsam/
Phil Karlton's original home page from Netscape:
https://www.karlton.org/karlton/
Engineering Kiosk Episode #67 Die Netz-Entlastung des
Internets: Content Delivery Networks (CDNs):
https://engineeringkiosk.dev/podcast/episode/67-die-netz-entlastung-des-internets-content-delivery-networks-cdns/
Redis Key eviction: https://redis.io/docs/reference/eviction/
Engineering Kiosk Episode #54 Key Value Store Redis:
Einsatzmöglichkeiten, Fallstricke, Datenstrukturen, HyperLogLog
und (flüchtige) Persistenz:
https://engineeringkiosk.dev/podcast/episode/54-key-value-store-redis-einsatzm%C3%B6glichkeiten-fallstricke-datenstrukturen-hyperloglog-und-fl%C3%BCchtige-persistenz/
Cache replacement policies auf Wikipedia:
https://en.wikipedia.org/wiki/Cache_replacement_policies
Why Cache Invalidation is Hard:
https://levelup.gitconnected.com/why-cache-invalidation-is-hard-and-how-to-solve-it-7921ffe4f6eb
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
Wolfgang Gassler (https://mastodon.social/@woolf)
Andy Grunwald (https://twitter.com/andygrunwald)
Feedback (gerne auch als Voice Message)
EngKiosk Community:
https://engineeringkiosk.dev/join-discord
Email: stehtisch@engineeringkiosk.dev
Mastodon: https://podcasts.social/@engkiosk
Twitter: https://twitter.com/EngKiosk
WhatsApp +49 15678 136776
Weitere Episoden
1 Stunde 16 Minuten
vor 5 Tagen
1 Stunde 11 Minuten
vor 1 Woche
1 Stunde 6 Minuten
vor 2 Wochen
1 Stunde 18 Minuten
vor 3 Wochen
58 Minuten
vor 1 Monat
In Podcasts werben
Kommentare (0)