1. A system configured to identify peers for a plurality of clients to facilitate obtaining updates for the plurality of clients, the system comprising: one or more processors; one or more computer-readable media coupled to the one or more processors; wherein the one or more processors and one or more computer-readable media are configured to implement a peer determination service, wherein the peer determination service is configured to: identify a dataset associated with the plurality of clients, the dataset comprising a plurality of byte ranges; identify, for each given client of the plurality of clients, one or more byte ranges of the plurality of byte ranges of the dataset that each given client has already obtained; identify, for each given client of the plurality of clients, one or more byte ranges of the plurality of byte ranges of the data set that each given client needs to obtain; and based on the identification of byte ranges, organize the plurality of clients into a plurality of groups, each group both including one or more clients and corresponding to a different node of a hierarchical graph, each given node being associated with one or more byte ranges of the plurality of byte ranges of the dataset, such that each client of a group corresponding to the given node has already obtained or needs to obtain at least one byte range of the one or more byte ranges associated with the given node, at least one client of each group being configured to act as a peer to other clients of the group, the hierarchical graph comprising a plurality of nodes that range from one or more nodes having a smallest number of byte ranges to one or more nodes having a largest number of byte ranges, such that the hierarchical graph can be traversed from the one or more nodes having the smallest number of byte ranges to the one or more nodes having the largest number of byte ranges.