Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Jan Kästle – Universität Mannheim Cachingverfahren und Proxies Teil 1."—  Präsentation transkript:

1 Jan Kästle – Universität Mannheim Cachingverfahren und Proxies Teil 1

2 Jan Kästle – Universität Mannheim Ü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

3 Jan Kästle – Universität Mannheim 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

4 Jan Kästle – Universität Mannheim 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:

5 Jan Kästle – Universität Mannheim 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

6 Jan Kästle – Universität Mannheim Ü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

7 Jan Kästle – Universität Mannheim 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

8 Jan Kästle – Universität Mannheim 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

9 Jan Kästle – Universität Mannheim Grundlegende Cachingverfahren Konsistenz (1) client-basierte Verfahren verwenden Time to Live (TTL) Informationen aus dem HTTP Header z.B. max-age, expires Felder 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

10 Jan Kästle – Universität Mannheim 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.

11 Jan Kästle – Universität Mannheim 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

12 Jan Kästle – Universität Mannheim 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.

13 Jan Kästle – Universität Mannheim Ü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

14 Jan Kästle – Universität Mannheim 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

15 Jan Kästle – Universität Mannheim 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

16 Jan Kästle – Universität Mannheim 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

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


Herunterladen ppt "Jan Kästle – Universität Mannheim Cachingverfahren und Proxies Teil 1."

Ähnliche Präsentationen


Google-Anzeigen