Joss-reviews: [REVIEW]: MyQueue: Task and workflow scheduling system

Created on 29 Oct 2019  Â·  74Comments  Â·  Source: openjournals/joss-reviews

Submitting author: @jjmortensen (Jens Jørgen Mortensen)
Repository: https://gitlab.com/myqueue/myqueue
Version: version-20.1.1
Editor: @danielskatz
Reviewer: @gonsie, @marksantcroos
Archive: 10.5281/zenodo.3607221

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/33edc00feaacaaaca2bb0e22011bb421"><img src="https://joss.theoj.org/papers/33edc00feaacaaaca2bb0e22011bb421/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/33edc00feaacaaaca2bb0e22011bb421/status.svg)](https://joss.theoj.org/papers/33edc00feaacaaaca2bb0e22011bb421)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@gonsie & @marksantcroos, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @danielskatz know.

✨ Please try and complete your review in the next two weeks ✨

Review checklist for @gonsie

Conflict of interest

  • [x] I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Contribution and authorship: Has the submitting author (@jjmortensen) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • [x] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [x] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

Review checklist for @marksantcroos

Conflict of interest

  • [x] I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Contribution and authorship: Has the submitting author (@jjmortensen) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • [x] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [x] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?
accepted published recommend-accept review

All 74 comments

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @gonsie, @marksantcroos it looks like you're currently assigned to review this paper :tada:.

:star: Important :star:

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

For a list of things I can do to help you, just type:

@whedon commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf
Attempting PDF compilation. Reticulating splines etc...

👋 @gonsie, @marksantcroos - as I think you know, we'll do the review here. Your job is to work through the review checklists, checking off items or creating new issues in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

If you have any questions or problems, please let me know

Thanks for submission @jjmortensen. I've created some issues in the repo:

For the paper, could you include some details on how MyQueue compares with other tools? I think the most relevant tools would come from the workflow tools / managers.

👋 @marksantcroos - how are you doing on your review?

@jjmortensen - fwiw, a long list of workflow tools is in https://github.com/common-workflow-language/common-workflow-language/wiki/Existing-Workflow-systems (and a shorter list is in https://github.com/meirwah/awesome-workflow-engines)

Thanks for the links. I'm familiar with Fireworks and Aiida. Will take a look ...

I've also started my review by going through installation and testing, but got stuck rather quickly.

Although I might be biased, these errors do trigger my "yet another workflow system that tries (and fails) to integrate with queuing systems".

Putting this out here for now, will continue the review and edit accordingly.

Thanks for all your comments so far. There is now a version 19.11.1 available on PyPI with some new features and bug-fixes. There is also an updated version of the paper. See:

https://myqueue.readthedocs.io/en/latest/releasenotes.html
https://gitlab.com/myqueue/myqueue/merge_requests/40

When you update the paper, please rebuild it here (using the following whedon command), as I am now going to do

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

This paper is still missing a ‘state of the field’ summary. Comparing MQ to Slurm/PBS is not the right level of comparison. It needs to be compared to other workflow tools.

In addition, the paper mentions that MQ was used to drive a study of 10,000 jobs. Please provide details on that. How did it handle this large number of jobs? What was the job limit enforced by the underlying scheduler? I believe that this may be the real contribution of MQ (rather than just a front end to a scheduler).

👋 @jjmortensen - note that there are some questions/actions for you here.

👋 @marksantcroos - Can you let us know how your review is proceeding? Are you stuck on anything?

We are looking into it ... in the meantime, @gonsie I added a small section on the web-page describing how to work with many jobs:

https://myqueue.readthedocs.io/en/latest/workflows.html#handling-very-many-tasks

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

We have now added a section describing the state of the field, where we compare MyQueue to AiiDA and Fireworks, trying to emphasize what MyQueue can/cannot do. Let us know if you have suggestions for further improvements.

I've worked some more with the software and got something out of it. Will go over the new pdf and report my findings.

@marksantcroos - thanks

@marksantcroos - any update?

@jjmortensen @mortengjerding Thanks for the tool. The principle of having a "local" and optionally per directory queue is an interesting concept. I tried it out for some data crunching I had to do and ultimately managed to get the job done, which is some sign of success :-)

The paper positions adequately (albeit minimally) compared to other tools out there.

I've opened up another issue in the code repo, but that shouldn't block the paper.

@danielskatz I've checked all boxes and accept it as is now.

Thanks @marksantcroos

@gonsie - can I check in with you to get a status of where things are and what you think needs to be done before you can check off your remaining boxes?

I'm still having trouble actually using myqueue. I just filed another issue in the repo:

In response to the discussion about submitting a large number of tasks...

We are looking into it ... in the meantime, @gonsie I added a small section on the web-page describing how to work with many jobs:

https://myqueue.readthedocs.io/en/latest/workflows.html#handling-very-many-tasks

MyQueue should probably have a sensible default. Unlimited is not a good default. Maybe 1000?

A contributing guide would be nice, but I guess it's not required.

Was this page helpful?
0 / 5 - 0 ratings