Parallelization on muli-CPU hardware?

Daniel Dittmar daniel.dittmar at sap.corp
Thu Oct 7 10:39:44 EDT 2004


P.M. wrote:
> I wonder if Python could be changed to use thread local storage?  That
> might allow for multiple interpreter instances without the GIL (I've
> never looked at the actual code so I'm just hypothesizing).  I took a
> quick look at Lua today and it has no problems with creating multiple
> instances of the interpreter, so it definately is a solvable problem.

Most VMs don't use thread local storage, but rather keep all state in 
one object that is passed through all the functions. This is probably 
solvable in Python.

But this would only allow to run multiple Python VMs in the same 
process. These VMs couldn't communicate through Python objects, but only 
through IPC. Each VM would still require a ILL (Interpreter Local Lock). 
It wouldn't be that different from actually having multiple processes.

Zope wouldn't benefit at all.
Apache with threads + mod_python could benefit, but caching session 
state in Python variables becomes much harder.

Daniel



More information about the Python-list mailing list