Giter VIP home page Giter VIP logo

open-network-simulation's Introduction

Open Network Simulation

Project for Computer Systems Performance / Performanse Računarskih Sistema class.

Python-based application that performs analytical calculations on the specified parameters.

Following the analytical calculations, it simulates an open network system, generating jobs that enter the system in accordance with a Poisson distribution. The user-configurable schema determines how these jobs are transferred between the system's components.

Finally, the findings are presented in Excel tables, text, and visual graphs.

The results/output folder contains an example output for the default parameters.

Features

  • Analytical Solution: Uses input parameters to compute server flows and identifies the bottleneck system resource. Applies Jackson's theorem in calculation for other parameters. Provides expected values for the given system.

  • Simulation: Examines system behavior, showing dynamics for different configurations and job intensities. Provides simulated values for the given system.

  • Analysis & Documentation: Compares results from the analytical method with simulation outcomes and averages from several runs. The data is presented visually for clarity.

Configuration

parameters.py

This file hosts the adjustable parameters for the simulation.

Default Values

Processing Speed

Parameter Default Value
Processor 6.25ms
System Disk 1 10ms
System Disk 2 15ms
System Disk 3 15ms
User Disk 25ms

Processor Transfer Probability

Parameter Default Value
System Disk 1 15%
System Disk 2 10%
System Disk 3 5%
User Disk 50%
Processor 20%

System Disk Transfer Probability

Parameter Default Value
Processor 30%
Self 20%
User Disk 50%

Variables

Parameter Default Value
r (job arrival rate modification) [0.25, 0.50, 0.77, 0.99]
K (num. of user disks) [2, 3, 4, 5]

Simulation Parameters

Parameter Default Value
Simulation Time 30 minutes
Number of Simulations 10

Note: The specified simulation time pertains to simulated durations, not the real-time operation of the program.

generate.py

This file contains the generate_schema(number_of_disks) function that molds the system's schema. If you want to use your own schema you should modify this function. Schema simulation uses components from the simulation folder.

Default Schema

image

How-To Run

  1. Ensure you have the required dependencies:

    pip install -r requirements.txt
    
  2. Execute the program by running main.py:

    python main.py
    

open-network-simulation's People

Contributors

renatusrs avatar

Stargazers

 avatar

Watchers

 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.