Download
cachingverfahren und proxies teil 1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Cachingverfahren und Proxies Teil 1 PowerPoint Presentation
Download Presentation
Cachingverfahren und Proxies Teil 1

Cachingverfahren und Proxies Teil 1

102 Views Download Presentation
Download Presentation

Cachingverfahren und Proxies Teil 1

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Cachingverfahren und ProxiesTeil 1 Jan Kästle – Universität Mannheim

  2. Übersicht • Cachen von verschiedenen Webinhalten • Statische Webseiten • Transaktionen • Dynamische Webseiten • Streaming Media • Grundlegende Cachingverfahren • Ersetzungsstrategien • Konsistenzerhaltung • Proaktives Cachen • Prefetching • Architekturen von Caches • Hierarchisches Caching • Verteiltes Caching • Cache Location Jan Kästle – Universität Mannheim

  3. Caching von verschiedenen Webinhalten • Statische Webseiten • HTML-Seiten oder Bilder • lassen sich einfach und effizient cachen • Transaktionen • müssen nach dem ACID Prinzip ausgeführt werden • Proxies müssen mit Transaktionsfähigkeiten ausgestattet werden  Verteilte Transaktionen brauchen erheblichen Koordinationsaufwand In existierenden Web Caching Systemen werden nur Leseoperationen auf Ebene des Proxies ausgeführt Jan Kästle – Universität Mannheim

  4. Caching von verschiedenen Webinhalten • Dynamische Webseiten • zum Beispiel mit der Endung *.jsp oder *.asp • werden vom Webserver bei jeder Anfrage neu generiert  Aufteilen der Inhalte in dynamischen und statischen Teil  Aktives Caching – Aufbereiten der Seite mit einem Applet  Auslagern der Präsentationsschicht auf die Caches: Jan Kästle – Universität Mannheim

  5. Caching von verschiedenen Webinhalten • Streaming Media • Große Audio oder Video Objekte On Demand Streaming:  Prefix Caching  Aufteilen der Media Dateien in Segmente Caches kooperieren, um Useranfrage zu beantworten Live Streaming:  Ausnutzen der Baumstruktur des CDN Jan Kästle – Universität Mannheim

  6. Übersicht • Cachen von verschiedenen Webinhalten • Statische Webseiten • Transaktionen • Dynamische Webseiten • Streaming Media • Grundlegende Cachingverfahren • Ersetzungsstrategien • Konsistenzerhaltung • Proaktives Cachen • Prefetching • Architekturen von Caches • Hierarchisches Caching • Verteiltes Caching • Cache Location Jan Kästle – Universität Mannheim

  7. Grundlegende Cachingverfahren • Ersetzungsstrategien (1) Ein wichtigstes Performancemaß: Trefferquote = Anzahl der Treffer / Gesamtanzahl der Anfragen an den Cache • Ersetzungsstrategien aus dem Bereich der Hauptspeicherverwaltung • Least Recently Used (LRU) • Least Frequently Used (LFU) • Ersetzung anhand bestimmter Merkmale • Größe der Objekte • Zeit das Objekt wieder vom Webserver zu beziehen Jan Kästle – Universität Mannheim

  8. Grundlegende Cachingverfahren • Ersetzungsstrategien (2) • Fortgeschrittenere Ersetzungsstrategien • beruhen auf Simulationen, um Effizienz zu steigern Abwandlung des LRU Algorithmus, der die Größe miteinbezieht: Size Adjusted LRU (SLRU) Idee: Große Objekte auf die länger nicht zugegriffen wurde beim Ersetzen vorziehen. • Admission Control • Soll Objekt überhaupt in den Cache aufgenommen werden ? • Beitrag des neuen Objekts zur Trefferquote im Vergleich zum Beitrag der zu ersetzenden Objekte Jan Kästle – Universität Mannheim

  9. Grundlegende Cachingverfahren • Konsistenz (1) • client-basierte Verfahren • verwenden Time to Live (TTL) Informationen aus dem HTTP Header z.B. max-age, expiresFelder • Validieren mittels If-Modified-Since Feld • periodisches Validieren oder auf User Anfrage • keine zuverlässige TTL Information? • HTTP 1.1 bietet explizite Unterstützung fürs Caching z.B. must-revalidate oder no-cache Felder Jan Kästle – Universität Mannheim

  10. Grundlegende Cachingverfahren • Konsistenz (2) • server-basierte Ansätze • Callback Promise Bei Abfrage eines Objekts vom Webserver erhält der Client ein Callback Promise. Wenn sich das Objekt ändert, informiert der Server den Client. • Leases Versprechen des Servers dem Proxy eine Invalidierungsnachricht zu schicken, wenn sich das Objekt in einer festgelegte Zeit ändert. Sowohl die hiergenannten client-basierten als auch die server-basierten Ansätze nutzen die Struktur eines Content Delivery Netzwerks nicht, da Daten auf Unicast Basis versendet werden. Jan Kästle – Universität Mannheim

  11. Grundlegende Cachingverfahren • Konsistenz (3) • Push-Caching (pre-population) • Der Inhalt wird bei einer Änderung (oder wenn ein neues Objekt hinzukommt) automatisch an die Caches verteilt. Push Caching statt dem traditionellen Pull Caching • Caches brauchen Objekte nicht mehr auf Gültigkeit prüfen • Verteilen des Content über Multicast Baum (auf Anwendungsebene) • Nachteil: wenn Objekte öfter geändert werden, als auf sie zugegriffen wird.  Kombination aus Push-Caching und Callback Promise Jan Kästle – Universität Mannheim

  12. Grundlegende Cachingverfahren • Prefetching • Greift ein Anwender vor allem auf neue Seiten zu, profitiert er nicht vom Caching.  Vorhersage zukünftiger Seitenzugriffe und cachen dieser Seiten • Rückschlüsse aus Struktur der abgerufenen Webseiten z.B. Links in den Dokumenten • Top10 Algorithmus verwendet Liste der beliebtesten Zugriffe auf einen Webserver in der Vergangenheit. Jan Kästle – Universität Mannheim

  13. Übersicht • Cachen von verschiedenen Webinhalten • Statische Webseiten • Transaktionen • Dynamische Webseiten • Streaming Media • Grundlegende Cachingverfahren • Ersetzungsstrategien • Konsistenzerhaltung • Proaktives Cachen • Prefetching • Architekturen von Caches • Verteiltes Caching • Hierarchisches Caching • Cache Location Jan Kästle – Universität Mannheim

  14. Architekturen von Caches • Architekturen von Caches (2) • Verteiltes Caching • Caches arbeiten auf derselben Ebene zusammen • Caches befinden sich alle an den Rändern der Netzwerke • Kommunikation mit dem Inter Cache Protocol (ICP) Durch Koordination kommt es zum Kommunikationsoverhead  Hash-basiertes Cachen  Zusammenfassung (digest) oder Content Directory ICP ICP Jan Kästle – Universität Mannheim

  15. Architekturen von Caches • Architekturen von Caches (2) • Hierarchisches Cachen • Caches sind in Form einer Baumstrukur aufgebaut • Einfache Struktur, geringer Koordinationsaufwand Nachteile: - Jede Ebene von Caches vergrößert das Delay - Auf verschiedenen Ebenen werden identische Kopien der Objekte gespeichert - Caches die nahe der Wurzel liegen können leicht zu Engpässen werden Jan Kästle – Universität Mannheim

  16. Architekturen von Caches • Architekturen von Caches (3) • Cache Location • an den Rändern der Netzwerke • idealerweise im Netz des Users oder seines ISPs Algorithmen zum Bestimmen der Standorte • Ziel ist es, entweder die Wartezeit der User zu minimieren oder unter einer gegebenen Wartezeit die Kosten der Infrastrukur zu minimieren • Beschränkungen sind Systemressourcen und Kapazitäten  Formulieren als Mixed Integer Linear Problem (MILP) und lösen mit MILP Solver  Greedy Algorithmen Jan Kästle – Universität Mannheim

  17. Ende Noch Fragen? Jan Kästle – Universität Mannheim