https://github.com/d-vesely/sleipnir

A Monte-Carlo simulator for Mobile Edge/Cloud Computing

https://github.com/d-vesely/sleipnir

Science Score: 13.0%

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

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

A Monte-Carlo simulator for Mobile Edge/Cloud Computing

Basic Info
  • Host: GitHub
  • Owner: d-vesely
  • License: mit
  • Language: Java
  • Default Branch: master
  • Size: 815 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Fork of vindem/sleipnir
Created about 5 years ago · Last pushed about 5 years ago
Metadata Files
Readme License

README.md

Information

SLEIPNIR is a DAG scheduling simulator focused on mobile cloud/edge/iot infrastructures released under MIT license. If you use it in your papers, please cite my work using the following bibtex entry:

@inproceedings{DBLP:conf/ccgrid/MaioB18, author = {Vincenzo De Maio and Ivona Brandic}, editor = {Esam El{-}Araby and Dhabaleswar K. Panda and Sandra Gesing and Amy W. Apon and Volodymyr V. Kindratenko and Massimo Cafaro and Alfredo Cuzzocrea}, title = {First Hop Mobile Offloading of {DAG} Computations}, booktitle = {18th {IEEE/ACM} International Symposium on Cluster, Cloud and Grid Computing, {CCGRID} 2018, Washington, DC, USA, May 1-4, 2018}, pages = {83--92}, publisher = {{IEEE} Computer Society}, year = {2018}, url = {https://doi.org/10.1109/CCGRID.2018.00023}, doi = {10.1109/CCGRID.2018.00023}, timestamp = {Wed, 16 Oct 2019 14:14:53 +0200}, biburl = {https://dblp.org/rec/conf/ccgrid/MaioB18.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} }

Prerequisites

SLEIPNIR is written in Java, therefore the latest version of JDK is required. Dependencies are resolved using Apache Maven, which is available at: https://maven.apache.org/download.cgi Also, SLEIPNIR uses Apache Spark to distribute load on multiple cores. Apache Spark can be downloaded at: https://spark.apache.org/downloads.html

Download and install SLEIPNIR

The simulator is available from github (https://github.com/vindem/sleipnir) To download the latest version, you need to clone the repository running git clone https://github.com/vindem/sleipnir To install the simulator, you need to run mvn clean package -Dmaven.test.skip Which generates the jar archive needed by Apache Spark. In alternative, you can also use the available build.sh script

./build.sh

This command will generate the jar sleipnir.jar in the subfolder target/.

Running simulation with SLEIPNIR

“HelloWorld” example

In the HelloWorld example, we simulate offloading of a workflow composed of 5 sequential FACEBOOK DAGs, executed by 1000 mobile devices. Computational infrastructure is composed of 6 cloud nodes. We simulate mobility over the area of HERNALS, divided in hexagonal cells of 2 km radius with an edge node in each cell. For offloading, HEFT list-based algorithm is used. The “HelloWorld” example is described in the source file OffloadingHelloWorld.java.

Running HelloWorld example

To run SLEIPNIR, just run

spark-submit target/sleipnir.jar

Simulation Setup

Simulation can be configured either by using command lines arguments or the configuration file simulation.json. The arguments that can be used are the following:

  • -h, -? Prints usage information
  • -mobile=n Instantiates n mobile devices
  • -cloud=n Instantiates n cloud nodes
  • -wlRuns=n Each workflows has n applications
  • -cloudonly=true/false If true, simulation uses only Cloud nodes
  • -area=name Urban area where the offloading is performed (possible choices: HERNALS, LEOPOLDSTADT, SIMMERING)
  • -eta=n Sets the eta parameter, which is necessary to set offloading cost (the higher the eta, the lower the cost).
  • -outfile=string Saves output in file filename
  • -iter=n Executes simulation for n iterations
  • -navigatorMapSize=# Lambda parameter for size of navigator MAP (in kb)
  • -antivirusFileSize=# Lambda parameter for size of antivirus file (in kb)
  • -facerecImageSize=# Lambda parameter for size of image file (in kb) for Facerec app
  • -chessMi=# Lambda parameter for computational size of Chess app
  • -navigatorDistr=# Probability of NAVIGATOR app in workflow (must be between 0 and 1).
  • -antivirusDistr=# Probability of ANTIVIRUS app in workflow (must be between 0 and 1).
  • -facerecDistr=# Probability of FACEREC app in workflow (must be between 0 and 1).
  • -chessDistr=# Probability of CHESS app in workflow (must be between 0 and 1).
  • -facebookDistr=# Probability of FACEBOOK app in workflow (must be between 0 and 1).
  • -mobility=true/false If true, SLEIPNIR simulates mobility of users using sumo trace files. Example files for the areas of HERNALS, LEOPOLDSTADT and SIMMERING are available here

Owner

  • Name: Dominik Veselý
  • Login: d-vesely
  • Kind: user
  • Location: Vienna

Studying Data Science (Master's Degree) at TU Wien (Vienna University of Technology)

GitHub Events

Total
Last Year

Dependencies

pom.xml maven
  • org.apache.spark:spark-core_2.12 3.0.1 provided
  • com.datumbox:lpsolve 5.5.2.0
  • com.googlecode.json-simple:json-simple 1.1.1
  • com.opencsv:opencsv 3.3
  • org.apache.commons:commons-lang3 3.0
  • org.jgrapht:jgrapht-core 1.2.0
  • org.ojalgo:ojalgo 31.0
  • org.uma.jmetal:jmetal-algorithm 5.0
  • org.uma.jmetal:jmetal-core 5.0
  • org.uma.jmetal:jmetal-exec 5.0
  • org.uma.jmetal:jmetal-problem 5.0
  • org.junit.jupiter:junit-jupiter-engine 5.1.0 test
  • org.junit.platform:junit-platform-launcher 1.1.0 test
  • org.junit.platform:junit-platform-runner 1.1.0 test
  • org.junit.vintage:junit-vintage-engine 5.1.0 test