The goal of this work is to execute SPMD applications efficiently on heterogeneous environments. Applications used to test our work are designed with message-passing interface to communicate and are developed to be executed in a single core cluster. However, we create a methodology to execute e fficiently these SPMD applications over heterogeneous architectures. The SPMD applications are selected because they present high level of synchronism and communications; both elements could generate challenges when we want to obtain our objec- tive, which is de ned as to obtain an improvement in the execution time while maintaining the e fficiency level over a threshold defi ned by programmer, taking into consideration the communications heterogeneities present in a multicore cluster. This objective is achieved using a map-ping and scheduling strategies included in our methodology. Finally, the results obtained show an improvement around 40% in the best case of effi ciency in SPMD applications tested, when our methodology is applied.