home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / benchmar / 1750 < prev    next >
Encoding:
Text File  |  1992-11-19  |  7.3 KB  |  185 lines

  1. Newsgroups: comp.benchmarks
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!saimiri.primate.wisc.edu!ames!data.nas.nasa.gov!amelia.nas.nasa.gov!eugene
  3. From: eugene@amelia.nas.nasa.gov (Eugene N. Miya)
  4. Subject: [l/m 3/17/92] "Equivalence"        (20/28) c.be FAQ
  5. Keywords: who, what, where, when, why, how
  6. Sender: news@nas.nasa.gov (News Administrator)
  7. Organization: NAS Program, NASA Ames Research Center, Moffett Field, CA
  8. Date: Fri, 20 Nov 92 12:25:11 GMT
  9. Message-ID: <1992Nov20.122511.2378@nas.nasa.gov>
  10. Reply-To: eugene@amelia.nas.nasa.gov (Eugene N. Miya)
  11. Lines: 172
  12.  
  13. 20    "Equivalence"                        <This panel>
  14. 21    TPC
  15. 22
  16. 23
  17. 24
  18. 25    Ridiculously short benchmarks
  19. 26    Other miscellaneous benchmarks
  20. 27
  21. 28    References
  22. 1    Introduction to FAQ chain and netiquette
  23. 2
  24. 3    PERFECT
  25. 4
  26. 5    Performance Metrics
  27. 6    Temporary scaffold of New FAQ material
  28. 7    Music to benchmark by
  29. 8    Benchmark types
  30. 9    Linpack
  31. 10
  32. 11    NIST source and .orgs
  33. 12    Benchmark Environments
  34. 13    SLALOM
  35. 14
  36. 15    12 Ways to Fool the Masses with Benchmarks
  37. 16    SPEC
  38. 17    Benchmark invalidation methods
  39. 18
  40. 19    WPI Benchmark
  41.  
  42. A state of equilibrium is likely to be symmetric.
  43.     --Hermann Weyl
  44.  
  45. Understanding equivalence is necessary for comparison.
  46. It is among the least understood and researched portions of benchmarking
  47. theory.  It is one reason why benchmarking is an art rather than a science.
  48. Few have time to think about.  Few wish to get into its complications.
  49. Most fear to trend into this can of worms because of the economic and
  50. political fall out.  As such, it is one of the "gotchas" of benchmarking.
  51. Benchmarking will not proceed without.
  52.  
  53. Equivalence is not the same for the numerical analyst as it is for the
  54. hardware engineer or the end user.
  55. When we understand equivalence, we can begin making transformations.
  56. We can substitute and composite.  We might even be able to predict.
  57. The last thing that you should believe is the statement:
  58.     You are comparing apples versus oranges.
  59. The biologists did and they came up with DNA.
  60.  
  61. Only the numerical analyst really appreciates the difference between
  62. a 32-machine and a 36-bit machine these days (with some few odd
  63. architectures around these days).  You can tell the difference between
  64. programmers by asking "How many bits are in "SINGLE PRECISION" floating point?"
  65. To say nothing of past 48, 60 and 33 bit architectures.
  66.  
  67. Types (Levels?) of Equivalence
  68.  
  69. Equivalent at the bit-level.
  70.     Equivalent at the [byte|word]-level.
  71. Computing differs from mathematics because, machine arithmetic lacks the
  72. associatively of mathematics:
  73.     (a+b)+c != a+(b+c)
  74. The mathematician is incensed.  The naive student does not understand what
  75. all the fuss is about, and the numerical analyst lives with it.
  76.  
  77. Equivalent at the functional-level
  78. The results are the same (the time or storage might differ).
  79. Do not become fixated by time.  Computing is a time-space problem.
  80.  
  81. The naive also believe that operations or instructions execute in a
  82. single clock-cycle.
  83. And in fact, you will find architectures which can perform one 4x4 matrix
  84. multiply in one cycle.
  85.  
  86. Temporal equivalence
  87. Parallelism clouds the mind of many.
  88. The search for ever faster computing causes some to ignore the different
  89. kinds of parallelism.
  90. Parallelism is a geometric concept which has properties that time does not.
  91. This is because time is irreversible, and because time flows it is the
  92. source of many problems.
  93. This is the source of Fred Brook's Mythical Man-Month: that we want to believe
  94. that we can exchange effort and progress.  Why paraphase, just quote:
  95.  
  96.     Our estimating techniques fallaciously confuse effort with progress
  97.     (hiding the assumption of interchangeability).
  98.  
  99.     The bearing of a child take nine months,
  100.     no matter how many women are assigned.
  101.  
  102.     Our techniques of estimating are poorly developed.  More seriously,
  103.     they reflect an unvoices assumption which is quite untrue,
  104.     i.e., that all will go well.
  105.  
  106.     Een schip op het strand is een baken in zee.
  107.     [A ship on the beach is a lighthouse to the sea.]
  108.                 --Dutch proverb quoted in Brooks
  109.  
  110.     None love the bearer of bad news.       --Sophocles
  111.  
  112.     Experience is a dear teacher, but fools will learn at no other.
  113.                 --Poor Richard's Almanac
  114.                 Chapter 8, "Calling the Shot."
  115.     Plan to throw one away.
  116.  
  117.     How does a project get to be a year late? ... One day at a time.
  118.  
  119. Similarly, benchmarking has been creating its Mythical MIP and MegaFLOP
  120. comparisons for years.  This was okay of the uniprocessor architectures of the
  121. past.  It is a fatal mistake for the parallel architectures of the future.
  122.  
  123. Symmetry is a nice artifact.
  124. It makes some of the elegance in understanding .
  125. This is why FORTRAN to C translators should be regarded as suspect.
  126.  
  127. Semantically, the usage of arrays and nested loops in FORTRAN are
  128. not necessarily equivalent in C.  Orthogonality conflicts between
  129. the FORTRAN column-major ordered arrays versus C row-major ordering
  130. would cause programmers to code loop order in differently.
  131. The programming language designer is aware of this.
  132. This is particularly critical for vector loops and for architectures
  133. with certain types of interleaved memories (e.g., stride problems).
  134. Nested loops (overloaded parallelism) are a confusing problem.
  135. One solution is loop interchange, but this does not always work.
  136. The naive C student systems programmer unfamiliar with FORTRAN
  137. does not understand this.  This is especially dangerous because of long-terms
  138. effects: some company is going to hire that programmer down the road.
  139. And to managers unable to tell the difference between a systems programmer
  140. and applications programmer: we leave that for you to figure out the
  141. implications.
  142.  
  143. The danger was that one programmer assumed the equivalence of
  144. some state or operation, some statement or some procdure.
  145. Unfortunately, at this time, the only way to verify equivalnce is testing.
  146.  
  147. Low-level optimizations should not endanger comparisons,
  148. but an optimized program which functionally equivalant to
  149. the end-user and compiler writer may not be equivalent to the benchmarker.
  150. The benchmarker sometimes needs to know the exact instructions run.
  151. This is where one resorts to analyzing non-portable assembly language
  152. and thus the generality of an observation is lost.
  153. Can you see this is where substitution plays one role?
  154.  
  155. A necessary but not sufficient condition is to take more information at
  156. the "lower-levels" and raise it to higher levels.  Benchmarks require
  157. increasing awareness of things like operation counts, statement counts,
  158. and their "exchange rates" to form an awareness at the higher level.
  159.  
  160. Hopefully you can see now why we want equivalence, substitution,
  161. and composition.
  162. Yes we are going to have to deal with congruence (equivalance) classes,
  163. similarity in the mathematical sense, measure theory, and
  164. other theory topics.  Some day.
  165.  
  166. SO the next time someone asks you to compare machines or the relation
  167. between LINPACK numbers and SPEC number.  Pause and think a moment.
  168. If none love the bearer of bad news, and if we learn best by our mistakes,
  169. then how are we expected to learn?
  170.  
  171.                    ^ A  
  172.                 s / \ r                
  173.                m /   \ c              
  174.               h /     \ h            
  175.              t /       \ i          
  176.             i /         \ t        
  177.            r /           \ e      
  178.           o /             \ c    
  179.          g /               \ t  
  180.         l /                 \ u
  181.        A /                   \ r
  182.         <_____________________> e   
  183.                 Language
  184.  
  185.