Swappen

Florian Lohoff flo at rfc822.org
Mon Aug 9 15:26:37 CEST 1999


On Tue, Aug 03, 1999 at 02:55:03PM +0200, Christian Weddeling wrote:
> Hallo Leute!
> 
> Ich wollte gerade verschiedene Datenstrukturen testen, wie sie sich bei großen
> Datenmengen verhalten. Die Datenmengen sind so groß, daß sie nicht im
> Hauptspeicher gehalten werden können und geswapt werden müssen. Dabei mußte
> ich feststellen, daß bei einer linearen Liste problemlos ausgelaget wird, bei
> ausgeglichen Bäumen funktioniert das nicht.

> Desweiteren scheint das unabhängig vom Kernel und vom Unix zu sein, da die Sun
> das gleiche Problem hatte. Hat vielleicht einer eine Idee?

Mit "funktioniert das nicht" meinst du wohl eher das die performance
drastisch in den Keller geht - Richtig ?

Es ist natuerlich immer so das die performance extrem leidet wenn
nicht alles in den Speicher passt.

Ich bin im moment nicht sicher wie selektiert wird welche
pages ausgepaged werden - Ich nehme an das es ein LRU
aehnlicher Algorhythmus? ist.

D.h. wenn du den baum immer von oben nach unten durchsuchst
und deine einzelnen objekte in eine page passen dann fasst du 
jedesmal mehr oder minder alle pages an und verhinderst
damit unter LRU gesichtspunkten ein performantes arbeiten.
Also solltest du metadaten von nutzdaten trennen.
Den eigentlichen baum (den man ja organisationstechnisch braucht)
seperat vom rest platzieren - Dadurch bleibt der orga baum
fuer die geschwindigkeit vorhanden und die eigentlichen daten
die du nur bei zugriff auf die daten brauchst paged du dir
dann aus/ein.

Aber ich denke das ist extrem abhaengig von deinen zugriffs
methoden/mustern.

Fuehr doch mal naeher aus was du machen willst.

Flo
-- 
Florian Lohoff		flo at rfc822.org		      	+49-5241-470566
Good, Fast, Cheap: Pick any two (you can't have all three).  (RFC 1925)



More information about the Linux mailing list