openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
709 stars 38 forks source link

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

Closed whedon closed 4 years ago

whedon commented 4 years ago

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

Code of Conduct

General checks

Functionality

Documentation

Software paper

Review checklist for @marksantcroos

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

whedon commented 4 years ago

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
whedon commented 4 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

danielskatz commented 4 years ago

👋 @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 commented 4 years ago

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 commented 4 years ago

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

danielskatz commented 4 years ago

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

jjmortensen commented 4 years ago

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

marksantcroos commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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

danielskatz commented 4 years ago

@whedon generate pdf

whedon commented 4 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

gonsie commented 4 years ago

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 commented 4 years ago

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

danielskatz commented 4 years ago

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

jjmortensen commented 4 years ago

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 commented 4 years ago

@whedon generate pdf

whedon commented 4 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

mortengjerding commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

@marksantcroos - thanks

danielskatz commented 4 years ago

@marksantcroos - any update?

marksantcroos commented 4 years ago

@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 commented 4 years ago

Thanks @marksantcroos

danielskatz commented 4 years ago

@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 commented 4 years ago

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

gonsie commented 4 years ago

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 commented 4 years ago

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

danielskatz commented 4 years ago

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 commented 4 years ago

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

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 commented 4 years ago

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

danielskatz commented 4 years ago

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

gonsie commented 4 years ago

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 commented 4 years ago

Thanks - have a good break!

danielskatz commented 4 years ago

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

gonsie commented 4 years ago

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 commented 4 years ago

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

danielskatz commented 4 years ago

@whedon check references

whedon commented 4 years ago
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 commented 4 years ago

@whedon generate pdf

whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

danielskatz commented 4 years ago

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

jjmortensen commented 4 years ago

@whedon generate pdf

whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

jjmortensen commented 4 years ago

Added the missing DOI and upper cased JSSPP

danielskatz commented 4 years ago

@whedon accept

whedon commented 4 years ago

No archive DOI set. Exiting...