HyperLink   Future Compilation Requirements for Emerging Driving General Purpose Applications.
Publication Year:
  Ian Steiner
  Diss. University of Illinois at Urbana-Champaign. (2005).

As industry moves from single processor systems to chip multiprocessors in the general purpose community, it is becoming increasingly important for research to help enable this transition by developing tools that assist programmers in developing applications for these systems. Compilers will play an important role in this transition. There has been a wealth of past research developing compilation tools to enable high-performance computing, which has utilized multiprocessor systems for years. However, there is a gap between these applications and the general purpose driving applications of the future. This thesis will provide an evaluation of four representative benchmarks and provide insights into what new research needs to be completed in order to extend past work to these future applications. Much of the research in parallelizing compilers has focused on scientific applications that are rich in scalable inner loop parallelism. Many of these applications are written using Fortran and perform repetitive calculations on large arrays of data. While C implementations exist, these applications do not take advantage of many of the features available in C. They are similar in structure to their Fortran counterparts and therefore do not suffer the same complications as general purpose applications. Future general purpose applications exhibit some of the characteristics of scientific applications. This thesis contends that these applications will generally model the physical world, which naturally contains large amounts of inherent parallelism. However, unlike past scientific applications, these applications commonly take advantage of the additional features provided by C, including complicated memory usage patterns and large code bases that perform a bulk of similar tasks. By evaluating the transformation and analysis requirements for attaining parallel implementations of four representative benchmarks, this thesis motivates important research problems for the IMPACT compiler for enabling this important transition in general purpose computing.