I am in ongoing development of a simple but processor intensive computer program that I use for scientific research. It would be really helpful to have more processing speed. Right now I'm running Mac OS X 10.5.7 on a 2 GHz Intel Core Duo and my program runs pretty slow. For a while I was running it on a considerably older laptop with Ubuntu and it ran ~20 times faster.
What I'm thinking is that I could hook up over LAN a bunch of cheap second-hand PCs running linux, and use threaded programing to distribute the processing load across the computers. My program is embarrassingly parallel, ie linear increases in the number of cores should lead to near linear increases in computing speed. Also, program size, memory requirements, and HD requirements are all practically nil, and the amount of information to be passed to and from the main routine (between computers) is basically zero.
So what I'm wondering is, what sort of road blocks are likely to stand in the way of implementing this? Should it be pretty straightforward or no? Will it even work? Also, in purchasing the used computers, what factors should I take into account? For my purposes, is a dual core 2GHz ~= to a single core 4GHz? I figure that as a rule of thumb, I should go with the cheapest multicore-processor machines I can find (best processing to cost ratio).