This book provides a comprehensive study of scalable and parallel computer architectures
for achieving a proportional increase in performance with increasing system
resources. System resources are scaled by the number of processors used, the memory
capacity enlarged, the access latency tolerated, the I/O bandwidth required, the
performance level desired, etc.
Scalable architectures delivering a sustained performance are desired in both sequential
and parallel computers. Parallel architecture has a higher potential to deliver
scalable performance. The scalability varies with different architecfcure-algorithm combinations.
Both hardware and software issttes need to be studied in building scalable
It is my intent to put the reader in a position to design scalable computer systems.
Scalability is defined in a broader sense to reflect the interplay among architectures,
algorithms, software, and environments. The integration between hardware and software
is emphasized for building cost-effective computers.
We should explore cutting-edge technologies in scalable parallel computing. Systems
architecture is thus studied with generality, scalability, programmability, and performability
Since high technology changes so rapidly, I have presented the material in a generic
manner, unbiased toward particular machine implementations. Representative processors
and systems are presented only if they contain important features which may last
into the future.
Every author faces the same dilemma in writing a technology-dependent book which
may become obsolete quickly. To cope with the problem, frequent updates with newer
editions become a necessity, and I plan to make revisions every few years in the future.