Dynamic execution prediction and pipeline balancing of streaming applicationsReport as inadecuate


Dynamic execution prediction and pipeline balancing of streaming applications


Dynamic execution prediction and pipeline balancing of streaming applications - Download this document for free, or read online. Document in PDF available to download.

The number and scope of data driven streaming applications is growing. Such streaming applications are promising targets foreffectively utilizing multi-cores because of their inherent amenability to pipelined parallelism. While existing methods oforchestrating streaming programs on multi-cores have mostly been static, real-world applications show ample variations in execution time that may cause the achieved speedup and throughput to be sub-optimal. One of the principle challenges for moving towards dynamic pipeline balancing has been the lack of approaches that can predict upcoming dynamic variations in execution efficiently, well before they occur. In this thesis, we propose an automated dynamic execution behavior prediction approach based on compiler analysis that can be used to efficiently estimate the time to be spent in different pipeline stages forupcoming inputs. Our approach first uses dynamic taint analysis to automatically generate an input-based execution characterization of the streaming program, which identifies the key control points where variation in execution might occur with respect to the associated input elements. We then automatically generate a light-weight emulator from theprogram using this characterization that can predict the execution paths taken for new streaming inputs and provide execution time estimates and possible dynamic variations. The main challenge in devising such an approach is the essential trade-offbetween accuracy and overhead of dynamic analysis. We present experimental evidence that our technique can accurately andefficiently estimate dynamic execution behaviors for several benchmarks with a small error rate. We also showed that the error rate could be lowered with the trade-off of execution overhead by implementing a selective symbolic expression generation for each of the complex conditions of control-flow operations. Our experiments show that dynamic pipeline balancing using our predicted execution behavior can achieve considerably higher speedup and throughput along with more effective utilization of multi-cores than static balancing approaches.



Georgia Tech Theses and Dissertations - College of Computing Theses and Dissertations -



Author: Aleen, Farhana Afroz - -

Source: https://smartech.gatech.edu/



DOWNLOAD PDF




Related documents