1. An apparatus, comprising a computer storage, to optimize load distribution across logical and physical resources in a storage system, the apparatus comprising: an organization module to create the hierarchical tree structure representing the plurality of resources in the storage system; an availability module to dynamically assign a plurality of values to each of a plurality of resources represented in the hierarchical tree structure, wherein each of the plurality of values represents availability of the resource associated with the value; a balance module to determine existing volume allocations corresponding to each of the plurality of resources and assign a first value of the plurality of values to each of the plurality of resources to reflect the same; a current utilization module to determine current utilization of each of the plurality of resources and assign a second value of the plurality of values to each of the plurality of resources to reflect the same; and an historical utilization module to determine historical utilization of each of the plurality of resources over a predetermined period of time and assign a third value of the plurality of values to each of the plurality of resources to reflect the same; and an allocation module to allocate a load to a least busy resource located at a bottom level of the hierarchical tree structure as determined from the plurality of values.