Course: CS110
Name: Josh Smallman
Abstract Due Date: 11-10-99
Date: 11-10-99
Article Title: Simultaneous Multithreading: Maximizing On-Chip Parallelism
Journal Ref: ISCA-22, 1995, pp. 533-544
Formatter: html

The paper, by Dean M. Tullsen, Susan J. Eggers, and Henry M. Levy, from the department of Computer Science and Engineering at the University of Washington, was written about simultaneous multithreading.

This is a technique permitting multiple independent threads to send instructions to a "superscalar's multiple functional units in a single cycle." The examined several models of this technique and compared them with alternative methods. Amoung the methods examined are a wide superscalar, a fine-grain multi-threaded processor, and single-chip, multiple-issue multiprocessing architectures.

They show that these two techniques (fine-grain multithreaded, and single-threaded superscalar architectures) are limited in their ability to actually use the resources available with a wide-issue processor.

According to the authors, simultaneous multithreading has the capability to achieve a four-fold increase in throughput of a superscalar, and a two-fold increase over a fine-grain multi-threaded system.

They conclude that simultaneous multithreading is a good option, with benefits over single-chip multiprocessors, since "simultaneous multithreaded processors with a variety of organizations outperform corresponding conventional multiprocessors with a similar execution resourses."

Of course, while simultaneous multithreading seems like a great solution, the complexities inherent in it's design can add some serious issues when it comes to implementation. The authors discussed some of these issues, but conclude with the idea that "when component densities permit us to put multiple hardware contexts and whide issue bandwidth on a single chip, simultaneous multithreading represents the most efficient organization of those resources.

All in all, the authors of the article effectively examine the problems inherent in simultaneous multithreading, and offer solutions on how to overcome those problems. At parts the article gets a tad dense, but only when it is necessary in order to effectively describe the situation.