1. A system for allocating resources in a distributed computational system comprising: a computer readable medium having: a plurality of user agent programs, each adapted to place a bid on behalf of a user for computational resources based on a preference for a desired set of the computational resources; an auctioneer program adapted to receive the bid from each of the plurality of user agent programs and to determine entitlement to the computational resources based on an evaluation of the bids; a bank program adapted to manage records relating to a currency corresponding to each of the user agent programs and to facilitate transfer of the currency based on an outcome of the evaluation of the bids; and wherein the plurality of user agent programs include a plurality of parent agent programs and child agent programs, the plurality of parent agent programs being adapted to budget and manage the plurality of child agent programs, the plurality of child agent programs being adapted to place the bid based on budgets provided by the plurality of parent agent programs and monitor progress of applications requiring resources.