1. A load balancing system for handling queries to an information retrieval system, the load balancing system comprising: a plurality of server machine clusters configured to handle tasks, the tasks replicated across the plurality of server machine clusters and performed by resources of the server machine clusters in order to retrieve information requested by a user, a number of task replicas for each corresponding task being based on an anticipated demand for the corresponding task; a utilization processing device configured to: track a utilization of the resources of the server machine clusters by each task and the corresponding task replicas; and determine task utilization values for each given task and one or more task replicas corresponding to each given task, each task utilization value being a function of a current demand made by the given task or one of the task replicas on a corresponding resource of a server machine cluster versus a threshold demand acceptable for the corresponding resource of the server machine cluster; a utilization-based balancing processing device configured to receive task utilization values and determine a cluster utilization value of each server machine cluster by: aggregating the task utilization values of the tasks and the corresponding task replicas across the plurality of server machine clusters to determine an aggregated task utilization value associated with each task and the corresponding task replicas; identifying the aggregated task utilization values associated with each of the tasks and the corresponding task replicas associated with the respective server machine cluster; and assigning the cluster utilization value of the respective server machine cluster as a highest one of the aggregated task utilization values associated with the respective server machine cluster; and a re-allocation processing device configured to re-direct queries away from a server machine cluster based on the determined cluster utilization value of the server machine cluster by: determining a current number of queries per second directed toward the respective server machine cluster, each query directed toward the respective server machine cluster associated with a set of tasks and corresponding task replicas associated with the respective server machine cluster; and comparing the determined cluster utilization value of the respective server machine cluster to a target utilization value level; and one of: when the determined cluster utilization value exceeds the target utilization value level, reducing the current number of queries per second directed to the respective server machine cluster to a reduced number of queries per second sufficient to cause the cluster utilization value of the respective server machine cluster to decrease to a value approximately equal to the target utilization value level; or when the determined cluster utilization value of the respective server machine cluster is less than the target utilization value level, increasing the current number of queries per second directed to the respective server machine cluster to an increased number of queries per second sufficient to cause the cluster utilization value of the respective server machine cluster to increase to a value approximately equal to the target utilization value level.