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

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

60 Minuten

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

Kommentare (0)

Lade Inhalte...

Abonnenten

15
15
:
: