This module is similar to IPC::PerlSSH, but so much more powerful. All you need on the remote end is an ssh login and perl (GRID::Machine doesn't even need to be installed on the remote machine). Local modules can be sent to the remote end, callbacks on the remote end can invoke methods on the local end, and data structures are automatically serialized across the ssh connection. A really cool idea with a solid implementation.
The interface is well designed and the documentation is extensive and contains many useful examples. I was surprised how easy it was to get this up and running.
One thing to note when interacting with many remote machines is that the examples only illustrate non-blocking interaction with the remotes. If you want to call a slow blocking method on many machines in parallel, you'll need to take care of the forking yourself (e.g. combine with POE::Wheel::Run).
I contacted the author with a tiny bug fix and he responded to me very quickly and uploaded a new version incorporating my patch in a matter of hours.
5 out of 5 found this review helpful. Was this review helpful to you? Yes No