[argobots-discuss] how to marshal/serialize an ABT_pool id for network use

Phil Carns carns at mcs.anl.gov
Sun Feb 26 07:46:12 CST 2017


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



More information about the discuss mailing list