[Rd] Parallel R expression evaluations
pdalgd at gmail.com
Mon Oct 21 18:07:34 CEST 2013
On Oct 21, 2013, at 02:24 , Simon Urbanek wrote:
> On Oct 19, 2013, at 1:37 AM, JaiReddy wrote:
>> Thanks Simon.
>> May I know how R works if two expressions come at the same time for
>> evaluation. When I debug my case I found that issue was found with indexed
>> values of protected items.
>> As R is single threaded engine, I just want to know how does R behave when
>> 2nd expression comes for parsing and evaluation even before 1st expression
>> evaluation does complete?
> As I said, no API calls may be performed in parallel, that includes parsing and evaluation. Typically, R is run in a sequential loop: read, parse, eval, print so anything that is not processed is blocked until the loop is back to reading. However, given that R can be called from arbitrary front-ends, it's really up to the front-end to decide what to do - as long as it serializes the calls appropriately.
Things like GUI callbacks can get evaluated while other evaluation is in progress. In that case, a stack discipline is maintained, i.e. expression1 does not continue until expression2 is evaluated, but expression3 may arrive and block the other two. This isn't really much different from what happens if expression1 encounters an object that requires lazy evaluation. If the intermittent calls have no side effects, or at least keep them within a well-defined universe, the interrupted call should be unaffected.
However, this will not happen while expression1 is evaluating C code, only when the R evaluator is called.
>> View this message in context: http://r.789695.n4.nabble.com/Parallel-R-expression-evaluations-tp4678352p4678587.html
>> Sent from the R devel mailing list archive at Nabble.com.
>> R-devel at r-project.org mailing list
> R-devel at r-project.org mailing list
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
More information about the R-devel