Consumption Policies enable some appealing features, including support for pools with heterogeneous resource models, faster loading of partitionable slots, and more flexible utilization of accounting group quotas. {subsubsection: Heterogeneous Resource Models} +Consumption Policies are configurable on a per-slot basis, which makes it straightforward to support multiple resource consumption models on a single pool. + +For example, the following is a cpu-centric resource consumption policy: +{code} +CONSUMPTION_CPUS = target.RequestCpus +CONSUMPTION_MEMORY = 0 +CONSUMPTION_DISK = 0 +SLOT_WEIGHT = Cpus +{endcode} + +Another slot might be configured with a memory-centric policy: +{code} +CONSUMPTION_CPUS = 0 +CONSUMPTION_MEMORY = quantize(target.RequestMemory, {128}) +CONSUMPTION_DISK = 0 +SLOT_WEIGHT = floor(Memory / 128) +{endcode} + +Note that the slot weight expression is typically configured to correspond to the "most limiting" resource, and furthermore behaves as a measure of the number of matches remaining on the partitionable slot. {subsubsection: Fast Slot Loading}