Scalability and Its Application to Multicube
James R Goodman, Mark D Hill and Philip J Woest
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.
Download this report (PDF)
Return to tech report index