Paper review:
This old research report, brought into light the different limitations
that exist in improving the performance of applications by instruction
level parallelism. It explains techniques such as register renaming,
alias analysis, branch prediction, etc and then shows how each of
these techniques are limited in the amount of improvements they can
provide.
Strengths:
-Detailed description of the common techniques used to increase ILP
-Statistics showing the effect each of these techniques has on
increasing the level of parallelism
-The limits of each of the techniques from a practical as well as
mathematical point of view
Weaknesses:
-Although each of the techniques are well studied individually, little
effort is made in showing how all of them will perform when deployed
together or if using a combination of them may have side effects in
the level of parallelism. I can't see the seven models they propose
(page 19) as a valid study in the effect these techniques have on each
other, since they are predefining the efficiency of them when used
together without a scientific basis.
-The models they describe are incredibly optimistic however that is
perhaps a necessity when writing futuristic papers.