New algorithmic and hardness results for graph partitioning problems