Physical processors are often viewed as a logical processor grid or process grid to ease the parallel algorithm implementation and to provide useful coordination information among parallel processes. However, the shape of processor grid has great impact on the final performance of user's parallel programs. How to select a suitable or even optimal processor grid for an parallel algorithm on certain parallel machines becomes an urgent problem. In this paper, a novel method named MDCPS (minimum degree of communication point set) is proposed, which tries to find out the optimal processor grid for parallel program independent the impaction of load balance through analysis on its communication pattern. The analysis results on ScaLAPACK parallel Cholesky factorization program match the experimental results well and show that the proposed method can select the optimal processor grid for parallel program successfully.