Skip to main content

Instance tree generation for organization or higher throughput submission

Project description

Flux Hierarchy

Create trees of Flux instances

PyPI version

https://github.com/converged-computing/flux-hierarchy/blob/main/img/flux-hierarchy-small.png?raw=true

This tool enables generation and orchestration of Flux hierarchies, or trees of instances. Such a setup can enable programmatic organization and submission of commands, or high throughput. Use cases we want to address:

  • Creation (and organization) of a Flux Hierarchy
  • Discovery of an existing Flux Hierarchy (e.g, for MCP)

Usage

Let's first create a hierarchy. This will be a Flux job. You'll need to be in a Flux instance where a handle is discoverable. E.g., in the DevContainer:

flux start

Then create a simple, flat hierarchy with all the resources allocated to one broker.

flux-hierarchy start ./examples/hierarchy-one.yaml

You can test throughput (this also starts the hierarchy):

flux-hierarchy throughput ./examples/hierarchy-one.yaml

For either of the above, the hierarchy will continue running (and you need to cancel the job).

flux cancel $(flux job last)

You can also view the shape of the hierarchy without running anything:

flux-hierarchy view ./examples/hierarchy-one.yaml
$ flux-hierarchy view ./examples/corona/hierarchy-2.yaml
=>
🌿 Leaf Broker Workers...{}
level1 [Nodes: 2]
    ├── level2 [Nodes: 1, Cores: 48]
    └── level2 [Nodes: 1, Cores: 48]

Development

To build and release:

python3 -m build
# or
python3 setup.py sdist bdist_wheel

twine upload dist/flux-hierarchy-<version>*

WIP

  • Developing a more robust way to organize / discover handles.
  • Then will test with throughput on more instances, etc.

License

HPCIC DevTools is distributed under the terms of the MIT license. All new contributions must be made under this license.

See LICENSE, COPYRIGHT, and NOTICE for details.

SPDX-License-Identifier: (MIT)

LLNL-CODE- 842614

Project details


Download files

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

Source Distribution

flux_hierarchy-0.0.1.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

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

flux_hierarchy-0.0.1-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file flux_hierarchy-0.0.1.tar.gz.

File metadata

  • Download URL: flux_hierarchy-0.0.1.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for flux_hierarchy-0.0.1.tar.gz
Algorithm Hash digest
SHA256 60eef626e07eb186232c7ccb6ed7fd940fd7e2501171ebf4a9f1095779adb66c
MD5 b158edc60177488744d99b8593a01d58
BLAKE2b-256 9ed1e527662949fc89b343400bba3a4e755b4ebbc844e09465ff96ab34112adb

See more details on using hashes here.

File details

Details for the file flux_hierarchy-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: flux_hierarchy-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for flux_hierarchy-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 92921033f1f479136859b32aaa89f6fc85476ab5522989bc24cc1f9f8bab53b8
MD5 a13e572021752645bf5c585f5efd2abc
BLAKE2b-256 e44a1a368ff1764c9631b27dc08ad201b7b9cb3415033d299cc71f1776c14c57

See more details on using hashes here.

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