Python Object Sharing, or POSH for short, is an extension module to Python that allows objects to be placed in shared memory. Objects in shared memory can be accessed transparently, and most types of objects, including instances of user-defined classes, can be shared. POSH allows concurrent processes to communicate simply by assigning objects to shared container objects. 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 was originally the subject of Steffen Viken Valvåg's Master of Engineering thesis, which is available in PDF and Postscript formats. In addition, POSH was presented at PyCon DC 2003 and the paper we submitted is available in HTML and PDF formats. The PowerPoint slides used in the presentation are available here.