Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: About csrss.exe and testers wanted

Author: Daniel Shawul

Date: 01:40:22 12/01/04

Go up one level in this thread


On November 30, 2004 at 13:59:43, Scott Gasch wrote:

>On November 30, 2004 at 02:22:49, Daniel Shawul wrote:
>
>>On November 30, 2004 at 01:31:30, Russell Reagan wrote:
>>
>>>On November 29, 2004 at 23:12:25, Daniel Shawul wrote:
>>>
>>>>I am working on a multiprocessor version of my engine
>>>>DanChess the previous weaks. Since i don't have a dual machine
>>>>to work on i need some testers. If any body is interested please
>>>>drop me an email. Leo Dijksmann have been testing it and found that
>>>>it is using 80-90% of cpu on a dual machine. So it must be really running
>>>>parallel.
>>>
>>>
>>>I can run it on my dual machine if you send me a copy.
>>   Sent.
>>>
>>>
>>>>What is csrss.exe? When the multiprocessor version of my engine runs
>>>>this exe also runs. On the internet i see it is some file which must run
>>>>when a multi processor engine runs. But i am not sure if that is the case
>>>>for all MP engines.
>>>
>>>csrss = Client/Server Runtime SubSytem
>>>        ^      ^      ^       ^  ^
>>>
>>>One of its duties is creating threads.
>>   So it doesn't matter how much cpu it uses?
>>Because it sometimes uses upto 20% cpu. I am not creating and destryoing lots of
>>search threads, 400 splits in a 10 second search maximum.
>>   daniel
>
>How are you creating threads for your parallel search?
>
>Based on what you report with csrss.exe's overhead, I suspect you are doing
>something like creating / destroying threads when you split / finish a split.
>Everytime you create or destroy a win32 thread csrss.exe is notified via an LPC
>call.  This is not the only overhead associated with creating / destroying a
>bunch of threads; think of the time it takes to allocate and free the stack
>commit of the new thread and the kernel data structures associated with a new
>thread.
>
>A better way is to create a pool of threads when the engine starts and then to
>use them when you need them.   When you no longer need them send them back to an
   I have a pool of processors ,which contains all the information for the a
single search, but i haven't thought about including the thread in this pool!
I should really try it.thanks
daniel

>idle loop.
>
>Scott



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.