A Study on the Viability of a Production-Quality Metaobject
Protocol-Based Statically Parallelizing Compiler
Abstract
A compiler that automatically chooses a program's parallelization is
often unable to choose either the best one or the particular one that
a programmer has in mind. This has led to systems that provide the
programmer with explicit control over a program's parallelization, for
example, via compiler pragmas. The pragma approach is like the
metaobject protocol (MOP) approach in that pragmas provide control
over what would otherwise be hidden aspect's of an implementation.
However, it differs because the set of pragmas is fixed, thereby
limiting the amount of control provided. We investigated whether it
was possible to increase the amount of control using the full MOP
approach. We were in fact, successful, but the resulting MOP differs
from previous ones in that it is present at compile-time rather than
at run-time. In this paper, we compare the MOP approach with other
approaches, and discuss what is needed in order to produce a
production-quality MOP-based statically parallelizing compiler.
Go to to Selected Papers page.