PACKET COMMUNICATION IN DELTA AND RELATED NETWORKS
DIAS, DANIEL MANUEL
Doctor of Philosophy
Delta networks are a class of multistage interconnection networks that can be used to interconnect a large number of modules in a modular computing system. In a packet communication environment, the modules in a system communicate asynchronously using fixed size packets. In this environment, delta networks exhibit a large parallelism in packet transfer leading to good performance. They also allow for local control in packet routing, extensibility, clean interfaces, speed independence, and simple proofs of correctness. They can be augmented to improve reliability, and pruned to have different numbers of input and output links. Feedback paths can be added to provide a range of performance. Special extreme cases of (N x N) delta networks are the full crossbar switch, which has O(N('2)) gates and O(N) ideal bandwidth, and the single bus, which has O(N) gates and 0(1) bandwidth. Delta networks constructed from fixed size basic switches have O(N log N) gates and O(N) ideal bandwidth. The performance of delta networks with fixed size basic switches is comparable to that of the full crossbar switch in realistic environments as well. The class of delta networks includes several other networks that have been proposed in the literature. Thus, this study applies to these networks as well. Unbuffered delta networks have no internal buffers within the network. A simple model for network operation can be used to obtain a network characteristic that can then be used to obtain good estimates of performance for other models and environments. Using priority schemes in arbitrating between conflicting packets (that require passage through the same link at the same time) leads to a deterioration in performance as compared to arbitration with equiprobable selection from conflicting packets. Inserting a buffer between the stages of a delta network leads to a considerable improvement in performance, making its performance better than that of the (same size) unbuffered crossbar switch. However, as the number of buffers between stages is increased, the network bandwidth saturates quickly to a constant, while the delay that a packet encounters in the network increases almost linearly with buffer size. Thus, the buffer size for most practical applications should be limited to one or two. The performance obtained is also sensitive to precisely how the switches in the network operate. The switch operation policy needs to be chosen depending on the values of certain network parameters in an implementation. There are many ways of pruning delta networks. Optimal pruned delta networks, with buffers between stages, have a nonintuitive topology. Introducing feedback paths leads to a range of performance and cost. However, packets can deadlock in such networks. It is possible to detect and recover from deadlocks. For good performance to be obtained, it is necessary to prevent the frequent occurrence of deadlocks. This can be achieved by controlling the flow of packets into the networks.