Balanced Partitioning for Optimizing Big Graph Computation: Complexities and Approximation Algorithms