https://github.com/malekmfs/cspe40824
M/M/1/K Queue Simulation and Analysis Modeling assignments for "Computer System Performance Evaluation" course.
https://github.com/malekmfs/cspe40824
assignments-of-the-course discriminatory-procesor-sharing fifo performance-evaluation processor-sharing queue-simulation round-robin simulation
Last synced: about 2 months ago
JSON representation
M/M/1/K Queue Simulation and Analysis Modeling assignments for "Computer System Performance Evaluation" course.
- Host: GitHub
- URL: https://github.com/malekmfs/cspe40824
- Owner: MalekMFS
- License: mit
- Created: 2020-11-16T13:09:57.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-01-06T13:17:25.000Z (over 4 years ago)
- Last Synced: 2025-02-01T14:11:11.162Z (4 months ago)
- Topics: assignments-of-the-course, discriminatory-procesor-sharing, fifo, performance-evaluation, processor-sharing, queue-simulation, round-robin, simulation
- Language: Scala
- Homepage:
- Size: 59.6 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CSPE40824
M/M/1/K Queue Simulation and Analysis Modeler for Computer System Performance Evaluation course assignment.
Which returns Blocked jobs and Overdue (timeout) jobs Probability to be imported into a Spreadsheet.## How to run
You could run the project with `sbt run ""` or just run the .jar file followed by the following parameters (without quotes).
Note that all parameters are optional and have default values, However, you need *parameters.conf* alongside of project as it's required by the examiner. Here are samples with default values:
* `-e 7` or `--expOfCust 7`: Indicates the number of Customers (Jobs) in terms of the power of ten.
The default is 7 (i.e 10^7).
* `-k 12` or `--queueSize 12`: Server's queue size.
* `--examiner`: Runs simulation only for lambda (λ) = 5, 10, 15
* `--debug`: Prints out more info like Arrival, Done, and Overdue events.
* `-m fixed`,`--mode fixed`: Switches between `analysis` mode and Simulation mode with `fixed` or `exp` theta (wait time) distributions.
* `-q fifo`, `--queueMode fifo`: Select queue's service mode. `fifo` for First come, first served (a.k.a. FCFS), `ps` for Processor Sharing (ideal Round Robin), or `dps` for Discriminatory Processor Sharing with 2 classes.**Note:** The *Theta* and *Mu* parameters are read from the *parameters.conf* as required by the examiner.
And it will run for lambda (λ) = 0.1 to 20 by 0.1 steps (200 values) by default.## Build Standalone .jar file
` sbt assembly`## Dependencies
* [sbt](https://github.com/sbt/sbt): Scala build tool.
* [sbt-assembly](https://github.com/sbt/sbt-assembly): To make standalone (fat) .jar file.
* [better-files](https://github.com/pathikrit/better-files): for I/O
* [scopt](https://github.com/scopt/scopt): for command line options parsing.