As the meteoric rise in multi-core technology continues, the sequential model of program execution (traditional von Neumann model) falls short to provide sustained performance improvements owing to under-utilization of available parallel resources by the sequentially executing programs, obeying Moore's law. Current trends in computing point towards platforms seeking performance improvements through various degrees of parallelism, with coarse-grained parallelism features becoming commonplace. Yet, there still remain number of existing programs which continue to pose considerable speed deficiency in execution. Several parallelization techniques and algorithms have been proposed in the past to harness mid-grain level parallelism which are continuously being added to existing compilers like GCC. The techniques, broadly categorized as static time and run time (include such as loop tiling, loop distribution, speculative parallelization etc) focus chiefly on loop optimization since loops are essentially the programming constructs to do tasks serially. We propose to perform our optimizations in GCC based on the runtime technique of speculative parallelization focussing mainly on conditional branching statements and simple iterative loops. Although GCC boasts of number of loop optimizations it lacks conditional branching optimizations especially meant for parallelization. The conditional branching statements,on average,amount for 50% of any non-trivial program. Hence its optimizations can have profound speed-up.
Project by Team KWIK from Pune Institute of Computer Technology, Pune
Team Members :
1.Swati Raina
2.Abhishek Srivastava
2.Abhishek Srivastava
3.Sandeep Soni
No comments:
Post a Comment