Feature request: multi core support for benchmarking

Issue #1 wontfix
Mark Moll
created an issue

It may be useful to have some sort of support for running benchmarking instances in parallel on different cores. E.g., if the user could specify the number of cores through benchmarking class and this class automatically runs multiple instances of planning problem simultaneously accounting for the number of cores and available memory.

Comments (7)

  1. Mark Moll reporter

    Yes, that is the right thing to do. It's one of the suggestions in the stackoverflow article.

    Is it possible to monitor memory consumption per thread? The config file allows you to specify a memory limit per run, but this seems hard to check per thread. We should also check that the number of threads <= free memory / memory limit per run.

  2. Ioan Sucan

    Right now we are measuring memory per process. I am not sure how to measure memory per thread. In general, I think it is easier to reason about total memory consumption than memory per thread because there are often threads that don't do much, just wait around for an event (e.g., sleep or condition wait). Do you have a specific use case in mind?

  3. Ioan Sucan

    Seems this issue has been around for a while. I am thinking that since it is pretty easy to parallelize outside OMPL, i.e., run the benchmarking process with different inputs in parallel, this feature is not something that would add much utility, but would add complexity and perhaps inaccuracies in the produced results. I propose we close this as wontfix.

  4. Mark Moll reporter

    Agreed. For example, with the benchmark program in omplapp it's easy enough to launch separate processes in parallel with different config files (one per planner, say).

  5. Log in to comment