1. A method comprising: receiving at a first processor a graph comprising a plurality of vertices, each of the plurality of vertices representing resources of the first processor; assigning classifications to each of the plurality of vertices, wherein assigning classifications comprises: assigning a first classification to a first vertex of the plurality of vertices according to a first classification technique based on the first vertex having more connected vertices than each of a subset of vertices connected to the first vertex; removing the first vertex from future assignments of classifications in response to the first vertex being assigned the first classification; assigning a second classification to a second vertex of the plurality of vertices according to the first classification technique in response to a stop criterion not being met, the stop criterion comprising a number of assigning iterations or a vertex degree threshold; stopping assigning classifications according to the first classification technique to vertices of the plurality of vertices in response to the stop criterion being met; assigning a third classification to a third vertex of the plurality of vertices different from the first vertex and the second vertex based on a second classification technique different from the first classification technique in response to the stop criterion being met, so that the third vertex, the first vertex and the second vertex do not share their assigned classifications with any of their connected vertices and so that the third classification is not assigned to any vertex of the plurality of vertices to which the first classification or the second classification is assigned; and assigning processor resources based on the classifications assigned to the plurality of vertices.