Rust Bindings, IO Adapters, CMake #382
Closed
nrj5k wants to merge 38 commits into
Closed
Conversation
nrj5k
commented
Apr 10, 2026
- Rust Bindings + telemetry collection improvements.
- Release build works 3x speed improvements
- Bdev coroutines are async
- Adios Adapter works; moved from Coeus namespace
- setup for ebpf intercepter using Aya in Rust
- for POSIX and STDIO alternatives to libfuse
- lower overhead but ebpf complexities and cgroup cap needs
- improvements to POSIX and STDIO
- still doesn't work; exclusion lists need tweaking
- CMake modifications for above integrations
- CMake tweaks to make libfuse and other lib detection more robust
… and CTE telemetry support
…with async/sync APIs, telemetry support, and improved CMake integration
…-based scoring and telemetry tracking
…sync/sync APIs, telemetry support, and improved CMake integration
… Corrosion and add test runner script
…arks and configure Rust bindings after C++ targets
… and enforce C++ library build order
Adds a new CMake module to automatically configure Rust toolchain paths when `WRP_CORE_ENABLE_RUST` is enabled. The module detects rustup, extracts active toolchain info, and sets `Rust_COMPILER`, `Rust_CARGO`, and `Rust_RUSTUP` accordingly. Also updates Corrosion to v0.5.1 and ensures cmake module path is set before including AutoConfigureRust. BREAKING CHANGE: Removes implicit Rust detection; now requires explicit inclusion of AutoConfigureRust.cmake when using WRP_CORE_ENABLE_RUST=ON
… CMake integration targets
…and add tier movement tracking This commit enables MPI, ELF, and several CTE adapters by default in the CMake configuration. It also introduces a new tier movement tracker in Rust for monitoring data placement changes, along with related telemetry enhancements. The Rust bindings are extended with blob info querying capabilities and improved build configurations.
…to retrieve blob metadata with block placement details
…prove C++17 compatibility for ADIOS2 adapter
…ng with new ADIOS2 wrapper - Introduce timeout parameter to client_poll_telemetry_raw in C++ FFI - Update Rust async/sync clients to accept timeout_sec in poll_telemetry - Add Aneris_telemetry_adios.in wrapper script for ADIOS2 applications - Configure IPC directory to /dev/shm to avoid CAE path filtering issues - Extend aneris-profiler with --realtime and --no-telemetry flags - Improve cereal include path detection in build.rs - Add telemetry_available helper for O(1) telemetry status checks - Refactor Tag implementation to remove Mutex and use spawn_blocking exclusively - Add Tag::duplicate for concurrent operations safety - Update examples and tests to use new timeout-enabled API
…riteToFile and ReadFromFile methods
…te visibility and update transport factory implementations
…zation with SIMD-optimized hot set and lock-free batching
…dules with public exports
…ob reorganization with frecency scoring
…ode and telemetry-driven reorganization
Sync up
…terception scripts
…ception with ring buffer communication and capability detection
Syncing main to get libfuse
…improve CMake find logic
…n FUSE adapter with marker tags and readdir deduplication
…Rust-based kernel and userspace components
…BPF sched tracepoints and PID filtering
added 8 commits
April 10, 2026 01:51
…ntegration and page-based I/O for CTE tags
… data_offset in Phase 1 The data_offset variable is now updated during the I/O submission loop (Phase 1) rather than after completion (Phase 2). This change removes redundant calculations of block sizes during I/O completion and ensures consistent offset handling across both write and read paths. The comment clarifies that data_offset is no longer managed in Phase 2.
…to SubmitAndAwaitIo template method
…on below CteListSubdirs
…optional with graceful fallbacks - Change blosc2 from REQUIRED to optional dependency with status messages - Make snappy optional and disable FUSE adapter features when not found - Convert ADIOS2 to optional dependency with automatic feature disabling - Update Gray-Scott analysis tool to conditionally compile based on ADIOS2 availability - Add detailed FUSE performance documentation and benchmarks - Implement configurable page size for FUSE adapter with environment variable support - Improve FUSE integration tests with custom page size scenarios - Optimize FUSE kernel cache settings and document 4KB page performance issues - Reorder CteIsExplicitDir declaration for better code organization
…antom file creation in FUSE adapter
…::vector in core tasks and update Tag API to use shared memory strings
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.