next up previous
Next: Current Use of SCIs Up: No Title Previous: Motivation

Specifics

SCI is the modern equivalent of a processor-memory-I/O bus and a Local Area Network, combined and made parallel to support distributed multiprocessing with very high bandwidth, very low latency, and a scalable architecture that allows building large systems out of many inexpensive mass-produced building blocks.

SCI protocols were kept simple so interface chips could run fast, therefore interfaces have a low gate count and will be very inexpensive when volumes become high. Transceivers and protocol logic and FIFOs all fit in a single chip and package. Performance degrades only slowly as distance increases, so distributed systems can have integrated communication via SCI that is far faster than can be provided by any other open interconnect.

SCI reduces the delay of interprocessor communication by an enormous factor compared to even the best interconnect technologies that are based on the previous generation of networking and I/O channel protocols (FibreChannel and ATM), because SCI eliminates the need for run-time layers of software protocol-paradigm translation.

A remote communication in SCI takes place as just a part of a simple load or store opcode execution in a processor. Typically the remote address results in a cache miss, which causes the cache controller to address remote memory via SCI to get the data. Within on the order of a microsecond, the remote data are fetched to cache and the processor continues execution.

In cases where SCI's full speed is not required, the standard protocols also support a ring-style connection which shares the link bandwidth among a number of devices, and thus avoids the cost of a switch. Either an individual SCI device or an entire ring can be connected to an SCI switch port, giving a user the ability to trade off cost versus performance over a broad range. Rings can also be bridged to other rings to form ``meshes" and higher-dimensional constructs.

The traditional approach of moving data through I/O-channel or network-style paths requires the assembly of an appropriate communication packet in software, pointing the interface hardware at it, and initiating the I/O operation, usually by calling a subroutine. Upon arrival at the destination, the data is stored by hardware in a memory buffer and the processor is alerted by an interrupt when a packet is complete or the buffers are full. The data is then moved by software to a waiting user buffer, and finally the user application examines the packet to find the desired data. Typically this process results in latencies that are tens to thousands of times slower than SCI. These latencies are the main limitation on the performance of networks of workstations.


next up previous
Next: Current Use of SCIs Up: No Title Previous: Motivation

Douglas M Gingrich
Thu Oct 10 13:51:22 MDT 1996