Algorithmen für Caching?
-
Genau. Woher die Differenz kommt, weiß ich nicht.
Hast du beim einlesen der Datenpunkte die verdoppelungen ignoriert? sonst müsstest du ja auch auf 50+% kommen. das würde die differenz auch halbwegs erklären:
wenn du auf 50% der Anfragen 2.33% hast, dann macht das im Gesamten 1.165% aus. Es kann sein, dass der Cache vielleicht 2-3 Zeilen weniger hat, das waren leider nur geschätzte Daten aus der maximalen Cache-Größe. Der Code gibt das leider nicht so einfach her...
Aber deine Beobachtung kann ich bestätigen: Wir gehen davon aus, dass die Zugriffe zufällig sind und dass man a-priori kein Häufungspunkte feststellen kann (der index hat keine Bedeutung, da die Zeilen/Spalten der Matrix zufällig permutiert sind).
Ich verstehe abe rnicht ganz die Bedeutung deiner Zahlen. Insbesondere bei "232 118 184 164 280 " ist mir unklar, was das darstellen soll.
Um das Problem zu beschrieben: das ganze ist ein QP und die indizes sind die Variablen, die der Algorithmus als nächstes optimiert. Als Auswahlkritrium habe ich Hybrid-Maximum-Gain verwendet, was einfach bestimmt, für welches Variablenpaar der Wert der Zielfunktion maximal reduziert wird. Und ja, dieses Verhalten ist ziemlich zufällig - leider.
Was ich mir überlegen kann, ist HMG auf die Variablen im Cache zu beschränken, und somit die Cache-Auslastung "künstlich" zu verbessern. Aber wenn ich mir die Verteilung der Werte anschaue..ich weiß nicht.
-
otze schrieb:
Ich verstehe abe rnicht ganz die Bedeutung deiner Zahlen. Insbesondere bei "232 118 184 164 280 " ist mir unklar, was das darstellen soll.
die erste sequenz ist ein histogram der zahlenhaeufigkeit, diese 5 hier ist ein kleines histogram der cachehit haeufigkeit.