Current Page: | Greybox » Authoring » Course ID: medieninformatik » Modules » Module ID: mmserver » Learning Units » Unit ID: 060caching2 |
---|---|
Last Modified: | Tuesday, 2015-05-05 - 08:09:06 |
Tools: | Validate — Preview XML Preview HTML Preview PDF |
Alternative: | Printable HTML |
Title: | Caching: Ziele und Charakterisierung | ||
---|---|---|---|
Abstract: | Mittels Caching können viele Vorteile erzielt werden: Steigerung der Serverkapazität, Reduktion der Zugriffszeit, Entlastung des Netzwerkes und der Server, optimale Speicherreorganisation und Unterstützung bei Datenmigration in Speicherorganisationen. Um diese Vorteile auch in eine Multimedia Umgebung tragen zu können, müssen Caching Strategien den spezifischen Gesetzmäßigkeiten angepasst werden. | ||
Status: | content final - to do: Glossar und Akronyme | Version: | 2005-10-10 |
History: |
2005-10-10 (Thomas Migl): Abstract hinzugefügt |
Author 1: | Thomas Migl | E-Mail: | migl@ims.tuwien.ac.at |
---|---|---|---|
Author 2: | (empty) | E-Mail: | (empty) |
Author 3: | (empty) | E-Mail: | (empty) |
Author 4: | (empty) | E-Mail: | (empty) |
Author 5: | (empty) | E-Mail: | (empty) |
Organization: | Technische Universität Wien; Institut für Softwaretechnik und Interaktive Systeme; Arbeitsgruppe für Interaktive Multimediale Systeme; http://www.ims.tuwien.ac.at/ |
Einleitung [sita2000, 220]1auto
2autoCaching kann in den verschiedensten Teilen eines Systems eingesetzt werden, abhängig davon, welche speziellen Aufgaben es erfüllen soll. Eines ist allerdings allen Caching Strategien gemein, nämlich das Ziel, vorhandene Ressourcen besser nutzen und die Effektivität des Datendurchsatzes und der Netzwerkbandbreite steigern zu können. In dieser Lerneinheit besprechen wir anfangs, wie und wo welche Vorteile mittels Caching erzielt werden können. Anschließend werden Charakteristika beschrieben, die bei der Konzipierung von Multimedia Caching Strategien eine große Rolle spielen und Eigenschaften aufgelistet, die von allen Multimedia Caching Strategien erwartet werden. Erzielbare Vorteile mittels Caching1auto
2Steigerung der ServerkapazitätAls Kapazität eines Servers wird hier das Performance-Maß Gleichzeitigkeit (siehe Lerneinheit Einführung und Grundlagen) der servicierten Clients verstanden. Die Gleichzeitigkeit, d.h. wie viele Clients mit unterschiedlichen Datenströmen gleichzeitig versorgt werden können, ist durch die Leistungsfähigkeit der CPU, der Netzwerkinterfaces oder der Speicherhardware nach oben hin beschränkt. Werden nun sehr häufig angeforderte Dateien (zur Gänze oder nur Teile davon) temporär auf Cache Memories ausgelagert, bedeutet dies für den Server eine entsprechende Entlastung: Es können mehr Clients gleichzeitig bedient werden, was einer Steigerung der Serverkapazität entspricht. Reduktion der ZugriffswartezeitReduktion basierend auf SpeicherhierarchieDie Zugriffswartezeit hängt wesentlich davon ab, wo sich die angeforderte Datei innerhalb der Speicherhierarchie befindet: Bei einem Request nach Daten, die auf einem Laufwerk stehen, muss der Client mit durch die Suchprozedur verursachte Verzögerungen rechnen. Allgemein gilt, dass die Zugriffswartezeit steigt, je tiefer das Speichermedium in der Speicherhierarchie steht. Beispiele für lange Zugriffswartezeiten sind Daten gespeichert auf CD-ROMs, Video-DVDs, CD-Wechsler, Magnetbänder. Daten hingegen, die sich in einem Cache Memory befinden, können dem Client ohne Verzögerung geliefert werden. Reduktion mittels PrefetchingGeringe Verzögerungszeiten sind auch vor allem für Anwendungen wichtig, die eine geringe Operationswartezeit (Operation Latency, siehe Lerneinheit Einführung und Grundlagen) benötigen. Beispiele geringe Operationswartezeit bei VOD und, Virtual RealityBei Video-On-Demand Anwendungen sollen VCR Steuerungen (Schneller Vor- und Rücklauf etc) in Echtzeit möglich sein, bei einer effektiven Virtual Reality Anwendung muss ein schneller Zugriff auf die verschiedenen Teile eines Medienobjektes gewährleistet sein. Prefetching TechnikBei vielen Anwendungen kann man schon im Vorhinein sagen, welche Daten in nächster Zukunft mit großer Wahrscheinlichkeit vom Client aufgerufen werden. Diese Daten liest der Server nun schon vorab in ein Cache Memory aus, werden sie dann tatsächlich vom Client aufgerufen, bekommt dieser sie ohne Wartezeit zugestellt. Die Technik des Vorauslesens von Daten bezeichnet man als Prefetching. Weiteres Beispiel von PrefetchingPrefetching wird auch bei multimedialen Streaming Anwendungen eingesetzt, um eine kontinuierliche Wiedergabe gewährleisten zu können. Entlastung des NetzwerkesEin large-scale Video Server besteht aus lokalen Server und einem Remote Storage Server. Der Lokale Server beliefert seine Clients mit Daten, die ihm vom Remote Storage Server zugestellt werden. Um das Netzwerk zu entlasten, kann der lokale Server schon im Vorhinein jene Daten, die dem Request Muster seiner Kundschaft in etwa entsprechen, vom Remote Storage anfordern und in ein lokales Cache Memory (oder lokalem Laufwerk) zwischenspeichern. Werden nun diese Daten von den Clients tatsächlich angefordert, werden sie direkt vom lokalen Cachespeicher (oder lokalem Laufwerk) ausgelesen, das Netzwerk selbst wird durch diese Requests nicht weiter belastet. Durch Caching kann man somit die an das Netz geforderte Bandbreite reduzieren beziehungsweise bei festgelegter Netzwerkbandbreite eine bessere Performance erzielen. Dieses Feature ist besonders dann wichtig, wenn man bedenkt, dass hohe Netz-Bandbreiten immer mit sehr hohen Kosten einhergehen. Entlastung einzelner ServerEin Netzwerk ist ein Verbund zahlreicher Server und Speichergeräten. Diese unterscheiden sich voneinander durch ihre individuellen Performancekennzahlen und durch die Daten, die auf ihnen abgelegt sind. Handelt es sich um Daten, die sehr oft abgefragt werden und/oder um einen Server (bzw. Speichergerät) mit mäßiger Performance, sind die Belastungsgrenzen für entsprechenden Server schnell erreicht, während andere Server im Netz zur selben Zeit vielleicht nur wenig zu tun haben. Durch Caching kann nun erreicht werden, dass Aufgaben, die an einem Server gestellt werden, auf andere Server im Netz effektiv aufgeteilt werden. Bei large-scale Video Servers können sowohl die lokalen Servers die Remote Storage Servers wie auch umgekehrt entlasten. Unterstützung von Datenmigration in SpeicherorganisationenZu einer effektiven Organisation von Daten innerhalb eines Netzwerkes sind die Eigenschaften Ortsabhängigkeit (Spatial Locality) und Zeitabhängigkeit (Temporal Locality) eines „Request Arrival Prozess“ (Lerneinheit Einführung und Grundlagen) zu berücksichtigen. Für eine gute Gesamtperformance des Netzwerkes müssen Daten auf Speichergeräten abgelegt werden, die den jeweiligen Ansprüchen gerecht werden: Daten, die sehr oft angefordert werden, stellen höher Anforderungen an Bandbreite und an die Speicherkapazität des Speichergerätes als weniger beliebte Daten. Es hat sich gezeigt, dass die richtige Dimensionierung der individuellen Speicherplätze eine wesentliche Rolle für die Gesamtperformance eines Netzwerkes spielt. Um eine gleich bleibende Netzperformance gewährleisten zu können, muss daher die Speicherorganisation regelmäßig neu adjustiert werden. Dazu bedient man sich des Cachings. Speicherreorganisation mittels CachingAufteilung der Daten auf verschiedene SystemkomponentenVon Clients sehr begehrte Daten werden zuerst gecacht, die Cache Inhalte werden dann in Form von permanenten Kopien auf unterschiedliche Server (oder Speichergeräte) gestellt. Zur gleichen Zeit werden Kopien von Dateien, die nicht mehr so beliebt sind, von den Servern gelöscht. So ist gewährleistet, dass von zurzeit prominenten Dateien immer genug Kopien im Netz vorhanden sind, die Anzahl der Kopien von Dateien, die an Beliebtheit verlieren, entsprechend reduziert wird und die Cachespeicher regelmäßig entleert und für aktuelle Anforderungen wieder verwendet werden können. Dynamische Segment Kopien [adan1995]Man betrachte eine Datei, deren mittels Striping (Lerneinheit RAID Speichersysteme) erzeugten Segmente über verschiedene Speichermedien verstreut sind. Wird die Datei nun ausgelesen, werden gleichzeitig die Segmente gecacht. So kann man einen Ausgleich der Belastungen der einzelnen Stripinggruppen erreichen. 3Performancemaße eines MultimediaserversDie hier zitierten Server Performancekennzahlen werden in der Lerneinheit Einführung und Grundlagen erklärt. Charakterisierung von Multimedia Caching - Strategien1Multimedia geeignete StrategienWichtige Zusammenhänge für Caching Strategien in Multimedia Umgebungen
Allgemeine Erwartungen an Multimedia Caching Strategien
2Multimedia geeignete StrategienIm Folgenden werden Zusammenhänge beschrieben, die bei der Konzipierung von Caching Strategien in Multimedia Umgebungen zu beachten sind. Stream-dependent Caching versus Block-level CachingMultimedia Applikationen unterscheiden sich von traditionellen Anwendungen nicht nur durch den großen Bedarf an Speicherplatz und durch die zur Übertragung notwendig hohe Bandbreite, sondern auch durch die Notwendigkeit, dass ein Multimedia Dokument sequentiell und kontinuierlich an die Clients geliefert werden muss. Traditionelle Block-Level Cache Strategien cachen Datenblöcke, ohne dabei den Zusammenhang der gecachten Blöcke zueinander zu berücksichtigen. Diese Methode kann also keine kontinuierliche Präsentation garantieren. Eine Stream-dependent Caching Strategie hingegen verleiht jedem Datenblock eine Semantik. So kann zum Beispiel jeder Datenblock ein Frame einer Videosequenz repräsentieren. Die diversen Cache Strategien für Multimedia Anwendungen berücksichtigen nun, in welchem zeitlichen Zusammenhang die Datenblöcke zueinander stehen und können so den Cachespeicherinhalt fortwährend aktualisieren, sodass immer eine Kontinuität der Präsentation gewährleistet ist. Memory versus Storage CachingCaching Strategien müssen sich an die dem lokalen Server zur Verfügung stehenden Ressourcen anpassen. Handelt es sich um Memory Cache, zielt die Cache Strategie rein auf die optimale Nutzung des vorhandenen Cache Platzes. Bei gegebenem Cache Platz sollen so viele unterschiedliche Datenströme wie nur möglich bedient werden können. Handelt es sich bei den Ressourcen hingegen um Storage Cache (es wird auf Laufwerke gecacht), muss neben Speicherplatz auch die beschränkte Bandbreite des Speichermediums berücksichtigt werden. Für ein Memory Cache gilt, dass Daten praktisch verzögerungsfrei hinein geschrieben bzw. den Clients geliefert werden können. Für Cache Daten auf einem Laufwerk müssen hingegen die entsprechenden Verzögerungszeiten mit einkalkuliert werden. Caching versus PrefetchingDem Caching sehr verwandt ist das Puffern von Datenblöcken eines Multimedia Dokumentes (Prefetching): Es werden dabei Datenblöcke, die für eine kontinuierliche Präsentation notwendig sind, schon im Vorhinein in einen Puffer eingelesen. So kann zum Beispiel die Varianz der Ansprechzeit eines Laufwerkes oder Unregelmäßigkeiten verursacht durch Datenkommpression ausgeglichen und eine aussetzerfreie Wiedergabe gewährleistet werden. Durch Prefetching ist es auch möglich, dass ein Multimedia Dokument, das auf mehrere Speicher verteilt ist, kontinuierlich wiedergegeben werden kann. Unterschied zwischen Puffer- und CachespeicherungUnter Puffern versteht man ausschließlich das kurzzeitige Speichern von Daten, um zeitliche Verzögerungen und Unregelmäßigkeiten ausgleichen zu können. Caching hingegen hat stets die Reduktion von Overhead zum Ziel. Beispiel Caching versus PuffernWird ein Datenstrom kurzzeitig zwischengespeichert, um einem Client eine kontinuierliche Wiedergabe zu garantieren, spricht man von Puffern. Wird hingegen der Datenstrom zwischengespeichert, um nachfolgende Requests damit bedienen zu können, handelt es sich um Caching. Allgemeine Erwartungen an Multimedia Caching StrategienAdaptive BelastungAlle Caching Strategien sollen die dynamischen Belastungsschwankungen in einer Multimedia Umgebung und eine Heterogenität verursacht durch große und kleine Multimedia Dateien bewältigen können. Weiters müssen sie die Verschiedenheit der Server ausgleichen können. Zur Lösung dieser Aufgabestellung werden Strategien für Routing der Requests () und Serverbelastungsverteilung entwickelt. Unterstützung von VCR SteuerbefehleFür eine sinnvolle Nutzung von Multimedia Dokumenten in einer Multimedia Umgebung ist Interaktivität mittels VCR Befehlen unerlässlich: Um zielgerichtet durch das Dokument navigieren zu können, müssen dem Benutzer Steuerbefehle wie Schneller Vor- und Rücklauf, freie Wahl des Einstiegpunktes, Pause etc. möglich sein. Jeder VCR Befehl unterbricht das sequentielle Lesen einer Multimedia Datei. Nach Beendigung eines VCR Befehls soll die Wiedergabe ohne Verzögerung fortgesetzt werden können. Dieser Anforderung kann man nur durch den Einsatz von Caching nachkommen. Für Netzwerke, die für Multimedia Inhalte geeignet sein sollen, ist daher eine generelle Caching Strategie notwendig, die VCR Befehle und die dadurch verursachten, aber nicht vorhersehbaren Schwankungen der benötigten Netzwerkbandbreite optimal handhabt. Integration mit anderen Ressource optimierenden StrategienEs gibt viele Caching Strategien, die eigens für Multimedia Anwendungen konzipiert wurden. Ihre Arbeitsweisen basieren dabei auf der Kenntnis des speziellen Charakters einer Multimedia Dokumentenabfrage: Multimedia Dokumente sind meist sehr groß und werden im Falle eines Requests sequentiell (streaming) dem Clients übertragen. Handelt es sich um ein sehr populäres Dokument, greifen viele Clients gleichzeitig darauf zu, wobei die verschiedenen Clients sich in der Regel auf unterschiedlichen Sequenzen des Multimedia Dokumentes befinden. Eine Möglichkeit ist nun, Clients, die auf nahe liegende Sequenzen zugreifen, zu einer Gruppe zusammenzufassen (batching) und per Multicast (Alle Clients erhalten den gleichen Datenstrom) zu bedienen. In diesem Fall muss die Caching Strategie in eine Batching Strategie integriert werden. Eine weitere Möglichkeit ist, dass unmittelbar nach einem Request der Client mit einem eigenen Datenstrom beliefert wird, dieser aber dann mit einer Wiedergabegeschwindigkeit gespielt wird, sodass der Client möglichst schnell an eine Multicastgruppe übergeben werden kann ( Näheres dazu in Lerneinheit Memory Cache: SAM und L/MRP). Der individuelle Datenstrom geht in einen Multicast Datenstrom über (Merge). Hier muss also die Caching Strategie in eine Ressource optimierende Merge Strategie integriert werden. |
Akronyme COPU - Continuous Object Presentation Unit CPU - Central Processing Unit VCR – Videocassett e Recorder VOD – Video on Demand VR – Virtual Reality Glossar Gleichzeitigkeit (concurrency) - Das Maß der „Gleichzeitigkeit“ gibt die Anzahl von unabhängigen Datenströmen an, die ein Server gleichzeitig generieren kann. Multicast - Sammelsendung Operationswartezeit (Operation Latency) - Zeit, die benötigt wird, um interaktive Operationen auszuführen. Prefetching – Das Lesen von Daten vor und parallel zu ihrer Verwendung. Zugriffswartezeit (Access Latency) – ist jene Zeit auf Clientseite, die zwischen Absenden eines Requests und dem Eintreffen des gewünschten multimedialen Dokuments vergeht. |