Server

Queuing with finite processing time

Quick Explanation

  • Timed resource that queues until resource becomes available
  • Model processor, bus, network, egress queue, RTOS, VLAN and time-space partition slots
  • Supports large number of concurrent resources with independent queues
  • Suppports multiple queue with independent resources
  • Used where delays are pre-defined
  • Supports M/G/N queue structure

Protocol

  • Linear, Circular, priority
  • First In, First Out
  • Shortest Job First
  • Priority based scheduling
  • Round-robin scheduling
  • Multilevel Queue scheduling

Server

The Server emulates an active resource in the transaction flow.  When the transaction reaches the head of the Queue, it has a fixed delay before being dequeued.  The Queue portion is similar to the above Queue Resource.

The Server is a tandem resource with multiple “queue plus server” resource.  Each queue+Server is maintained independently.  Each transaction can have a different delay and priority.  The queues are reordered based on the priority.

The processing time is known in advance and provided along with the token to this block.  This block has Active and Standby power state and can record the power consumption.

This block can be used to define any action that requires a queue and known delay.  Examples are a hardware bus, Egress port or a mission countdown.

Usage and Application Differences between Queue and Server:

Queue Server
Delay is not predictable in advance Delay is known apriori
Link of registers that store tokens Link of registers that store token and delay the head of the queue
Reorder the queue based on the priority of the incoming token. Rejects the lowest priority token Reorder the queue based on the priority of the incoming token. Rejects the lowest priority token
No power state Supports Active and Standby power state
Supports First-Come First-Serve and Last-In First-Serve Supports First-Come First-Serve and Last-In First-Serve
Can destroy elements anywhere in the queue without sending them to the output port Tokens cannot be destroyed.
Detailed statistics for delay, buffer occupancy, dropped tokens and entry-exit Detailed statistics for delay, buffer occupancy, dropped tokens, entry-exit and utilization
Expression to select the queue and priority of a Token Expression to select the queue, delay and priority.  The delay can be a delay value, number of cycles (Clock Speed for hardware) or packet delay (speed for networks)
Usage:

  1. Store and forward with external event
  2. FIFO
  3. Bank teller
  4. Software linked list
Usage:

  1. Store and delay with no external event
  2. Processors, buses, Network
  3. Active traffic light

There is a unique Server module- Server_N_Priority that has a single queue with multiple Server.  This models a multi-core with a single dispatcher or a single queue to an array of bank tellers.

Server - implements queuing with finite processing time