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-2.0.0-cp313-cp313-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

iowarp_core-2.0.0-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-2.0.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e1aa4a35fdc817965818e865f3b3006e602832d156443cb9f465a0487edef4a7
MD5 5ec6fe88a4d75571ab51eb33900caa88
BLAKE2b-256 0399f3440302d2c9c3e790a71a490e8937f5f16d8c2191682ea3d30834eb7de6

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 43b08cb1ce0c3a8e077176bde6e57644749a901d2c91d854759aa33111b4249f
MD5 46a8f02616ca86d8ea75c0263abb96ed
BLAKE2b-256 f58a2034265a5467414d4674a050f43db0452331564996d17c940f1a3a5850ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 9c0e75af4d89f6a1e31aa8a8a2de9ef3aba9f82cf76246f932bedacbd19e75e3
MD5 2df54abc08973bc4caca854a570cd54c
BLAKE2b-256 c2688eb08a65facca3992f43e1da5e8e4d05a1a9f27962447e355c21b77aa06f

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a55dde91e52004b62109f0787a5635d876b717ab0fcb7b46532befe0fa7c8a5f
MD5 a1835e8dfc00c7ecffe44f06f9879124
BLAKE2b-256 11a2db08a03a742ba21f1e8dbb079e39baf510b743c1ef9b7984a31f337b4e17

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a7c66e7ee2a0fd8958d5552fe95751c046c31df5c33a69e49479fe1b91b3805e
MD5 5191aa53c8783c7e9146d0d6407d9b93
BLAKE2b-256 1b9f32331c299d780494c900c6284cc0b2f4c56ca1f137676925b6594be68327

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 344fb3fc122ebd7d54fd6a0f0530a1071fec17f07035b2ca68969bc4c5d97e60
MD5 8c05350f27c3bcc1130d12ebd2bfaf14
BLAKE2b-256 6bf0c00bc47f540592bb01abc1a8c8260fe639e328db5fd69b5559f6bf968dc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 f171c797e2a6e080d19acf530ec008cdafeee5a93925464be4c5509ef02be4c0
MD5 af83f7737bedacedbef8cba091b2e595
BLAKE2b-256 3a8d743d7398297dc94a0f4dd011eb9d7a3f41831ab8a71ed44acf921efc9830

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bf25e639fbc7de619df25761bb7556ba1cf8b19260c62f4a0c3bbde066d666f1
MD5 22b9481d6ad810071caa612b1701c0a1
BLAKE2b-256 c59db7c45d6b7599ea3f55bfe8b437df6a8d730552aa0e59b40cc84f393dd453

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3ed4e90e0e6e5515f3b667046912b42001b7923c53a4bea5f2657a8a70c98d21
MD5 3e89243ff234f25b18a3b9f703785191
BLAKE2b-256 faa9b0c59b4b4f0063b87335a886faa853da0c048a8ad9c2f740ddd4f3a500b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7ac1d7a939a9045b3aec96b1811e9798c61f854df986ad3051f1ba19b26afd10
MD5 5abde71eabb8d2ceb7c2ce9503c6d460
BLAKE2b-256 8c863476cbf6b4e338da75b5a0576cb77ff34b314c6e167238eba0a19f6cdcc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 f9646457dad30c8ba1860a0348b4705f95f5bc77292b989a733414f011a31aea
MD5 bbb1fc23ecec41a5a803cb85e7ba4443
BLAKE2b-256 ede90fcffc1a3e49d31b774fdb0092c9aa45f56007f2e5a76a6b86b0685ceac8

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 087ea6ae79d863ec930f88425a321d65308732bac3624888f0ee06d562033eb0
MD5 b0dc1ed6440328041076cb24c8dafbcd
BLAKE2b-256 9692f248111f4876586fb3d23ae3c51540d3a5b3ad0893a3b7a0c0da0fe2feef

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0ed90339b97aa9c792164dd7340ff23cae8ff1e20961eca14c09a6b79d9d1edd
MD5 e5d64639c00c11e29b929f890c72cadf
BLAKE2b-256 a28d8d3ac5ea21860d3f924ac246765ebb8440f02f8980b6fc8bdf35eaae6277

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 68b8022c31dcad4a0015c2de29a0084f9df0cb5e22ebcfb3294054c00d20f331
MD5 692ed8675c48fe8a9d11401e64f28a74
BLAKE2b-256 4b7ce055eab6a84a647df39f289cd2c6ab0abd5d8bee7eef027bb3e71258af2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 c8a8b6fe8c80e4f07461ab002001bea19146376afd85328c51aca82a1b802347
MD5 34d1f7679c7c72210a7c5c6ff9c1b606
BLAKE2b-256 7dcf8c73fe4cd8d34160b577610bfc2c4edeba34e6e451153f46069ffa2be9d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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-2.0.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for iowarp_core-2.0.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 125d46d73421d7829a71796d5da329fd559236198eeaf2c213f82b2cc75db407
MD5 0a1bdc77c1b0fca3aa7bef49cee13493
BLAKE2b-256 d4a0fbfe322ef6affdf7495e57e5d97be26ef3f3a9c43ff83edf316b6669063f

See more details on using hashes here.

Provenance

The following attestation bundles were made for iowarp_core-2.0.0-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