Skip to content
Martin Schreiber edited this page Mar 24, 2025 · 2 revisions

Agenda - 3/24/25

Update on “dynamic processes with pset” proposal

Martin = Martin Schreiber

Discussion

  • Martin posts link to dyn res in HPC workshop at Europar - https://sites.google.com/uji.es/dynreshpc-workshop/home

  • Martin+Dominik discusses a dictionary proposal.

    • setup
    • remove
    • data publish
    • data lookup
  • envisioned as a "global" scope in some sense.

  • Howard points out we need to consider how this would related to the publish interface.

  • Sonja and Roberto ask about synchronicity model.

  • Locality information required

  • What would happen if an entry already exists?

  • For MPI Forum:

    • Expected question: Why do we need to do this because there's a name publishing functionality in it.
  • Roberto Rocco:

    • Is this dictionary local? Or accessible by all processes?
    • Answer by Dominik: Yes, all processes within a job can access it.
  • Local to MPI Sessions? Howard: It should be independent of Sessions.

  • Howard: Describe which error handler should handle it.

  • Sonja:

    • Local or global? Hint about how it's implemented.
    • Is it required to initialize MPI?
      • Possible solution: At least one MPI Session needs to be used, or MPI Initialize needs to run.
      • Another solution: A reference counter could clean up everything.
  • Only non-blocking variants of the dictionary?

    • Howard: In the interest of simplicity, having only the non-blocking variants would be good.
  • Michael Raymond (HPE): Overlap with pvars and cvars:

    • Querying MPI and getting status on it.
  • lookup dictionary entry: Add that we need to wait until the information arrives.

  • Howard: data_lookup

    • uses input-only and output arguments: one with the keys and potentially other information, and one for the output as key-value pairs.
  • Multiple PSets are required as the output of the operation. Array of strings for PSets or are there alternatives?

    • A simple solution would be to have “;” as a delimiter and all PSet URIs in a single string separated by the delimiter.
    • Sonja: How about using an array of indices in the PSet List?
      • Martin: List would get too large after many resource changes, and we like to avoid frequent MPI session destroy / buildup => They don’t exist in the PSet list, which can be used for initialization.
      • Howard: MPI spawn multiple where an array of strings is used: “CHARACTER(LEN=), INTENT(IN) :: array_of_commands()”. But this works only for input.
Clone this wiki locally