charm AT lists.siebelschool.illinois.edu
Subject: Charm++ parallel programming system
List archive
- From: "Kale, Laxmikant V" <kale AT illinois.edu>
- To: Jozsef Bakosi <jbakosi AT gmail.com>, "charm AT cs.uiuc.edu" <charm AT cs.uiuc.edu>
- Subject: Re: [charm] groupproxy.ckLocalBranch()->
- Date: Mon, 1 Aug 2016 14:55:56 +0000
- Accept-language: en-US
A group member accessed via vkLocalBranch() is, by definition, local (i.e. on the same PE) as the calling chare. Therefore, there is nothing else that is actually running at the same time on that core. So, it is threadsafe. (Now, it is possible that the group member you are calling is in the middle of a “threaded” entry method at that time, which has been suspended. But this is normal concurrency-within-the-object for threaded methods that your code has to handle. But since there is no other core involved, there are no complicated race conditions. )
Laxmikant (Sanjay) Kale http://charm.cs.uiuc.edu Professor, Computer Science kale AT illinois.edu 201 N. Goodwin Avenue Ph: (217) 244-0094 Urbana, IL 61801-2302
From:
Jozsef Bakosi <jbakosi AT gmail.com>
Hi folks,
Do I understand correctly, that if I call a member (non-entry method) function via
groupproxy.ckLocalBranch()->fn()
is NOT threadsafe? I.e., as opposed to if fn() was an entry method, which is guaranteed to execute exclusively in an object.
Thanks, Jozsef |
- [charm] groupproxy.ckLocalBranch()->, Jozsef Bakosi, 08/01/2016
- Re: [charm] groupproxy.ckLocalBranch()->, Kale, Laxmikant V, 08/01/2016
Archive powered by MHonArc 2.6.19.