Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Wie viel Arbeitsspeicher?
- - By Claude Gable Date 2013-05-17 16:57
Gibt es eine Formel mit der man errechnen kann wie viel Arbeitsspeicher Houdini 3 benötigt?
(Analyse)
Bzw. wann dieser voll wird?

Z.B. 1 Kern mit 1 GHz und 10 min Daueranalyse = ...Arbeitsspeicher

Wie viel Arbeitsspeicher wird z.B. Für einen I7 3930k mit 4 GHz und 60min Daueranalyse benötigt?
Parent - By Michael Scheidl Date 2013-05-17 22:08
24698734568 Gigabyte.
Parent - By Bert Rinzel Date 2013-05-18 08:00
Würdest du dich wundern, wenn dir nimand mehr antwortet?

Du stellst immer wieder fragen in den raum und wenn dir jemand antwortet, interessiert dich die angelegenheit offenbar nicht mehr.

s. grundstellungen übertaktung usw
Parent - - By Benno Hartwig Date 2013-05-18 08:32
[quote="Claude Gable"]Z.B. 1 Kern mit 1 GHz und 10 min Daueranalyse = ...Arbeitsspeicher[/quote]Vermutlich gibt es einen GB Wert, oberhalb von dem eine Speichervergrößerung absolut keinen Sinn mehr macht!
Und vermutlich wird auch laange vorher schon die Hauptspeichervergrößerung so gut wie keinen Sinn mehr gemacht haben.
Und was meintest du nun eigentlich?

Benno
Parent - - By Stefan Schiffermueller Date 2013-05-18 09:59
Zitat:
Vermutlich gibt es einen GB Wert, oberhalb von dem eine Speichervergrößerung absolut keinen Sinn mehr macht!
Kann ein großer Hash-Speicher bei kleinen Bedenkzeiten auch schaden?
Parent - - By Mythbuster Date 2013-05-18 14:38
Yep!
Parent - - By Michael Scheidl Date 2013-05-18 16:11
Falls sie schaden, dann bei jeder Bedenkzeit. Es gibt ja dieses (potenzielle) Problem mit der "Verunreinigung" des sogenannten TLB:

http://de.wikipedia.org/wiki/Translation_Lookaside_Buffer

Ich kann nicht behaupten das ganze wirklich verstanden zu haben. Jedenfalls beschleunigt dieser TLB normalerweise Speicherzugriffe, aber unter Umständen wird dieser Nutzen geringer. Soweit ich Erklärungen glaube verstanden zu haben, tritt dieser Effekt im Computerschach eventuell bei sehr großen Hashgrößen ein; ich nehme an von 1 GB aufwärts.

Am besten wir es sein, auf dem individuellen System mit mehreren Positionen konkret "time to depth" zu testen und zu sehen, ab welcher Hashgröße sich diese nicht mehr verkürzt.

(Womit ich hoffe meinen obigen, weniger konstruktiven Kommentar ausgebessert zu haben )
Parent - By Thomas Plaschke Date 2013-05-18 19:51
Wenn ich's mit dem Kenntnisstand eines interessierten Laien noch richtig in Erinnerung habe, wird der TLB für die Umsetzung von virtueller zu physikalischer Speicheradresse gebraucht. Als anno dazumal der Pentium Pro auf der Bildfläche erschien stellte sich heraus, dass dieser Prozessor für das Nachladen der Übersetzungstabellen besonders lange brauchte was ihn recht stark ausbremsen konnte. In der c't, aus der ich meine "Hardware-Weisheit" überwiegend gewinne, habe ich von dieser Problematik für moderne Prozessoren noch nichts gelesen. - Aber ich kann es natürlich auch nicht ausschließen.

Zur sinnvollen Hashtabellengröße hat Dr. Donninger in einer CSS geäußert, dass der Zuwachs von 16 zu 64 MBytes nicht mehr viel bringe (Ich hoffe, dass ich ihn sinngemäß richtig zitiere). Zur Zeit seiner Äußerung waren aber natürlich keine Multicore-PC's mit zig GHz und zig GBytes Speicher am Markt, auf den Programme liefen, die dutzende Millionen Knoten pro Sekunde erledigten. Ohne weitere Anhaltspunkte würde ich ihm aber was die relative Abhängigkeit des Leistungszuwachses von der Größe der Hashtabellen zustimmen. - Hängt natürlich auch immer vom betroffenen Programm ab.

Viele Grüße
Th. Plaschke
Parent - - By Benno Hartwig Date 2013-05-18 21:01
[quote="Michael Scheidl"]Falls sie schaden, dann bei jeder Bedenkzeit...[/quote]Ist ggf. möglich, dass Hashtables vor der Nutzung für eine Berechnung initialisiert werden muss?
Das würde für einen besonders großen Hash dann relativ lange dauern. Und anschließend würde bei kurzen Zeiten von diesem besonders großen Hash kein Nutzen bezogen werden können.
Hier wäre der 'Schaden' also nur bei kurzen Bedenkzeiten.
Aber ob gemeinhin immer wieder eine derartige Initialisierung stattfindet, sorry, das weiß ich nicht.
Benno
Parent - - By Claude Gable Date 2013-05-19 05:20
H3 kann 32 Kerne und 256GB Arbeitsspeicher benutzen und der Erfinder hat sich bestimmt etwas dabei gedacht.
Parent - By Benno Hartwig Date 2013-05-19 07:06
[quote="Claude Gable"]H3 kann 32 Kerne und 256GB Arbeitsspeicher benutzen und der Erfinder hat sich bestimmt etwas dabei gedacht.[/quote]Bestimmt!
Parent - By Soenke Maerz Date 2013-05-19 10:18
[quote="Claude Gable"]
H3 kann 32 Kerne und 256GB Arbeitsspeicher benutzen und der Erfinder hat sich bestimmt etwas dabei gedacht.
[/quote]

Man kann mit einem Auto auch ungebremst gegen eine Betonmauer fahren. Der Erfinder des Autos hat sich bestimmt etwas dabei gedacht.
Parent - - By Thomas Plaschke Date 2013-05-19 10:10
[quote="Benno Hartwig"]
Ist ggf. möglich, dass Hashtables vor der Nutzung für eine Berechnung initialisiert werden muss?
[/quote]
Ja, vor der ersten Nutzung müssen die Hashtabellen einen definierten Zustand haben. Dass man nach jedem Zug dem Programm eine Amnesie verordnen muss, indem die Tabellen erneut initialisiert werden, ist Ansichtssache.

Ich habe einen kurzen Blick in den Quellcode von Stockfish 3 geworfen. Die Hashtabellen werden von diesem Programm mittels der memset-Funktion mit 0 überschrieben und initialisiert. Ein Tabelleneintrag ist bei Stockfish übrigens 16 Bytes groß. 4 Einträge werden in einem cluster gesammelt. Die eigentliche Hashtabelle wird mit einer 32 Bit-Zahl als Index verwaltet. Damit wären also Maximal (4x(2^32)=) ca. 17 Milliarden Hash-Einträge möglich. À 16 Bytes pro Eintrag bringt das eine maximale Größe von 256 GBytes.

Windows 7 Home verwaltet aber nicht mehr als 16 GBytes, Win 7 Pro und Ultimate sowie Win 8 nicht mehr als 192 GBytes. Win 8 Pro und Enterprise schaffen 512 GBytes (jeweils freilich nur die 64-Bit-Versionen).

Die TCEC-Version von Stockfish hat im Mittelspiel bis zu 20 mKnoten/s geschafft. Es würde auf dem verwendeten PC fast eine Viertelstunde dauern, genug Knoten für die ca. 17 Milliarden maximal möglichen Hash-Einträge zu erzeugen.
Wenn ich mich recht entsinnene, wird außerdem nicht jede generierte Stellung in die Hashtabellen aufgenommen.

Alles in allem gibt es zurzeit vermutlich bessere Investitionsmöglichkeiten als >256 GByte RAM in einem Schach-PC.

Viele Grüße
Th. Plaschke
Parent - - By Claude Gable Date 2013-05-19 12:52
Heißt das jetzt für die Analyse ist es egal, ob 4 GB oder 64 GB?
Parent - By Mathias Schneider Date 2013-05-19 14:09
Kommt darauf an.................
Parent - - By Michael Scheidl Date 2013-05-19 15:11
Zitat:
Dass man nach jedem Zug dem Programm eine Amnesie verordnen muss, indem die Tabellen erneut initialisiert werden, ist Ansichtssache.

Wenn ich es nicht ganz mißverstanden habe, ist das keine Ansichtssache mehr, sondern seit den späten 1990ern ist dieses ständige Initialisieren Schnee von gestern. Warum soll man nüzliche Hasheinträge wegschmeißen? In der interaktiven Analyse wird es ja deutlich sichtbar, wie eine Engine die Einträge behält und dementsprechend klüger wird. Eine Engine die dauernd löscht wäre zu keinem Hashlernen in der Lage.
Parent - - By Thomas Plaschke Date 2013-05-19 17:33
Schon richtig. Eine Rückwärtsanalyse dürfte bei Hash-Amnesie nicht möglich sein.
Wie Hashlernen funktioniert, weiß ich nicht. Es ist, glaube ich, etwas komplizierter, als nur die Hash-Tabelle nicht nach jedem Zug zu löschen/initialisieren. Inhaltlich muss ich hier passen. Aber die Tatsache, dass die Hashtabellen die Ergebnisse einer oder mehrerer älterer Suchen enthalten können, dürfte auch heute nicht unproblematisch sein. - Besser als Dr. Donninger in CSS 4/94 S. 38 ff, Der Fleischwolf im Schachprogramm, kann ich die Problematik aber nicht erklären (seinem Nimzo hat er übrigens auch nicht nach jedem Zug auf den Hinterkopf geklopft).

Viele Grüße
Th. Plaschke

P.S.: Stockfish 3 scheint seine Hashtabelle nur nach der (erfolgreichen) Speicheranforderung zu initialisieren.
Parent - - By Claude Gable Date 2013-05-25 09:31
Und wären jetzt für einen 6 Kerner mit IDeA Analyse 16 oder 32 GB Arbeitsspeicher besser?
Parent - By Claude Gable Date 2013-05-26 13:39
Wie wichtig ist eigentlich die Geschwindigkeit des Arbeitsspeichers, worauf hat diese Einfluss?
Up Topic Hauptforen / CSS-Forum / Wie viel Arbeitsspeicher?

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill