Eindhoven University of Technology
Performance growth of single-core processors has come to a halt in the past decade, but was re-enabled by the introduction of parallelism in processors. Emerging processor architectures such as multi-cores and many-cores exploit an increasing amount of parallelism, requiring programmers and compilers to deal with issues such as threading, concurrency and synchronization. The authors advocate that programmers and compilers can greatly benefit from a structured classification of program code. Such a classification can help programmers to find opportunities for parallelization or can serve as front-end to performance prediction models or parallelizing-compilers for example.