App realm bootstrap vtable - #364
Closed
sbahirnv wants to merge 4 commits into
Closed
Conversation
Extended bootstrap_handle_t with lifecycle and key-value operations similar to CUDTX interface. Added sample_app example that shows how an app can implement the interface using environment variables as the communication layer.
Renamed app.h/app.cc to realm_bootstrap.h/realm_bootstrap.cc for clarity
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #364 +/- ##
==========================================
- Coverage 27.75% 27.74% -0.01%
==========================================
Files 191 191
Lines 39499 39499
Branches 14223 14382 +159
==========================================
- Hits 10961 10960 -1
- Misses 27261 28147 +886
+ Partials 1277 392 -885 ☔ View full report in Codecov by Sentry. |
apryakhin
reviewed
Nov 21, 2025
Collaborator
Author
|
The main discussion about realm network vtable and bootstrapping is happening on the PR-https://github.com/StanfordLegion/realm/pull/366. Closing this MR. |
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.
Realm Bootstrap Example
Shows how an application can configure Realm's bootstrap using a key-value interface.
The
sample_app.ccmain function represents an application like Dynamo or Flashcache that links against Realm. Therealm_bootstrap.handrealm_bootstrap.ccfiles implement Realm'sbootstrap_handle_tcontract, providing the required interface.Building
Running
What It Does
The app implements a
bootstrap_handle_tusing environment variables as the communication mode. Theget()function reads fromgetenv(), andinit()writes withsetenv()- both use the same mechanism.The
init()function sets example keys that Realm could read:REALM_COMM_MODE=env- communication mode (env, etcd, pmix)REALM_BOOTSTRAP_TYPE=mpi- bootstrap mechanism (mpi, p2p, etc)Realm uses the same
bootstrap_handle_tinterface regardless of the underlying communication mode. The application chooses the mode (environment variables, etcd, pmix, etc.) and implements all functions consistently with that choice. Future versions could switch to etcd or other distributed stores by changing only the implementation, not the interface.