Skip to content
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

Support parallel builds with GC3Pie (REVIEW) #1008

Merged
merged 123 commits into from
Jul 9, 2015

Conversation

riccardomurri
Copy link
Contributor

This is meant to be the implementation of #1006.

Basic functionality works. Configuration for the GC3Pie part is still hard-coded; I need your input as to how you would like this to be exposed in EB.

At the moment, it requires the "trunk" version of GC3Pie, soon to be released as GC3Pie 2.3.

@hpcugentbot
Copy link
Contributor

Automatic reply from Jenkins: Can I test this?

@boegel
Copy link
Member

boegel commented Aug 13, 2014

Jenkins: ok to test

@boegel
Copy link
Member

boegel commented Aug 13, 2014

@riccardomurri: the previous comment will trigger our continuous integration server to rerun the unit tests on every set of commits being pushed in, you can check for results using the markers next to the commit ids

@@ -421,7 +421,8 @@ def main(testing_data=(None, None, None)):
command = "unset TMPDIR && cd %s && eb %%(spec)s %s" % (curdir, quoted_opts)
_log.info("Command template for jobs: %s" % command)
if not testing:
jobs = build_easyconfigs_in_parallel(command, ordered_ecs)
backend = options.job # either 'gc3pie' or 'pbs'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use options.jobbackend

@fgeorgatos
Copy link
Collaborator

Hi, just in case this becomes useful for other people following this thread:
radical-cybertools (former work in it was under the SAGA umbrella) as of now has support for multiple backends built-in, including torque, pbspro, slurm, sge, lsf, loadleveler & fork():
https://github.com/radical-cybertools/radical.pilot/blob/master/src/radical/pilot/agent/radical-pilot-agent-multicore.py

@boegel
Copy link
Member

boegel commented Aug 18, 2014

@riccardomurri: are you familiar with Radical-pilot, and how it's different from gc3pie?

@fgeorgatos
Copy link
Collaborator

just to release the pressure from Riccardo, "pilot" jobs are jobs that in effect are pushed towards a node/core which then take the responsibility to pull the workload from some central service. They are very commonly found on grid platforms, as means to reduce failure complexity (if the pilot won't start, your job wouldn't have started either) and/or implement user-side job policies.

@boegel
Copy link
Member

boegel commented Aug 18, 2014

@fgeorgates: ok, thanks

@riccardomurri
Copy link
Contributor Author

Hi all,

sorry for the late reply -- but we've had a very busy time due to a large hardware failure.

I'm on vacation starting tomorrow and will be back mid-September. I guess this PR can wait. Thanks for your comments and the patience so far!

Ciao,
R

@boegel
Copy link
Member

boegel commented Aug 23, 2014

@riccardomurri: no worries! I'd love to see this going in soon, but vacation is waaaay more important.
If I can find the time, I might pick this up and continue your effort myself.
I'll also be looking at gc3pie for a couple of other projects we're working on, it looks really promising!

@boegel boegel modified the milestone: v1.16 Sep 6, 2014
@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1821/
EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1821/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1827/
EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1827/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

boegel and others added 3 commits July 2, 2015 18:08
@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1828/
EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1828/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1829/
EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1829/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

boegel and others added 2 commits July 6, 2015 11:10
@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1849/
EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1849/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@boegel boegel changed the title Support parallel builds with GC3Pie (#1006, WIP) Support parallel builds with GC3Pie (REVIEW) Jul 8, 2015
boegel and others added 2 commits July 8, 2015 21:23
@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1865/
EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1865/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

sync with develop & resolve merge conflict
@hpcugentbot
Copy link
Contributor

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1873/
EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1873/console for more details).

This pull request is now ready for review/testing.

Please try and find someone who can tackle this; contact @boegel if you're not sure what to do.

@boegel
Copy link
Member

boegel commented Jul 9, 2015

After a lot of work by both @riccardomurri and me on this, spread out across a long time (this effort started in Aug'14!), this is finally ready to go in.

We've tested this thoroughly, both on TORQUE and SLURM systems, and I've made sure that this doesn't affect the --regtest functionality I heavily rely upon for EB releases.

Documentation update is ready to go as well, see easybuilders/easybuild#127.

Thanks a lot @riccardomurri for working together on this with us, I expect that this will quickly become a much welcomed feature.

Merging to be included in EasyBuild v2.2!

boegel added a commit that referenced this pull request Jul 9, 2015
Support parallel builds with GC3Pie (REVIEW)
@boegel boegel merged commit 42ee7ae into easybuilders:develop Jul 9, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants