Skip to main content

JSSPP OSP Formats and Tools

This repository contains tooling and documentation of the formats used for Open Scheduling Problems (OSPs) of the JSSPP workshop.

Scheduling large parallel systems remains a formidable challenge today. Facing this challenge, however, requires knowledge of the actual problems encountered in the field. We hope to facilitate the sharing of open problems in scheduling these systems by defining a common standard in which problems can be defined and then shared with the community. We consider an Open Scheduling Problem (OSP) to consist of two main aspects:

  • The environment, consisting of the static topology (physical and logical organization of the machines) and system events which change that topology.
  • The workload, consisting of the jobs and tasks that the system should run.

This repository provides the format for specifying this information and the tools to validate whether these formats are valid. If you want to submit an OSP, it needs to be specified in terms of at least two JSON files: One for the environment, and one for the workload. Both need to comply with their respective JSON schemas, which can be found in schemas/. The schemas are flexible, allowing you to share as much or as little as you can disclose. If you feel that a certain machine-readable part of the format does not adequately express your problem, feel free to use the free-form text description fields to complement the machine-readable information.

We have provided a basic "Hello World" example, consisting of a simple environment and workflow workload. To explore this example, follow the documentation below, or see the examples/ folder for a quick impression. Note that this example is not an exhaustive representation of what can be expressed in the formats. Please refer to the schemas for a complete list of the properties that can be modeled.

Documentation

The documentation of the formats is located in the docs directory and is divided into:

  1. Install Tools: How to install the tooling necessary for validating your descriptions.
  2. Create Environment Description: How to write/generate an environment description complying with the format.
  3. Create Workload Description: How to write/generate a workload description complying with the format.
  4. Validate Descriptions: How to run the validation tools against your descriptions.
  5. Submit Files: How to submit an OSP to JSSPP.

Contributing

Build Environment

Run the following command in the root directory of the project:

$ pipenv install

This will install the required dependencies and setup the Python virtual environment.

Generate Documentation

Please make sure you have installed ruby and bundler. Run the following commands in the source directory:

$ bundler install
$ bundler exec jekyll build

The generated documentation can be found in site/.

License

The code is released under the MIT license. See the LICENSE.txt file.

Metadata

Release files for jsspp-osp 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jsspp-osp 1.0.0
File Size Uploaded
jsspp-osp-1.0.0.tar.gz 13.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jsspp-osp 1.0.0
File Interpreter ABI Platform
jsspp_osp-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 33.8 kB

Release files / jsspp-osp-1.0.0.tar.gz

Download URL jsspp-osp-1.0.0.tar.gz
Size 13.2 kB
Tags Source
SHA-256 checksum
How to use checksums
6d5738941d0d6305d8c568f9e077271ad3c344691c5de1e44cd1a9122fdb2f96
BLAKE2b-256 checksum
How to use checksums
72b326e5b6a8d384d7a7f549eb1fb807b3c5eae20db8ee2ecf3646e8d46d4278
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

Release files / jsspp_osp-1.0.0-py3-none-any.whl

Download URL jsspp_osp-1.0.0-py3-none-any.whl
Size 20.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
027bd511e074d2ce8d90a0a570a118803cf2040ecb2f626332d1f16629a1fdf9
BLAKE2b-256 checksum
How to use checksums
85fe81b48d3b03a63be69d7a9996645b40dabea9a2556290fc563d4a2e5f755e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page