Scalability and Its Application to Multicube - Goodman, James R; Hill, Mark D; Woest, Philip J (University of Wisconsin-Madison Department of Computer Sciences, 1989)
In parallel processing, scalability is an important issue for both applications and systems, with scaling arguments being presented for most large-scale multiprocessors. Even with such widespread interest, the notion of what constitutes a scalable multiprocessor ambiguous. In this paper we first present a realistic, quantitative definition of scalability based on a multiprocessor?s ability to execute a problem in roughly constant time, given that the number of processors scale in proportion to the complexity of the problem. We then use the definition to demonstrate that the Multicube architecture is scalable by showing that (1) sufficient bus bandwidth is provided to support scalable applications, and 2) broadcast invalidations and non-uniform memory accesses are handled efficiently. We discuss, for example, how the propagation of broadcast invalidations may be limited by the use of special pruning caches, and how Multicube?s cache coherency hardware and synchronization primitives can be used to limit the degradation from non-uniform memory access patterns.