Abstract
Modern computer systems have a recursive structure of processing and storage elements that are interconnected to make larger elements:
-
Functional units connected to registers and on-chip cache.
-
Multiple processors and caches connected to main memories.
-
Computing nodes connected by a message-passing local area network.
-
Local area networks bridged to form an extended LAN.
-
Networks connected in a wide-area internet.
-
All the computers in the world exchanging electronic mail.
Above the lowest level of transistors and gates, the essential character of these connections changes surprisingly little over about nine orders of magnitude in time and space. Connections are made up of nodes and links; their important properties are band width, latency, connectivity, availability, and cost. Switching is the basic mechanism for connecting lots of things. There are many ways to implement it, all based on multiplexing and demultiplexing. This paper describes some of them and gives many examples. It also considers the interactions among the different levels of complex systems.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
R. Barton: A new approach to the functional design of a digital computer. Proc. Western Joint Computer Conference (1961)
A. Birrell and B. Nelson: Implementing remote procedure calls. ACM Transactions on Computer Systems 2, 39–59 (1984)
D. Culler et al.: Fine-grain parallelism with minimal hardware support: A compiler-controlled threaded abstract machine. 4th ACM Conference on Architectural Support for Programming Languages and Operating Systems, 164–175 (1991)
W. Dally: A universal parallel computer architecture. New Generation Computing 11, 227–249 (1993)
P. Green: The future of fiber-optic computer networks. IEEE Computer 24, 78–87 (1991)
J. Hennessy and N. Jouppi: Computer technology and architecture: An evolving interaction. IEEE Computer 24, 18–29 (1991)
C. Hoare: Communicating sequential processes. Communications of the ACM 21, 666–677 (1978)
V. Jacobsen: Congestion avoidance and control. ACM SigComm Conference, 1988, 314–329
L. Lamport: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Computers C-28, 241–248 (1979)
B. Lampson: Reliable messages and connection establishment. In S. Mullender (ed.) Distributed Systems, Addison-Wesley, 1993, 251–282
D. Lenkosi et al.: The Stanford Dash multiprocessor. IEEE Computer 25, 63–79 (1992)
K. Li and P. Hudak: Memory coherence in shared virtual memory systems. ACM Transactions on Computer Systems 7, 321–359 (1989)
C. Mead and L. Conway: Introduction to VLSI Systems. Addison-Wesley, 1980
R. Metcalfe and D. Boggs: Ethernet: Distributed packet switching for local computer networks. Communications of the ACM 19, 395–404 (1976)
L. Ni and P. McKinley: A survey of wormhole routing techniques in direct networks. IEEE Computer 26, 62–76 (1993)
R. Pike et al.: The use of name spaces in Plan 9. ACM Operating Systems Review 27, 72–76 (1993)
R. Rettberg et al.: The Monarch parallel processor hardware design. IEEE Computer 23, 18–30 (1990)
F. Ross: An overview of FDDI: The fiber distributed data interface. IEEE Journal on Selected Areas in Communication 7 (1989)
J. Saltzer, D. Reed, and D. Clark: End-to-end arguments in system design. ACM Transactions on Computer Systems 2, 277–288 (1984)
M. Satyanarayanan: Distributed file systems. In S. Mullender (ed.) Distributed Systems, Addison-Wesley, 1993, 353–384
M. Schroeder and M. Burrows: Performance of Firefly RPC. ACM Transactions on Computer Systems 8, 1–17 (1990)
M. Schroeder et al.: Autonet: A high-speed, self-configuring local area network using point-to-point links. IEEE Journal on Selected Areas in Communication 9, 1318–1335 (1991)
C. Seitz: The cosmic cube. Communications of the ACM 28, 22–33 (1985)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lampson, B.W. (1994). Interconnecting computers: Architecture, technology, and economics. In: Gutknecht, J. (eds) Programming Languages and System Architectures. Lecture Notes in Computer Science, vol 782. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57840-4_21
Download citation
DOI: https://doi.org/10.1007/3-540-57840-4_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57840-6
Online ISBN: 978-3-540-48356-4
eBook Packages: Springer Book Archive