1. A method, comprising: identifying a graph with a plurality of vertices and a plurality of edges; selecting, for each vertex in the plurality of vertices, one or more neighbor vertices based on one or more criteria, and, for each edge in the plurality of edges that connects the vertex with a selected neighbor vertex in the one or more neighbor vertices, determining whether a mutual selection exists between the vertex and the selected neighbor vertex, wherein the mutual selection exists when the vertex selected the neighbor vertex and the neighbor vertex selected the vertex; and merging at least two vertices in the plurality of vertices based on mutual selection between the at least two vertices to create at least one aggregate vertex, wherein selecting, for each vertex in the plurality of vertices, one or more neighbor vertices based on one or more criteria is performed in a data-parallel manner for at least two of the vertices in the plurality of vertices via a parallel processor.