Parallel programming based on multi-core processor is a new challenge to programmers. The execution of the same program may perform much different based on various architectures. Even the same architecture combined with different mapping strategies are still with distinct performance. The reason of this problem is that programmers feel hard to know the architectural details and utilize it in their program. In this paper, we propose a guidance system, which guides programmers to know the useful details of architecture and revise their programs by approximate the performance before real running. The system includes three parts: 1) the library of architecture models and algorithms; 2) the evaluate engine; 3) the interface to the programmer. We introduce the method of describing models of various architectures and their running algorithms. Based on these models, we propose a method to guide programmers configure and evaluate their solutions. The evaluation shows that the system can help programmers find the better solution to a parallel application.
['Jiaxin Li', 'Feng Shi', 'Ning Deng', 'Mengxiao Liu']
Guidance System for Parallel Programming Based on Architectural Models