General Introduction to Graph Partitioning