Parallelization on multi-CPU hardware? (see POSH - Python shared objects)

Jon Perez jbperez808 at
Tue Oct 26 03:43:30 CEST 2004

POSH (Python Object sharing) allows Python objects
to be placed in shared memory and accessed transparently
between different Python processes.

This removes the need to futz around with IPC mechanisms
and lets you use Python objects (placed in shared memory)
between processes in much the same way that you use them
in threads.

"On multiprocessor architectures, multi-process applications
using POSH can significantly outperform similar multi-threaded
applications, since Python threads don't scale to take advantage
of multiple processors. Even so, POSH lends itself to a
programming model very similar to threads."

POSH has actually been around for quite a while, so I wonder
why it has not been mentioned more often.

P.M. wrote:

> ... I've seen advice that the only way to get
> scalability, due to the GIL, is to use an IPC mechanism between
> multiple distinct processes running seperate interpreters.  Is this
> still true or are there better ways to accomplish this?
> Thanks
> Peter

More information about the Python-list mailing list