Automatic Data Partitioning Strategy with Communication - Parallelism Graph