On 25.10.2021 21:40, byk...@gmail.com wrote:
> Due to https://www.python.org/dev/peps/pep-0554/ multi-interpreters
> implementation going really slow, I had the audicity to try an alternative 
> route
> towards the same objective of implementing multicore support of python:
> instead of sharing the memory by running multiple threads, I employed
> an interprocess shared memory with multiple processes.
> 
> I know there are multiprocessing.sharedctypes and 
> multiprocessing.shared_memory,
> but I went much deeper into it by solving two problems they failed to solve:
> sharing of complex dynamic objects and synchronization of data access.
> 
> I have a working prototype to show: 
> https://github.com/byko3y/python-shared-objects
> It's a kind of software transactional memory within shared memory. It has a 
> basic support
> for fundamental python types (bool, int, str, bytes, tuple, list, dict, 
> object),
> for both atomic and non-atomic transactions via fine-grained RW-locks, has a 
> built-in
> protection against deadlock and starvation.
> 
> Most of my code can also be used for cross-interpreter communication after 
> PEP 554
> is successfully implemented, since cross-interpreter communication is still 
> an open question.

This looks interesting. The 32-bit limitation is a bit of a bummer, but I
suppose that can be lifted, right ?

Some additional pointers for inspiration:

- Here's an old project trying to do more or less the same:
http://poshmodule.sourceforge.net/

- Another newer one, which is specific to numpy arrays:
https://pypi.org/project/SharedArray/

- For more general purpose types, there's Apache Arrow's
Plasma store:
https://arrow.apache.org/docs/python/plasma.html

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Experts (#1, Oct 27 2021)
>>> Python Projects, Coaching and Support ...    https://www.egenix.com/
>>> Python Product Development ...        https://consulting.egenix.com/
________________________________________________________________________

::: We implement business ideas - efficiently in both time and costs :::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               https://www.egenix.com/company/contact/
                     https://www.malemburg.com/

_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/XTDWVI4LHCBYP6LIRRINVXOZZOGI4OCY/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to