Hi Laurent,

It does seem desirable to include an component with Rpy for handling
multi-threading and R. We should think a bit about the right way to
implement this.  I think it would be good to make sure and use an code
implementation that is a good match for the right conceptual model.  To this
end, perhaps we should implement an  ³R thread object² which has Œexclusive¹
access to R.  All of the ³other²  threads communicate with R through this
separate R thread object.

..

-G    


On 6/26/08 11:42AM , "Laurent Gautier" <[EMAIL PROTECTED]> wrote:

> Speaking of which, it would be nice if rpy was shipped with a vanilla
> locking mechanism.
> 
> R remaining probably thread-unsafe for the foreseeable future, I was
> thinking of having something
> like a two-locks mechanism that would lock R and release Python's GIL
> whenever an access to R is made.
> 
> The expected benefits are:
> - explicit error message when someone tries a multithreaded approach
> (currently, I suspect that
> what is happening in such a case is unpredictable)
> - ability to have some level of parallelization where python-ish
> things can still be done while R is busy (useful for GUIs, or for
> cases where preparing a next batch of data can be done by python while
> R is still computing on the current batch)
> The downside I am seeing is it will make the handling of Python
> callbacks (python functions passed to R functions as arguments)
> complicated (if possible).
> 
> Ideas, or help, on the matter are welcome.
> 
> 
> L.
> 
> 
> 
> 
> 2008/6/26 Gregory Warnes <[EMAIL PROTECTED]>:
>> >
>> > Hello Laurent,
>> >
>> > The R system itself is not thread safe, and has quite a bit of persistent
>> > state.  Therefore if you want to use R from multiple threads, you will need
>> > to arrange to have a single thread interact with R at a time via
>> appropriate
>> > locking or delegation.
>> >
>> > -G
>> >
>> >
>> > On 6/26/08 11:17AM , "laurent oget" <[EMAIL PROTECTED]> wrote:
>> >
>> > fellows,
>> >
>> > did anybody experiment with running rpy in 2 threads?
>> >
>> > ________________________________
>> > -------------------------------------------------------------------------
>> > Check out the new SourceForge.net Marketplace.
>> > It's the best place to buy or sell services for
>> > just about anything Open Source.
>> > http://sourceforge.net/services/buy/index.php
>> >
>> > --
>> > Gregory R. Warnes, Ph.D
>> > Program Director
>> > Center for Computational Arts, Sciences, and Engineering
>> > University of Rochester
>> >
>> > Tel: 585-273-2794
>> > Fax: 585-276-2097
>> > Email: [EMAIL PROTECTED]
>> >
>> >
>> > -------------------------------------------------------------------------
>> > Check out the new SourceForge.net Marketplace.
>> > It's the best place to buy or sell services for
>> > just about anything Open Source.
>> > http://sourceforge.net/services/buy/index.php
>> > _______________________________________________
>> > rpy-list mailing list
>> > rpy-list@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/rpy-list
>> >
>> >
> 
> -------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://sourceforge.net/services/buy/index.php
> _______________________________________________
> rpy-list mailing list
> rpy-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/rpy-list
> 

-- 
Gregory R. Warnes, Ph.D
Program Director
Center for Computational Arts, Sciences, and Engineering
University of Rochester

Tel: 585-273-2794
Fax: 585-276-2097
Email: [EMAIL PROTECTED]


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
rpy-list mailing list
rpy-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rpy-list

Reply via email to