in reply to RFC. Distributed::Run module (idea & namespace)

That sounds like blood 'n guts perl, so I'd really like to know how it works before committing to a namespace. Namespaces are a high level form of scoping, closely associated with OO Perl. They are specifically restricted to one process on one host - if source rewriting of the module is not invoked. Nobody does that with impunity.

It sounds like you might find support in the ^Net or ^IPC namespaces, or if not, you might contribute to them. Also look into cluster programming.

After Compline,
Zaxo

  • Comment on Re: RFC. Distributed::Run module (idea & namespace)

Replies are listed 'Best First'.
Re: Re: RFC. Distributed::Run module (idea & namespace)
by zakzebrowski (Curate) on Sep 01, 2003 at 13:51 UTC

    Hmm... Sweet, there is a Cluster:: name space on search.cpan.org :) I might rename the module to Cluster::Simple or Cluster::Run. The basic way the module & accompying scripts work is (Aprox, still changing slightly):

    • (DONE)Create config ini files
      • host.ini # what hosts to connect to
      • script.ini # what to run on the various hosts and other configuration settings
      • manifest.ini # a manifest of files, which, is updated before the module is run to ensure that the files on the client side & server side have the same md5 check sum
    • Scp config files from server -> clients
    • launch client.pl process
    • Client decides what files it needs and scp's them over
    • Client runs the main process.
    • If multiple proceses are launched at once, waits for a 'processfinishednnn' to be found in the current directory
    • Client scp the diff of the file found in the manifest file back to the orignalserver.
    • Server waits till there is a count on the number of clientdonexxx files in the ./runname directory before it returns back ok.

    In a crappy custom code, I had a linux & solaris box working together. Trying to figure out how to get cygwin's ssh server to actually work, and then I'll declare victory and move on... :) Note, btw, the main process doesn't have to be perl, it could be your favourite exe... :) Also note, will need to get the module approved by 'legal dept.' before it can be distributed to CPAN. :(



    ----
    Zak