Skip to main content

IOWarp Context Management Platform

Project description

CLIO Core

A Comprehensive Platform for Context Management in Scientific Computing

Overview · Installation · Components · Quickstart · Documentation · Contributing


Project Site License IoWarp GRC codecov

Overview

CLIO Core is a unified framework that integrates multiple high-performance components for context management, data transfer, and scientific computing. CLIO Core enables developers to build efficient data processing pipelines for HPC, storage systems, and near-data computing applications.

It provides:

  • High-performance context management for computational contexts and data transformations.
  • Heterogeneous-aware I/O with multi-tiered, dynamic buffering.
  • A modular runtime with dynamically loadable processing modules.
  • Shared-memory data structures that work across host, CUDA, and ROCm.
  • Distributed-by-construction scaling from single node to clusters.

Architecture

┌──────────────────────────────────────────────────────────────┐
│                      Applications                            │
│          (Scientific Workflows, HPC, Storage Systems)        │
└──────────────────────────────────────────────────────────────┘
                              │
        ┌─────────────────────┼─────────────────────┐
        │                     │                     │
┌───────────────┐   ┌──────────────────┐   ┌────────────────┐
│   Context     │   │    Context       │   │   Context      │
│  Exploration  │   │  Assimilation    │   │   Transfer     │
│    Engine     │   │     Engine       │   │    Engine      │
└───────────────┘   └──────────────────┘   └────────────────┘
        │                     │                     │
        └─────────────────────┼─────────────────────┘
                              │
                    ┌─────────────────┐
                    │  CLIO Runtime   │
                    │  (Module System)│
                    └─────────────────┘
                              │
                ┌─────────────────────────┐
                │  Context Transport      │
                │  Primitives             │
                │  (Shared Memory & IPC)  │
                └─────────────────────────┘

Installation

Pip (recommended)

The pip wheel ships a portable, self-contained build with all dependencies statically linked. No system installs are required beyond glibc and Python 3.10+.

pip install iowarp-core

The wheel includes the CLIO runtime, the clio_run CLI, the CTE, CAE, and CEE engines, and the clio_cee Python bindings. A default configuration is seeded at ~/.clio/clio.yaml on first import.

Switch to a source build below if you need any of:

  • NVIDIA GPU (CUDA) or AMD GPU (ROCm) acceleration
  • MPI for distributed multi-node deployment
  • HDF5 / ADIOS2 adapters
  • FUSE adapter
  • Compression backends (LibPressio, Blosc, etc.)
  • Custom ChiMods built against the C++ headers
  • Sanitizer or debug builds

Source build (Conda)

git clone --recurse-submodules https://github.com/iowarp/clio-core.git
cd clio-core
bash install.sh release

release corresponds to a variant under installers/conda/variants/. Other variants (cuda, rocm, mpi, full, release-fuse, debug, ...) enable the corresponding features.

For a full bare-metal source build (without Conda) with the per-feature apt / dnf dependency list and the complete CLIO_*_ENABLE_* flag checklist, see INSTALL.md. Other methods (Docker, Spack) are documented in docs/getting-started/installation.

Components

Component Location Purpose
Context Transport Primitives context-transport-primitives/ Shared-memory containers, allocators, sync primitives, networking (ZMQ / libfabric / Thallium). GPU-aware (CUDA, ROCm).
CLIO Runtime context-runtime/ Coroutine-based modular runtime (< 10 µs task latency). Hosts ChiMods and provides admin + bdev modules.
Context Transfer Engine context-transfer-engine/ Multi-tiered, heterogeneous-aware I/O buffering. Tag + blob storage with adapters for POSIX, HDF5 (VFD/VOL), ADIOS2, MPI-IO, FUSE3, GDS.
Context Assimilation Engine context-assimilation-engine/ OMNI-YAML-driven data ingestion (binary, HDF5, Globus) into CTE.
Context Exploration Engine context-exploration-engine/ High-level C++ and Python (clio_cee) API for bundling, querying, and retrieving data. Includes an MCP server for AI agents.

Quickstart

Start the runtime

Installation seeds a default configuration at ~/.clio/clio.yaml, so the runtime works out of the box:

clio_run start          # foreground
clio_run start &        # background

To override the configuration, point CLIO_SERVER_CONF at your own YAML file:

export CLIO_SERVER_CONF=/path/to/my_config.yaml
clio_run start

Python: bundle, query, retrieve

import clio_cee as cee

ctx_interface = cee.ContextInterface()

# Assimilate a file into IOWarp storage.
ctx = cee.AssimilationCtx(
    src="file::/path/to/data.bin",
    dst="iowarp::my_dataset",
    format="binary",
)
ctx_interface.context_bundle([ctx])

# Query for blob names matching a regex.
blobs = ctx_interface.context_query("my_dataset", ".*", 0)

# Retrieve blob payloads.
data = ctx_interface.context_retrieve("my_dataset", ".*", 0)

# Clean up.
ctx_interface.context_destroy(["my_dataset"])

C++ (CTE, direct)

For direct CTE put/get from C++, see the canonical example and operation reference in the Context Transfer Engine README.

Testing

cd build/release
ctest -VV                    # all unit tests
ctest -R context_transport   # CTP tests
ctest -R runtime             # runtime tests
ctest -R cte                 # CTE tests
ctest -R omni                # CAE tests
ctest -R context             # CEE tests

Benchmarking

CLIO Core ships two main benchmarks; pass --help to either for the full parameter list.

  • clio_run_thrpt_bench — runtime task throughput and latency (bdev_io, bdev_allocation, bdev_task_alloc, latency test cases).
  • clio_cte_bench — CTE Put / Get / PutGet throughput across threads, async depth, I/O size, and key-space cardinality.

Example:

clio_run_thrpt_bench --test-case bdev_io --threads 8 --duration 30
clio_cte_bench       --op PutGet --threads 8 --depth 16 --io-size 1m --io-count 200

Documentation

Use Cases

Scientific computing: data processing pipelines, near-data computing, custom storage engines, workflows with context management.

Storage systems: distributed file system backends, object storage, multi-tiered caches, high-throughput I/O buffering.

HPC and data-intensive workloads: accelerated I/O, ingestion and transformation pipelines, heterogeneous computing with GPU support, real-time streaming analytics.

Performance Characteristics

  • Task latency: < 10 µs for local task execution.
  • Memory bandwidth: up to 50 GB/s with the RAM bdev backend.
  • Scalability: single node to multi-node clusters.
  • Concurrency: thousands of concurrent coroutine-based tasks.

Contributing

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/amazing-feature.
  3. Follow the standards in AGENTS.md.
  4. ctest --test-dir build/release before opening a PR.
  5. Submit a pull request against iowarp/clio-core.

License

CLIO Core is licensed under the BSD 3-Clause License. See LICENSE for the full text.

Copyright (c) 2024, Gnosis Research Center, Illinois Institute of Technology


Acknowledgements

CLIO Core is developed at the GRC lab at Illinois Institute of Technology as part of the IOWarp project, supported by the National Science Foundation (NSF) to advance next-generation scientific computing infrastructure.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

iowarp_core-1.9.6-cp313-cp313-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.13Windows x86-64

iowarp_core-1.9.6-cp313-cp313-manylinux_2_34_x86_64.whl (13.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

iowarp_core-1.9.6-cp313-cp313-manylinux_2_34_aarch64.whl (15.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

iowarp_core-1.9.6-cp313-cp313-macosx_14_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

iowarp_core-1.9.6-cp312-cp312-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.12Windows x86-64

iowarp_core-1.9.6-cp312-cp312-manylinux_2_34_x86_64.whl (13.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

iowarp_core-1.9.6-cp312-cp312-manylinux_2_34_aarch64.whl (15.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

iowarp_core-1.9.6-cp312-cp312-macosx_14_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

iowarp_core-1.9.6-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11Windows x86-64

iowarp_core-1.9.6-cp311-cp311-manylinux_2_34_x86_64.whl (13.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

iowarp_core-1.9.6-cp311-cp311-manylinux_2_34_aarch64.whl (15.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

iowarp_core-1.9.6-cp311-cp311-macosx_14_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

iowarp_core-1.9.6-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10Windows x86-64

iowarp_core-1.9.6-cp310-cp310-manylinux_2_34_x86_64.whl (13.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

iowarp_core-1.9.6-cp310-cp310-manylinux_2_34_aarch64.whl (15.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

iowarp_core-1.9.6-cp310-cp310-macosx_14_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file iowarp_core-1.9.6-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c60cc7560d551e4326cd9287303050d5be7a18dc1346083ff50033abae0d3c73
MD5 d1424902a0fc8e8fcf3449788400401c
BLAKE2b-256 6bfbed62430cd9cb8420a993541b43708190f28015cfd6d2296a8fa877f7a306

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp313-cp313-win_amd64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 674f175b63e7d3beeaf5a876072564b6c32b4dd02d82cc9b45d663f561b36a36
MD5 0bec960e55db76264360efdb6247ff42
BLAKE2b-256 06cc829cf3986ddab27ecb4381efef4cdb0d32b4a733c319eca665791a892b35

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 04eac7bb31495822082d40b97c88ca73ba2293a32d7e3d2f39339e8e5311a2e2
MD5 6bae71f3afdb20dd387d6b5d35495130
BLAKE2b-256 0597160a8ed79a790ac93e0ca7dc0611cb749cf714bca272e40e5447b2d09ae9

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp313-cp313-manylinux_2_34_aarch64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 55381ceac5184d2e8c6f1dbc8a3f6f2441b7cec20947f4b46ac303b0fb7cfc9d
MD5 561421718a4b5fe72311f6be4500d660
BLAKE2b-256 ae87c2583cd8f17ef3fea9f000dc7d80cf63919451a1c375d1d2a83872a48b3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 88673a7c3e522937c7e0fe7edb1a914dc49519b7fbb6054ebbd929344bbc2c06
MD5 5ec04fb66520db2097baa778aa538fd4
BLAKE2b-256 228859720838d70ed860c404bb1443d5c47f601989f202da7f2ee22133af417b

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp312-cp312-win_amd64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ff6bd25d01d311c1d1e6e31e6bf04f452290476ca5fca5b09197c342c21a9744
MD5 1e9c828962d240f7646f6cddcb34da4f
BLAKE2b-256 d2d8017e40a05927d2a470b3d7ae59b2c6790878237b06069adad3e99c51c51e

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 f5d1b8bbe509b9fd736d019fd13568e71ee97ba31fa8d3a744b738262ec91d33
MD5 e713866ea88d33b16c0b785eca40a9ef
BLAKE2b-256 8efb4ebeb24305c791563103038f47ee997334b483d4b4012ca4e757a257bd6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp312-cp312-manylinux_2_34_aarch64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3fa2d1723b184477900c5753543b6c78337e18bcb48e59ecfed1b21b4db0d011
MD5 82d147724e38d8374433ee634fc3b80a
BLAKE2b-256 89c5643b2c048bdf2ef4482111834e8a2f4fe0648c62e741ed916c28dc5f7105

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fe27e8008d76b1cc2f534320bf49d616a4c25ad664650da1b79cf2e68e22cc4a
MD5 eeb3e70e95a75ab8c185b04d0156d876
BLAKE2b-256 413ac7ef1b03582295e0f91e1a7a4a8a5c5c2919736a5056f3c7eb98a21585fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp311-cp311-win_amd64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 248948bf39b785c87acb38f1cc65e792b6aff9079b5edc08e210a72c6aea973c
MD5 6dbee6a10d956fe3009eaf8330792577
BLAKE2b-256 2c77bbcc1356f8e177b6d7a4e9c5b92447443d1865e09431503ed10dab47b6e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 8edc2798d9180554259984995d736791f89926096420f188adbb9ca4fd320200
MD5 2e42f609dd0645a31ff93fc299959961
BLAKE2b-256 4ca176fd37bfc4b44757729b47425de49e9bb9568f11a9a5973fa2103e02dc7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp311-cp311-manylinux_2_34_aarch64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d83cdd88b2daa316477b9907d77df45aa39dac4308ed0561d2bd1e81edfaf16b
MD5 49956899728eaf7f50d3a6c6de8acd0e
BLAKE2b-256 05419b4852227af007be1941b8149d0c5aa695b5a2a91b180cf903c54f8ac424

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9736dfa8a80512a05aa64e6f2f62c56dd4b9faac2ff5e6e6582e1b095d141af9
MD5 31fcecf8de4aba1f1664bc13ac411f1e
BLAKE2b-256 271c334c31a5437be3741e03beb4d58b4a2bd0c4d23197803b83a08297985eec

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp310-cp310-win_amd64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5382d455e10e599ef45d53be37b7b2ac450290015356caeaa8fbc7c42aa44033
MD5 d0accdb9d9d3316b1b32d3deb76a4cc4
BLAKE2b-256 3b77081dc6d25403305071d622dafe95006285e0de04edc2e54da6010255445f

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 c74d77e74696950274b6211f6be2f17797c0a8d61f098cb5d3fb13243fde5578
MD5 5e65baa839938449a16b7e90654b319b
BLAKE2b-256 389a4795cee7d1fb786912b299828746f5df445674cc25487cd733ceb9eb8af3

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp310-cp310-manylinux_2_34_aarch64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iowarp_core-1.9.6-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for iowarp_core-1.9.6-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 be17ef38d7625e750ef71b7befb2044d818ead7ddc8c66544934d40ca8c0beb6
MD5 483f598f7134556563cdc5bc6444012b
BLAKE2b-256 def1113a6cbd121e835d2f0bdbec2da7ce714a3d1928acd5bbd1ac40a7899bea

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-1.9.6-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: build-pip.yml on iowarp/clio-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page