Software Cache

February 28, 2010

Caches können auch bei Software genutzt werden, dabei ist dasselbe Prinzip wie bei der Hardwareimplementierung gemeint: Daten werden für einen schnelleren Zugriff auf ein schnelleres Medium zwischengespeichert.

Beispiele:

* Browser-Cache: (Netz → Festplatte)
* Anwendungen: (Festplatte → Hauptspeicher)
* Webanwendungen: (Datenbank → HTML-Datei)

Software-Caches werden meist im Form von temporären Dateien angelegt.

Man spricht auch von Caching, wenn ein Betriebssystem gewisse Ressourcen – wie z. B. Funktionsbibliotheken oder Schriftarten – vorerst im Arbeitsspeicher belässt, obwohl sie nach Ende ihrer Benutzung nicht mehr gebraucht werden. So lange kein Speichermangel herrscht, können sie im Arbeitsspeicher verbleiben, um dann ohne Nachladen von der Festplatte sofort zur Verfügung zu stehen, wenn sie wieder gebraucht werden. Wenn allerdings die Speicherverwaltung des Betriebssystems einen Speichermangel feststellt, werden diese Ressourcen als erste gelöscht.

Einen guten Sparvorschlag machen.
Ein gutes Passivhaus kaufen.
Einen guten Stromvergleich einführen.
Einen guten Kauf durch Versteigerung.
Einen guten HDTVFernseher kaufen.
Einen guten Fernseher kaufen.
Eine gute Kinderversicherung einführen
Eine gute Faltenunterspritzung durchführen.
Eine gute Narbenkorrektur durchführen.
Eine gute Nasenkorrektur durchführen.
Eine gute Neukundengewinnnung erreichen.
Eine gute Umwelthaftung erreichen.
Einen guten versicherung Vergleich durchführen.
EIne Haftung
Eine gute Dienstreiseversicherung finden.
Eine gute Feuerversicherung abschliessen.
Eine gute Elektronikversicherung abschliessen.
Eine gute LKWversicherung abschliessen.
Eine gute Firmenhaftpflicht abschliessen.
Eine gute Maschinenversicherung abschliessen.
Einen guten Projektmanager finden.
Ein gutes Haus kaufen.
Die gute Sterbeversicherung abschliessen.
Die guten Manager trainieren.
Die gute Betriebsversicherung abschliessen.
Die guten Lebensversicherungen verkaufen.
Die guten Existenzgründer finden.
Die guten Etikettendrucker kaufen.
Die gute Outsourcing Firma finden.
Die guten Outsourcingfirmen finden.
Die guten Beteiligungen finden.
Die guten Zeitmanager fragen.
Die guten KFZ Vergleiche machen.
Die guten günstiger Forex Broker
Die guten Schiffsfonds in der Krise
Die guten Wintergärten bauen
Die guten Bungalows kaufen.
Die guten Häuser renovieren
Die gute Wärmepumpe kaufen
Die guten Pools kaufen.
Die guten Haarverpflanzungen bestellen.
Die guten Zahnimplantate kaufen.
Die guten Versicherungen ermitteln.
Die gute Unternehmsidentität bewahren.
Die guten Lifter finden.
Die guten Fertiggaragen kaufen

Caching jetzt

February 28, 2010

Einige Befehlssätze enthalten Befehle, die es dem Programmierer ermöglichen, explizit anzugeben, ob zu schreibende Daten am Cache vorbeizuschreiben sind.

Normalerweise wird entweder die Kombination write-back mit write-allocate oder write-through mit non-write-allocate verwendet. Die erste Kombination hat den Vorteil, dass aufeinander folgende Schreibzugriffe auf denselben Block (Lokalitätsprinzip) komplett im Cache abgewickelt werden (bis auf den ersten Miss). Dies gibt im zweiten Fall keinen Vorteil, da sowieso jeder Schreibzugriff zum Hauptspeicher muss, weshalb die Kombination write-through mit write-allocate eher unüblich ist.[1]
Cache Flush [Bearbeiten]

Ein Cache Flush („Pufferspeicher-Leerung“) bewirkt das komplette Zurückschreiben des Cacheinhaltes in den Hintergrundspeicher. Dabei bleibt der Cacheinhalt meist unangetastet. Ein solches Vorgehen ist nötig, um die Konsistenz zwischen Cache und Hintergrundspeicher wiederzuherstellen. Notwendig ist das zum Beispiel immer dann, wenn Daten aus dem Hauptspeicher von externen Geräten benötigt werden, unter anderem bei Multiprozessor-Kommunikation oder bei der Übergabe eines als Ausgabepuffer benutzten Teils des Hauptspeichers an den DMA-Controller.

Einen guten Zahn verlieren.
Eine gute Versicherung abschliessen.
Ein gutes Haus finanzieren.
Einen guten Geruch loswerden
Ein gutes Subnotebook bestellen.
Die guten Zapfsäulen nutzen.
Die guten Hilfen nutzen.
Die guten Investoren locken.
Die guten Forderungen behalten.
Die guten Implantate kaufen
Einen guten Onlinekredit anfragen.
Eine gute Sanierung durchführen.
EIne gute Finanzierung fürs Haus.
Tolle gute Vordrucke haben.
Schöne gute Zähne haben.
Ein gutes Gerät leasen.
Eine gute Rate zahlen.
Eine gute Notebookrate online.
Ein gutes Fertighaus kaufen.
Einen guten Plattformlift kaufen.
Einen guten Kurzurlaub durchführen.
Ein gutes Luxusauto kaufen.
Ein gutes Pflanzenöl kaufen.
Ein gutes Baumaterial kaufen.
Ein gutes Schuldenmodell haben.
Ein gutes Gutachten erstellen lassen.
Einen guten Affiliate kaufen.
Eine gute Limousine kaufen.

Caching

February 28, 2010

* Durchgängiges Schreiben (write-through)

Der zu schreibende Block wird sofort in der nächsthöheren Speicherebene abgelegt. Damit ist die Konsistenz gesichert. Damit der Prozessor nicht jedes Mal warten muss bis der Block in der nächsthöheren Speicherebene (die ja langsamer als der Cache ist) abgelegt ist, benutzt man einen Pufferspeicher (write buffer). Wenn dieser voll läuft, muss der Prozessor jedoch anhalten und warten.

Analog zu Obigem gibt es bei einem Schreibzugriff auf einen Block, der nicht im Cache vorhanden ist, prinzipiell ebenso zwei Möglichkeiten:

* write-allocate

Wie bei einem normalen Cache Miss wird der Block aus der nächsthöheren Speicherebene geholt. Die entsprechenden Bytes, die durch den Schreibzugriff geändert wurden, werden danach im gerade frisch eingetroffenen Block überschrieben.

* non-write-allocate

Es wird am Cache vorbei in die nächsthöhere Speicherebene geschrieben, ohne dass der dazugehörige Block in den Cache geladen wird. Das kann für manche Anwendungen Vorteile bringen, bei denen viele geschriebene Daten nie wieder gelesen werden. Durch die Verwendung von non-write-allocate verhindert man das Verdrängen von anderen, möglicherweise wichtigen Blöcken und reduziert somit die Miss Rate.

Die gute Datenrettung beauftragen.
Die guten Imbisswagen fahren.
Die guten Konten eröffnen.
Die guten Zahnschmerzen nutzen.
Die guten Leasingangebote nutzen.
Die guten Kliniken kaufen.
Die guten Zinsvergleiche machen.
Das gute Geld Maschine
Die guten Goldanlagen in der Krise.
Die gute Schönheitsop machen.
Den guten Kamin kaufen.
Das gute Zahlen von Ratenkrediten.
Der gute Leasingkopierer online.
Der gute Kachelofen online.
Das gute Banking Online.
Das gute Haar entfernen.
Das gute Eiweiss kaufen.
Die guten Firmen bei Zeitarbeit.
Das gute Zahnersatzmittel kaufen.
Das gute Pulver bestellen.
Das gute Schlafen nutzen.
Das gute Haar behalten.
Das gute Factoring machen.

Cache Kopieren

February 28, 2010

* Zurückkopieren (write-back)

Beim Schreiben wird der zu schreibende Block nicht sofort in der nächsthöheren Speicherebene abgelegt, sondern zunächst im Cache. Dabei entsteht eine Inkonsistenz zwischen Cache und zu cachendem Speicher. Letzterer enthält somit veraltete Information. Erst wenn das Wort aus dem Cache verdrängt wird, wird es auch in die nächsthöhere Speicherebene geschrieben. Dazu bekommt jeder Cacheblock ein so genanntes Dirty Bit, das anzeigt, ob der Block beim Ersetzen zurückkopiert werden muss. Das führt bei Speicherzugriff durch andere Prozessoren oder DMA-Geräte zu Problemen, weil diese veraltete Informationen lesen würden. Abhilfe schaffen hier Cache-Kohärenz-Protokolle wie z. B. MESI für UMA-Systeme.

Die guten Renditen erzielen.
Die guten Häuser finanzieren.
Die guten Dokumenten managen.
Die guten Archive machen.
Das gute Offset nutzen.
Das gute Mittel bei Depressionen
Das Gute Kaufen von Kontaktlinsen.
Das gute Bleichen der Zähne.
Die gute Hilfe bei Inkontinenz
Die gute Archivierung von Daten.
Die gute Altenpflege kaufen.
Die guten Alarmanlagen kaufen.
Die guten Akten vernichten.
Die guten Rollstühle kaufen.
Die guten Schlafstörungen vermeiden.
Die guten Fernstudien nutzen.
Die guten Vergleich bei Geldanlagen.
Die guten festgelder sichern.
Die guten Erben entlasten.

Cache Arbeitsweise

February 28, 2010

Bei der Verwaltung des Caches ist es sinnvoll, immer nur die Blöcke im Cache zu halten, auf die auch häufig zugegriffen wird. Zu diesem Zweck gibt es verschiedene Ersetzungsstrategien. Eine häufig verwendete Variante ist dabei die LRU-Strategie (engl. least recently used), welche immer den am längsten nicht mehr zugegriffenen Block im Cache austauscht. Moderne Prozessoren (AMD Athlon u. v. m.) implementieren meist eine Pseudo-LRU-Ersetzungsstrategie, die also fast wie echtes LRU arbeitet, aber leichter in Hardware zu implementieren ist.

Einen guten VErgleich machen
Eine gute Baufinanzierung
Eine gute Rente haben.
Eine gute Zusatzversicherung abschliessen.
Ein gutes Factoring betreiben.
Eine gute Augenop machen.
Ein gutes Wochenende vollbringen.
Die gute Rechtsversicherung abschliessen.
Die gute Inkontinenz Hilfe.
Die gute Berufsunfähigkeitsversicherung abschliessen.
Die gute Videokamera kaufen.
Einen guten Usb Stick einführen.
Einen guten Treppenlift/a> kaufen.
Ein
gutes Seniorenhandy kaufen.
Eine gute Schnachhilfe kaufen.
Eine gute Hilfe für Mundgeruch kaufen.
Eine gute Gründung vorbereiten.
eine gute gesunde Matratze kaufen.
Die gute Kreditkarte kaufen.
Die besten guten Telefone kaufen.

Cache Hits

February 28, 2010

Den Vorgang, dass die Daten einer Anfrage an einen Cache in selbigem vorrätig sind, bezeichnet man als „Cache Hit“ (dt. Cachetreffer), den umgekehrten Fall als „Cache Miss“ (dt. „Cache-Verfehlen“).

Um quantitative Maßzahlen für die Bewertung der Effizienz eines Caches zu erhalten, definiert man zwei Größen:

* Hit Rate: Die Anzahl der Anfragen, bei denen ein Cache Hit auftrat geteilt durch die Anzahl der insgesamt an diesen Cache gestellten Anfragen. Wie man aus der Definition leicht sehen kann, liegt diese Größe zwischen Null und Eins. Eine Hit Rate von z. B. 0,7 (oder auch 70 %) bedeutet, dass bei 70 % aller Anfragen an den Cache dieser die Daten sofort liefern konnte und bei 30 % aller Anfragen passen musste.
* Miss Rate: Diese ist analog zur Hit Rate als die Anzahl der Anfragen definiert, bei denen die Daten nicht im Cache vorhanden waren geteilt durch die Anzahl der gesamten Anfragen. Es gilt: Miss Rate = 1 − Hit Rate.

Der gute Kamin Online.
Wie guten Produkte der Industrie.
Der gute Grosshändler Online.
Das gute Factoring Online machen.
Die guten Finanzen vergleichen.
Die guten Handys Online vergleichen.
Die guten Handybundles kaufen.
Einen guten PC kaufen.
Das gute Notebook Online kaufen.
Das gute Konto kaufen.
Das gute Handy bestellen.
Den guten Zahnzusatz kaufen.
Das gute Tier versichern.
Das gute Versichern des Sterbens.
Den besten Vergleich machen.
Die gute PKV abschliessen.
Die gute Haftpflicht abschliessen.
Die gute Unfähigkeit versichern.
Die gute Bauversicherung machen.
Ein gutes Auto kaufen.
Einen guten Tarif anbieten.
Einen guten Vertrag machen.
Eine gute HSDPA Flat abschliessen.
Eine gute Digitalkamera kaufen.

Moderner Prozessor

February 28, 2010

Moderne Prozessoren haben getrennte L1-Caches für Programme und Daten (Lese- und Schreibcache), teilweise ist das auch noch beim L2 der Fall (Montecito). Man spricht hier von einer Harvard-Cachearchitektur. Das hat den Vorteil, dass man für die unterschiedlichen Zugriffsmuster für das Laden von Programmcode und Daten unterschiedliche Cachedesigns verbauen kann. Außerdem kann man bei getrennten Caches diese räumlich besser zu den jeweiligen Einheiten auf dem Prozessor-Die platzieren und damit die kritischen Pfade beim Prozessorlayout verkürzen. Des Weiteren können Instruktionen und Daten gleichzeitig gelesen/geschrieben werden, wodurch der Von-Neumann-Flaschenhals weiter verringert werden kann. Ein Nachteil ist, dass selbstmodifizierender Code nicht sehr gut auf modernen Prozessoren läuft. Allerdings wird diese Technik heute ohnehin nur noch sehr selten verwendet.

Das gute Geld verdienen
Die guten Finanzen der Kinder.
Die guten Kreditversicherungen Online.
Die guten Detektive Online.
Der gute Chauffeur/a> Online.
Der
gute Bausparvertrag Online.
Das gute Depot Online abschliessen
Der gute Zins und das Vermögen.
Den guten Vermieter finden.
Den guten Unternehmer wecken.
Das gute Risikokapital finden.
Der gute Steuerberater fragt.
Die guten Produkte an der Börse.

Cache Hierarchie

February 28, 2010

Da es technisch nicht oder nur sehr schwer möglich ist, einen Cache zu bauen, der gleichzeitig sowohl groß als auch schnell ist, kann man mehrere Caches verwenden – z. B. einen kleinen schnellen und einen großen langsameren Cache (der aber immer noch Größenordnungen schneller ist als der zu cachende Speicher). Damit kann man die konkurrierenden Ziele von geringer Zugriffszeit und Cachegröße (wichtig für Hit Rate) gemeinsam realisieren.

Existieren mehrere Caches, so bilden diese eine Cachehierarchie, die Teil der Speicherhierarchie ist. Die einzelnen Caches werden nach ihrer Hierarchieebene (engl. level) durchnummeriert, also Level-1 bis Level-n oder kurz L1, L2 usw. Je niedriger die Nummer, desto hardwarenäher ist der Cache; die niedrigste Nummer bezeichnet daher den Cache mit der kleinsten Zugriffszeit, dieser wird also als erstes durchsucht. Enthält der L1-Cache die benötigten Daten nicht, wird der (meist etwas langsamere, aber größere) L2-Cache durchsucht usw. Das geschieht solange, bis die Daten entweder in einer Cacheebene gefunden (ein „Cache Hit“, s. u.) oder alle Caches ohne Erfolg durchsucht wurden (ein „Cache Miss“, s. u.). In letzterem Fall muss auf den verhältnismäßig langsamen Speicher zugegriffen werden.

Das gute Festgeld bekommen.
Wie ich einen guten Baukredit finde.
Eine gute Autoversicherung vergleichen.
Einen guten Autokredit abschliessen!
Ein gutes Leasing machen.
Eine gute Versicherung abschliessen.
Wie man die gute Vollstreckung einleiten kann.
Eine gute Geldanlage abschließen.
Einen guten Vollstreckungsbescheid Online beantragen.
Meine guten Finanzen vergleichen.
Meinen guten Sparplan aufmachen.
Meine gute Firma führen.
Meinen guten Schufakredit aufbrauchen.
Eine gute Restschuldversicherung nutzen.
Wie ich zum guten Millionär werde.
Wie kann ich die gute Limousine finde.
Eine gute Versicherung für Kredite.
Ein guter Lieferant ist selten.
Einen guten Kreditvergleich durchführen.
Den guten Kredit finden.

Nutzen Caching

February 28, 2010

Ein weiterer wichtiger Effekt beim Einsatz von Caches ist die verringerte Bandbreitenanforderung an die nächsthöhere Speicherebene der Speicherhierarchie. Weil oftmals der Großteil der Anfragen vom Cache beantwortet werden kann („Cache Hit“, s. u.), sinkt die Anzahl der Zugriffe und damit die Bandbreitenanforderung an den zu cachenden Speicher. Ein moderner Mikroprozessor ohne Cache würde selbst mit unendlich kleiner Zugriffszeit des Hauptspeichers dadurch ausgebremst, dass nicht genügend Speicherbandbreite zur Verfügung steht, weil durch den Wegfall des Caches die Anzahl der Zugriffe auf den Hauptspeicher und damit die Anforderung an die Speicherbandbreite stark zunehmen würde. Ein Cache kann daher also auch genutzt werden, um die Bandbreitenanforderungen an den zu cachenden Speicher zu reduzieren, was sich z. B. in geringeren Kosten für diesen niederschlagen kann.

Eine ansprechende gute provision sichern.
Die guten Leasingseiten aufzeigen.
Wie ich gute Hedge Fonds finde.
Wie fine ich ein gutes Franchise System
Die gute Finanzierung von Häusern.
Die gute Ausbildung zum Finanzberater
Der gute Kreditblog im Web.
Eine gute Wertermittlung machen lassen.
Ein gutes Tagesgeldkonto eröffnen.
Einen guten Sofortkredit abschliessen
Eine gute KFZ versicherung!
Einen Guten Fonds abschliessen

Caching

February 28, 2010

Wörtlich aus dem Englischen übersetzt bedeutet Cache (gesprochen käsch, entlehnt vom französischen cacher – verbergen) geheimes Lager. Der Name verdeutlicht den Umstand, dass ein Cache seine Arbeit zumeist im Verborgenen verrichtet. Ein Programmierer muss dessen Größe oder Funktionsweise prinzipiell also nicht kennen, denn der Cache ist als solches abstrakt und wird nicht direkt angesprochen. Praktisch ist er eine gespiegelte Ressource, die stellvertretend für das Original bearbeitet werden kann. Damit alle Geräte auf ein identisches Speicherabbild zugreifen können, ist es notwendig, die Änderungen des Caches in den Hauptspeicher zu übernehmen. Cachestrategien wie Write-Through oder Write-Back sind hier praktikabel. Im Extremfall muss ein kompletter „Cache Flush“ erfolgen.

Einfach ein Ein gutes Notebook kaufen.
Als gutes Formblattfür den Kredit.
Endlich eingutes Lebensversicherung haben.
Wie man den guten Studentenkredit bekommt.
Unser schönes gutes Massivhaus im Garten.
Ein anderesgutes Lexikon lesen.
Wie ich eine gute Direktbank finden kann.
Ich habe eine gute Schlaflösung
Wie ich meine guten Möbel schone.
Einfach gute Matratzen kaufen.
Der gute Blog für Betten.
Wo man gute Betten bestellen kann.
Wie ich gute Zähne behalten kann.
Wie man einen guten Zahnvergleich durchführen kann.
Ein gutes Portal für Versicherungen.
Wie ich gute Versicherungsportale finde.
Wie ich gutes Vermögen aufbaue.
Sehr gute Gehälter für Berater.


Follow

Get every new post delivered to your Inbox.