Document the NetworkIO storage I/O feature - #34
Open
deanchester wants to merge 1 commit into
Open
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
docs/elements/ember/NetworkIO.mdTestNetworkIOmotif and its parameters/op-modes, I/O pools, striping, async I/O, collecting statistics, and writing your own NetworkIO motifdocs/elements/hermes/NetworkIO.mdhermes::NetworkIOAPI reference (types +Interfacemethods), an MPI-IO call-equivalence table, and the intentionally out-of-scope listdocs/elements/firefly/NetworkIO.mdhadesNetworkIO, the Block/RR/Hash striping mappers, storage pools (hadesStorageController), and theSimpleSSDtiming modelUpdated pages
docs/elements/firefly/intro.md— link to the new NetworkIO pagedocs/elements/hermes/intro.md— link to the new NetworkIO pagedocs/elements/merlin/intro.md— documentSystem.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
API surface, motif parameters, mapper defaults, and statistics were read
directly from the implementation rather than paraphrased from design
notes.
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.
node_modules/lockfile changes are included (git-ignored in this repo).Related