GithubHelp home page GithubHelp logo

isabella232 / jsspp-osp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from atlarge-research/jsspp-osp

0.0 0.0 0.0 28 KB

Formats and tooling for the OSPs of JSSPP

Home Page: http://jsspp.org/OSP/

License: MIT License

Ruby 17.64% Python 82.36%

jsspp-osp's Introduction

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.

jsspp-osp's People

Contributors

fabianishere avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.