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 inline strings into IOWarp storage.
# src="string::<blob_name>" names the blob; src_data carries the payload.
docs = [
    ("climate_report",   "Arctic sea ice extent fell to a record low in 2023."),
    ("ocean_temps",      "Ocean surface temperatures rose 0.3°C above the 20-year mean."),
    ("co2_levels",       "Atmospheric CO₂ reached 421 ppm, the highest in 800,000 years."),
]
bundle = [
    cee.AssimilationCtx(
        src=f"string::{name}",
        dst="iowarp::climate_docs",
        format="string",
        src_data=text,
    )
    for name, text in docs
]
ctx_interface.context_bundle(bundle)

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

# Query the top-2 most relevant blob names via BM25 semantic search.
blobs = ctx_interface.context_query("climate_docs", ".*",
                                    max_results=2,
                                    prompt="temperature anomaly over Arctic")

# Retrieve blob payloads (regex).
data = ctx_interface.context_retrieve("climate_docs", ".*")

# Retrieve the top-2 most relevant blobs via BM25 semantic search.
data = ctx_interface.context_retrieve("climate_docs", ".*",
                                      max_results=2,
                                      prompt="temperature anomaly over Arctic")

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

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

Uploaded CPython 3.13Windows x86-64

iowarp_core-2.1.0-cp313-cp313-manylinux_2_34_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

iowarp_core-2.1.0-cp313-cp313-manylinux_2_34_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

iowarp_core-2.1.0-cp313-cp313-macosx_14_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

iowarp_core-2.1.0-cp312-cp312-win_amd64.whl (9.0 MB view details)

Uploaded CPython 3.12Windows x86-64

iowarp_core-2.1.0-cp312-cp312-manylinux_2_34_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

iowarp_core-2.1.0-cp312-cp312-manylinux_2_34_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

iowarp_core-2.1.0-cp312-cp312-macosx_14_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

iowarp_core-2.1.0-cp311-cp311-win_amd64.whl (9.0 MB view details)

Uploaded CPython 3.11Windows x86-64

iowarp_core-2.1.0-cp311-cp311-manylinux_2_34_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

iowarp_core-2.1.0-cp311-cp311-manylinux_2_34_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

iowarp_core-2.1.0-cp311-cp311-macosx_14_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

iowarp_core-2.1.0-cp310-cp310-win_amd64.whl (9.0 MB view details)

Uploaded CPython 3.10Windows x86-64

iowarp_core-2.1.0-cp310-cp310-manylinux_2_34_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

iowarp_core-2.1.0-cp310-cp310-manylinux_2_34_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

iowarp_core-2.1.0-cp310-cp310-macosx_14_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 224f06a13bdb90e384de03be5891f2cca88a7b1c9d4905494147dd1fe7524dc7
MD5 fc66737900604b74e5c6ed7c1ad5887c
BLAKE2b-256 f3c124559840464ac2007bb2a0cbb5c526d964e249a8c724d36943496d7d8477

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 62e14f9698deaa1a36657e353abd6ab8e837e7636d91158507cf81b4754b1904
MD5 afd2276e619251361ba99f4ecc49d569
BLAKE2b-256 dbf1956042f72075e5a9486fdea8810a294150357c8635e733e27a37ab125bf6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 22e5338caf344ba4fa100d96c34ed4551609aad8ad864543598d3a3fc88db9d6
MD5 e9d27b80f3778a71ed8506d37a1304d6
BLAKE2b-256 b574e013319f66e0444bf831b1fc77459e4d8f2b6ad5111636e4a7a1467d03f8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 753c80175bf75744747d0487fab4aa48f3207da6e77cd8a87aed1e2640399295
MD5 51c26b2a934eb0918d83148bf1068b58
BLAKE2b-256 bd5fcc491f06d1972a6b516ecd842b72aab8806e9a43e7df05882655d72bb41c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f6324138c5ead0c4f1e4abe7f9bdd3e8026483c814b1361f1838813c6ebb9c2b
MD5 bf56f3a4b13133cc661f65da5d402955
BLAKE2b-256 2a4d20601a94b14d00bfa37f4b80abcce761be301cebdf95d0bc674e679a01fa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 29ca55571b8c447d8121ccf9acc10f50abe459428f5d50033badcec87338d0e5
MD5 c5e194d006c122da40d271b0148439cc
BLAKE2b-256 c3b54a5bfbdcc117ff11f9d521194fa336a9cdbea3f7d03e9531045af159fcb7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 e52e459ad2dc3ce722ca2f5b9a123769c4b6418564e6c55a78beebe4fb90feee
MD5 ddd51f51fb4143eb9ba8b99251971c50
BLAKE2b-256 ffe2430402ada96d145fef74e29c7d9bf4bec257b1f7d4880484e13cb24bf553

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5007bbf4a7170ee6eb3ba8ea914b4d2a3c0472947183ef816d36e80fe0895bcd
MD5 a3d1b0009f9f453bc8d002e64384badb
BLAKE2b-256 66e8ab3c19e0aac3108f3798a8fdd0723e9ebb12e30323dc2f5cf5bdad0dd082

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cf63c02f132cdc9543fc06109aec26d1c8145ab4bff4eceb587c792379adb860
MD5 2eec512bde66bbdd24377881fc057408
BLAKE2b-256 b5441df34282381c29aa721d5ecc86144bef50b08eb123b5375992db2622a000

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c681ac690d9ad3e259847af91c67784b169bf600b8f9d214e909743647d95643
MD5 902d09ea4752961a47f47dd263df1f5f
BLAKE2b-256 2e2828a1fe10963ab51ed8e7210479bebcb9ed6b15d0a08cf46a8a2beaa11cb9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 2e7922d100659293761e7e43d787cad8b9fc25e0cd665ea10b2723f79396e068
MD5 ac3fd30ba273e561d9de23089d4e4652
BLAKE2b-256 44dfbbd432a7c36ad96b421bb9d43cd1a6d23f2792208306e1b44a3f8ba799ac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 acd47d9bfa8ccbddb1fe1221b4e2b865cea5a50be924c38d69928f6d76e792b9
MD5 f8d3d9383eb506c8f01f38ed88c2f82f
BLAKE2b-256 13d7e3b2ff6f12c3d58389c9868173d6f934712097cc6b1a542e0224c9747577

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b97e55edbd834c910a350d57ea1b3e2b5e763f25421708062f1021592c9613b2
MD5 87df0beaa4a56aec6998801bd3cf808e
BLAKE2b-256 f7540a8ca9d297347575fb9b718d7b161facab367f9ff05ff31cca583f3e9cf1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 add24004b900f1c9a57d36f410bdab21e952fa004789476be5c1a22a1833d471
MD5 caa7b4da8bfcb245dcd03d2ab646b559
BLAKE2b-256 6e0ea6bb89d13df164d150158b08c5b3cee2d78f8872b1cbcddab9204e004780

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 2258a68024152b5889e7228dc7fb84ef9a2f038517b71fd2b2865502a21d7303
MD5 d58576e0a27a97ea6397ee90f8ac17cd
BLAKE2b-256 d2e066de5ae09b0b63ade656b400fa375175e15d48ed77b44908a7473ca16543

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-2.1.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 96e1ae97c0d9843d7ae6450f3e562ef93ad95c06d8aba470cd1173ae7777b8d7
MD5 b4a2d7e661e25149ed50b2236a04e430
BLAKE2b-256 b8eb70e581bd7f548248072f0c7549344b4064cd2b0475054383e08022f46898

See more details on using hashes here.

Provenance

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