Issue546

Title allow setting time and memory limits in driver
Priority feature Status resolved
Superseder Nosy List jendrik, malte
Assigned To jendrik Keywords driver
Optional summary

Created on 2015-06-30.17:39:08 by jendrik, last changed by jendrik.

Messages
msg4402 (view) Author: jendrik Date: 2015-07-18.02:15:04
Alright, I went ahead and merged and pushed the code.
msg4395 (view) Author: malte Date: 2015-07-17.23:29:12
If you think the results look good, I don't want to look at them.
msg4393 (view) Author: jendrik Date: 2015-07-17.18:24:29
I agree. 

I have run the requested experiments:

Blind search with limits 300s and 1GB for the newest branch revision. For one copy of the 
configuration, limits are set by lab, for the other limits are set with fast-downward.py.
http://ai.cs.unibas.ch/_tmp_files/seipp/issue546-v1-limits.html

Setting limits with lab for the FDSS portfolios:
http://ai.cs.unibas.ch/_tmp_files/seipp/issue546-v1-opt-fdss-issue546-base-issue546-v1-compare.html
http://ai.cs.unibas.ch/_tmp_files/seipp/issue546-v1-sat-fdss-issue546-base-issue546-v1-compare.html

I'd say the results look good. Setting the limits with the planner script seems to work identical to 
setting them with lab. The optimal portfolios still solve exactly the same number of tasks. There is 
some fluctuation for the satisficing portfolios, but I think this can be attributed to randomness. I 
had a look at one trucks-strips task where we lose coverage and in both versions the first 
configuration ('--heuristic', 'h=ff()', '--search', 'eager_greedy(h,preferred=h)') is given the same 
timeout, but in one case it finds a solution after 5 seconds, in the other it doesn't solve the task 
in 373 seconds. 

What do you think?
msg4385 (view) Author: malte Date: 2015-07-17.12:29:01
The last option looks best to me.
msg4383 (view) Author: jendrik Date: 2015-07-17.02:08:59
I am done going over your code review comments and will run experiments now.
msg4382 (view) Author: jendrik Date: 2015-07-17.01:36:27
Another thing we haven't really considered, I guess, is whether the option names are 
what we want them to be. I'm not sure which ones I prefer. Do you have an opinion?

1) --search-timeout, --search-memory (current)
2) --search-time, --search-memory (shortest)
3) --search-max-time, --search-max-memory (corresponds to search options)
4) --search-time-limit, --search-memory-limit (most speaking)
msg4357 (view) Author: malte Date: 2015-07-12.20:32:43
I think it would be good to have more verbose descriptions of how the limits
work, though, ideally as part of the --help documentation. This should answer
questions such as: what is the interplay between the overall limits and other
limits; what if anything special happens when using portfolios (e.g. I assume
portfolios just keep going if a search component exceeds its memory limit?); how
are external limits treated. Basically, everything a user needs to know about
the feature.
msg4356 (view) Author: malte Date: 2015-07-12.20:30:34
I'm done looking at the changes. I very much like the refactoring, in particular
the new `limits` module, but due to the moved I couldn't really follow the logic
100%, so don't take this as a sign that I think it works. ;-)

If a before/after test with some portfolio configs turns up no weird behaviour
and if an experiment with the new options doesn't cause trouble, I think that
would be proof enough that it's OK.
msg4341 (view) Author: jendrik Date: 2015-07-09.20:35:36
If you find the time, Malte, it would be great if you could have a look at the 
pull request:

https://bitbucket.org/jendrikseipp/downward/pull-request/30
msg4296 (view) Author: jendrik Date: 2015-06-30.17:39:08
We'd like to add the following parameters to the planner script:

--{translate,preprocess,search,overall}-timeout TIME
--{translate,preprocess,search,overall}-memory MEMORY

TIME can be given in seconds or with the suffixes s, m, h.
MEMORY can be given in MB or with the suffixes K, M, G.
History
Date User Action Args
2015-07-18 02:15:04jendriksetstatus: reviewing -> resolved
messages: + msg4402
2015-07-17 23:29:12maltesetmessages: + msg4395
2015-07-17 18:24:29jendriksetmessages: + msg4393
2015-07-17 12:29:01maltesetmessages: + msg4385
2015-07-17 02:08:59jendriksetmessages: + msg4383
2015-07-17 01:36:27jendriksetmessages: + msg4382
2015-07-12 20:32:43maltesetmessages: + msg4357
2015-07-12 20:30:34maltesetmessages: + msg4356
2015-07-09 20:35:36jendriksetstatus: unread -> reviewing
messages: + msg4341
2015-06-30 17:39:08jendrikcreate