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

Uploaded CPython 3.13Windows x86-64

iowarp_core-1.9.7-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.7-cp313-cp313-manylinux_2_34_aarch64.whl (15.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

iowarp_core-1.9.7-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.7-cp312-cp312-manylinux_2_34_aarch64.whl (15.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

iowarp_core-1.9.7-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.7-cp311-cp311-manylinux_2_34_aarch64.whl (15.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

iowarp_core-1.9.7-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.7-cp310-cp310-manylinux_2_34_aarch64.whl (15.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ea9e98a4068dffadc12a99a338fb42a52a168a55bc9b796ae80b1b486b69cbad
MD5 2e2d94fe8ca4f7944b37c177fd188930
BLAKE2b-256 c581ccf12aa5ae26727818158a05448371d0b6aa92b33476e73fbf50a52785e5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 274adf6745f1ca79f7c0dc016d2c81c382ce1dba3c2b76e4b3887111f443d6d9
MD5 60e320a85dfb1091c6a309476c25f85a
BLAKE2b-256 455f75d033bd3992e151001f55a053a553816a5fbd9b1f3dd1d90b1a892da50c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 6e81066107bc65ec6324dfdb0843dc4e7c140e8fd1a84ed8643102feb80c57ce
MD5 05a0601b8e67c2723fd23c4d61a1c710
BLAKE2b-256 f885fb73edadf6f574a694ea918901fbe50561baff06bd9254ae9265a6876916

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 dc5d50c35cd8e562a5910b558ca03fe0c213ac8a7024569121ac3f3f57e7faf9
MD5 5788e5f87d0d26a922632e62f8e733bf
BLAKE2b-256 629607d6e2c313d472bb881d76b459af57f0b1e35b7146504bd928d6dbec4954

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 62967aa284446a95ab17479664cadec6f95ee09cc69ecd2c688562201ca83c0a
MD5 938948b64822f6557ca1cfbc125910b9
BLAKE2b-256 01e6d5af251b07ee0ca455260e1abdda289e2eff6068ca9e53fbd492fadd9251

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 6672f12093af83a2fe56d84428cb4bef951668ae32f1c762775f1c1ae7563563
MD5 0985f20e2d8ae5f4579cf7fdf38620c9
BLAKE2b-256 d2112d23fbb29a983aaaf0d624c1ef5df2a0d5d62b796a2084a605a4af8a563d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a19a1406d640d069d1a06ac5c578acb347fb05e34ed512ac93e9a93a35ab7024
MD5 9c546b4702dc6673cfa658a7e2ae3cbf
BLAKE2b-256 acf085a0a01cce2ba5c07cd12383855d917c68e07235873b169284c2ff60727f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bc70df24f6438a45df458e49c412de4a1a0a94dbfdd2d72b2a1d67be5ecae7d3
MD5 822087812160c7d5bc9cde2d1e8dd6cf
BLAKE2b-256 8eadd22b8a99116f86b692e87f426c5c694653c92d31d86ed10fbe9c0a9f05ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 857d692df99fe8d570c91ebf3595772b1adba522e85da7b6fcd8e5be2840876d
MD5 07b65984357eb10b1800eb6008ee8352
BLAKE2b-256 c8c3803fc4aff0f90dddf892b49d926802d62501e105562574c365028ecd25c8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2d999413a995b472d986a1a510155cc48818f5c4c99755d7336f1b81622ce9c3
MD5 f7a4befa3b29b7e64659114146f7db46
BLAKE2b-256 720b37062aae60122cd6852b18a0be2861e71dfabd5ae19c549b9db04325cbaf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1b640b1f94ffdcb9df3acf3ab797942a4bb943fb0290e43ab00323f7bd689033
MD5 46a47c1323631db4f7dd17c75759a435
BLAKE2b-256 97ff5d4b82f148ad4c0bd04a3d916b4606440bfb9a8b75d57e4b50f56059610f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8d12ca0ae3e35240c03fc4da73f9126dfe1c83f50e114c94bc143ee8e10d202e
MD5 d0e114791678b040505a1a5595425415
BLAKE2b-256 5b0efa067ffbfd2922799f840d7ba4aa861afb7a8f019348df3e01dd18acc69f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c6f73fee9942304a1b1e7a7012f574b4ec9dd95b6079ea932595c80a4380bde7
MD5 d458c605fe0d13c3a1129bb04f204a09
BLAKE2b-256 c9cc9b191b11b3064c6a12ed7bdff93139a84c1bacdf4367d1552e4ce6982fb6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 be35dc4a2a6a41f41c11711efe908e345f49790e8fcc21092fdc47595a775fa7
MD5 7caf1f014794b7aedfbf48d08e479f81
BLAKE2b-256 36a4035d8b9b35bcd0cb93774d6a4a1d4e0c935a68b9ea705d1cddfa53a11a01

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a114461f44255c76a36cf823a903c90e4c4fc48656dbe9fa34ebe98026dac841
MD5 30b408865529b870ee38b7a7cd669247
BLAKE2b-256 b107d816453bbfd5c2a3e6c2cc6846e53f0e5d98b7d34f17ab554b90839a7930

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iowarp_core-1.9.7-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f85ea6b561f6ce0fd6d642005245a0c574a01a45149a8e3a4f9740c660509f26
MD5 0531f552acfc31c111282328e2325c0f
BLAKE2b-256 50aebb79bdba23ef8fcabf7668b6db4dc10872c7201156cd02c712957c604f30

See more details on using hashes here.

Provenance

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