-
Notifications
You must be signed in to change notification settings - Fork 24
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
Wait time after (or between) mini jobs #146
Comments
But the localengine uses the same filesystem as the others.. why should this be different here? |
I don't really know why we have And the |
|
Do you have a suggestion how to implement the logic for In minimal_time_since_change = 0
if not gs.SKIP_IS_FINISHED_TIMEOUT:
minimal_time_since_change = gs.WAIT_PERIOD_JOB_FS_SYNC + gs.WAIT_PERIOD_JOB_CLEANUP I'm not sure if it is a good idea to have the Then, in
Of course you would replace the |
I think it's not a simple change, the code got a little convoluted over time and the engine was never part of the equation. The state is checked in a pull fashion, each job asks if all inputs paths are available, these path now check if their creator is finished or not. The engine was never meant to be part of the computation. To get them you would have to get the last task of the running/finished job and the first task of the next job. Thinking about this, the Job.tasks function in meant to be called only after all inputs are available. So you should only get the first task of the next job if all inputs are available (ignoring the timeouts for local jobs). This isn't a nice task... An alternative: A while ago Mirko and I worked on this PR when we had serious trouble with the NFS and many jobs crashed due to file sync issues: https://github.com/rwth-i6/sisyphus/commits/check-output-size/sisyphus/job.py |
My recognition + scoring + summarizing results pipeline contains a number of very simple mini jobs which run one after another. The wait time after a mini job is annoying. I don't want to have any wait time between two consecutive mini jobs.
I'm not sure how others think about this (excluding those who just don't care). What are the reasons for having this wait time? I'm specifically talking about mini jobs, specifically jobs run via
LocalEngine
.I haven't looked too deep into the code yet. Some things I consider changing:
LocalEngine
and ignoreWAIT_PERIOD_JOB_FS_SYNC
,WAIT_PERIOD_JOB_CLEANUP
and some others for this.time.sleep(gs.WAIT_PERIOD_BETWEEN_CHECKS)
when someLocalEngine
job finishes.Maybe such changes are not wanted by everyone, so then this should be optional and configurable somehow?
The text was updated successfully, but these errors were encountered: