I am sorry to be a wet blanket, but why are you doing this work? Projects done in a vacuum because its author thinks it would be cool to work on generally don't go anywhere useful. Particularly when there are multiple other projects that do the same thing already.
If you have a real computational problem to solve, then install Mosix, write your logic using fork when you can, and call it a day. If you want failover, write it as a web application, avoid silly things like shared memory, and put a load balancer in front of it. If your problem is embarrassingly parallel, but you need different machines to co-operate, don't bother with an official cluster. Instead communicate through a database, and keep a current status table of jobs that need to be done, have been started, etc.
Each of these has been called a cluster, they each solve different problems, and all are usable right now in Perl.