Skip to content

Update README.md #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 52 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,69 @@
## Getting Started
# Multi Server Simulator


## Overview
This project is a simulator for M/M/C and M/G/C queuing systems. Users can input parameters such as arrival rate (λ), service rate (µ), model type (M/M/C or M/G/C), and the number of servers. Upon submitting the inputs, the simulator generates a comprehensive table with various queuing system metrics, followed by a Queuing Calculator Table and a Gantt chart for visualization.

Deployed project Link : https://m-m-1-umer.vercel.app/

To run locally write the following commands in Vs code terminal to run the project
```
git clone https://github.com/ZainAsif767/priority-queue-simulator.git
git clone https://github.com/umershaikh123/priority-queue-simulator-p.git

cd priority-queue-simulator

npm install

npm run dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
## Usage
### 1. Input Parameters
Provide the following inputs:

- Arrival Rate (λ): Rate at which customers arrive.
- Service Rate (µ): Rate at which customers are served.
- Model Type: Choose between M/M/C or M/G/C.
- Number of Servers: Specify the number of servers.
Click the submit button to generate the main table.

### 2. Generated Table
The table includes the following columns:

You can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file.
- S.no#: Serial number.
- Cp Lookup: Lookup value for cumulative probability.
- Cumulative Probability (Cp): Cumulative probability of arrival.
- Avg Time Between Arrivals: Average time between arrivals.
- Inter Arrival Time: Time between consecutive arrivals.
- Arrival Time: Time at which a customer arrives.
- Service Time: Time taken to serve a customer.
- Start Time: Time at which service starts.
- End Time: Time at which service ends.
- Turnaround Time: Total time a customer spends in the system.
- Waiting Time: Time a customer waits in the queue.
- Response Time: Time taken to respond to a customer.
The number of rows and total customers are determined when cumulative probability reaches 1.

This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
![image](https://github.com/umershaikh123/priority-queue-simulator-p/assets/42178214/93aab8dc-81ad-407d-ae09-4e93bfef1e13)


### 3. Queuing Calculator Table
Displays various metrics for the queuing system:

- Utilization Factor (ρ)
- Average Time a Customer Spends in the System (W)
- Average Time a Customer Spends Waiting in the Queue (Wq)
- Average Number of Customers in the Queue (Lq)
- Average Number of Customers in the System (L)
- Proportion of Time the Server is Idle (Idle)
- Average Turnaround Time
- Average Response Time
- Average Waiting Time

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
![image](https://github.com/umershaikh123/priority-queue-simulator-p/assets/42178214/3f24a57d-1337-4880-97cc-7b87841364b7)

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
### 4. Gantt Chart
Generates a Gantt chart for queuing system visualization.
![image](https://github.com/umershaikh123/priority-queue-simulator-p/assets/42178214/6874316e-7177-4a10-9ef9-fc660a544c5a)

Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.