Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Cachingverfahren und Proxies Teil 1

Ähnliche Präsentationen


Präsentation zum Thema: "Cachingverfahren und Proxies Teil 1"—  Präsentation transkript:

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

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

14 Architekturen von Caches
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
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
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 Jan Kästle – Universität Mannheim
Ende Noch Fragen? Jan Kästle – Universität Mannheim


Herunterladen ppt "Cachingverfahren und Proxies Teil 1"

Ähnliche Präsentationen


Google-Anzeigen