Skip to content

Commit af50aad

Browse files
areedaJoseph Areeda
and
Joseph Areeda
authored
Update max concurrent omicron job (#177)
* Do not cross metric day boundaries. * Merge day boundary (#146) * Address issue #126. Allow pyomicron to run from a frame cache without accessing dqsegdb. Add documentation for this * Do not merge files if they overlap "metric days" * Do not cross metric day boundaries. Co-authored-by: Joseph Areeda <joseph.areeda@ligo.org> * Check point merge (#147) * Do not cross metric day boundaries. * add log file arg delete empty directories when done * Tweak remove empty dir removal * Tweak remove empty dir removal again * Merge day boundary (#146) * Address issue #126. Allow pyomicron to run from a frame cache without accessing dqsegdb. Add documentation for this * Do not merge files if they overlap "metric days" * Do not cross metric day boundaries. Co-authored-by: Joseph Areeda <joseph.areeda@ligo.org> * rebase agaist last approved PR * rebase against last approved PR * rebase against last approved PR again, fix flake8 * Fix a bug in remove empty directories. Co-authored-by: Joseph Areeda <joseph.areeda@ligo.org> * Merge day boundary (#146) * Address issue #126. Allow pyomicron to run from a frame cache without accessing dqsegdb. Add documentation for this * Do not merge files if they overlap "metric days" * Do not cross metric day boundaries. Co-authored-by: Joseph Areeda <joseph.areeda@ligo.org> * minor doc changes * Fix a bug where an xml.gz file could get compressed again in merge-with-gaps * Fix a double gzip of ligolw files (#151) * Do not cross metric day boundaries. * Merge day boundary (#146) * Address issue #126. Allow pyomicron to run from a frame cache without accessing dqsegdb. Add documentation for this * Do not merge files if they overlap "metric days" * Do not cross metric day boundaries. Co-authored-by: Joseph Areeda <joseph.areeda@ligo.org> * Check point merge (#147) * Do not cross metric day boundaries. * add log file arg delete empty directories when done * Tweak remove empty dir removal * Tweak remove empty dir removal again * Merge day boundary (#146) * Address issue #126. Allow pyomicron to run from a frame cache without accessing dqsegdb. Add documentation for this * Do not merge files if they overlap "metric days" * Do not cross metric day boundaries. Co-authored-by: Joseph Areeda <joseph.areeda@ligo.org> * rebase agaist last approved PR * rebase against last approved PR * rebase against last approved PR again, fix flake8 * Fix a bug in remove empty directories. Co-authored-by: Joseph Areeda <joseph.areeda@ligo.org> * Merge day boundary (#146) * Address issue #126. Allow pyomicron to run from a frame cache without accessing dqsegdb. Add documentation for this * Do not merge files if they overlap "metric days" * Do not cross metric day boundaries. Co-authored-by: Joseph Areeda <joseph.areeda@ligo.org> * minor doc changes * Fix a bug where an xml.gz file could get compressed again in merge-with-gaps * Implement a periodic vacate to address permanent D-state (uninterupptible wait) causing jobs to fail to complete * Always create a log file. If not specified put one in the output directory * Fix a problem with periodic vacate. * Up the periodic vacate time to 3 hrs * Found a job killing typo * Add time limits to post processing also * Don't save segments.txt file if no sgments founds because we don't know if it's an issue of not finding them or a valid not analyzable state. * disable periodic vacate to demo the problem. * Fix reported version in some utilities. Only update segments.txt if omicron is actually run. * Clarify relative imports. and add details to a few log messages * Resolve flake8 issues --------- Co-authored-by: Joseph Areeda <joseph.areeda@ligo.org> * Resolve flake8 issues * Update log format to use human readble date/time instead of gps tweak logging to better underst guardian channel usage- * remove old setup.cfg * Work vonpytest failures. The remaining errors are the result of omicron segfaults if environment variable not set * missing blank line, from flake8 * Up the default max-concurrent to 64 in hopes of much higher throughput. And deal with it properly instead of my paren/child hack. --------- Co-authored-by: Joseph Areeda <joseph.areeda@ligo.org>
1 parent d2411f9 commit af50aad

File tree

1 file changed

+4
-20
lines changed

1 file changed

+4
-20
lines changed

omicron/cli/process.py

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -279,8 +279,8 @@ def create_parser():
279279
help='With no immediately previous run, or one that was long ago this is the max time of an '
280280
'online job. Default: %(default)d')
281281
# max concurrent omicron jobs
282-
procg.add_argument('--max-concurrent', default=10, type=int,
283-
help='Max omicron jobs at one time [%(default)s]')
282+
procg.add_argument('--max-concurrent', default=64, type=int,
283+
help='Max omicron jobs run at one time [%(default)s]')
284284
procg.add_argument(
285285
'-x',
286286
'--exclude-channel',
@@ -1246,24 +1246,8 @@ def main(args=None):
12461246
print('\n'.join(operations), file=f)
12471247
if newdag:
12481248
script.chmod(0o755)
1249-
parent_jobs = list()
1250-
child_jobs = list()
1251-
maxcon = args.max_concurrent
1252-
for j in omicron_nodes:
1253-
if len(parent_jobs) < maxcon:
1254-
parent_jobs.append(j)
1255-
elif len(child_jobs) < maxcon:
1256-
child_jobs.append(j)
1257-
else:
1258-
for pj in parent_jobs:
1259-
for cj in child_jobs:
1260-
cj.add_parent(pj)
1261-
parent_jobs = child_jobs
1262-
child_jobs = [j]
1263-
if len(child_jobs) > 0 and len(parent_jobs) > 0:
1264-
for pj in parent_jobs:
1265-
for cj in child_jobs:
1266-
cj.add_parent(pj)
1249+
1250+
dag.add_maxjobs_category('omicron', args.max_concurrent)
12671251

12681252
# set 'strict' option for Omicron
12691253
# this is done after the nodes are written so that 'strict' is last in

0 commit comments

Comments
 (0)