Parallelizing Applications With A Reduction Based Framework On Multi-Core Clusters