Skip to content

App realm bootstrap vtable - #364

Closed
sbahirnv wants to merge 4 commits into
StanfordLegion:mainfrom
sbahirnv:app-realm-bootstrap-vtable
Closed

App realm bootstrap vtable#364
sbahirnv wants to merge 4 commits into
StanfordLegion:mainfrom
sbahirnv:app-realm-bootstrap-vtable

Conversation

@sbahirnv

@sbahirnv sbahirnv commented Nov 20, 2025

Copy link
Copy Markdown
Collaborator

Realm Bootstrap Example

Shows how an application can configure Realm's bootstrap using a key-value interface.

The sample_app.cc main function represents an application like Dynamo or Flashcache that links against Realm. The realm_bootstrap.h and realm_bootstrap.cc files implement Realm's bootstrap_handle_t contract, providing the required interface.

Building

mkdir build && cd build
cmake ..
make

Running

mpirun -n 4 ./sample_app

What It Does

The app implements a bootstrap_handle_t using environment variables as the communication mode. The get() function reads from getenv(), and init() writes with setenv() - 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_t interface 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.

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
@sbahirnv
sbahirnv marked this pull request as draft November 20, 2025 21:58
@github-actions github-actions Bot added the chore label Nov 20, 2025
@codecov

codecov Bot commented Nov 20, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 27.74%. Comparing base (c50faeb) to head (43f79be).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

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.
📢 Have feedback on the report? Share it here.

@sbahirnv sbahirnv self-assigned this Nov 20, 2025
Comment thread src/realm/ucx/bootstrap/bootstrap.h
@sbahirnv

Copy link
Copy Markdown
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.

@sbahirnv sbahirnv closed this Nov 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants