Discrete time simulation of a queue, Data Structure & Algorithms

Assignment Help:

In this project you will write a program to produce a discrete time simulation of a queue as shown in Fig. 1. Time is slotted on the input and the output. Each input packet follows a Bernoulli process. In a given time slot the independent probability that a packet arrives in a time slot is p, while the probability that the packet will be serviced is q. One packet fills one time slot.        

1775_Queue element.png

The queue can store up to four packets (not the five shown in the diagram above). All packets are processed on a first come - first served basis. Assume that when a packet is serviced all other packets in a queue (if any) are shifted instantaneously towards the output. Each slot departures from the queue are processed before arrivals. 

In your discrete event simulation the program will mimic the operation of the queue and collect statistics. More specifically, you will need to collect (a) throughput and (b) delay statistics for different values of p (p = 0.02, 0.04 up to 1.0 in steps of 0.02), and for a fixed value of q = 0.75. To obtain an accurate statistics you should simulate at least ten thousand time slots for each value of p. Note that you ARE NOT allowed to implement the model equation in the program - but you can use them as a check.

The average throughput is just the number of serviced packets divided by the number of time slots. The average delay of the queue is an average number of time slots a packet is waiting in a queue before it gets serviced (i.e., it is the total number of time slots which all serviced packets spend in the queue divided by the total number of serviced packets). For the delay statistics, it is convenient to store your packets in a linked list and associate the time slot tag with each packet.


Related Discussions:- Discrete time simulation of a queue

Direct file organisation, It offers an effective way to organize data while...

It offers an effective way to organize data while there is a requirement to access individual records directly. To access a record directly (or random access) a relationship is

Algorithm, Example of worse case of time

Example of worse case of time

Drawback of sequential file, Following are some of the drawback of sequenti...

Following are some of the drawback of sequential file organisation: Updates are not simply accommodated. By definition, random access is impossible. All records should be

Implementation of circular queues, One of the main problems with the linear...

One of the main problems with the linear queue is the lack of appropriate utilization of space. Assume that the queue can store 100 elements & the complete queue is full. Thus, it

Recursion, difference between recursion and iteration

difference between recursion and iteration

Which are the two standard ways of traversing a graph, Which are the two st...

Which are the two standard ways of traversing a graph? i. The depth-first traversal   ii. The breadth-first traversal

Program, circular queue using c

circular queue using c

Implement a min-heap, Description A heap is an efficient tree-based data...

Description A heap is an efficient tree-based data structure that can be used as a priority queue. Recall that the abstract data type of a priority queue has the following opera

Rules for abstract data type-tree, null(nil) = true                     // ...

null(nil) = true                     // nil refer for empty tree null(fork(e, T, T'))= false   //  e : element , T and T are two sub tree leaf(fork(e, nil, nil)) = true leaf(

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd