The Application of Microeconomics to the Design of Resource Allocation and Control Algorithms
Total Page:16
File Type:pdf, Size:1020Kb
The Application of Microeconomics to the Design of Resource Allocation and Control Algorithms Donald Francis Ferguson CUCS-476-89 The Application of Microeconomics to the Design of Resource Allocation and Control Algorithms Donald Francis Ferguson Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Graduate School of Am and Sciences COLUMBIA UNIVERSITY 1989 ABSTRACT The Application of Microeconomics to the Design of Resource Allocation and Control Algorithms Donald Francis Ferguson In this thesis, we present a new methodology for resource sharing algorithms in distributed systems. We propose that a distributed computing system should be composed of a decentralized community of microeconomic agents. We show that this approach decreases complexity and can substantially improve performance. We compare the performance, generality and complexity of our algorithms with non-economic algorithms. To validate the usefulness of our approach. we present economies that solve three distinct resource management problems encountered in large. distributed systems. The flrst economy performs CPU load balancing and demonstrates how our approach limits com· plexity and effectively allocates resources when compared to non-economic algorithms. We show that the economy achieves better performance than a representative non-economic algorithm. The load balancing economy spans a broad spectrum of possible load balancing strategies, making it possible to adapt the load balancing strategy to the relative power of CPU vs. communication. The second economy implements flow control in virtual circuit based computer networks. This economy implements a general model of VC throughput and delay goals that more accurately de· scribes the goals of a diverse set of users. We propose Pareto-optimality as a definition of optimality and fairness for the flow control problem and prove that the resource allocations computed by the economy are Pareto-optimal. Finally, we present a set of distributed algorithms that rapidly com· pute a Pareto-optimal allocation of resources. The flnal economy manages replicated, distributed data In a distributed computer system. This economy substantially decreases mean transaction response time by adapting to to the transactions' reference patterns. The economy reacts to localities in the data access pattern by dynamically ag- signing copies of data objects to nodes in the system. The number of copies of each object is ad· justed based on the write frequency versus the read frequency for the object. Unlike previous work, the data management economy's algorithms are completely decentralized and have low computa· tional overhead. Finally, this economy demonstrates how an economy can allocate logical re- sources in addition to physical resources. CONTENTS 1.0 Introduction ..•..•.....•.............•................•............. 1 1.1 The Problem ....................................................... 1 1.2 The Solution ....................................................... 5 1.3 Goals of the Dissertation ............................................... 7 1.4 Dissertation Overview ................................................. 7 2.0 Economic Concepts and Related Work .................................... 10 2.1 Economic Concepts and Terminology .................................... 10 2.1.1 Resources and Agents ............................................. 10 2.1.2 Prices, Budgets and Demand ........................................ II 2.1.3 Pareto-Optimality and Fairness ...................................... 16 2.1.4 Pricing Policies .................................................. 20 2.1.4.1 Tatonement ................................................. 20 2.1.4.2 Auctions .................................................... 21 2.1.4.3 Variable Supply Models ........................................ 22 2.2 Related Work ...................................................... 24 2.2.1 The File Allocation Problem ........................................ 25 2.2.2 Job and Task Allocation ........................................... 31 2.2.3 Flow Control ................................................... 35 2.2.4 Multiple Access Protocols .......................................... 41 3.0 The Load BaJancing EconOl11y ••••...•.•••••.••••.•••.•••••••.•.••••.••• 46 3.1 Problem Statement and System Model .................................... 47 3.2 The Economy ...................................................... 47 3.2.1 The Jobs ...................................................... 48 3.2.1.1 Compute the Budget Set ........................................ 48 3.2.1.2 Computing Preferences ......................................... 49 3.2.1.3 Bid Generation ............................................... 50 3.2.2 Processors ..................................................... 50 3.2.2.1 Auction Resources ............................................ 51 3.2.2.2 Price Updates ........................................'........ 51 3.2.2.3 Advertising .................................................. 51 3.3 Performance Experiments ............................................. 52 3.3.1 Job Waiting Time ................................................ 52 3.3.2 Spectrum of Load Balancing Strategies ................................. 55 3.3.3 Adapting to CPU vs. Communication ................................. 60 3.3.4 Flow Control ................................................... 64 3.3.5 Wealth. Priority and Learning ....................................... 66 3.4 Comparison with Related Work ......................................... 68 3.5 Summary ......................................................... 73 3.6 Appendix ......................................................... 74 3.6.1 [sauea ......................................................... 74 3.6.1.1 Knowledge of Resource Demanlh ................................. 74 3.6.1.2 Auctions .................................................... 75 3.6.1.3 Adverti!ements ............................................... 75 3.6.1.4 Price Guarantees .............................................. 75 3.6.1.5 Flow Control ................................................ 76 3.6.1.6 Returning Jobs ............................................... 76 3.6.2 The Hop I Algorithm ............................................. 77 4.0 The flow Control EconOl11y .•••...••••••••..•••..••••••••••••.••••••.•• 81 4. I Network and Economy ............................................... 81 4.1.1 Computing the Demand Set ........................................ 84 4.1.2 Competitive Equilibrium and Price Updates ............................. 87 4.2 Optimality and Fairness ............................................... 89 4.3 Existence of Equilibrium .............................................. 95 4.4 Convergence to Equilibrium .......................................... 102 4.4.1 Network Updates ............................................... 108 4.5 Comparison with Related Work ........................................ 109 4.6 Concluaions ...................................................... 114 4.7 Proof of Lemmas .................................................. 115 5.0 The Data Management Economy ....................................... 124 5.1 Problem Statement and System Model ................................... 124 5.2 The Economy ..................................................... 125 5.2.1 Processor Agent ................................................ 126 5.2.2 Data Object Agents .............................................. 129 5.2.3 Transactions ................................................... 130 5.3 Performance Evaluation ............................................. 130 5.3.1 Ratio of Reads to Writes .......................................... 132 5.3.2 Adapting to Entropy ............................................. 137 5.3.3 Adapting to Locality ............................................. 139 5.3.4 Lease Prices ................................................... 141 5.4 Comparison with Related Work ........................................ 143 5.5 Conclusions ...................................................... 147 6.0 Summary and Directions for Future Work 149 Bibliography •...................................•.......•••.......••.. 1S2 u List of Illustrations Figure 1. A Representative Distributed System ................................. 2 Figure 2. Resources .................................................... 12 Figure 3. A Simple Computer System ....................................... 13 Figure 4. Auction Models ................................................ 23 Figure 5. Demand Functions ............................................. 25 Figure 6. Demand Based Prices ........................................... 26 Figure 7. The Contract Net Protocol ....................................... 33 Figure 8. Multiple Access Problem ......................................... 42 Figure 9. A Simple Distributed System ...................................... 49 Figure 10. A simple distributed system ....................................... 53 Figure II. Job Waiting Times ............................................. 54 Figure 12. Job Waiting Times ............................................. 55 Figure 13. Economic vs. Non-Economic Algorithms ............................. 56 Figure 14. Job Migration Distance .......................................... 57 Figure 15. Job Migration Distance .......................................... 58 Figure 16. Choice of Migration Strategy