Skip to content

Document the NetworkIO storage I/O feature - #34

Open
deanchester wants to merge 1 commit into
sstsimulator:masterfrom
deanchester:io-storage-merlin
Open

Document the NetworkIO storage I/O feature#34
deanchester wants to merge 1 commit into
sstsimulator:masterfrom
deanchester:io-storage-merlin

Conversation

@deanchester

Copy link
Copy Markdown
Contributor

Summary

Adds user-facing and motif-developer documentation for the NetworkIO
storage I/O feature landing in sst-elements via
sstsimulator/sst-elements#2699.

This PR is documentation only — it introduces no functional change. It
should be merged alongside (or just after) elements PR #2699 so the docs
match the shipped feature.

What NetworkIO is

NetworkIO lets an Ember motif issue file-like storage I/O (read/write,
file handles, non-blocking I/O) to dedicated I/O nodes over the same Merlin
fabric the MPI traffic uses — so simulations can study storage I/O
contending with compute communication. The feature spans four element
libraries (hermes API, firefly implementation, ember motif + tests, merlin
Python wiring); these pages document how to use it end to end.

What's in this PR

New pages

Page Audience Contents
docs/elements/ember/NetworkIO.md User End-to-end storage guide: wiring a simulation, the TestNetworkIO motif and its parameters/op-modes, I/O pools, striping, async I/O, collecting statistics, and writing your own NetworkIO motif
docs/elements/hermes/NetworkIO.md Motif developer hermes::NetworkIO API reference (types + Interface methods), an MPI-IO call-equivalence table, and the intentionally out-of-scope list
docs/elements/firefly/NetworkIO.md Advanced Firefly components: hadesNetworkIO, the Block/RR/Hash striping mappers, storage pools (hadesStorageController), and the SimpleSSD timing model

Updated pages

  • docs/elements/firefly/intro.md — link to the new NetworkIO page
  • docs/elements/hermes/intro.md — link to the new NetworkIO page
  • docs/elements/merlin/intro.md — document System.allocateIoNodes()
  • website/sidebars.js — wire the three new pages into the sidebar nav
    (promotes firefly and hermes to category blocks so their NetworkIO page
    nests under the existing intro)

Notes for reviewers

  • All content is grounded in the source shipped by elements PR #2699 — the
    API surface, motif parameters, mapper defaults, and statistics were read
    directly from the implementation rather than paraphrased from design
    notes.
  • The hermes page deliberately marks features that are not yet
    implemented (collective I/O, file views/derived datatypes, individual and
    shared file pointers, typed buffers, sync/atomicity) so readers don't
    expect full MPI-IO parity.
  • No node_modules/lockfile changes are included (git-ignored in this repo).

Related

Add user and motif-developer documentation for the NetworkIO storage
I/O feature added to sst-elements in sstsimulator/sst-elements#2699.

New pages:
  - elements/ember/NetworkIO.md    end-to-end storage guide: wiring a
                                   simulation, the TestNetworkIO motif,
                                   I/O pools, striping, async I/O, stats,
                                   and writing your own motif
  - elements/hermes/NetworkIO.md   hermes::NetworkIO API reference, plus
                                   an MPI-IO call-equivalence table and
                                   the intentionally-out-of-scope list
  - elements/firefly/NetworkIO.md  firefly components: hadesNetworkIO,
                                   striping mappers, storage pools, and
                                   the SimpleSSD timing model

Updated:
  - elements/firefly/intro.md      link to the new NetworkIO page
  - elements/hermes/intro.md       link to the new NetworkIO page
  - elements/merlin/intro.md       document System.allocateIoNodes()
  - website/sidebars.js            wire the three new pages into the nav

Ref: sstsimulator/sst-elements#2699
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant