IEEE Transactions on Computers · 1994 · 50 citations · 34 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureSchedulingConcurrency AnalysisInstruction SchedulingInstruction-level ParallelismParallel ArchitecturesSpeculative ExecutionSuperscalar ProcessingInstruction WindowMicroarchitectural Timing AnalysisPerformance Bottleneck DetectionScopeSpeculative Execution EffectsSuperscalar MicroarchitectureThroughputTrace Scheduling
Detecting independent operations is a prime objective for computers that are capable of issuing and executing multiple operations simultaneously. The number of instructions that are simultaneously examined for detecting those that are independent is the scope of concurrency detection. The authors present an analytical model for predicting the performance impact of varying the scope of concurrency detection as a function of available resources, such as number of pipelines in a superscalar architecture. The model developed can show where a performance bottleneck might be: insufficient resources to exploit discovered parallelism, insufficient instruction stream parallelism, or insufficient scope of concurrency detection. The cost associated with speculative execution is examined via a set of probability distributions that characterize the inherent parallelism in the instruction stream. These results were derived using traces from a Multiflow TRACE SCHEDULING compacting FORTRAN 77 and C compilers. The experiments provide misprediction delay estimates for 11 common application-level benchmarks under scope constraints, assuming speculative, out-of-order execution and run time scheduling. The throughput prediction of the analytical model is shown to be close to the measured static throughput of the compiler output.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
34
Monica S. Lam · ACM SIGPLAN Notices · 2004 · 890 citations
Limits of instruction-level parallelism
David W. Wall · 1991 · 631 citations