Rumble Server

Jump to navigation Jump to search
Revision as of 11 June 2012 at 18:58.
The highlighted comment was created in this revision.

Rumble Server

So I've just started running the rumble on the server that I have available to me. It has an Intel Xeon X3740 which really cranks out the results. I've seen some discussion on running multiple instances of the rumble, one for each core, and was wondering if there was anything special you had to do. I know you have to copy the directory for each instance but is that it? I'm going to run just one instance for the time being until I get some feedback out how to do this.

I'm also getting a lot of could not load robot errors. Is this because I am running Java 7?

    KID23:55, 7 June 2012

    Yep just copy the whole directory of robocode and you can run as much rumble clients as you want. About the could not load robot.. is this while you start the client and he wants to load the missing bots? This is quite normal because robocode repository (some main bot source) is down again. You should be fine if you grab the current bot zip from the rumble start page this one should be up to date (just copy the bots to your robots directory)

    take care

      Wompi01:28, 8 June 2012
       

      You can get missing bots here, thanks to Rednaxela: [1] - we should link this somewhere.

      I'd try deleting robots/robot.database (and maybe robots/.data) so that it rebuilds the cache and see if that fixes the missing bot issue. I've been copying my RoboResearch dir to a RamDisk lately and seems like sometimes I have to rebuild if I run from a new location.

      I run 1 instance per core in tests, sometimes with a slightly increased CPU constant, but for the RoboRumble, I think the consensus is to err on the side of caution and 1 run less than the number of cores, since Java / Robocode / operating system incur some overhead.

        Voidious01:59, 8 June 2012

        Several times when a particular rumble directory has seemed to get spotty on me, I've opened the actual robocode client in that directory, had it clean the robot cache and then shut it down. This has worked like a charm every time, since (I think) it deletes the relevant directories and fully rebuilds the robot database from the available .jar files. Cleans up the place, as it were.

          Tkiesel20:43, 8 June 2012
           

          It is linked on RoboRumble/Starting_With_RoboRumble its the "latest bot archive" :)

          @kid you can use the same user name for all your configurations.

            Wompi02:18, 8 June 2012
             

            I think I just needed to have the robot directory rebuilt. When I deleted the directory and grabbed the latest bot archive it started working again.

            So I have three instances running on the server (rinzler) and one running on my personal computer (tron). I should be looking at actual cores and not threads, right? Because the Xeon in the server has 4 cores but 8 threads. And the Xeon in my personal computer has 4 cores and 4 threads. Three instances each?

              KID03:49, 8 June 2012
               

              I don't have much experience with hyperthreads, so I would say to experiment with it to see how many you can run without a performance hit. People posted some good benchmarks here for multi-threaded Robocode on their systems, some with hyper-threading: User_talk:Voidious#CPU_benchmark_advice_47. You may well be able to run 5-6 without any issues.

              But 3 on each system is already quite a few rumble clients. :-)

                Voidious03:55, 8 June 2012
                 

                I found threads can help a lot. However, I manually double the CPU constant to account for the edge case where the threads aren't helping.

                  Skilgannon10:04, 8 June 2012
                   

                  I was watching the CPU usage last night and I saw spikes as high as 70% but it averaged around 30-40%. I'll have to double the CPU constant and run 6 and see what happens.

                    KID15:03, 8 June 2012
                     

                    Be aware that just increasing the CPU constant will make battles take longer too, for bots that ever skip turns. I'd use the same CPU constant when testing different numbers of threads if you're trying to deduce if the increased threads caused a decrease in performance per thread.

                      Voidious17:01, 8 June 2012
                       

                      I increased the CPU constant from about 7M to 9M and am running 6 instances. Really turning out the results now!

                      Now I just need to start programming a robot again...

                        KID19:46, 8 June 2012
                         

                        Man... I still feel obligated to run a client when I have a new version in the rumble, but damn, once your clients pick it up, it feels pretty useless. :-) You've got me yearning for a quad core "Robocode machine" again, maybe I'll actually pull the trigger this time.

                          Voidious19:23, 11 June 2012
                           

                          I avoid messing with the CPU constant in "production" clients. It favors slowbots over the others, affecting scores and possibly the ranking.

                          But if you want to know how to completely disable turn skipping, add -Ddebug=true to the command line. I use it a lot during testing/benchmarking.

                            MN19:58, 11 June 2012