Mark D. Hill and
Ravi Rajwar
Computer Sciences Department
Filed at http://www.cs.wisc.edu/~markhill/mp2001.html
29 March 2001
University of Wisconsin-Madison
{markhill,rajwar}@cs.wisc.edu
Several researchers have anecdotally noted that the number of multiprocessor papers appears to be in decline (despite industry's continued interest in the subject).
To examine this hypothesis we placed papers from the first 28 ISCA (1973-2001) into categories. Any selection of and assignment to categories is somewhat subjective and error-prone. We attempted to be generous to the multiprocessor category. For ISCA 2001, for example, we included a paper on compiler/verification techniques (A Simple Method for Automatically Extracting Formal Specifications from FLASH Cache Coherence Protocol Code) and another on a parallel implementation of the sequential programming model (Removing Architectural Bottlenecks to the Scalability of Speculative Parallelization). Additional categories were dataflow, fault tolerance, interconnection networks, and other.
Below we present ISCA multiprocessor paper data in histogram form and then give tabular data for all categories. We find that:
As a research community, we should reflect on whether such trends are deliberate and appropriate or the result of unintended consequences. Several researchers predict an inflection point in multiprocessing due to the the ubiquitous parallelism offered by multithreading and chip multiprocessing. Perhaps we need to expand the normal science needed to accelerate this inflection point [c.f., Thomas S. Kuhn, The Structure of Scientific Revolutions, University of Chicago Press, Chicago, 1962].
[Addendum by Mark Hill, 02/01/2002: For more statistics, please see http://www.usc.edu/dept/ceng/pinkston/presentations/statistics.html.]
Total MP ISCA# Year Papers Papers Histogram 1 1973 28 5 (17%) ***** 2 1974 38 2 ( 5%) ** - 1975 -- No ISCA -- 3 1976 40 8 (20%) ******** 4 1977 27 10 (37%) ********** 5 1978 38 7 (18%) ******* 6 1979 27 6 (22%) ****** 7 1980 40 11 (28%) *********** 8 1981 41 15 (37%) *************** 9 1982 35 9 (26%) ********* 10 1983 54 19 (35%) ******************* 11 1984 46 16 (35%) **************** 12 1985 51 25 (49%) ************************* 13 1986 50 19 (38%) ******************* 14 1987 35 10 (29%) ********** 15 1988 50 21 (42%) ********************* 16 1989 46 14 (30%) ************** 17 1990 34 15 (44%) *************** 18 1991 38 12 (32%) ************ 19 1992 39 14 (36%) ************** 20 1993 32 15 (47%) *************** 21 1994 34 12 (35%) ************ 22 1995 37 13 (35%) ************* 23 1996 28 11 (39%) *********** 24 1997 30 8 (27%) ******** 25 1998 33 7 (21%) ******* 26 1999 26 5 (19%) ***** 27 2000 29 3 (10%) *** 28 2001 24 2 ( 8%) **
Categories: There are roughly 5 categories: 1. Others: everything not in the remaining categories. Also included in this category are uniprocessor memory systems, I/O and disk subsystems, programming languages, and special/general purpose uniprocessor architectures (eg. superscalar, multiscalar, and SMT processors). 2. Multiprocessors (MP): anything to do with multiple processors and a shared-memory, message passing or some other parallel programming model. Thus array processors and such also find themselves in this category. We have also counted the 2000 and 2001 papers on "speculative parallelization of sequential code and running it on a shared-memory system" in this category, although strictly speaking they should be in the "Others" category similar to the Multiscalar and other such paradigms. 3. Dataflow 4. Fault tolerance (Fault Tol.) 5. Interconnection networks (ICN) Total Others Multi. Data Fault ICN Proc Flow Tol. ISCA01:1973 28 18 (63%) 5 (17%) 0 4 1 ISCA02:1974 38 35 (92%) 2 ( 5%) 1 0 0 ISCA03:1976 40 28 (70%) 8 (20%) 1 0 3 ISCA04:1977 27 15 (56%) 10 (37%) 0 0 2 ISCA05:1978 38 24 (63%) 7 (18%) 1 4 2 ISCA06:1979 27 14 (52%) 6 (22%) 0 1 6 ISCA07:1980 40 20 (50%) 11 (28%) 1 3 5 ISCA08:1981 41 16 (39%) 15 (37%) 3 1 6 ISCA09:1982 35 14 (40%) 9 (26%) 2 3 7 ISCA10:1983 54 20 (37%) 19 (35%) 8 4 3 ISCA11:1984 46 19 (41%) 16 (35%) 1 6 4 ISCA12:1985 51 17 (33%) 25 (49%) 3 2 4 ISCA13:1986 50 23 (46%) 19 (38%) 5 1 2 ISCA14:1987 35 19 (54%) 10 (29%) 3 0 3 ISCA15:1988 50 20 (40%) 21 (42%) 2 2 5 ISCA16:1989 46 22 (48%) 14 (30%) 5 0 5 ISCA17:1990 34 16 (47%) 15 (44%) 1 0 2 ISCA18:1991 38 22 (58%) 12 (32%) 1 0 3 ISCA19:1992 39 19 (49%) 14 (36%) 2 0 4 ISCA20:1993 32 14 (47%) 15 (47%) 0 2 1 ISCA21:1994 34 17 (50%) 12 (35%) 0 4 1 ISCA22:1995 37 17 (46%) 13 (35%) 2 2 3 ISCA23:1996 28 15 (54%) 11 (39%) 0 0 2 ISCA24:1997 30 18 (60%) 8 (27%) 0 1 3 ISCA25:1998 33 25 (76%) 7 (21%) 0 0 1 ISCA26:1999 26 20 (77%) 5 (19%) 0 0 1 ISCA27:2000 29 25 (86%) 3 (10%) 0 1 0 ISCA28:2001 24 21 (88%) 2 ( 8%) 0 0 1 ---- --- --- --- --- --- 1030 553 (54%) 314 (30%) 42 41 80