So I assume you are going to be writing the software for this cluster then?
In that case, you might want to look at OSCAR
. I haven't used it personally, but I have heard good things. Basically is a complete toolkit to create and maintain Beowulf-style clusters on common Linux distributions. It handles all the mundane details that you mentioned like inter-node communication and leaves you free to just write up your code.
As I understand it, OSCAR can even create disk images with your code and configuration that are suitable for booting your nodes.