Swappen

Christian Weddeling cwd at uni-paderborn.de
Tue Aug 3 15:48:28 CEST 1999


On Tue, 3 Aug 1999, Peter Ohlerich wrote:

> > 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?
> 
> Ich würde mal sagen, daß man das so nicht beantworten, da Du die
> Datenstruktur nicht mit gepostet hast. Aber es könnte sein, da bei
> Deiner linearen Liste der Speicher auch linear ein/ausgelagert 
> werden kann und dies bei Deiner Baumstruktur nicht geht, so das 
> die Anzahl der Page Faults deutlich steigt und öfter ein- bzw.
> ausgelagert werden muß. Aber um das zu beurteilen mußt Du uns
> mal ein paar Codefragmente in die Liste packen.
> In diese Richtung geht auch das Buch Donald E. Knuth(*):
> Numerical Recipes in C, wo man auch diverse Strukturen und
> Speichermethoden nachlesen kann (mit Analysen).

Ich habe die STL vom G++ verwendet, so wie sie mit meiner Distribution (Debian
2.1) mitgekommen sind. Leider weiß ich die Versionsnummer des Compilers nicht.
Kann ich aber bei Gelegenheit nachschauen. Bei den anderen Distribs (Suse,
Redhat) kann ich ja auch noch mal nachfragen.

Im Prinzip dürfte es doch egal sein, in welcher Reihenfolge die Pages
angesprochen werden. Hauptsache, er lagert sie aus und ein. Oder könnte es
sein, daß beim ausgleichen der Bäume so viele Pages angefaßt werden, daß er
nicht weiß, welche er jetzt auslagern soll (Working-Set zu groß)?



	Ciao
		Christian





More information about the Linux mailing list