Skip to main content

A compute delegation package for the StochSS family of stochastic simulators

Project description

StochSS-Compute

StochSS-Compute is a compute delegation server for the StochSS family of stochastic simulation software. StochSS-Compute allows for one to run StochSS or GillesPy2 simulations on distributed cloud compute resources.


PLEASE REGISTER AS A USER, so that we can prove StochSS-Compute has many users when we seek funding to support development. StochSS-Compute is part of the StochSS project.

Installation

1. Installing dependencies & stochss_compute

PyPI Install:

pip install stochss_compute

Start up the server along with dask cluster:

stochss-compute-cluster

If you already have a dask cluster running on localhost:8786:

stochss-compute

Git Clone Install

Using a python virtual environment (documentation):

git clone https://github.com/StochSS/stochss-compute.git
cd stochss-compute
python -m venv venv 
source venv/bin/activate
pip install -r requirements.txt

OR

Global install of dependencies:

git clone https://github.com/StochSS/stochss-compute.git
cd stochss-compute
pip install -r requirements.txt

2. Start up the server and compute backend

Using the startup script, which starts up a dask cluster, along with scheduler and workers:

python -m stochss_compute.launch cluster 

If you already have a dask cluster running on localhost:8786:

python -m stochss_compute.launch

Docker

As an alternative to the above steps, you can use Docker.


Example Tutorial

1. Run this Docker command:

JUPYTER_PORT=7888 && \
docker run -it --rm \
-p $JUPYTER_PORT:$JUPYTER_PORT \
-p 8787:8787 \ # for dask dashboard
stochss/stochss-compute:examples \
jupyter notebook \
--port $JUPYTER_PORT

2. Open the link provided by the Jupyter Notebook server in your browser.

3. Open and run the self-contained Tutorial_1-Local.ipynb


Starting a server

docker run -it --rm --network host stochss/stochss-compute:latest
  • Stochss-Compute is now running on localhost:29681.
  • The cache defaults to the current working directory under cache. To set a new path for the cache, you can pass one to docker run:
docker run -it --rm --network host -v $PWD/MyCache:/usr/src/app/cache stochss/stochss-compute

Cache Behavior

  • Simulation results are given a unique identifier based upon the type of solver/algorithm, the model itself, and any other arguments passed to that simulation's run() call.
  • Results are stored on disk in json format.
  • Results are 'anonymized', that is, variables and parameter names are converted to unique alphanumeric identifiers.
  • Subsequent requests that match to cached results will automatically return the cached results.
  • All other factors being the same, requests that differ only in the number_of_trajectories are associated with the same results object.

License

StochSS-Compute is licensed under the GNU General Public License version 3. Please see the file LICENSE for more information.

Acknowledgments

This work has been funded by National Institutes of Health (NIH) NIBIB Award No. 2R01EB014877-04A1.

StochSS-Compute uses numerous open-source packages, without which it would have been effectively impossible to develop this software with the resources we had. We want to acknowledge this debt. In alphabetical order, the packages are:

  • Jupyter – web application for creating documents containing code, visualizations and narrative text
  • Dask.Distributed – a library for distributed computation

Finally, we are grateful for institutional resources made available by the University of North Carolina at Asheville, the University of California at Santa Barbara, and Uppsala University.

        

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

stochss-compute-1.0.2.tar.gz (59.9 kB view details)

Uploaded Source

Built Distribution

stochss_compute-1.0.2-py3-none-any.whl (107.2 kB view details)

Uploaded Python 3

File details

Details for the file stochss-compute-1.0.2.tar.gz.

File metadata

  • Download URL: stochss-compute-1.0.2.tar.gz
  • Upload date:
  • Size: 59.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for stochss-compute-1.0.2.tar.gz
Algorithm Hash digest
SHA256 e3a6eac6e15198a3eb73225ca1a9774b43ed372331d6231114cb7ac9c8fbb766
MD5 e71526740fa9fdb7be2f0a2a4d11581e
BLAKE2b-256 73bbae29dd91f73a7de5f166e62f45791db8e3b96cc2e8abda4a1c04478d3a04

See more details on using hashes here.

File details

Details for the file stochss_compute-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: stochss_compute-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 107.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for stochss_compute-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 31493bc6f4df28e0609b5e43c8aede26a1b1b93681e0276663cf85c2f27fc960
MD5 b03bbe2c231bb159e948b4d47d4c26ea
BLAKE2b-256 7b965fdfcf704d910edf4aa4a78ebb2bf3db3a1c0f8761a3f476536605917bae

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page