excaliber
12-02-2003, 04:04 PM
I've been doing some limited testing on running multiple apps of CB. Here are the findings that I came across.
As we know, CB only works when it is it's turn to move. This means theres no activity, then a flurry of processing to get moves in. If it takes to long for the move to be finished, its not submitted (one by someone else is taken instead), and no credit is given (nothing in the stats).
With that in mind, I started toying with the idea of having multiple clients. I seem to get a production boost by using two apps simultaneously. My theory this depends on the speed of your computer.
Since the CB client doesnt ponder its next moves, all moves are sent out at the beginning of its turn. This means that by running multiple clients, you have a better chance of getting one of those moves to process. But this is a double edged sword, and depends on your speed. More clients means more chances to get a turn. But if too many of your clients get a turn, they all fight for CPU time (Mine either share the time evenly, or each has a go at it with full power for several seconds before handing it off). In the end, if you run too many clients, there is too little power to process all the requests in a timely matter, and it is highly likely that none of the turns will be accepted (although you get a high number of completed. Too bad it doesnt count for stats)
So, in a nutshell, I think that it provides a boost towards production. Note, its not a linear boost. Running 2 apps does not provide twice the output. The two clients still fight for time, but its more likely that both will finish than neither, and much more likely that at least one will get a turn.
Heres where computing power will help. My comp is a 1.6 Athlon 2000+. Im guessing that a faster computer could handle maybe three, if not four clients. Depends.
As to memory. I initially had each client using the max amount of memory (128 Mb). Running two clients and DF, i quickly was running low on memory (I have 512 Mb, but run lots of other background apps). Unlike DF, which only occasionally uses all its alloted memory, CB will take it in a heartbeat, and does not reliquish it (whether its using it or not).
I searched on the forums about memory usage. Its used to store the move hash table (or something similar). Apparently, using 16mb and 128mb doesnt offer much performance difference. It only helps when the move to compute takes along time (lots of calculations needed), so it can store the moves in the hash table. In fact, it was mentioned a few times that using high memory can slow it down on the shorter moves, because it re-inits the memory each move, regardless of size.
Well, thats my short rant. Try the multiple applications and let me know how it goes. Im going to give this a run for a day or so and see how it affects my stats.
As we know, CB only works when it is it's turn to move. This means theres no activity, then a flurry of processing to get moves in. If it takes to long for the move to be finished, its not submitted (one by someone else is taken instead), and no credit is given (nothing in the stats).
With that in mind, I started toying with the idea of having multiple clients. I seem to get a production boost by using two apps simultaneously. My theory this depends on the speed of your computer.
Since the CB client doesnt ponder its next moves, all moves are sent out at the beginning of its turn. This means that by running multiple clients, you have a better chance of getting one of those moves to process. But this is a double edged sword, and depends on your speed. More clients means more chances to get a turn. But if too many of your clients get a turn, they all fight for CPU time (Mine either share the time evenly, or each has a go at it with full power for several seconds before handing it off). In the end, if you run too many clients, there is too little power to process all the requests in a timely matter, and it is highly likely that none of the turns will be accepted (although you get a high number of completed. Too bad it doesnt count for stats)
So, in a nutshell, I think that it provides a boost towards production. Note, its not a linear boost. Running 2 apps does not provide twice the output. The two clients still fight for time, but its more likely that both will finish than neither, and much more likely that at least one will get a turn.
Heres where computing power will help. My comp is a 1.6 Athlon 2000+. Im guessing that a faster computer could handle maybe three, if not four clients. Depends.
As to memory. I initially had each client using the max amount of memory (128 Mb). Running two clients and DF, i quickly was running low on memory (I have 512 Mb, but run lots of other background apps). Unlike DF, which only occasionally uses all its alloted memory, CB will take it in a heartbeat, and does not reliquish it (whether its using it or not).
I searched on the forums about memory usage. Its used to store the move hash table (or something similar). Apparently, using 16mb and 128mb doesnt offer much performance difference. It only helps when the move to compute takes along time (lots of calculations needed), so it can store the moves in the hash table. In fact, it was mentioned a few times that using high memory can slow it down on the shorter moves, because it re-inits the memory each move, regardless of size.
Well, thats my short rant. Try the multiple applications and let me know how it goes. Im going to give this a run for a day or so and see how it affects my stats.