adaptive software speculation
play

Adaptive Software Speculation for Enhancing the Cost-Efficiency of - PowerPoint PPT Presentation

Adaptive Software Speculation for Enhancing the Cost-Efficiency of Behavior-Oriented Parallelization Yunlian Jiang Xipeng Shen The College of William and Mary High-level Parallelism Parallel computing is becoming ubiquitous High-level


  1. Adaptive Software Speculation for Enhancing the Cost-Efficiency of Behavior-Oriented Parallelization Yunlian Jiang Xipeng Shen The College of William and Mary

  2. High-level Parallelism  Parallel computing is becoming ubiquitous  High-level parallelism exists in many programs  E.g. utilities, interpreters, scientific computations  Difficult to parallelize Complexity in the code Uncertain parallelism Bit-level operations, Example*: unrestricted pointers, while ( s=nextSentence() ) exception handling, { parse(s); custom mem. management, if ( isCommand(s) ) third-party libraries updateParsingEnv(s); 2 }

  3. Software Behavior-Oriented Parallelization [Ding+:PLDI07]  Speculatively execute programs in parallel  Efficiently detect dependence during runtime  But, blind speculation causes cost-inefficiency. 3

  4. Cost and Speedup 3 Cost SpeedUp 2 1 0 1 0.9 0.42 0.12 Speculation Success Rate 4

  5. Cost and Speedup Cost 2 SpeedUp 1.5 1 0.5 0 1 0.9 0.42 0.12 Speculation Success Rate 5

  6. Outline  Introduction to BOP  Adaptive BOP  Experimental Result  Conclusion 6

  7. Outline  Introduction to BOP  Adaptive BOP  Experimental Result  Conclusion 7

  8. Behavior-Oriented Parallelization (BOP)  A tool for parallelizing sequential programs  Need no parallel programming or debugging  Basic scheme: software speculation  Correctness protected through runtime system 8

  9. Basic Scheme of BOP Parser Ctrl . . . . . . While ( S = ReadSentence()) { Main BeginPPR(); Possibly Parallel Parse( S ); Re Region ( (PPR) PPR) EndPPR(); Spec } . . . . . . Two reason for failed speculation: 1. Dependence violation 2. Spec runs too slow 9

  10. Problem to tackle  Cost inefficiency  BOP blindly speculates every PPR instance  Failed speculation may  Cause slowdown to applications Protection overhead  Resource (cache, bus) contention   Waste computing resources CPU --- multi-programming environment  Power --- Mobile computing  10

  11. Outline  Introduction to BOP  Adaptive BOP  Experimental Result  Conclusion 11

  12. Solution: Adaptive Speculation  Basic strategy  Predict profitability of PPR  Speculate only likely profitable ones  Prediction approaches  Extended last-value-based  Decayed-history-based 12

  13. Extended last-value-based prediction  Speculate or not?  Speculate only if PPRsToSkip == 0.  Adjust PPRsToSkip  If this PPR is not speculated  PPRsToSkip - -  On a failed speculation  PPRsToSkip = NextPenalty;  NextPenalty *= α ; (increase penalty exponentially)  On a successful speculation  NextPenalty = 1; (reset the penalty on the next failure) 13

  14. Extended last-value-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | Speculation! Success NextPenalty = 1 •PPRsToSkip=0 •NextPenalty=1 • α =2 14

  15. Extended last-value-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | Speculation! Failed PPRsToSkip = 1 NextPenalty = 2 •PPRsToSkip=0 •NextPenalty=1 • α =2 15

  16. Extended last-value-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | No Speculation! PPRsToSkip = 0 •PPRsToSkip=1 •NextPenalty=2 • α =2 16

  17. Extended last-value-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | Speculation! Failed PPRsToSkip = 2 NextPenalty = 4 •PPRsToSkip=0 •NextPenalty=2 • α =2 17

  18. Extended last-value-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | No Speculation! PPRsToSkip = 1 •PPRsToSkip=2 •NextPenalty=4 • α =2 18

  19. Extended last-value-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | No Speculation! PPRsToSkip = 0 •PPRsToSkip=1 •NextPenalty=4 • α =2 19

  20. Extended last-value-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | Speculation! Success NextPenalty = 1 •PPRsToSkip=0 •NextPenalty=4 • α =2 20

  21. Extended last-value-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | ... Speculation! Success NextPenalty = 1 •PPRsToSkip=0 •NextPenalty=1 • α =2 21

  22. Extended last-value-based prediction  Limitations  Can not keep history well  Successful speculation  clean history  Phase changes ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 22

  23. Decayed-history-based prediction  Cumulative gain ( CG ) 1 : success  cg = γ*g + (1 - γ) * cg g= 0: failed  Expected Profitability ( EP )  EP = cg + SkippedPPRs * β  Speculate only if EP > TH EP * TH EP : threshold of speculation; * SkippedPPRs: reset to 0 on a success increase by 1 on a non-speculated PPR 23

  24. Decayed-history-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | •TH EP =0.6 Speculation! • β=0.2 Success • γ = 0.5 cg = 1 EP = 1 •SkippedPPRs=0 •cg=1 •EP =1 24

  25. Decayed-history-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | Speculation! •TH EP =0.6 Failed • β=0.2 cg = 0.5 • γ = 0.5 EP = 0.5 •SkippedPPRs=0 •cg=1 •EP =1 25

  26. Decayed-history-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | •TH EP =0.6 No Speculation! • β=0.2 SkippedPPRs=1 • γ = 0.5 EP = 0.7 •SkippedPPRs=0 •cg=0.5 •EP =0.5 26

  27. Decayed-history-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | Speculation! •TH EP =0.6 Success • β=0.2 SkippedPPRs=0 • γ = 0.5 cg = 0.8 •SkippedPPRs=1 EP = 0.8 •cg=0.6 •EP =0.7 27

  28. Decayed-history-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | •TH EP =0.6 Speculation! • β=0.2 Failed cg = 0.4 • γ = 0.5 EP = 0.4 •SkippedPPRs=0 •cg=0.8 •EP =0.8 28

  29. Decayed-history-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | •TH EP =0.6 No Speculation! • β=0.2 SkippedPPRs = 1 • γ = 0.5 EP = 0.6 •SkippedPPRs=0 •cg=0.4 •EP =0.4 29

  30. Decayed-history-based prediction | : Profitable PPR | : Unprofitable PPR  | | | | | | | | | | | | | | | | | | ... •TH EP =0.6 Speculation! • β=0.2 Success SkippedPPRs = 0 • γ = 0.5 EP = 0.7 •SkippedPPRs=1 •cg=0.4 •EP =0.6 30

  31. Outline  Introduction  Adaptive-Algorithms  Experimental Result  Conclusion 31

  32. Experimental Result  Prediction Accuracy  Choose the best parameters for the algorithms  Evaluate two algorithms  Computation Efficiency  Finishing time  Time spent on all CPUs (Cost) 32

  33. Accuracy for Last-value-based  Adjust non-speculate numbers  Non-speculation  PPRsToSkip -1  Success Speculation  NextPenalty= 1  Failed Speculation  PPRsToSkip = NextPenalty  NextPenalty *= α 33

  34. Accuracy for Last-value-based α =1.4 Accuracy=81.6 34

  35. Accuracy for Decayed history based  G_TH : gain threshold  Current state weight  gain+ quota* β  Non-speculative execution  quota++  Speculative execution  gain = γ*g + (1 - γ) * gain  quota  0 35

  36. Accuracy for Decayed history based  Cumulative gain ( CG ) 1 : success  cg = γ *g + (1- γ) * cg g= 0: failed  Expected Profitability ( EP )  EP = cg + SkippedPPRs * β  Speculate only if EP > TH EP * TH EP : threshold of speculation; * SkippedPPRs: reset to 0 on a success increase by 1 on a non-speculated PPR 36

  37. Accuracy for Decayed history based  TH EP = 0.25  β= 0.0075  γ = 0.4  Accuracy = 85.6% 37

  38. Computation Efficiency  Machine: Intel Pentium-D dual-core processors  Compiler: gcc4.1  Benchmarks  Gzip, Parser, Reduction  Metrics  Cost  Total running time of all the processes  Time  Finishing time of a program 38

  39. Efficiency comparison on gzip seq 40 org-bop 30 adapt-bop Cost(s) 20 10 0 1.6MB 320KB 192KB Buffer size 39

  40. Efficiency comparison on gzip seq 20 org-bop 15 adapt-bop Time(s) 10 5 0 1.6MB 320KB 192KB Buffer size 40

  41. Efficiency comparison on parser seq 40 org-bop 30 adapt-bop Cost(s) 20 10 0 50 10 2 Num of Sentences 41

  42. Efficiency comparison on parser seq 20 org-bop 15 adapt-bop Time(S) 10 5 0 50 10 2 Num of Sentences 42

  43. Efficiency comparison on Reduction seq 50 org-bop 40 adapt-bop Cost(s) 30 20 10 0 0 10% 50% 90% Denpendence 43

  44. Efficiency comparison on Reduction seq 30 org-bop adapt-bop 20 Time(s) 10 0 0 10% 50% 90% Denpendence 44

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend