Question: Can I use parallel lil-gp on a single CPU machine?
Answer: Yes, you can. Either by using the original code or by installing PVM and making use of the parallel code. Note that you obviously will not benefit from any increase in performance.
Question: Why would I use parallel lil-gp in parallel mode on a single CPU machine?
Answer: Conputation speed is no argument here. But you can check your code before running it on parallel hardware, in this case you simulate the parallel execution using 1 CPU. (This is always possible for PVM programs to be completely honest.)
Question: But there is multi-threaded version of lil-gp, why make parallel lil-gp?
Answer: This is true and I will refer you to do lil-gp homepage for more information about it. The reason for making the parallel version is that threads (correct me if I am wrong here) will give you the best parallel performance when you run your program on a multi-processor machine. The kernel can then schedule the different threads to run on different processors and you get performance for free. But multi-processor machine are still on the expensive side. Cluster on the other hand can be build using standard (even old) machines. This make it possible to have parallel machines that can be bigger both in terms of computing power and memory than most parallel machines you can just dream about. Parallel lil-gp is the a version of lil-gp specificaly developed for that purpose.
Question: Is there a way to control where the different subpopulation are being processed?
Answer: No, at this moment I chose to use the default PVM mechanism to spawn tasks. PVM will start the different slave in a round robbin fashion on the different CPU's. I can imagine that some people may want that the CPU running the master program doens't run any slave program. This may indeed influence the speed of the experiment especially in synchronuous mode.
Question: Is there a limit on the number of subpopulations that can be computed in parallel?
Answer: No, as far as the parallel code is concerned the limitation is the range of the integers type in C. But I can think of other things will limit you before this does.
Question: Are you willing to provide support for parallel lil-gp?
Answer: YES, a I prepared to fix whatever bugs there might be or include further improvements to the program. Just contact me.
Question: Does Parallel Lil-gp support threads?
Answer: No, Parallel Lil-gp is based on the original Lil-gp code. And that code does not use threads. I would be intereseted to know whether the threaded version provided a signification increase in performance. Can anyone tell me more about this?
Question: Does Parallel Lil-gp run under Windoz XXXX?
Answer: I did not test this at the moment. It should work just fine if the original code did this code should as well. Note however that you obviously need to install PVM for Windoz!
Question: Is Parallel Lil-gp using the island model?
Answer: Absolutely, this was already present in Lil-gp. The computation are now really done in parallel with this version of the software. Note: you can still use the initial (sequential) version with the same kernel.