-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
simulation modes: proportional run length and more #2220
simulation modes: proportional run length and more #2220
Conversation
Does this close #399? |
Is
|
@oliver-sanders - good spotting. Updated description to close #399. |
@matthewrmshin - yes, the boolean is redundant; I'll remove it... |
1d32424
to
6a26e37
Compare
6ef167e
to
42d22ad
Compare
lib/cylc/cfgspec/suite.py
Outdated
'script': vdr( | ||
vtype='string', | ||
default='echo Dummy task; sleep $(cylc rnd 1 16)'), | ||
'script': vdr(vtype='string'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be a good idea to set this to something like echo 'no task script defined'
so that there is evidence in the job output that the script item has not been set.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking just of the script
with this comment. For a task like [foo]script=true
the job.out now looks like this:
(no init-script defined)
Suite : <suite-name>
Task Job : 1/<task-name>/01 (try 1)
User@Host: <user>@<host>
(no env-script defined)
(no pre-script defined)
2017-04-05T09:35:11+01 NORMAL - started
(no post-script defined)
2017-04-05T09:35:12+01 NORMAL - succeeded
Could we combine
|
Done. Description updated. |
26619a8
to
cfe4410
Compare
aca92ca
to
200e18c
Compare
Note both dummy and dummy-local mode run background dummy jobs now, to avoid asking PBS (et. al.) for huge resources for 10-sec dummy jobs, as execution time limit is the only resource directive we can scale automatically at this point. |
@matthewrmshin - note the bulk of the changes to |
Reviewers - this really needs a bunch of tests for all the new functionality. However, all current tests pass (on Travis CI at least), and I'm quite busy right now, so we could just put up a new issue for the tests in order to avoid delaying #2157 any longer - what do you think? |
Would it be possible to negate the tasks user-defined The following suite cannot be run in dummy mode as the
|
Good point - done. |
The new |
(I didn't realise that we had a |
(I - once - didn't realise there was bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
One minor comment we can address later is to include the new "dummy-local" mode in the cylc run
options in gcylc
.
Fixes following merge with cylc#2220.
Fixes following merge with cylc#2220.
Fixes following merge with cylc#2220.
Fixes following merge with cylc#2220.
Fixes following merge with cylc#2220.
Fixes following merge with cylc#2220.
Fixes following merge with cylc#2220.
Fixes following merge with cylc#2220.
Fixes following merge with cylc#2220.
Fixes following merge with cylc#2220.
Close #2185
Close #399
Close #1859
Partially address #2188
[Note #description updated several times post feedback etc.]
Simulation and dummy mode improvements, including proportional run length, via the following single config section that applies to all non-live modes: dummy, dummy-local, simulation.
Section name simulation because both dummy mode and simulation mode are ways of simulating real suite behaviour. Probably should rename "simulation mode" to "virtual mode" or something, but that would be more disruptive.
If
speedup factor
andexecution time limit
are defined, simulated run length islimit / speedup
, elsedefault run length
. These are defined under runtime to allow adjusting specific task runtimes if necessary.execution time limit
is scaled so that dummy tasks don't ask for too much CPU time, and padded withtime limit buffer
(to avoid quick XCPU kill)Event handlers disabled by default, but can be left on.
Simulation mode is now more obvious in the GUI (text tree view).
The
fail cycle points
andfail try 1 only
items allow more flexible simulation of failure conditions.New
dummy-local
mode in which task remote host and batch system are dummied out - to allow even other-site suites to run locally in dummy mode.