kumo.jl

Julia package to simulate resource allocations in the cloud

https://github.com/iijlab/kumo.jl

Science Score: 31.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.7%) to scientific vocabulary

Keywords from Contributors

numerics
Last synced: 11 months ago · JSON representation ·

Repository

Julia package to simulate resource allocations in the cloud

Basic Info
  • Host: GitHub
  • Owner: iijlab
  • License: mit
  • Language: Julia
  • Default Branch: main
  • Size: 81.7 MB
Statistics
  • Stars: 2
  • Watchers: 3
  • Forks: 0
  • Open Issues: 6
  • Releases: 0
Created over 4 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

KuMo: Towards Cloud Morphing

Stable Dev Build Status codecov Code Style: Blue

Table of contents

Installing KuMo

In a Julia REPL (command-line interface for julia), please use the following code snippet to install KuMo.

julia using Pkg Pkg.add(url="https://github.com/iijlab/KuMo.jl")

Visualization Tools

We provide an interface to two popular visualization tools in the Julia ecosystem:

  • (GL)Makie.jl for an interactive plot analysis
  • (Stats)Plots.jl for generating figures in LaTeX/PDF fashion

We recommend using the Makie interface first when designing or analyzing a scenario.

Pseudo costs selection and manipulation

Using efficiently our Cloud Morphing system, KuMo, is mainly done by selecting appropriate pseudo costs function for each resource. We implemented a small tool available within KuMo to help users with standard and usual variants of monotonic and convex pseudo costs.

In the julia REPL (command-line interface for julia), please use the following code snippet.

```julia using KuMo, GLMakie

showpseudocosts() ```

Interactive plot analysis with Makie

With our Makie interface, we provide a simple way to visualize the results of a scenario. The following code snippet will generate a plot of a default scenario.

```julia using KuMo, GLMakie

show_simulation() ```

Note that by default, show_simulation() will use a simple four convex nodes' scenario available in a small scenario collection called SCENARII.

At the time of writing, the user can try out-of-the-box the following scenario through

```julia showsimulation(SCENARII[:fournodes]) # default scenario for show_simulation()

showsimulation(SCENARII[:fournodesfourusers])

show_simulation(SCENARII[:square]) ```

Generating quality plots with Plots

Users can generate high quality plots with the goal of a LaTeX formatted PDF output in the following fashion.

```julia using KuMo, StatsPlots

scenario = SCENARII[:four_nodes]

simulateandplot!(scenario; plot_type = :all, target=:all) ```

The plot_type argument can be either :all or :plot or :areaplot. The target argument can be either :all or :nodes or :links.

Please read the documentation (WIP) for more information.

Reproducing the experimental results of any related paper

Installing Julia

We recommend any user, specially if unfamiliar with the Julia language, to use juliaup. Among other things, juliaup will install the latest release of Julia and add it to the path.

Do not use the julia version available on most repositories (such as apt) as it tends to not be maintained. Either install through juliaup or by downloading the binaries on the Julia language website.

Note that this package requires at least Julia 1.8 (the latest release at the time of writing).

How to use the scripts to generate the figures in the article

Clone the repository

Either clone this repository using, for instance the following command line in a shell

shell git clone https://github.com/iijlab/KuMo.jl.git

or in a Julia REPL

julia using Pkg Pkg.develop(url="https://github.com/iijlab/KuMo.jl.git")

Note that the last command will download and install the package at the following path ~/.julia/dev/KuMo.

Change directory

Please open a terminal anywhere within the cloned repository (or cd into it).

Run the script

If one has LaTeX installed, running the script is as simple as using

```shell julia scripts/main.jl

or from anywhere within the repository

julia path/to/main.jl ```

If no LaTeX engine are available, please add the --nolatex flag.

shell julia scripts/main.jl --nolatex

The output is generated in /figures.

Note that the first execution of the script will take a while as it will download and install all the dependencies.

Owner

  • Name: IIJ laboratory
  • Login: iijlab
  • Kind: organization
  • Location: 2-10-2 Fujimi, Chiyoda-ku, Tokyo, Japan

Citation (CITATION.bib)

@misc{KuMo.jl,
	author  = {azzaare <jf@baffier.fr> and contributors},
	title   = {KuMo.jl},
	url     = {https://github.com/Azzaare/KuMo.jl},
	version = {v0.1.0},
	year    = {2022},
	month   = {4}
}

GitHub Events

Total
Last Year

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 193
  • Total Committers: 5
  • Avg Commits per committer: 38.6
  • Development Distribution Score (DDS): 0.301
Past Year
  • Commits: 4
  • Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Azzaare jf@b****r 135
Kenjiro Cho k****c@i****t 54
CompatHelper Julia c****y@j****g 2
Kenjiro Cho k****c@v****l 1
Kenjiro Cho k****c@b****p 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 4
  • Total pull requests: 60
  • Average time to close issues: N/A
  • Average time to close pull requests: 15 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.05
  • Merged pull requests: 31
  • Bot issues: 0
  • Bot pull requests: 30
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 minutes
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Azzaare (3)
Pull Request Authors
  • github-actions[bot] (32)
  • Azzaare (32)
Top Labels
Issue Labels
bug (2) enhancement (1)
Pull Request Labels
enhancement (4) documentation (2) bug (1)

Dependencies

.github/workflows/CI.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-docdeploy v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/register.yml actions
  • julia-actions/RegisterAction latest composite
.github/workflows/CompatHelper.yml actions
  • julia-actions/setup-julia v2 composite
.github/workflows/SpellCheck.yml actions
  • actions/checkout v4 composite
  • crate-ci/typos v1.18.0 composite