Re: [robocup-rescue-s] kernel speed

From: Cameron Skinner <cam_at_cs.auckland.ac.nz>
Date: Thu, 07 Jun 2007 19:51:19 +1200

> There is a "step" option in the configuration file of the server
> (boot/config.txt). Its default value is 1000 (1000 milliseconds = 1
> second) and it determines each cycle width. You can use a smaller step
> to make the simulation faster.

The step option only affects the time that the kernel waits for agent
commands, it will not affect the speed of the simulators. For a single
timestep the kernel does the following:

1) Calculate visibility and send KA_SENSE messages
2) Wait for "step" milliseconds for agent commands
3) Send all commands to simulators
4) Wait for simulators to send updates
5) Merge updates into world model

There appears to be a bit of a performance bottleneck in the perception
code (step 1). Most of the simulators take 50ms or less to do their work
but the kernel takes much longer to calculate what each agent can see,
maybe 10-20ms per agent. When there are 100 agents this can take a
second or more. If any of you have some spare time then feel free to
investigate this issue :)

It might also be useful to terminate step 2 early once all agents have
sent a command - the only problem with this is that TELL messages can be
asynchronous, so we'll have to be careful with how this is implemented.

There is also a timing issue with using TCP for sending messages - if
you are interested we can discuss this further on the developers mailing
list.

Cheers,
Cameron.
_______________________________________________
robocup-rescue-s mailing list
robocup-rescue-s_at_cc.gatech.edu
https://lists.cc.gatech.edu/mailman/listinfo/robocup-rescue-s
Received on Thu 07 Jun 2007 - 07:50:11 GMT

This archive was generated by hypermail 2.2.0 : Thu 07 Jun 2007 - 07:50:12 GMT