QuickRing
|
QuickRing was a gigabit-rate interconnect that combined the functions of a computer bus and a network. It was originally designed at Apple Computer as a multimedia system to run "on top" of existing local bus systems inside a computer, but was later taken over by National Semiconductor and repositioned as an interconnect for parallel computing. It appears to have seen little use in either role, and is no longer being actively worked on. However it appears to have been an inspiration for other more recent technologies, such as HyperTransport.
History
QuickRing started as an offshoot of the fabled Futurebus project, which started in the late 1970s under the aegis of the IEEE. Realizing Futurebus was doomed, several of the main designers left the effort in 1987 to try again on smaller projects, leading to both QuickRing and SCI. In the case of QuickRing the main proponent was Paul Sweazey of National Semiconductor, who had hosted Futurebus's cache coherency group. Sweazey left NatSemi and moved to Apple Computer, where the new system was developed.
At Apple QuickRing was being positioned primarily as a secondary bus for computer systems to carry multiple streams of digital video without using the existing backplane bus. Apple was particularly interested in this role due to the limitations of their current NuBus systems in terms of speed. They envisioned various video cards using a second connector located near the "top" (opposite the NuBus connector) to talk to each other, with one of them producing compressed output for sending into the computer over NuBus. As faster versions of PCI started appearing it became clear that all video-capture cards would be moving to PCI anyway, leaving little demand for QuickRing in that market. Apple soon switched to an all-PCI based computer lineup, and in one of their general downsizings in the early 90s, Apple dropped their funding for QuickRing.
In response Sweazey moved back to NatSemi, who started positioning it as a high-speed interconnect. Here it had little better luck, competing against SCI on one hand, and every-faster versions Ethernet on the other. Efforts were made to standardize QuickRing inside the existing VMEbus system (using some redundant pins) in response to an industry effort to standardize on an interconnect for parallel processing, but nothing ever came of this. The US Navy announced several tenders for QuickRing products for sonar data processing (for which they had originally had Futurebus+ developed), but it is unclear whether or not it was used in this role. National eventually lost interest, and the system essentially disappeared in 1996.
Description
The basic QuickRing system consisted of seven serial links, six of them carrying data, and one a 50 MHz clock signal. Two physical media were specified, sets of twisted-pair copper wiring (using LVDS) embedded in a thin plastic strip for use inside a computer, or the same signals using frequency-division multiplexing in a single fibre optic cable for longer links between machines.
The data lines were clocked at seven times the clock signal, so each clock "tick" moved 42 bits of data over the bus (6 links times 7 bits) for a raw data rate of 2.1 Gbit/s. Ten bits of the 42 were used for signalling and control, leaving the other 32 for data, resulting in a net data transfer rate of 1.6 Gbit/s, or 200 MBytes/s.
Each QuickRing interface contained two of these 200 MB/s links, one for "upstream" and one for "downstream" connections in a point-to-point ring. Since the system was not a bus, machines could talk up and downstream at the same time without interfering with other users. The drawback was that each hop over an intervening point added a latency of up to 1.3 uS.
Since QuickRing was built in a ring topology there was no need for a decidated switch, or router, making the system lower cost. It used a circuit switching system, in which the message path is set up before the data is sent, and once set up the connection is very lightweight. This is as opposed to packet switching, in which every message contains all of the data needed to reach the destination, this is more flexible, but adds overhead. Of the 10 bits of control data, four were used to specify a circuit number, allowing for a total of 16 devices per ring. Two rings could be connected together by putting the bus IC's "back to back" in a switch, allowing for larger networks.