Article View: comp.arch
Article #10737Re: Superscalar vs. multiple CPUs ?
From: Robert Wilson
Date: Mon, 21 Dec 1992 17:37
Date: Mon, 21 Dec 1992 17:37
48 lines
2768 bytes
2768 bytes
In article <lj976dINNg4d@exodus.Eng.Sun.COM> grover@brahmand.Eng.Sun.COM (Vinod Grover) writes: > I suggest you read the Butler et. al. paper cited [1] earlier by someone > in this thread. These authors claim that on an unrestricted data flow > machine, *general purpose* codes like gcc, li, eqntott, (taken from > SPEC89) have pretty high degree of parallelisms in them. Measured in > terms of IPC: > > gcc - 38 > espresso - 179 > eqntott - 300 > li - 162 > > Judging from these claims, the issue is not how much parallelism there > is but how cost-effective is it to extract it. As CPU resources > approach realistic values the sustainable issue rates on these codes > fall dramatically, (2-4). These are limits imposed by the > hardware/compilers. > > [1] Butler, Yeh, Patt, Alsup, Scales, Shebanow, "Single Instruction > Stream Parallelism is Greater than Two", Intnl. Symp. on Comp. Arch > 1991. Unfortunately, the limited degree of parallelism in general-purpose codes is NOT just due to the current state of hardware and compilers. The study by Butler et al. contains some interesting results and is definitely worth reading but don't put too much weight on the numbers for the Unrestricted Dataflow (UDF) Machine. This machine only considers data dependences. In the programs mentioned above, however, most of the computation centers around executing branches, so the limiting factor is not just WHEN can the instructions execute, but also WHICH instructions will be executed. The UDF machine completely ignores these control dependences which are an inherent part of the program semantics and not just a side effect of limited hardware and compilers. There are, of course, some things we can do to try to mitigate the effects of control dependences. Branch prediction with speculative execution, control dependence analysis, and multiple processors are three things that we have found so far [2]. As new techniques are developed, we can certainly expect to extract more parallelism from general-purpose codes, but for now, I think 2 - 4 is a reasonable estimate for the IPC of a uniprocessor. Bob Wilson bwilson@shasta.stanford.edu [2] Monica Lam and Robert Wilson, "Limits of Control Flow on Parallelism", 19th Intnl. Symp. on Comp. Arch, 1992.
Technical Details
Message-ID:
<1992Dec21.173732.14154@leland.Stanford.EDU>Path:
arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!nntp.Stanford.EDU!bwilsonReferences:
<lj976dINNg4d@exodus.Eng.Sun.COM>Show Full Headers
Complete Article Headers
Newsgroups: comp.arch Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!nntp.Stanford.EDU!bwilson From: bwilson@leland.Stanford.EDU (Robert Wilson) Subject: Re: Superscalar vs. multiple CPUs ? Message-ID: <1992Dec21.173732.14154@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (USENET News System) Organization: DSG, Stanford University, CA 94305, USA References: <lj976dINNg4d@exodus.Eng.Sun.COM> Date: Mon, 21 Dec 92 17:37:32 GMT Lines: 49