Quality of Service Enhancement of Washington University Gigabit Switch Using the Illinois Input Queue

John W. Lockwood
lockwood@ipoint.vlsi.uiuc.edu

iPOINT Research Group
Department of Electrical and Computer Engineering
University of Illinois at Urbana--Champaign
405 N. Mathews Ave.
Urbana, IL 61801

Network Development Group
National Center for Supercomputing Applications (NCSA)
605 East Springfield Ave.
Champaign, IL 61820

December, 1996
See WU-iiQ Pages for recent work!

Abstract

The Washington University Gigabit Switch (WUGS) provides a scalable architecture that is likely to be used for future high-speed networks. Quality of Service (QoS) can be supported on this switch by interfacing hardware at the edge of the switch. The 3DQ, designed at the University of Illinois, is an intelligent module which provides QoS by organizing cells according to their priority, destination, and virtual circuit. A functional prototype of this module, called the Illinois Input Queue (iiQueue), has been prototyped using a printed circuit board, field programmable gate arrays, and SRAM Memory. For this research, we propose to integrate the WUGS and the iiQueue to build a highly scalable ATM switch which supports per-virtual circuit QoS.

Introduction

Scalable networks that transport integrated data using the same underlying technology can be built using Asynchronous Transfer Mode (ATM). For ATM, Quality of Service (QoS) parameters are used to specify traffic requirements for individual streams of computer traffic, audio data, and compressed video that are switched across the network. To guarantee QoS, an ATM switch must maintain pre-established levels of bandwidth, delay, and jitter for individual virtual circuits.

The Washington University Gigabit Switch (WUGS) architecture is optimal in the way that it scales the hardware for additional ports. As such, the WUGS architecture is likely to be used in future high-speed networks. To support Quality of Service, however, the switch must be augmented with additional hardware that provides congestion control and per-virtual circuit queueing.

As a part of the Illinois Pulsar-based Optical Interconnect (iPOINT) testbed, an intelligent queue module has been developed that uses pointers and a linked list of memory to organize ATM cells into multiple queues. This design, called the three dimensional queue (3DQ), processes cells according to priority, destination, and virtual circuit. A functional prototype of this queue, called the Illinois Input Queue (iiQueue), has been prototyped using a printed circuit board, field programmable gate arrays, and SRAM Memory.

Integration of the iiQueue and WUGS


Integration of iiQueue and WUGS

For this research, we propose to integrate the WUGS and the iiQueue to build a highly scalable ATM switch which supports per-virtual circuit QoS. A diagram of the combined system is shown above. Incoming cells would be processed and buffered by the iiQueue then forwarded to the WUGS switching fabric. By inserting the iiQueue between the Utopia interfaces of the line card and the IPP/OPP of the WUGS switch, no hardware modifications to either system would be required.

Details of the 3DQ Design

The 3DQ processes and buffers cells at the input port of the switch, and thus operates at the rate of a single line interface rather than at a rate proportional to the aggregate throughput of the system. As ATM cells arrive, they are appended to a virtual circuit queue stored in a Random Access Memory (RAM). The 3DQ hardware maintains these queues by manipulating address pointers for multiple linked lists of memory locations.

A virtual circuit table is used to store each circuit's destination port(s), priority, queue length, and Quality of Service (QoS) parameters. This table, also implemented in RAM, is read and updated when cells enter and leave the system.

The 3DQ maintains service queues to sort connections by their virtual circuit, destination, and priority. Cell ordering is preserved by maintaining strict FIFO ordering of cells within a given virtual circuit. Head-of-line blocking is avoided by allowing cells destined for an uncongested port to bypass those cells destined for a congested port. Quality of Service is provided by using the priority level to determine the location of the connection within a service queue.

Implementation of the iiQueue

Functional hardware has been prototyped on a Printed Circuit Board (PCB) called the Illinois Input Queue (iiQueue). The iiQueue implements the 3DQ design using Field Programmable Gate Arrays (FPGAs) and SRAM memory. A photograph of the iiQueue is shown below.


Photograph of the iiQueue

The iiQueue can process and buffer ATM cells at data rates up to 800 Mbps using a 25 MHz clock. It uses a 32-bit wide interface to attach to an ATM switch (left-most connectors of the PCB), and a programmable 8/16/32-bit wide interface to attach to a line card (right-most connectors of the PCB). The interfaces of the iiQueue and WUGS are compatible. They both have TTL-compatible signals and are designed to be used with a Utopia interface.

The logic for the system is implemented using two Xilinx XC4025-Epg299-2 FPGAs. One FPGA implements the ingress cell processing and controls input buffering, while the other implements the egress cell processing and controls the physical interface. The RAM for the system is implemented using four standard, 64-bit wide, CELP-socketed SRAM modules. Separate memory modules are used to implement the control memory, the cell buffer, and outgoing virtual circuit table.

As with the WUGS, the iiQueue communicates with a switch controller via control cells on preset VCIs. Control cells are sent to the 3DQ to create connections, tear down connections, and to modify QoS parameters. Detailed queueing statistics can be gathered by reading control cells from the iiQueue. QoS parameters and statistics include queue length, maximum queue length, connection priority, and cell loss counters. Additional parameters, such as an AAL5 frame counter, can be added by reprogramming the FPGA device and reserving space for an additional variable in control memory.

Research enabled by the WUGS

Using the combined WUGS and iiQueue, we plan to investigate and implement new hardware-based control mechanisms for congestion control and dynamic traffic shaping. The hardware will enable us to study the complex interactions of a multistage switch (WUGS), a local queueing module (iiQueue), and a software-based switch controller. Each of these units operates on a different time scale and tracks different types of information. The input queue must decide which cells to buffer, drop, or transmit on the time scale of a cell arrival. The switch fabric must deliver cells from an input to one or more outputs while avoiding deadline and internal cell dropping. Finally, the switch controller, operating on the slower time-scale of a call setup, must decide when to admit or reject calls and how the hardware operations should be modified as traffic loads vary.

Understanding the equilibrium points of the entire system is critical in order to achieve guaranteed levels of Quality of Service and optimal switch usage. Using the hardware and software of the combined system, we propose to implement algorithms to support Available Bit Rate (ABR) traffic and provide dynamic traffic control. The processing of resource management cells can be handled by the reprogrammable logic of the iiQueue. Optimal values can only be achieved through interaction of the queue, the switch, and the controller.

Application Experiments

Through the research on the XUNET, the I-Way, the vBNS, and the NCSA switched network that currently interconnects the NCSA supercomputers, NCSA and our partners have developed numerous network-based applications. The performance of these applications is now as much a function of the network as it is a function of the processing elements of the computers. From previous experience, we have found that these interactions can be quite complex.

We plan to connect the WUGS switch with the NCSA backbone network to measure application-level performance. During the course of an experiment (and only during an experiment), real traffic would be routed through the WUGS hardware. The performance of the applications would be measured as a function of background traffic and QoS parameters.

Conclusions

The WUGS provides a scalable architecture that is likely to be used for future high-speed networks. Quality of Service can be supported on this switch by interfacing hardware at the edge of the switch. The 3DQ is an intelligent module which provides QoS by organizing cells according to their priority, destination, and virtual circuit. A functional prototype of this module, called the Illinois Input Queue (iiQueue), has been prototyped using a printed circuit board, field programmable gate arrays, and SRAM Memory. For this research, we propose to integrate the WUGS and the iiQueue to build a highly scalable ATM switch which supports per-virtual circuit QoS.


lockwood