[Mochi-devel] new SSG version (v0.3) released

Snyder, Shane ssnyder at mcs.anl.gov
Mon Sep 23 15:15:11 CDT 2019


Hi all,

I just released a new version of SSG (v0.3) over the weekend, and wanted 
to give you a heads up on the major changes included in this release. 
It's been a while since SSG has been updated, so there's a lot to mention...

1.) SSG no longer identifies group members using dense ranks (i.e., 
ranks 0...n-1), and instead identifies members using hashes of their 
Mercury addresses, meaning group members will now have unique 
identifiers across groups

2.) To allow users to keep using dense-ranked style access to a group's 
membership information, SSG additionally creates a sorted list of member 
IDs associated with a group, and allows users to access this info using 
ranks into the sorted list, rather than member IDs.

3.) We have renamed group "attachers" to group "observers" (and modified 
corresponding function/constant names), with the semantics of these 
functions being the identical: providing clients access to group 
information without becoming proper group members.

3.) SSG now supports the ability for processes to dynamically leave/join 
previously created SSG groups, with SSG extending the SWIM failure 
detection protocol to propagate this info out to the group. Other group 
members get callback notifications on newly joined or left members, just 
the same as it does for failed group members.

3.) A new PMIx-based bootstrapping mechanism has been implemented, 
allowing SSG to utilize PMIx process information for bootstrapping 
groups of processes on systems with PMIx-compatible process launchers.

4.) On systems that support PMIx, SSG additionally registers for event 
notifications on any process/node failures that might affect a job, with 
SSG immediately evicting affected group members.

As you might expect, the API has changed quite a bit to accommodate all 
of these modifications. I'm not going to enumerate here, but please have 
a look at the new headers to get a feel for what has changed and how to 
take advantage of new capabilities. I'm also attaching slides for the 
SSG tutorial I'll be presenting at the Mochi bootcamp this week, which 
should be helpful in covering the new API. Please have a look and let me 
know if you have any questions, comments, or concerns.

I have already made a pass through the Spack sds-repo to make sure our 
packages are aware of the new SSG version and so that other packages 
(Mobject, Benvolio) are not using the new version until we've had time 
to port them over.

Thanks!
--Shane
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ssg-tutorial.pdf
Type: application/pdf
Size: 6443130 bytes
Desc: ssg-tutorial.pdf
URL: <http://lists.mcs.anl.gov/pipermail/mochi-devel/attachments/20190923/a1e817c8/attachment-0001.pdf>


More information about the mochi-devel mailing list