Skip to content
Please note that GitHub no longer supports your web browser.

We recommend upgrading to the latest Google Chrome or Firefox.

Learn more
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

[REVIEW]: MyQueue: Task and workflow scheduling system #1844

Open
whedon opened this issue Oct 29, 2019 · 45 comments
Open

[REVIEW]: MyQueue: Task and workflow scheduling system #1844

whedon opened this issue Oct 29, 2019 · 45 comments
Assignees
Labels

Comments

@whedon
Copy link
Collaborator

@whedon whedon commented Oct 29, 2019

Submitting author: @jjmortensen (Jens Jørgen Mortensen)
Repository: https://gitlab.com/myqueue/myqueue
Version: 19.10.1
Editor: @danielskatz
Reviewer: @gonsie, @marksantcroos
Archive: Pending

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

  • 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

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • 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

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • 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

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • 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

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • 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

  • 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

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • 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

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • 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

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • 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

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • 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?
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Oct 29, 2019

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 🎉.

⭐️ Important ⭐️

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
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Oct 29, 2019

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

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Oct 29, 2019

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Oct 29, 2019

👋 @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

@gonsie

This comment has been minimized.

Copy link
Collaborator

@gonsie gonsie commented Nov 6, 2019

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.

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Nov 6, 2019

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

@danielskatz

This comment has been minimized.

@jjmortensen

This comment has been minimized.

Copy link

@jjmortensen jjmortensen commented Nov 8, 2019

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

@marksantcroos

This comment has been minimized.

Copy link
Collaborator

@marksantcroos marksantcroos commented Nov 8, 2019

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.

@jjmortensen

This comment has been minimized.

Copy link

@jjmortensen jjmortensen commented Nov 13, 2019

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

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Nov 13, 2019

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

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Nov 13, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Nov 13, 2019

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

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Nov 13, 2019

@gonsie

This comment has been minimized.

Copy link
Collaborator

@gonsie gonsie commented Nov 21, 2019

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).

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Nov 27, 2019

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

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Nov 27, 2019

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

@jjmortensen

This comment has been minimized.

Copy link

@jjmortensen jjmortensen commented Nov 28, 2019

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

@mortengjerding

This comment has been minimized.

Copy link

@mortengjerding mortengjerding commented Nov 29, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Nov 29, 2019

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

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Nov 29, 2019

@mortengjerding

This comment has been minimized.

Copy link

@mortengjerding mortengjerding commented Nov 29, 2019

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.

@marksantcroos

This comment has been minimized.

Copy link
Collaborator

@marksantcroos marksantcroos commented Nov 29, 2019

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

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Dec 6, 2019

@marksantcroos - thanks

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Dec 10, 2019

@marksantcroos - any update?

@marksantcroos

This comment has been minimized.

Copy link
Collaborator

@marksantcroos marksantcroos commented Dec 15, 2019

@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.

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Dec 15, 2019

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Dec 15, 2019

@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?

@gonsie

This comment has been minimized.

Copy link
Collaborator

@gonsie gonsie commented Dec 18, 2019

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

@gonsie

This comment has been minimized.

Copy link
Collaborator

@gonsie gonsie commented Dec 18, 2019

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?

@gonsie

This comment has been minimized.

Copy link
Collaborator

@gonsie gonsie commented Dec 18, 2019

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

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Dec 18, 2019

Actually, some guidance for contributors is required, as stated in the Community guidelines review criterion

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

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Dec 18, 2019

The README needs a fair amount more content, probably take from what's in the docs. Some of the following should be copied:

  • A statement of need - What problems is the software designed to solve and who is the target audience
  • Installation instructions, including a clearly-stated list of dependencies
  • Example usage - or a pointer into the docs that has this
  • Functionality documentation - or a pointer into the docs that has this
  • Automated tests - or a pointer into the docs that has this
  • Community guidelines - clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Basically, the README should give enough info that someone can understand what the software is, how to build it, and what to do if they have problems.

@jjmortensen

This comment has been minimized.

Copy link

@jjmortensen jjmortensen commented Dec 19, 2019

There is a new README now: https://gitlab.com/myqueue/myqueue/

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Dec 19, 2019

That looks good to me, but I also want to hear @gonsie's opinion

@gonsie

This comment has been minimized.

Copy link
Collaborator

@gonsie gonsie commented Dec 19, 2019

Readme looks good. I'm still working in issue #17 to get mq to actually work for me.

I'll be gone until early January, happy holidays everyone!

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Dec 19, 2019

Thanks - have a good break!

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Jan 6, 2020

👋 @gonsie - just a reminder on this once you are back...

@gonsie

This comment has been minimized.

Copy link
Collaborator

@gonsie gonsie commented Jan 7, 2020

The updated readme looks really nice and I've been able to successfully traverse the 'quick start' guide. I'll try to poke around a bit more this week to further test the functionality... but my review is close to being done 👍

@gonsie

This comment has been minimized.

Copy link
Collaborator

@gonsie gonsie commented Jan 10, 2020

My review is complete. Looks great to me, do your thing @danielskatz

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Jan 11, 2020

@whedon check references

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jan 11, 2020

Reference check summary:

OK DOIs

- 10.1088/2053-1583/aacfc1 is OK
- 10.26434/chemrxiv.9971054.v1 is OK
- 10.1002/cpe.3505 is OK
- https://doi.org/10.1016/j.commatsci.2015.09.013 is OK

MISSING DOIs

- https://doi.org/10.1007/10968987_3 may be missing for title: SLURM: Simple Linux Utility for Resource Management

INVALID DOIs

- None
@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Jan 11, 2020

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jan 11, 2020

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Jan 11, 2020

@jjmortensen - it looks like one of your references needs a DOI to be added
Also, please use {}s in the tex to protect the cases (upper, lower) where needed - for example, JSSPP in that reference. Once you've made changed, you can add a new comment here with @whedon generate pdf to generate a new version. I will also proof-read the paper fairly soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.