[Rake-devel] Rake 0.9.3.beta.2 with -j option

Hugh Sasse hgs at dmu.ac.uk
Wed Oct 24 09:41:12 UTC 2012


On Tue, 23 Oct 2012, Jim Weirich wrote:

> 
> On Oct 23, 2012, at 4:54 PM, Mark Watson <watsonmw at gmail.com> wrote:
> 
> > What about having the old code called by default and if you specify -j
> > the new parallel code is executed?  That way old rakefiles still work,
> > and new ones can take advantage of the -j feature
> 
> So you check out a new project from GitHub and decide to run rake on it.  How do you decide if its safe to run with -j or not?  Try it and see?  Wait for subtle unreproducible race conditions to manifest?

I've done a little of this parallel programming in Ruby for an EM
solver, and it does get tricky to find this sort of bug.  And I
tried to simplify it with Tuplespaces.  Does any of this community
have contacts in the Fortran 90,95,2003,2008 community?  From what
I have read of modern Fortran, the compilers are pretty good (i.e.
much better than me) at figuring this stuff out), so there may be
things that could be learned.  The question then becomes: "Is it
tractable for a dynamic language like Ruby?".  Also, do the
algorithms permit one to detect certainty of success, so one can
reject parallel approaches if it comes back "uncertain"?

Actually, this is beginning to sound like a PhD project.

> 
> > (after all that was good enough for GNUmake). 
> 
> GNUMake mainly deals with shelling out to commands.  I suspect Rakefiles that mainly shell out to compilers and linkers will have little problem with -j.

Although GNUmakefiles probably make more use of variables than traditional
ones do, this is essentially true.
> 
> It's the Rakefiles that execute significant Ruby code in process that I'm concerned about.  And maybe I'm overly concerned about this issue, but I've dealt with real-time systems and multiple threads in a past life and know how tricky it can be to get things right.[1]
> 
> -- 
> -- Jim Weirich
> -- jim.weirich at gmail.com
> 
> [1] Ask me sometime about my 1 in a million failure.
> 

Quite often enough at GHz speeds running for days, weeks!
> 
        Hugh
> 
> _______________________________________________
> Rake-devel mailing list
> Rake-devel at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rake-devel
> 


More information about the Rake-devel mailing list