In the era of future embedded systems the designer is confronted with multi-processor architectures both for performance and energy reasons. Exploiting (sub)task-level parallelism is becoming crucial because the instruction-level parallelism alone is insufficient. The challenge is to build compiler tools that support the exploration of the task-level parallelism in the programs. To achieve this goal, we have designed an analysis framework to estimate the potential parallelism from sequential object-oriented programs in Java. Data-access analysis is one of the crucial techniques for estimation of the transformation effects. We have implemented support for platform-independent data-access analysis and profiling of Java programs. Herein, we focus on the technique for design-time data-access analysis. It complements our earlier work on parallel performance analysis. We demonstrate the feasibility and effectiveness of our approach on a number of Java applications.
展开▼