Home | Tutorials | Wiki | Issues
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Okay, taking a look at various benchmarks begins to help us understand what is going on with performance, and give us a better answer to a previous question about what hardware works best, question 111. For example.

http://www.tomshardware.com/reviews/core-i7-3970x-sandy-bridge-e-benchmark,3348.html

Currently, Gazebo does not distribute its load well across threads. The simulation thread acts as a single heavy load. This means that CPUs that do well on a single thread, such as the Ivy Bridge i7-3770K, work well. This pushes you towards single CPU systems that you overclock as much as possible. You don't get a benefit out of more CPUs, or more cores, as these typically cut down your effective clock rate which reduces performance on the single rate limiting simulation thread.

Let's test this hypothesis. Anybody getting real time factors out of the box on DRCSIM 1.3.1 of close to 1.0 running just

source /usr/share/drcsim/setup.sh
roslaunch atlas_utils atlas.launch

?

Anybody with i7-39xx CPUS who can give timing feedback?

It will also be interesing to see what happens to the simulation thread loading with the Bullet dynamics engine with multi-threading and use of GPUs for dynamics. This may unload the simulation thread by making it several threads or off-loading it to a GPU, and flip the performance criteria back to slower CPUs with more cores, or more slower CPUs.

Okay, taking a look at various benchmarks begins to help us understand what is going on with performance, and give us a better answer to a previous question about what hardware works best, question 111. For example.

http://www.tomshardware.com/reviews/core-i7-3970x-sandy-bridge-e-benchmark,3348.html

Currently, Gazebo does not distribute its load well across threads. The simulation thread acts as a single heavy load. This means that CPUs that do well on a single thread, such as the Ivy Bridge i7-3770K, work well. This pushes you towards single CPU systems that you overclock as much as possible. You don't get a benefit out of more CPUs, or more cores, as these typically cut down your effective clock rate which reduces performance on the single rate limiting simulation thread.

Let's test this hypothesis. Anybody getting real time factors out of the box on DRCSIM 1.3.1 of close to 1.0 running just

source /usr/share/drcsim/setup.sh
roslaunch atlas_utils atlas.launch

?

Anybody with i7-39xx CPUS who can give timing feedback?

It will also be interesing to see what happens to the simulation thread loading with the Bullet dynamics engine with multi-threading and use of GPUs for dynamics. This may unload the simulation thread by making it several threads or off-loading it to a GPU, and flip the performance criteria back to slower CPUs with more cores, or more slower CPUs.

In the meantime, it would be very nice if the Gazebo folks could break the simulation thread into 2 or more threads, separating the dynamics code from the ROS code with a shared memory interface. This would allow the DRCSIM software to run on a wider range of machines out of the box.

Thanks, Chris