1. A system, comprising: multiple computer servers programmed to perform operations comprising: dividing a directed graph representing web resources and links into shards, wherein the directed graph comprises nodes representing web resources, wherein some of the nodes in the directed graph are designated as seeds, and wherein each shard comprises a respective portion of the graph representing multiple web resources and links associated with the multiple web resources; assigning each of the shards to a respective server, including assigning, to each of the respective servers, data describing the links associated with the multiple web resources represented by the nodes in the portion of the graph corresponding to the shard assigned to the server; and determining, by each of the servers and using the data describing the links assigned to the server: n nearest seeds to each of the nodes in the portion of the graph corresponding to the shard assigned to the server, and respective distances from each of the nodes in the portion of the graph corresponding to the shard assigned to the server to each of the n nearest seeds to the node, wherein n is a positive integer greater than one.