Geheimes Lager (Computerwissenschaft)

In der Informatik ist ein geheimes Lager ein Bestandteil, der durchsichtig Daten versorgt, so dass Zukunft bittet, für den Daten schneller gedient werden kann. Die Daten, der innerhalb eines geheimen Lagers versorgt wird, könnten Werte sein, die früher oder Duplikate von ursprünglichen Werten geschätzt worden sind, die anderswohin versorgt werden. Nach Wunsch werden Daten im geheimen Lager enthalten (Erfolg des geheimen Lagers), dieser Bitte kann durch das einfache Lesen des geheimen Lagers gedient werden, das verhältnismäßig schneller ist. Sonst (geheimes Lager Fräulein), die Daten müssen wieder gerechnet oder von seinem ursprünglichen Speicherelement herbeigeholt werden, das verhältnismäßig langsamer ist. Folglich, je größer die Zahl von Bitten, denen vom geheimen Lager gedient werden kann, desto schneller die gesamte Systemleistung wird.

Um effizient gekostet zu werden und einen effizienten Gebrauch von Daten zu ermöglichen, sind geheime Lager relativ klein. Dennoch haben sich geheime Lager in vielen Gebieten der Computerwissenschaft bewährt, weil Zugriffsmuster in typischen Computeranwendungen Gegend der Verweisung haben. Verweisungen stellen zeitliche Gegend aus, wenn Daten wieder gebeten werden, der kürzlich bereits gebeten worden ist. Verweisungen stellen Raumgegend aus, wenn Daten gebeten werden, der in der Nähe von Daten physisch versorgt wird, der bereits gebeten worden ist.

Operation

Hardware führt geheimes Lager als ein Block des Gedächtnisses für die vorläufige Lagerung von Daten durch, um wahrscheinlich wieder verwendet zu werden. Zentraleinheiten und Festplatten verwenden oft ein geheimes Lager, wie WWW-Browser und Webserver tun.

Ein geheimes Lager wird aus einer Lache von Einträgen zusammengesetzt. Jeder Zugang hat eine Gegebenheit (ein Goldklumpen (Stück) von Daten) - eine Kopie derselben Gegebenheit in einem sich rückwärts bewegenden Laden. Jeder Zugang hat auch ein Anhängsel, das die Identität der Gegebenheit im sich rückwärts bewegenden Laden angibt, dessen der Zugang eine Kopie ist.

Wenn der Kunde des geheimen Lagers (eine Zentraleinheit, WWW-Browser, Betriebssystem) auf eine Gegebenheit zugreifen muss, die gewagt ist, im sich rückwärts bewegenden Laden zu bestehen, überprüft es zuerst das geheime Lager. Wenn ein Zugang mit einem Anhängsel gefunden werden kann, das diese der gewünschten Gegebenheit vergleicht, wird die Gegebenheit im Zugang stattdessen verwendet. Diese Situation ist als ein Erfolg des geheimen Lagers bekannt. Also, zum Beispiel könnte ein WWW-Browser-Programm sein lokales geheimes Lager auf der Platte überprüfen, um zu sehen, ob es eine lokale Kopie des Inhalts einer Webseite an einer besonderen URL-ADRESSE hat. In diesem Beispiel ist die URL-ADRESSE das Anhängsel, und der Inhalt der Webseite ist die Gegebenheit. Der Prozentsatz von Zugängen, die auf Erfolge des geheimen Lagers hinauslaufen, ist als die Erfolg-Rate oder das Erfolg-Verhältnis des geheimen Lagers bekannt.

Die alternative Situation, wenn das geheime Lager befragt und gefunden wird, eine Gegebenheit mit dem gewünschten Anhängsel nicht zu enthalten, ist bekannt als ein geheimes Lager Fräulein geworden. Die vorher unversteckte Gegebenheit, die vom sich rückwärts bewegenden Laden während des Fräuleins herbeigeholt ist, das behandelt, wird gewöhnlich ins geheime Lager kopiert, für den folgenden Zugang bereit.

Während eines geheimen Lagers Fräulein vertreibt die Zentraleinheit gewöhnlich einen anderen Zugang, um Platz für die vorher unversteckte Gegebenheit zu machen. Das heuristische hat gepflegt, den Zugang auszuwählen, um Schleudersitz zu betätigen, ist als die Ersatzpolitik bekannt. Eine populäre Ersatzpolitik, "am wenigsten kürzlich verwendet" (LRU), ersetzt den am wenigsten kürzlich verwendeten Zugang (sieh Algorithmus des geheimen Lagers). Effizientere geheime Lager schätzen Gebrauch-Frequenz gegen die Größe des versorgten Inhalts, sowie die Latenz und Durchflüsse sowohl für das geheime Lager als auch für den sich rückwärts bewegenden Laden. Das arbeitet gut für größere Datenmengen, längere Latenz und langsamere Durchflüsse, solcher, wie erfahren, mit einer Festplatte und dem Internet, aber ist für den Gebrauch mit einem geheimen Zentraleinheitslager nicht effizient.

Das Schreiben von Policen

Wenn ein System eine Gegebenheit dem geheimen Lager schreibt, muss es an einem Punkt, dass Gegebenheit dem sich rückwärts bewegenden Laden ebenso schreiben. Das Timing davon schreibt wird davon kontrolliert, was als die schreiben Politik bekannt ist.

Es gibt zwei grundlegende Schreiben-Annäherungen:

  • Schreiben Sie - durch - Schreiben wird gleichzeitig sowohl zum geheimen Lager als auch zum sich rückwärts bewegenden Laden getan.
  • Schreiben Sie zurück (oder Schreiben Sie - hinten) - das Schreiben wird nur zum geheimen Lager getan. Ein modifizierter Block des geheimen Lagers wird dem Laden zurückgeschrieben, kurz bevor es ersetzt wird.

Schreiben Sie zurück geheimes Lager ist komplizierter, um durchzuführen, da es verfolgen muss, welche von seinen Positionen geschrieben worden ist, und sie als schmutzig für das spätere Schreiben zum sich rückwärts bewegenden Laden kennzeichnet. Die Daten in diesen Positionen werden dem sich rückwärts bewegenden Laden nur zurückgeschrieben, wenn sie des geheimen Lagers, eine gekennzeichnete Wirkung zur Räumung gezwungen werden, wie ein fauler schreibt. Deshalb wird ein gelesenes Fräulein in einem zurückschreiben geheimen Lager (der verlangt, dass ein Block von einem anderen ersetzt wird) häufig zwei Speicherzugänge zum Dienst verlangen: Ein, um die ersetzten Daten vom geheimen Lager zurück zum Laden, und dann ein zu schreiben, um die erforderliche Gegebenheit wiederzubekommen.

Andere Policen können auch Daten auslösen schreiben zurück. Der Kunde kann viele Änderungen mit einer Gegebenheit im geheimen Lager vornehmen, und dann ausführlich das geheime Lager bekannt geben, um die Gegebenheit zurückzuschreiben.

Seitdem darauf schreiben Operationen, keine wirklichen Daten sind zurück erforderlich, es gibt zwei Annäherungen für Situationen von Schreiben-Fräulein:

  • Schreiben Sie teilen zu (auch bekannt als Abruf darauf schreiben) - die Gegebenheit am verpassten - schreibt, dass Position zum geheimen Lager geladen wird, das von einer Schreiben-Erfolg-Operation gefolgt ist. In dieser Annäherung, schreiben Sie, dass Fräulein lesest Fräulein ähnlich sind.
  • Nein - schreiben teilen zu (auch bekannt als "Schreiben nicht teilen zu", Schreiben ringsherum) - die Gegebenheit am verpassten - schreibt, dass Position zum geheimen Lager nicht geladen wird, und direkt dem sich rückwärts bewegenden Laden geschrieben wird. In dieser Annäherung liest wirklich nur System werden versteckt.

Beide schreiben - durch und schreiben zurück Policen können jede dieser Schreiben-Fräulein-Policen verwenden, aber gewöhnlich werden sie auf diese Weise paarweise angeordnet:

  • Ein zurückschreiben geheimes Lager, das Gebrauch schreibt, teilt zu, das Hoffen für einen nachfolgenden schreibt (oder liest sogar) zu derselben Position, die jetzt versteckt wird.
  • Ein Schreiben - durch das geheime Lager verwendet nein - schreiben teilen zu. Hier, nachfolgend schreibt sind im Vorteil, da sie noch direkt dem sich rückwärts bewegenden Laden geschrieben werden müssen.

Entitäten außer dem geheimen Lager können die Daten im sich rückwärts bewegenden Laden ändern, in welchem Fall die Kopie im geheimen Lager veraltet oder alt werden kann. Wechselweise, wenn der Kunde die Daten im geheimen Lager aktualisiert, werden Kopien jener Daten in anderen geheimen Lagern alt werden. Nachrichtenprotokolle zwischen den Betriebsleitern des geheimen Lagers, die die Daten konsequent halten, sind als Kohärenz-Protokolle bekannt.

Anwendungen

Geheimes

Zentraleinheitslager

Kleine Erinnerungen auf oder in der Nähe von der Zentraleinheit können schneller funktionieren als das viel größere Hauptgedächtnis. Die meisten Zentraleinheiten seit den 1980er Jahren haben ein oder mehr geheime Lager verwendet, und modernes hohes Ende eingebettet, Arbeitsfläche und Server-Mikroprozessoren kann nicht weniger als ein halbes Dutzend, jeder haben, der für eine Sonderaufgabe spezialisiert ist. Beispiele von geheimen Lagern mit einer Sonderaufgabe sind das D-geheime-Lager und I-geheime-Lager (geheimes Datenlager und geheimes Instruktionslager).

Übersetzung lookaside Puffer

Speicherverwaltungseinheiten, die Seitentabelleneinträge vom Hauptgedächtnis herbeiholen, haben geheime Lager spezialisiert, die die Ergebnisse der virtuellen Adresse zur physischen Adressumrechnung registrieren.

Geheimes

Plattenlager

Während geheime Zentraleinheitslager allgemein völlig durch die Hardware geführt werden, führt eine Vielfalt der Software andere geheime Lager. Das geheime Seitenlager im Hauptgedächtnis, das ein Beispiel des geheimen Plattenlagers ist, wird durch den Betriebssystemkern geführt.

Während der Hardware-Plattenpuffer der Festplatte manchmal irreführend "geheimes Plattenlager" genannt wird, sind seine Hauptfunktionen schreiben sequencing und lesen das Vorholen. Wiederholte Erfolge des geheimen Lagers, sind wegen der kleinen Größe des Puffers im Vergleich mit der Kapazität des Laufwerkes relativ selten. Jedoch haben Plattenkontrolleure des hohen Endes häufig ihr eigenes geheimes Lager an Bord von Festplatte-Datenblöcken.

Schließlich kann eine schnelle lokale Festplatte auch Information verstecken hat noch langsamere Datenspeichergeräte, wie entfernte Server (geheimes Weblager) oder lokale Band-Laufwerke oder optische Musikboxen festgehalten. Solch ein Schema ist das Hauptkonzept des hierarchischen Lagerungsmanagements.

Geheimes

Weblager

WWW-Browser und Webproxyserver verwenden geheime Weblager, um vorherige Antworten von Webservern, wie Webseiten und Images zu versorgen. Geheime Weblager reduzieren den Betrag der Information, die über das Netz übersandt werden muss, weil im geheimen Lager vorher versorgte Information häufig wiederverwendet werden kann. Das reduziert Bandbreite und in einer Prozession gehende Voraussetzungen des Webservers und hilft, Ansprechbarkeit für Benutzer des Webs zu verbessern.

WWW-Browser verwenden ein eingebautes geheimes Weblager, aber einige Internetdienstleister oder Organisationen verwenden auch einen versteckenden Proxyserver, der ein geheimes Weblager ist, das unter allen Benutzern dieses Netzes geteilt wird.

Eine andere Form des geheimen Lagers ist das P2P-Verstecken, wo die Dateien, die für durch Gleicher-zu-Gleicher-Anwendungen am meisten gesucht sind, in einem ISP geheimen Lager versorgt werden, um P2P-Übertragungen zu beschleunigen. Ähnlich bestehen dezentralisierte Entsprechungen, die Gemeinschaften erlauben, dieselbe Aufgabe für den P2P Verkehr, zum Beispiel, Corelli durchzuführen.

Andere geheime Lager

Das BINDEN des DNS Dämons versteckt von Domainnamen zu IP-Adressen kartografisch darzustellen, wie eine resolver Bibliothek tut.

Schreiben Sie - durch die Operation ist üblich, wenn das Funktionieren über unzuverlässige Netze (wie ein Ethernet LAN), wegen der enormen Kompliziertheit des zwischen dem Vielfache erforderlichen Kohärenz-Protokolls geheime Lager zurückschreibt, wenn Kommunikation unzuverlässig ist. Zum Beispiel sind geheime Webseite-Lager und geheime Kundenseite-Netzdateisystemlager (wie diejenigen in NFS oder SMB) normalerweise read-only- oder schreiben - durch spezifisch, um das Netzprotokoll einfach und zuverlässig zu halten.

Suchen Sie Motoren machen auch oft Webseiten, die sie verfügbar von ihrem geheimen Lager mit einem Inhaltsverzeichnis versehen haben. Zum Beispiel stellt Google eine "Versteckte" Verbindung neben jedem Suchergebnis zur Verfügung. Das kann sich nützlich erweisen, wenn Webseiten von einem Webserver provisorisch oder dauerhaft unzugänglich sind.

Ein anderer Typ des Versteckens versorgt geschätzte Ergebnisse, die wahrscheinlich wieder, oder memoization. ccache erforderlich sein werden, veranschaulicht ein Programm, das die Produktion der Kompilation versteckt, um die Kompilation des zweiten Mals zu beschleunigen, diesen Typ.

Das Datenbankverstecken kann den Durchfluss von Datenbankanwendungen, zum Beispiel in der Verarbeitung von Indizes, Datenwörterbüchern und oft verwendeten Teilmengen von Daten wesentlich verbessern.

Ein verteiltes geheimes Lager

verwendet vernetzte Gastgeber, um Skalierbarkeit, Zuverlässigkeit und Leistung zur Anwendung zur Verfügung zu stellen.

Die Gastgeber können co-located sein oder sich über verschiedene geografische Gebiete ausbreiten. Einige verteilte Produkte des geheimen Lagers sind Verstecken-Dienst von AppFabric, NCache, Orakel-Kohärenz, IBM WebSphere äußerste Skala, Memcached und Ehcache.

Der Unterschied zwischen Puffer und geheimem Lager

Die Begriffe "Puffer" und "geheimes Lager" sind nicht gegenseitig exklusiv, und die Funktionen werden oft verbunden; jedoch gibt es einen Unterschied in der Absicht.

Ein Puffer ist eine vorläufige Speicherposition, die traditionell verwendet wird, weil Zentraleinheitsinstruktionen in peripherischen Geräten versorgte Daten nicht direkt richten können. So, addressable Gedächtnis wird als eine Zwischenbühne verwendet. Zusätzlich kann solch ein Puffer ausführbar sein, wenn ein großer Datenblock gesammelt oder (wie erforderlich, durch ein Speichergerät) auseinander genommen wird, oder wenn Daten in einer verschiedenen Ordnung geliefert werden können als das, in dem es erzeugt wird. Außerdem wird ein ganzer Puffer von Daten gewöhnlich folgend (zum Beispiel zur Festplatte) übertragen, so vergrößert das Puffern von sich manchmal Übertragungsleistung oder reduziert die Schwankung oder den Bammel der Latenz der Übertragung im Vergleich mit dem Verstecken, wo die Absicht ist, die Latenz zu reduzieren. Diese Vorteile sind da, selbst wenn die gepufferten Daten dem Puffer einmal geschrieben und vom Puffer einmal gelesen werden.

Ein geheimes Lager vergrößert auch Übertragungsleistung. Ein Teil der Zunahme kommt ähnlich aus der Möglichkeit, dass sich vielfache kleine Übertragungen in einen großen Block verbinden werden. Aber die Hauptleistungszunahme kommt vor, weil es eine gute Chance gibt, dass dieselbe Gegebenheit vom geheimen Lager mehrmals gelesen wird, oder dass schriftliche Daten bald gelesen werden. Ein alleiniger Zweck eines geheimen Lagers ist, Zugänge zur zu Grunde liegenden langsameren Lagerung zu reduzieren. Geheimes Lager ist auch gewöhnlich eine Abstraktionsschicht, die entworfen wird, um von der Perspektive von benachbarten Schichten unsichtbar zu sein.

Siehe auch

  • Algorithmen des geheimen Lagers
  • Kohärenz des geheimen Lagers
  • Geheimes Lager, das sich färbt
  • Gegen das geheimes Lager vergesslicher Algorithmus
  • Ansturm des geheimen Lagers
  • Sprachmodell des geheimen Lagers
Geheimes
  • Zentraleinheitslager
Geheimes
  • Datenbanklager
  • Schmutziges Bit
  • Plattenpuffer (Hardware-basiertes geheimes Lager)
  • Manifest des geheimen Lagers in HTML5
  • Rohrleitung hat geheimes Lager gesprengt

Weiterführende Literatur

Links


Akelei / Columbus, Indiana
Impressum & Datenschutz