-Content goes here +{section: Introduction to Consumption Policies} +A Consumption Policy (CP) is a policy expression that resides on a partitionable slot classad, as advertised by the startd on an HTCondor execute node, which governs the amount of resources used by a job match against that slot. + +Each _kind_ of resource (or resource "asset") has a corresponding Consumption Policy. In a typical partitionable slot (p-slot), three resources are always defined: Cpus, Memory and Disk, which might advertise Consumption Policies as configured in this simple example: + +{code} +# enable use of consumption policies +CONSUMPTION_POLICY = True + +# define a simple consumption policy +# (note, "target" refers to the scope of the candidate job classad being considered for a match) +CONSUMPTION_CPUS = target.RequestCpus +CONSUMPTION_MEMORY = target.RequestMemory +CONSUMPTION_DISK = target.RequestDisk +{endcode} + +An important feature of Consumption Policies is that the HTCondor negotiator matchmaking logic is aware of a CP detected on a p-slot. When a job matches against a p-slot with a CP, the amount of each resource dictated by its consumption policy is deducted from that p-slot. The slot then remains available to match with another job. In other words, _Consumption Policies allow multiple jobs to be matched against a single partitionable slot during a single negotiation cycle_. + +{section: Motivations} +{section: Examples}