On Tue, 23 Oct 2012, Jim Weirich wrote: > > On Oct 23, 2012, at 4:54 PM, Mark Watson <[email protected]> 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 > -- [email protected] > > [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 > [email protected] > http://rubyforge.org/mailman/listinfo/rake-devel > _______________________________________________ Rake-devel mailing list [email protected] http://rubyforge.org/mailman/listinfo/rake-devel
