Computer draughts tournament announcement

Discussion about development of draughts in the time of computer and Internet.
Ed Gilbert
Posts: 859
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Post by Ed Gilbert » Sat Jul 18, 2009 02:33

For the time being I did not introduce DamExchange in Damy program.
Gerard, do you think this is something you can do this year? It would be very interesting to run some engine matches between kingsrow and damy, and damage vs. damy. I know you said you don't think damy is 'finished' yet, but of course a draughts program is always a work in progress and is never finished. It would be a lot of fun. I hope you will be able to do it.

-- Ed

TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Post by TAILLE » Sat Jul 18, 2009 11:04

Hi Ed.,
Ed Gilbert wrote:Gerard, do you think this is something you can do this year? It would be very interesting to run some engine matches between kingsrow and damy, and damage vs. damy. I know you said you don't think damy is 'finished' yet, but of course a draughts program is always a work in progress and is never finished. It would be a lot of fun. I hope you will be able to do it.

-- Ed
Yes Ed. that is something I am now thinking about. I am sure such match would be funny event for me and that's a good motivation. In addition it will allow to have a better estimation of the relative strength of our programs which is also interesting.
Of course some work has to be done and I plan to begin it after Dutch open tournament. Till this tournament I will try and finish to program my new breakthrough calculation.
I hope to be able to run such match at the very beginning of 1010.
Gérard

Ed Gilbert
Posts: 859
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Post by Ed Gilbert » Sat Jul 18, 2009 20:29

Yes Ed. that is something I am now thinking about. I am sure such match would be funny event for me and that's a good motivation. In addition it will allow to have a better estimation of the relative strength of our programs which is also interesting.
Of course some work has to be done and I plan to begin it after Dutch open tournament. Till this tournament I will try and finish to program my new breakthrough calculation.
I hope to be able to run such match at the very beginning of 1010.
Gerard, that is good news, and I will look forward to some good matches.

A good way to test your DamExchange functionality is against Harm's dam2.2. Also, you can save some effort by only doing the server side (what Frank calls 'follower'), as kingsrow and damage can provide the client functionality. But it is also useful to have both functions which allows you to run matches between different versions of damy.

-- Ed

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Post by BertTuyt » Sun Jul 19, 2009 11:44

Ed, basically there was nothing wrong with the parallel search implementation. The reason I didnt use it during the tournament was that I didn't test it sufficiently so far.

Also as my new i7 was quite fast, I thought I could rely on the single thread version.
It is clear that in the future I will play with the parallel version.

For now however, I only work on the 7p Database .
I was running the 5m - 2m subpart and suddenly my program crashed. Seems a bug, so need to find the reason for it,

Next to that on my other quad (yes i still have both computers ) I try to develop a parallel search DB-Generate Program. My goal is to go beyond the 1M Pos/sec in a quad environment (on the Q6600), so i hope this goal target is not to ambitious.

Keep you posted.

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Post by BertTuyt » Sun Jul 19, 2009 11:54

The results were +9 -1 =148. So I think it is working ok.
Ed seems that your parallel search is working, but (on the other hand), I also think that the difference is "relatively" small. Maybe some-one can calculate the elo-difference.

What is the speed-up obtained in the end , around a factor of 2 for the 3-thread version?

In general i see good results for node/sec speedup, but the actual search-speed (so the time needed to do , as an example, a 15 -ply search) is sometimes "disappointing".

Bert

Ed Gilbert
Posts: 859
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Post by Ed Gilbert » Sun Jul 19, 2009 13:55

Ed seems that your parallel search is working, but (on the other hand), I also think that the difference is "relatively" small.
I don't know how much difference to expect in terms of games won/lost either. On the lost games side, going to 3 threads has decreased the number of lost games down to 1, so there is not much room for improvement there. It is hard to say what the upper limit is on the number of games that can be won. To win the opponent must make a losing move, and draughts is such a drawish game that there are probably not very many games with losing moves available to be won.
What is the speed-up obtained in the end , around a factor of 2 for the 3-thread version?
I think it's closer to 3x for 3 threads. I want to retest this on the 8-core machine, and run the test with up to 8 parallel threads. I think I also need to see what the difference is between 4 threads straddling both processors vs. 4 threads all on the same processor. I have seen some indication that it runs slower when the threads are not all on one processor.

-- Ed

TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Post by TAILLE » Thu Jul 30, 2009 23:47

Hi Bert,

Will you be the 13th September at this dutch open tournament ?
BTW is it possible for you to have the information concerning the tie break procedure that will be used (if necessary) ?
Gérard

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Post by BertTuyt » Fri Jul 31, 2009 00:20

Gerard,

if I don't have Business obligations (which is not impossible) I will join the tournament.

I will check with Jaap Bus what the result is , so far, regarding all our tiebreak related discussions

Bert

Ed Gilbert
Posts: 859
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Post by Ed Gilbert » Tue Sep 22, 2009 14:32

Hi Gerard,

Now that the computer tournaments are finished for this year, do you think you will have chance to work on adding dam exchange to damy so we can run some matches over the internet?

-- Ed

TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Post by TAILLE » Tue Sep 22, 2009 15:35

Hi Ed,
Ed Gilbert wrote:Hi Gerard,

Now that the computer tournaments are finished for this year, do you think you will have chance to work on adding dam exchange to damy so we can run some matches over the internet?

-- Ed
Of course it is in my plan!
For the moment I have another priority : I just have bought a new computer I will received in one month. It is a Dell 5500 with a xeon architecture (two core i7) 2,4Ghz and 12Gb of DDR3-ECC memory. My current multithread algorithm works quite well with 2 threads but I know it will not be very efficient with 16 threads. I told you that I hope to play a match with Kingsrow at the beginning of 2010. For the moment the planning seems correct. I think I am able to write and debug may new algorithm before the end of November and, in December I will work on adding dam exchange in order to be ready at the beginning of 2010.
Gérard

Ed Gilbert
Posts: 859
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Post by Ed Gilbert » Tue Sep 22, 2009 18:48

Hi Gerard,

That sounds like a very capable machine. No doubt you will be able to build the 8pc db quickly with it.

I found that with my 8-core machine, I get no additional search speed past 4 search threads. There seems to be too much cache contention caused by globals that are read and written by multiple threads. AFAIK the main globals in this category are the hash table and history table. I need to work on this because the chess program Crafty seems to get good scaling with up to at least 8 search threads, and except for his lack of a history table I don't see much difference in its use of globals. I will be interested to hear how well you can get damy to scale with more than 4 threads.

I will be looking forward to some long kingsrow vs. damy matches when you get the dam exchange working.

-- Ed

TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Post by TAILLE » Tue Sep 22, 2009 19:05

Hi Ed,
Ed Gilbert wrote:Hi Gerard,

That sounds like a very capable machine. No doubt you will be able to build the 8pc db quickly with it.

I found that with my 8-core machine, I get no additional search speed past 4 search threads. There seems to be too much cache contention caused by globals that are read and written by multiple threads. AFAIK the main globals in this category are the hash table and history table. I need to work on this because the chess program Crafty seems to get good scaling with up to at least 8 search threads, and except for his lack of a history table I don't see much difference in its use of globals. I will be interested to hear how well you can get damy to scale with more than 4 threads.

I will be looking forward to some long kingsrow vs. damy matches when you get the dam exchange working.

-- Ed
No doubt I will encounter problems with a many threads but they will certainly be different as yours :
1) I do not have history table
2) I have no contention in my hashtable implementation

For the time being I am studying a way to handle split points with the minimum of contention.
Gérard

Ed Gilbert
Posts: 859
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Post by Ed Gilbert » Tue Sep 22, 2009 19:17

2) I have no contention in my hashtable implementation
If you have only a single hashtable, then you will have cache contention. This occurs when one thread writes to a region in memory that is cached by another thread. This causes a cache miss the next time the second thread goes to read any data within the same region, as its cached data block has been invalidated by the first thread's write. They don't have to be reading and writing the exact same data, just data that is in the same cache block.

-- Ed

TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Post by TAILLE » Tue Sep 22, 2009 21:34

Ed Gilbert wrote:
2) I have no contention in my hashtable implementation
If you have only a single hashtable, then you will have cache contention. This occurs when one thread writes to a region in memory that is cached by another thread. This causes a cache miss the next time the second thread goes to read any data within the same region, as its cached data block has been invalidated by the first thread's write. They don't have to be reading and writing the exact same data, just data that is in the same cache block.

-- Ed
Yes Ed. now I understand what you mean. The difficulties begin!
Gérard

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Post by BertTuyt » Fri Sep 25, 2009 19:27

It is a Dell 5500 with a xeon architecture (two core i7) 2,4Ghz and 12Gb of DDR3-ECC memory

Gerard, interesting machine.
Is it a server , workstation or desktop.
Tried to find it on the web-side but couldn't find it.
Maybe you have the right link to the Dell webpage...

How much HardDisk is installed and what is the oS you run.
Think you are right, to stay competitive we have to move to dual-socket QuadCore type of machines.

Bert

Post Reply