Input queue

From ArticleWorld


An input queue is a group of processes that are stored and kept in waiting to be loaded into the main memory in order to execute a program. A segment of the disk or main memory is reserved for holding messages or job control instructions which are received in a first-in first-out (FIFO) manner. These instructions essentially describe the steps which are to be carried out in order for a certain program to run.

The concept

The concept of the input queue is also used in the networking domain. In networks based on the internet protocol (IP), routers make decisions on which direction to forward data packets. These decisions are made on the basis of the contents of the routing table. Whenever a routing device searches the routing table, it tries to identify the longest match for the destination IP address. This is carried out at the process level. Thus, the process of searching is put into a queue along with the other CPU processes that are waiting for attention from the CPU. The time required to carry this out may be very long and unpredictable.

Quicker routing decisions

This has given rise to the need to develop methods of switching that can solve the problems of increased time. The time required can thus be considerably reduced and made deterministic. Quicker routing decisions are possible; but if a match cannot be identified in the appropriate cache table, the packet is put in a queue in the input queue of the incoming interface that has to be processed. It is necessary that the rate of processed packets must not cause the input queue to get congested. In case the input queue turns out to be full, the packet is dropped.