|
On Jan 13, 2009, at 5:47 PM, Timothy Baldridge wrote:
I would suggest looking into "ConcurrentLua" which starts from the samebasis as you seem to be. Google is your friend here :)Actually I looked into it, but unfortunately it doesn't go far enough. The scheduling is still co-operative. So it is possible for one process to hog all the processing. Secondly, as far as I can tell the VM is still limited to a single CPU which basically limits the usefulness of the implementation.
ConcurrentLua supports distributed as well as concurrent processes. The distributed processes are called nodes. Each node can have many cooperative processes. I have not looked deeply into the implementation, but conceptually one could install several nodes on a single computer to achieve the multi-core utilization you're after. It seems to me that ConcurrentLua is extremely close to meeting your requirements already.
e