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.
You could run the project with sbt run "<parameters>" 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 7or--expOfCust 7: Indicates the number of Customers (Jobs) in terms of the power of ten. The default is 7 (i.e 10^7).-k 12or--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 betweenanalysismode and Simulation mode withfixedorexptheta (wait time) distributions.-q fifo,--queueMode fifo: Select queue's service mode.fifofor First come, first served (a.k.a. FCFS),psfor Processor Sharing (ideal Round Robin), ordpsfor 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.
sbt assembly
- sbt: Scala build tool.
- sbt-assembly: To make standalone (fat) .jar file.
- better-files: for I/O
- scopt: for command line options parsing.