Bad Cache
-
Hallo ich möchte selber ein Programm schreiben was folgendes leisten soll:
Aufgabenstellung
Ziel dieser Aufgabe ist es sich mit dem Verhalten des Caches vertraut zu machen. Sie sollten einen Algorithmus entwerfen, welcher möglich viele Caches Misses erzeugt.Erstellung eines Steckbriefs Ihres Testsystems (Rechner)
Lesen Sie unter Windows oder Linux die Eigenschaften Ihres,
Prozessors aus (CPUz oder System-Infos) und dokumentieren Sie
einen Steckbrief Ihres Systems.
L1, L2, (L3) - AssoziationstypStör-Algorithmus (Theorie)
Entwerfen Sie eine Algorithmus / Störstrategie für Ihr TestsystemEntwerfen Sie basierend auf den Daten (L1 , L2,L3 .. Assoz.) Ihres
Test-Systems eine Zugriffsstrategie, die mit möglich wenigen Zugriffen,
eine hohe Cache-Miss-Rate erzeugt.Dabei spielen die folgenden Überlegungen eine Rolle
Wie groß muss ich mein Test-Array (Test-Daten) anlegen
Wie werden die Adressen des Test-Arrays auf den Cache abgebildet
Wie könnte man die Assoziation nutzen um möglichst viele Störungen
zu erzeugen.Erstellung & Test des Test-Programms
Erstellen Sie zu Ihrer Strategie eine Testprogramm, analysieren und
dokumentieren Sie das Cache-Verhalten - Ergebnisse.Das Programm sollte in einer gängigen Programmiersprache
(C , C++, C#, Java, Pascal, Assembler, Basis , .....)
unter Linux oder Windows realisiert und analysiert werden.Zu Bewertung der Ergebnisse müssen Sie sich eine Testumgebung
schaffen. Die entsprechend Profiling-Tools werden von verschieden
Open-Source Gruppen oder von HW-Herstellen (Intel / AMD),
teils zeitliche begrenzt (30Tage Test-Lizenz) zur Verfügug gestellt.Stichworte für Ihre Suchen
Code-Profiler, Cache-Tests , Valgrid, Code-Analyser, VTune ,PerfMonVielleicht könnte mir jemand der sich damit auskennt ein paar Denkanstöße geben.
Danke für eure Mühen
Gruss