Skip to content

Meeting 2021 12 09

Thomas Naughton edited this page Dec 9, 2021 · 4 revisions

Meeting Link

Agenda

Attendance

Person Institution
Josh Hursey IBM
Kathryn Mohror LLNL
Ken Raffenetti ANL
Michael Karo Altair
Norbert Eicker JSC
Ralph Castain Nanook
Isaias Compres TUM
Thomas Naughton ORNL
David Solt IBM
Aurelien Bouteiller UTK

Notes

  • Working Group Updates
    • Implementation agnostic document: Dave Solt
      • Working to finalize things in order to focus more on ABI topic at start of year
      • Plan to meet 13-dec-2021, and then may defer remaining meeting till next year (see mailing list)
    • Tools: Isaías A. Comprés
      • Malability discussions
      • Working on Slurm+PMIx development to help with upstreaming features needed.  Hope would be to have improved PMIx interface from tools/clients to Slurm.
      • Moving meeting to monthly cadence, next 12-jan-2022 to decide specific day of month for recurring meeting
    • Dynamic workflows: Justin Wozniak
      • No update
  • PMIx Standard Issues/PRs
  • PMIx Governance Issues/PRs
    • “RFC: allow major text changes to shop in minor releases”, https://github.com/pmix/governance/pull/36
      • Gist: Allow non-semanitc changes to go into minor release, prefer to keep semantic changes to major releases.
      • Please read/comment on issue
    • “Update major release guidance”, https://github.com/pmix/governance/pull/35
      • Gist: came up from timelines, past was to vote on release at face-to-face meetings, would like to relax this to any voting meeting.  Just changes the timing points, i.e., can change at non-face-to-face meeting.
      • Please read/comment on issue
  • Defining a PMIx ABI
    • https://github.com/pmix/pmix-standard/issues/365
    • Originally raised under Tools/debugger efforts w/ Ralph.  Filtered back to Implementation Agnostic WG that was seen as need for ABI stability to enable tools to support multiple implentations.
    • Breaking up into few phases/pieces, see #365 for links, e.g., String constants, Structures, Macros
    • Some thoughts/ideas
      • Standard define a given ABI and then have implementation additions that have their own ABI
      • All items defined at Standard and must be done by implementation (all)
    • Context: linker reqs for runtime loading, need to have backward symbol (e.g., v2 symbols same in v3). For constants, value not often part of the ABI b/c size of constant matters, but not the actual value of the constant.  The dlsym() only cares about size & names.
    • Ralph - Discussion to separate ABI based on linker/loader viewpoint.
      • Name/value are part of Standard, but separate from ABI
      • API vs ABI compliance
      • Intent being to know when to revise library numbering for ABI compatibility
    • Ken - perspective from MPICH
      • Compile a constant into a binary, will have match between header and library (even across nodes).  That’s the level of compatibility.  So if you land on different node, will have the same value.  That’s where their ABI definition comes from.
      • Ralph  - MPI does not define that value.  In contrast, PMIx Standard does things differently & defines the value (in Standard), therefore can separate that aspect from ABI.
      • Aurelien - This perspective that the Standard was defined with an ABI viewpoint in mind.  Does that mean an ABI is necessary?
      • Ken - if we define the canonical PMIx header for Standard, (i.e., OpenMP approach) and that’s available for all to ensure things are defined.  Is that what is desired by the Tool/debugger use case that warranted ABI discussion.
      • Seems the Macros are the item that may need to be revisited.  Those may need to be revised and placed formally into the Standard.  The point being that only what is in the Standard (e.g., header) is what is defined.  Concern is portability of these Macros.
      • Gist: Macros are tied to things and therefore should be more tightly incorporated into the API of the Standard.
      • Some concern that some macros are included in Standard but end up using functions that are not part of the Standard.
      • Need to triage and determine if macros should be in standard, be a function or lifted out.  Will be reviewing/discussing this in Working Group.
      • Ralph can provide initial cut at what macros he thinks would be good candidates for keep/drop as a starting point. (will post on issue)
      • Good to have refined definition of what an ABI means for PMIx means “conceptually” and  w.r.t. ABI to linker,  container community perspective, etc. And clear understanding of what “contracts” are maintained, e.g., when revising shared library numbering, etc.
      • Good to have some ABI specific agenda items on IAWG’s calendar to ensure folks know when/where to engage on this topic
      • Draw attention to proc_t & key_t structures for comment
Clone this wiki locally