Author: Robert Hyatt
Date: 09:17:27 06/02/04
Go up one level in this thread
On June 01, 2004 at 12:48:56, Bryan Hofmann wrote: >On June 01, 2004 at 12:12:25, Sune Fischer wrote: > >>>In the games you refered to above about a Crafty clone on FICS (My system) I >>>looked at the game files and found that My system was out of book after you >>>system castled in move 4. So from move 5 on was done by the search and eval >>>functions of the Crafty engine. Hardly a factor in book learning considering >>>that the bookc.bin is very narrow on my system. I also checked and there was no >>>position learning in either of these games. >> >>My book is too narrow for aggressive learners, move 4 is still 8 plies, I think >>the book is down to a single line already at that point. >> >>I'm surprised Crafty diviated already at move 13 though, usually they can go a >>lot longer before that happens. Perhaps the extra randomness has something to do >>with Crafty being on a quad? > >Yes it is on a quad system but they are only PII 450Mhz CPUs. I would say it had >to do with the load on the system. I run another chess engine on the same box on >FICS and if you look at the eval you can see where it is jumping between the 2 >moves; Note that this is a _bad_ idea with Crafty. I use spinlocks. More threads than CPUS (even if some of the threads are _another_ program) will really kill performance at times. The problem happens at the start of a search particularly, where three threads are spinning waiting on work and the 4th is actually doing something. If you don't have four available processors, how to guarantee that the O/S doesn't schedule the three "spinners" and let the real worker sit idle for a period of time? That results in a time-slice where _no_ useful search work gets done... The locks and spins could become O/S system calls to solve this, but that slows overall performance since the O/S blocking calls take lots of time, and then once a process is blocked, it can take a lot of time to context-switch back to it once it is unblocked. Crafty is built around the idea of "dedicated system" and the concept of #threads == #processors, and #running_processes == #processors. If you run two programs, I'd give each two processors and the problem won't happen... Or you could modify Crafty so that it knows two are running, and when one is idle, the other uses 4 threads, but when both are running, each uses 2 threads. It would be tricky and take a few seconds to "settle down" once anything changes, but it is possible. > > 9 1.11 0.82 1. Nf5 gxf5 2. Nf6+ Qxf6 3. Qxf6 d6 > 4. exf5 b5 5. Qg5+ Kh7 6. Qh5+ Kg7 > 7. a3 > 9 2.09 1.30 1. Qg5 f5 2. Nxg6 fxe4 3. Nxf8+ Kxf8 > 4. Qd8+ Kf7 5. Nxc7 Rb8 6. dxe4 > 9-> 2.24 1.30 1. Qg5 f5 2. Nxg6 fxe4 3. Nxf8+ Kxf8 > 4. Qd8+ Kf7 5. Nxc7 Rb8 6. dxe4 > 10 3.34 -1 1. Qg5 > 10 4.71 0.85 1. Qg5 f5 2. Nxg6 fxe4 3. Nxf8+ Kxf8 > 4. Qd8+ Kf7 5. Nxc7 Rb8 6. dxe4 Nc4 > 10 5.43 0.99 1. Nf5 gxf5 2. Nf6+ Qxf6 3. Qxf6 Bd4 > 4. Qxf5 Na4 5. Qg5+ Kh7 6. Qh5+ Kg7 > 7. Qg4+ Kh7 8. Rad1 > 10-> 7.17 0.99 1. Nf5 gxf5 2. Nf6+ Qxf6 3. Qxf6 Bd4 > 4. Qxf5 Na4 5. Qg5+ Kh7 6. Qh5+ Kg7 > 7. Qg4+ Kh7 8. Rad1 (s=3) > 11 8.96 1.05 1. Nf5 gxf5 2. Nf6+ Qxf6 3. Qxf6 Re8 > 4. Qg5+ Kh7 5. Qxf5+ Kg7 6. Qg5+ Kf8 > 7. Rab1 Na4 8. Qh6+ Kg8 9. h4 (s=2) > 11 27.90 1.19 1. Qg5 f5 2. Nxg6 fxe4 3. Rab1 Na4 > 4. Nxf8+ Kxf8 5. Qd8+ Kf7 6. Nxc7 Rb8 > 7. dxe4 > > > > > > > >> >>-S. >> >>>[Event "ICS Game"] >>>[Site "ICS"] >>>[Date "2004.06.01"] >>>[White "BigGizmo"] >>>[Black "ChessCraft"] >>>[WhiteElo ""] >>>[BlackElo ""] >>> >>>1. e4 e5 2. Bc4 Nf6 3. d3 Bc5 4. Nc3 O-O 5. Nf3 Nc6 6. Bg5 Na5 7. O-O h6 8. Bxf6 >>>Qxf6 9. Nd5 Qd6 10. Nh4 g6 11. Qd2 Nxc4 12. Qxh6 Nxb2 13. Qg5 f5 14. Nxg6 >>>c6 15. Nxf8+ Kxf8 16. Qxf5+ Kg7 17. Qg5+ Kf7 18. Ne3 Qe6 19. a4 b5 20. axb5 >>>cxb5 21. Nd5 Bd4 22. c3 Bb6 23. Qh5+ Kg8 24. Nxb6 Qxb6 25. Qxe5 Kf8 26. Rab1 >>>Nxd3 27. Qf5+ Ke7 28. Qd5 Rb8 29. Qxd3 d6 30. Qg3 Be6 31. e5 dxe5 32. Qxe5 >>>Kf7 33. Rfe1 >>> >>>[Event "ICS Game"] >>>[Site "ICS"] >>>[Date "2004.06.01"] >>>[White "BigGizmo"] >>>[Black "ChessCraft"] >>>[WhiteElo ""] >>>[BlackElo ""] >>> >>>1. e4 e5 2. Bc4 Nf6 3. d3 Bc5 4. Nc3 O-O 5. Nf3 Nc6 6. Bg5 Na5 7. O-O h6 8. Bxf6 >>>Qxf6 9. Nd5 Qd6 10. Nh4 g6 11. Qd2 Nxc4 12. Qxh6 Nxb2 13. Nf5 gxf5 14. Nf6+ >>>Qxf6 15. Qxf6 Re8 16. exf5 d5 17. Rfb1 Ba3 18. Re1 Bc5 19. Qg5+ Kf8 20. Qh6+ >>>Ke7 21. Rxe5+ Kd7 22. Rxe8 Kxe8 23. Qh8+ Kd7 24. Qxb2 c6 25. Re1 Kc7 26. Qh8
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.