[argobots-discuss] how to marshal/serialize an ABT_pool id for network use
Balaji, Pavan
balaji at anl.gov
Mon Feb 27 10:05:45 CST 2017
I'm going to go and delete it now. :-)
There's no reason an upper layer cannot do it instead of relying on Argobots for it.
Sent from my iPhone
On Feb 27, 2017, at 9:51 AM, Seo, Sangmin <sseo at anl.gov<mailto:sseo at anl.gov>> wrote:
Hi Phil and Pavan,
ABT_pool is an opaque object, but actually it has a unique integer ID associated with it. The ID was added for convenience when the Charm++ folks wanted to manage pools with integers. You can call ABT_pool_get_id() to obtain the associated integer ID. The function is described at http://www.argobots.org/static/doxygen/latest/d9/d52/group__POOL.html#gae3b9d5f542cb31852aaa4d7079350e74
Thanks,
Sangmin
On Feb 27, 2017, at 8:20 AM, Phil Carns <carns at mcs.anl.gov<mailto:carns at mcs.anl.gov>> wrote:
That makes sense. Thanks Pavan.
-Phil
On 02/26/2017 02:10 PM, Balaji, Pavan wrote:
Phil,
Argobots does not have an integer mapping for the pool id today. Even if we did, it's an opaque object, so you can't assume that it'll be an integer. You doing the mapping yourself is going to be the cleanest solution.
-- Pavan
On Feb 26, 2017, at 8:35 AM, Phil Carns <carns at mcs.anl.gov<mailto:carns at mcs.anl.gov>> wrote:
Actually, after thinking through a preliminary design a little more, I think I would probably elect to do this mapping myself anyway (even if an integer identifier were available in Argobots) so that I can choose the size of the identifier in my protocol. I may need to use a relatively small integer due to msg header size constraints.
-Phil
On 02/26/2017 08:46 AM, Phil Carns wrote:
Hi all,
I'm considering how to build a network service in which incoming requests could potentially be serviced by more than one Argobots pool (ABT_pool). At the most fundamental level, this will look like a single centralized progress loop for the network that decodes the header for incoming messages, and based on that header calls ABT_thread_create() to launch the handler on a particular pool.
I'd like the client to be able to control which pool it is targeting. I think this means that I should probably create my own data structure that maps "pool_id -> ABT_pool" so that I have a generic identifier that I can share over the network with other hosts. "pool_id" in this case would just be an int64_t or something similar of a fixed size at any rate. When a request arrives I would decode the header, look up the pool_id to ABT_pool mapping, then call ABT_thread_create() on that pool.
Before I implement that, though, I just wanted to check- there isn't any existing mechanism built into Argobots for generating stable IDs for a given ABT_pool, is there?
thanks!
-Phil
_______________________________________________
discuss mailing list
discuss at lists.argobots.org<mailto:discuss at lists.argobots.org>
https://lists.argobots.org/mailman/listinfo/discuss
_______________________________________________
discuss mailing list
discuss at lists.argobots.org<mailto:discuss at lists.argobots.org>
https://lists.argobots.org/mailman/listinfo/discuss
_______________________________________________
discuss mailing list
discuss at lists.argobots.org<mailto:discuss at lists.argobots.org>
https://lists.argobots.org/mailman/listinfo/discuss
_______________________________________________
discuss mailing list
discuss at lists.argobots.org<mailto:discuss at lists.argobots.org>
https://lists.argobots.org/mailman/listinfo/discuss
_______________________________________________
discuss mailing list
discuss at lists.argobots.org<mailto:discuss at lists.argobots.org>
https://lists.argobots.org/mailman/listinfo/discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.argobots.org/pipermail/discuss/attachments/20170227/20368584/attachment.html>
More information about the discuss
mailing list