Switcherland: A Computer Architecture for Distributed Systems

Hans Eberle, Erwin Oertli, Peter Ryser, Daniel Scherrer
Swiss Federal Institute of Technology (ETH), Institute of Computer Systems
CH-8092 Zurich, Switzerland
{eberle, oertli, ryser}@inf.ethz.ch

Switcherland is a modular and scalable computer architecture applicable to low-end as well as to high-end systems. Its switch-based interconnection structure allows a system to be easily extended as the users' demands increase. System components can be added whereby the communication infrastructure grows as the system is expanded and, in contrast to bus-based systems, never becomes a performance bottleneck. Furthermore, Switcherland provides real-time guarantees making it particularly well suited for running multimedia applications that process audio and video data.

Scalability

As processors become more and more powerful, the performance of the computerís communication infrastructure becomes increasingly critical. High overall system performance requires not only high processing power but also efficient ways to move data between processors, memories and I/O devices.

Systems in use today typically use busses to communicate. As shown in Figure 1 busses are used at different system levels: a peripheral bus is used inside a workstation to connect I/O devices (I/O) such as storage devices or network interfaces to the processor (P) and memory (M); outside the workstations, another bus, the local area network is used to transfer data between machines. Busses exchange data by broadcasting messages on a shared set of wires. Their implementation is simple and low cost, however, due to the physical properties of a shared medium the performance is limited: the number of devices as well as the bandwidth is fixed. As busses can be expected to not be able to keep up with increasing bandwidth requirements much longer, alternative interconnection structures have to be explored.

Figure 1: A Conventional Bus-based System

As suggested by its name, Switcherland systems communicate with the help of switches rather than busses. Figure 2 shows an example of a Switcherland system. A port of a switch (S) connects either to a node or to another switch. A node corresponds to a processor (P) with local memory (M) or to an I/O device (IO). The switches have two purposes. Within a workstation, they serve as an I/O interconnection structure, whereby a workstation can contain one or several switches, and, within a cluster of workstations, they are used as a network interconnection structure. When cascading switches any arbitrary topology is allowed. By using the same interconnection structure for inter- and intra-workstation communication the boundaries of the workstations are less clear than in a traditional networked system since the logical grouping of nodes can easily be different from the physical arrangement.

Figure 2: The Switcherland System

Since such an interconnection structure uses multiple links rather than one shared link, it cannot compete in terms of cost. However, it offers scalability and high bandwidth. As indicated in Figures 1 and 2, a bus can execute only one data transfer at a time while a switch-based interconnection structure can accommodate multiple data transfers simultaneously. Since switches can be cascaded easily, the aggregate bandwidth can be many times the link bandwidth and also many times the switch bandwidth. In addition, a switch-based interconnection structure does not present a single point of failure and offers the possibility to improve availability by adding redundant links and switches.

The implementation of the switch is shown in Figure 3. Logically, the switch constitutes a non-blocking crossbar switch with output buffering while its implementation uses a shared memory switch. Four ports are provided, each of which connects to a 265.625 Mbit/s full-duplex serial link. The physical layer of the links is compatible with the FibreChannel standard. Links use shielded twisted-pair wiring and can span distances of up to 50 m. Taking the overhead of the physical layer's 8B/10B encoding into account a 4 by 4 switch offers an aggregate bandwidth of 0.85 Gbit/s.

Figure 3: A 0.85 Gbit/s Switcherland Switch

Quality of Service

Switcherland provides real-time guarantees similar to the quality of service guarantees provided by ATM networks. However, Switcherland offers these guarantees not only at the network level but for all communication, that is, when transferring data within a workstation as well as between workstations. These guarantees refer to timing specifications in the form of bounded delivery times which are, for example, needed to periodically transmit video frames or audio samples. Without such guarantees, data is delivered with high delay jitter causing video and audio data to be reproduced with visible and audible distortion.

Global Memory

Switcherland implements a single global address space for all memory and memory mapped devices of an entire system. This means that local communication within a workstation and remote communication within a cluster of workstations translate to load and store operations. These operations are applied to a distributed memory, which resides in a single address space. With it, the mechanisms to access local and remote memory are the same giving the programmer a uniform model for inter- and intra-workstation communication. Of course, the latency differs with local accesses taking a fraction of the time needed to access remote memory.

Applications

Switcherland is an attractive platform for high-performance multimedia applications that process large amounts of video and audio data. Thanks to its scalable architecture it is capable of processing an arbitrary number of audio or video streams in parallel. Examples of possible applications are processing of complex or high-quality audio signals, large screen displays, video servers and virtual reality.

(he, August 18, 1997)


[ ETH Zurich | Department | Institute ]

ETH Zürich: Department of Computer Science
Comments to Peter Ryser <ryser@inf.ethz.ch
July 22, 1999