This is possible, technically, but setting it up is by no means a simple operation. To my knowledge there are a few applications available in the repositories for the purpose, but results may vary.
For best results, you should actually use an application that natively supports clustering, such as some network renderers and compilers. I don't know of any of these off hand, but I know that for example it is possible to do this with Blender and custom renderers.
On the issue of Desktop vs Server - it is easier with the server version, seeing as you have various cloud computing solutions, but if you think about it, you could add these to the Desktop version as well, so maybe your solution would involve using server components on the Desktop.
Unfortunately, seeing as I have not done this before myself, I cannot (currently) give you concrete instructions. However, these links: https://help.ubuntu.com/community/Clustering and http://ubuntuforums.org/showthread.php?t=1030849 as Uri pointed out, should come in helpful.