1 / 9

Performance Metrics

Performance Metrics. Parallel Computing - Theory and Practice (2/e) Section 3.6 Michael J. Quinn mcGraw-Hill, Inc., 1994. Performance Metrics. Speedup = (Time on 1 CPU) / (Time on p CPUs) Efficiency = speedup / p What do we compare against? parallel program on 1 CPU?

tsapp
Télécharger la présentation

Performance Metrics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Performance Metrics Parallel Computing - Theory and Practice (2/e) Section 3.6 Michael J. Quinn mcGraw-Hill, Inc., 1994

  2. Performance Metrics Speedup = (Time on 1 CPU) / (Time on p CPUs) Efficiency = speedup / p What do we compare against? parallel program on 1 CPU? equivalent sequential program? best sequential program?

  3. Example: sorting • Suppose a parallel bubble sort program obtains 100% efficiency • Efficiency relative to quicksort:

  4. How to Cheat with Speedups… Without hardware floating point support Sequential program: 400 sec Parallel program on 10 CPUs: computation: 40 sec communication: 10 sec Speedup = 400 / (40 + 10) = 8 Program with hardware floating point support Sequential program: 100 sec Parallel program on 10 CPUs: computation: 10 sec communication: 10 sec Speedup = 100 / (10 + 10) = 5

  5. Can Speedup be Super linear? Super linear speedup: speedup > p Negative search overhead (for search problems) Applies to certain input problems, not to average case Sequential program could simulate parallel program to get same behavior Better caching behavior on parallel systems

  6. Amdahl's Law Let f = fraction of code that must be performed sequentially Speedup = T(1) / T(p) ≤ T / (f + (1-f)/p) * T ) = 1 /(f +(1-f) /p) < 1/f Example f = 10% => speedup ≤ 10 , even if p is infinite ! So much for parallel computing ?? 1-f f

  7. Amdahl's Law - the True Story In practice, f depends on the problem size Goal of parallel computing is to solve large problems fast If problem size increases, maximum speedup increases

  8. How to Measure Performance Use wall clock time int start, stop; start = get_time(); do computations ... stop = get_time(); print(stop-start); Exclude initialization Measures I/O performance Avoid debugging statements

  9. Performance Debugging Try to understand performance behavior Just attributing poor performance to 'communication overhead' is unacceptable Determine where the time is spent Measure number of messages per second, data volume per second, idle time

More Related