Multithreaded computer architecture has emerged as one of the most
promising and exciting avenues for the exploitation of parallelism. This
new field represents the confluence of several independent research
directions which have united over a common set of issues and techniques.
Multithreading draws on recent advances in dataflow, RISC, compiling for
fine-grained parallel execution, and dynamic resource management. It
offers the hope of dramatic performance increases through parallel
execution for a broad spectrum of significant applications based on
extensions to `traditional' approaches.
Multithreaded Computer Architecture is divided into four parts,
reflecting four major perspectives on the topic. Part I provides the
reader with basic background information, definitions, and surveys of
work which have in one way or another been pivotal in defining and
shaping multithreading as an architectural discipline. Part II examines
key elements of multithreading, highlighting the fundamental nature of
latency and synchronization. This section presents clever techniques for
hiding latency and supporting large synchronization name spaces. Part
III looks at three major multithreaded systems, considering issues of
machine organization and compilation strategy. Part IV concludes the
volume with an analysis of multithreaded architectures, showcasing
methodologies and actual measurements.
Multithreaded Computer Architecture: A Summary of the State of the Art
is an excellent reference source and may be used as a text for advanced
courses on the subject.