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.


Anmelden zum Antworten