Not logged inRybka Chess Community Forum
Up Topic Deutschsprachiger Bereich / Rybka & Aquarium / Hash - welche Einstellung ist nun eigentlich richtig?
- - By TigranP (**) [de] Date 2008-02-29 10:33
Hallo an alle,

habe gestern auf Schach.de einige gegenteilige Meinungen zur Hash-Einstellung gehört. Überwiegende Mehrheit: 256 Hash reichen allemal aus. Größere Einstellungen sind nicht gut bzw. bremsen das System aus.

Ist das korrekt bzw. gibt es eine Faustregel im Zusammenhang mit der Größe des Arbeitsspeichers usw. ???

Danke im vorraus für eure Antworten
Grüße Karl

Ich hatte in letzter Zeit mit 832 Hash gespielt, so dass bei einem Arbeitsspeichervolumen von 2 GB während des Spiels der Speicher immer zwischen 55 und 70% belegt war.
Parent - By Permanent Brain (*****) Date 2008-02-29 11:05
Rykba kann nur solche 2^x Werte benutzen wie z.B. 64,128,256,512,1024 MB, keine dazwischen. Das trifft so oder in ähnlicher Form auf einige Engines zu. Davon ahnt die Fritz-GUI aber nichts und zeigt somit Zwischengrößen an.

Ich würde nicht mehr als 512 benutzen, aber das entspringt keiner Erfahrung aus einem Intensivbetrieb im Enginesport. Soweit ich die Theorie des Hash-Konzeptes verstanden habe (nur ansatzweise :-) ), hat die Größe einer Hashtabelle grundsätzlich KEINEN Einfluß auf die Geschwindigkeit, denn der Witz ist ja, daß die Einträge nie gesucht werden müssen, nur ausgelesen. Allerdings habe ich Erörterungen zwischen Fachleuten im CCC gelesen - leider nicht genau - wonach sozusagen "alles sehr kompliziert ist". Ich kenne mich da nicht näher aus, aber es ist für mich schon plausibel daß es unter Windows in Verbindung mit dem RAM, der sich ja u.U. auf mehrere Speicherchips verteilt usw.usf, im Zugriff auf sehr große Tables besondere Effekte geben könnte, die erst ab einer gewissen Größe auftreten.

Ich habe selber schon ein oder zweimal um Details und Erläuterungen zu dieser schwierigen Frage nachgefragt, aber keine Antworten erhalten - vielleicht ist das ein Thema, das auch nur zwischen echten Hardwarespezialisten bzw. Programmieren sinnvoll zu besprechen ist, die "hardwarenahe" Detailkenntnisse haben.

Ein anderes mögliches Problem wären die ominösen "Hash-Kollisionen", das wäre identische Hasheinträge für in Wirklichkeit verschiedene Positionen. (Es gibt unendlich viele verschiedene Schachstellungen, aber nur eine begrenzte Zahl von Hasheinträgen.) Ich kann aber nicht sagen, ob die Wahrscheinlichkeit dessen größer wird wenn die Hashtabelle größer ist, und wie groß diese Wahrscheinlichkeit überhaupt ist. Das ist auch sicher von Engine zu Engine unterschiedlich.

Mein vorläufiges Fazit ist, daß es sehr wohl sein kann daß (sehr) große Hashtabellen nachteilig sind, wobei ich jedoch vermute daß diese Sorge unter 1 GB unbegründet ist. - Der theoretische Spielstärkezuwachs von 256 oder 512 MB auf 1 oder 2 GB, selbst wenn es dieses Problem nicht gäbe, ist vermutlich sehr gering.
Parent - - By Lukas Cimiotti (Bronze) [de] Date 2008-02-29 12:09
Es gibt ein paar Regeln, die wichtigste ist: Du darfst nie zuviel Hash nehmen. Zuviel ist, wenn die Auslagerungsdatei bemüht wird. Dann sinkt die Performance auf unter 1%
Je schneller Dein Rechner ist und je mehr Cores er hat, desto mehr Hash solltest Du nehmen.
In kurzen Spielen reicht wenig Hash (ich verwende für Bullet 128 MB bei 8 Cores/3,16 GHz).
Bei langen Spielen sollte man soviel Hash nehmen, wie der Rechner erlaubt (so dass der Speicher zu 50-70% voll ist - das sind gute Werte).
Bei langen Spielen bringt eine Verdoppelung der Hash Größe 5 Elo.
Parent - - By TigranP (**) [de] Date 2008-02-29 14:59 Edited 2008-02-29 15:04
Ok, also werde mal 128 für Bullet,  256 für 3+0 bzw. 5+0 probieren und bei 16+0 mal dann "auf Nummer sicher" mit 512 probieren (ggf. mal 1024; befürchte hier aber über 80 bis 90% Speichernutzung zu kommen; mal schauen): Habe 4 Cores mit 2,4Ghz (nicht übertaktet, da die Übertaktung m. M. nach nichts bringt - hab ich bereits getestet).

Wobei - wenn man den Spielstärkezuwachs, wie hier bemerkt, berücksichtigt - die ganze Umstellung ggf. nicht viel bringt, wie hier ja mit +5 Elo von euch angemerkt. Aber: PROBIEREN geht über STUDIEREN - könnte hier nichts schaden.
Parent - By Guest42 (***) Date 2008-03-02 19:00
Hört sich vernünftig an....Ich mache es genauso grins.
Bis 512 GB (bei 2GB RAM) lagert Windows kaum aus.
5 Elopunkte pro Verdopplung, ist das gemessen worden?
Parent - - By Generator [de] Date 2008-03-23 15:32
Habe gerade einen interessanten Artikel über VISTA 64 bit gelesen,Vista 64 kann ja schon in der kleinsten Version 8 GB Speicher verwalten.
Hat man soviel Speicher dann kann man die Auslagerungsdatei abschalten und hat keine Zugriffe auf die Festplatte,welche ja das System ausbremst.

Mit der Hashgröße bei 3m Partien habe ich viele Versuche unternommen,meine Erfahrung war,16 und 32 MB sind zu wenig, 512 bis 1024 MB sind zuviel.
Allso verwende ich jetzt 64-128 MB,und ich bin um 100 Elo gestiegen.  
Parent - - By Lukas Cimiotti (Bronze) [de] Date 2008-03-23 18:12
Ich verwende XP x64 (Vista 64 Bit hab ich ausprobiert und dann wieder gelöscht weil es schlechter war).
Ich weiß nicht, wieviel RAM XP x64 verwalten kann - ich hab es standardmäßig mit 8 GB laufen, hatte aber auch mal mit 16 GB keine Probleme.
Bei XP kann man die Auslagerungsdatei leider nicht wirklich abschalten, aber wenn man genug Speicher hat, macht das nichts.

Vas empfiehlt möglichst viel RAM für Hash zu verwenden - bei den großen Turnieren (WCCC, Mexico, Leiden, Paderborn) wurden deshalb auch immer 2 GB Hash verwendet - die derzeitige Obergrenze von Rybka.
Ich selbst habe auch viele Tests gemacht und die haben Vas' Aussage bestätigt: eine Verdoppelung der Hashgröße bringt +5 Elo.
Allerdings ist klar, dass bei 3 Minuten Spielen 2GB nicht unbedingt nötig sind.

Grüße
Lukas
Parent - - By Guest42 (***) Date 2008-03-23 18:35
Danke, das bestätigt auch meine Eindrücke.
Bei meinen 2GB Ram sind dann wohl 1GB für Hash die Obergrenze.
Parent - - By Eduard (***) [de] Date 2008-03-23 19:43
Ich habe auch 2 GB RAM. Da sind 1 GB Hash möglich. Soviel habe ich aber noch nie genutzt.

Bei mir schwanken die Resultate, je nachdem wie groß der LAG ist. Manchmal sind dann 512 MB Hash sehr gut, manchmal nur 128 MB, aber ich spielte sogar auch schon mal mit nur 64 MB beim Blitz 3+0 im Saal "Maschinen A" und holte (mit nur 64 MB) so den 4. Platz. Ich ändere die Hashtabellen also je nachdem, wie mein PC mit dem gegebenen LAG klar kommt.

MfG.
Parent - - By Artur Berch (*) [de] Date 2008-03-24 14:13
Bei 32 Bit-Systemen geht nach meiner Erfahrung maximal 1 GB;
Wenn 2 GB eingestellt wird geht nichts mehr -> Absturz der Engine.

Vista 32 kann pro Anwendung nach meiner Kenntnis 2 GB verwalten und maximal 4 GB
(- Grafikspeicher I/O... ergibt bei mir 3,3 mit 512 MB Grafikkarte)
Parent - - By Guido (*) [de] Date 2008-05-07 07:11
Hier mal meine Erfahrungen die ich mit der Hushgröße gemacht habe.Ich muß dazu sagen daß ich erst seit 4 Tagen auf Chessbase spiele und auch erst insgesamt 200 Spiele absolviert habe und daher natürlich keine großen Erfahrungen im allgemeinen gesammelt habe als Anfänger.
Meine Informationen und Tipps hole ich mir ausschließlich aus diesem Forum hier und bin deshalb für jeden Tipp dankbar !!!
Ich habe am Anfang mit 64mb Hush gespielt und kam trotz 8 core einfach nicht über 2600 Elo ! Habe dann verdoppelt aber irgendwie ging es auch nicht groß weiter nach vorne.Habe dann mal die Aussagen hier mal von "Kullberg"beherzigt,der ja ebenfalls mit 8 core unterwegs ist und den Hush auf daß höchste gestellt was für Rybka möglich ist-2000mb ! Seitdem fahre ich kaum noch Verluste ein und bin tatsächlich auf jetzt 2850 Elo gestiegen !! Muß noch anmerken daß ich ein absolut grausliges Buch verwende ! Also scheint es doch so zu sein,daß mehr Hush auch mehr Spielstärke hervorruft !

Gruß Guido
Parent - - By Permanent Brain (*****) Date 2008-05-07 07:40
Es klingt für mich plausibel daß auf einem 8-Core 128 MB zu klein ist, selbst im Blitz.

Welchen Wert hast Du genau eingestellt? Wenn Du nämlich 2000 einstellst, nimmt sich Rybka (soweit bekannt) nur 1024; siehe auch mein anderes Posting oben. Für 2 GB müßte man demnach 2048 einstellen, wobei ich das aber nicht direkt empfehlen würde bzw. kann, denn ich habe insgesamt "nur" 2 GB RAM und daher selbst noch nie ausprobieren können. 1 GB Hash genügt sicherlich, wie ein so gutes Rating von 2850 auch zu bestätigen scheint falls es tatsächlich mit 1024 MB zustande kam.

Schätzungen zufolge soll eine Verdoppelung der Hashgröße im allgemeinen rund 5 Elo bringen. Ich argwöhne aber daß es bei extremen Größen über 1 GB auch negative Effekte geben könnte; das ist aber nur eine Annahme für die ich keine Daten habe.
Parent - - By Guido (*) [de] Date 2008-05-07 10:41
Hallo Permanent Brain,

Du hast natürlich Recht :-) Da hab ich mich ja schon bei meinem ersten Posting hier schön blamiert :-)
Ich habe Tatsächlich die ganze Zeit nicht mit 2000MB gespielt sondern mit 1024MB :-)
Tatsächlich war meine Einstellung auf 2000MB und nicht auf 2048MB wie es sein müßte um mit 2000MB zu spielen.
Naja ok,soll mir recht sein :-) Jedenfalls hat es einen ordentlichen schub nach vorn gegeben.
Jetzt bin ich aber umso gespannter was passiert wenn ich mit echten 2000MB spiele :-)

Gruß Guido
Parent - - By Permanent Brain (*****) Date 2008-05-07 10:55
Gar nicht blamiert; das kann man ja von vornherein nicht wissen. Fritz weiß es ja auch nicht :-) Es gibt einige Engines, wo Hashgrößen nicht stufenlos konfigurierbar sind (aber manchmal mit anderen Abstufungen, z.B. Tiger, Crafty...). Der tatsächlich von der Engine belegte Speicherplatz läßt sich im Zweifelsfall mit dem Task Manager oder einem Speichertool überprüfen. Es werden ein paar MB für etwas anderes dabei sein, aber das meiste sind die Hash Tables.
Parent - By Guest42 (***) Date 2008-05-07 12:30
Jo bei Rybka ist es zum Beispiel beim Meisterprozess noch der gegebenenfalls geladene Tablecache.
Up Topic Deutschsprachiger Bereich / Rybka & Aquarium / Hash - welche Einstellung ist nun eigentlich richtig?

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill