Engineering Kiosk

Der Engineering Kiosk ist der deutschsprachige Software-Engineering-Podcast mit Wolfgang Gassler und Andy Grunwald rund um die Themen Engineering-Kultur, Open Source, Menschen, Technologie und allen anderen Bereichen, die damit in Verbindung stehen.Wir, Wolfgang Gassler und Andy Grunwald, sind beide Software Engineers und Engineering Manager, die sich bei ihrer beruflichen Laufbahn bei @trivago kennengelernt haben.Zusammen bringen sie über 30 Jahre Tech-Erfahrung an das Mikrofon und lassen dabei zwei Welten aufeinander prallen: Die Österreichische und akademische Welt von Wolfgang mit der praktischen und deutschen Ruhrpottschnauze von Andy.Ziel des Podcasts ist der Austausch zu (Senior) Engineering Themen und ggf. etwas Selbsttherapie ????Dieser Podcast ist für alle Software Engineers und -Enwickler, Teamleads, Open-Source- und Indie Hacker, Leute aus dem Tech-Sektor (Product Manager, Data Scientist, etc.) und alle weiteren Engineering-Interessierten.Feedback an stehtisch@engineeringkiosk.dev oder über Twitter @EngKiosk ( https://twitter.com/EngKiosk )

https://redcircle.com/shows/engineeringkiosk

subscribe
share






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


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)

  • 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


fyyd: Podcast Search Engine
share








 May 30, 2023  59m