ebook img

Resource Allocation in Selfish and Cooperative Distributed Systems PDF

353 Pages·2014·3.27 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Resource Allocation in Selfish and Cooperative Distributed Systems

University of Warsaw Faculty of Mathematics, Informatics and Mechanics Piotr Skowron Resource Allocation in Selfish and Cooperative Distributed Systems PhD dissertation Supervisors dr hab. inż. Piotr Faliszewski dr inż. Krzysztof Rza¸dca Institute of Informatics University of Warsaw September 2014 Author’s declaration: aware of legal responsibility I hereby declare that I have written this dissertation myself and all the contents of the dissertation have been obtained by legal means. September 15, 2014 ................................. date Piotr Skowron Supervisor’s declaration: the dissertation is ready to be reviewed September 15, 2014 ................................. date dr hab. inż. Piotr Faliszewski September 15, 2014 ................................. date dr inż. Krzysztof Rza¸dca Abstract Inthisdissertation wetakeanalgorithmicviewonresourceallocation problemsindistributedsystems. Wepresentacomprehensiveperspectivebystudyingavarietyofdistributedsystems—fromabstractmodels of generic distributed systems, through more specific and detailed models, to real distributed computer systems. These systems differ with respect to the nature of the resource allocation problems and with respect to themethodologies required to effectively solve them. Effectiveresourceallocationindistributedsystemsisafundamentalproblem. Computersystemsrequire goodresourcemanagementmechanismtoensureexpectedfunctionalityandexpectedqualityofservice. Even inoureverydaylifeweoftenparticipateinresourceallocationmechanisms. Theexamplesrangefromcutting acakeatthebirthdaypartytoparliamentaryelectionsandreferendums(wheretheparticipatingcandidates can beviewed as resources). We start our discussion from considering a general computational model that describes the problem of selectingacollectivesetofitemsforthesharedusebyagroupofagents. Thismodelisverygeneral;itdoes not specify what is an agent and what is an item, and, thus, can be applied to many different scenarios. Indeed, we show that our model captures many real-life resource allocation problems. For instance, our algorithms for this general model can be applied to recommendation systems, e.g., to select a collection of movies for a plane, or to allocate students to sport classes based on their preferences. Our algorithms are also applicable to the problem of finding a proportional representation of a society in some collective decision-making body, i.e., to find winners in some modern parliamentary election systems. We analyze multiple variantsof ourgeneral problem of selecting a collective set of items. Next,wemovetomorespecificmodels ofcomputersystems. Inthesemodelswe introduceseveral new elements such as jobs, processors, and the network. Each of these elements can be further described by a setofparameters. Forinstance,jobshavetheirreleasetimes,resourcerequirements,anddurations;further, theirdurations might dependon theprocessors on which theyare run;theprocessors might beidentical or heterogeneous. Thenetworkconnectionscanbedescribed,e.g.,bybandwidthandcommunicationlatencies. Consequently,inthesemodelswefocusonseveralvariantsofamoregeneralproblem. Weaskhowtoschedule jobs to minimize theiraggregated completion time, with specific variantsof thisquestion dependingon the aggregation method and on the characteristics of the elements of the model. We establish computational complexityofvariantsofthisschedulingproblemand,inparticular,weshoweffectivealgorithmsoptimizing jobs’ schedules. Wealso provideanalysis of other propertiesof our algorithms, such astheir fault-tolerance and their game-theoretic stability. In thelast part ofthisdissertation weconsiderresource allocation problems in realimplementations of complex distributed systems. Weconsidertwo storage-based systems: HYDRAstor,which is a commercial, distributed, scalable, high-performance, secondary storage system targeted for the enterprise market, and our prototype implementation of a P2P backup system. We explain how the design of resource allocation mechanisms for such complex systems is different from our previous approaches. In this part we present and discuss relatively more complex resource allocation mechanisms; these mechanisms consist of multiple elements and even of whole resource allocation subsystems. Further, they aim at achieving multiple (sometimes contradicting) goals. Keywords: distributed systems, multi-agent systems, algorithms, complexity, approximation, game theory,social choice, cooperation, competition, proportional representation. ACM clasification: CCS → Theory of computation → Design and analysis of algorithms CCS → Computing methodologies → Artificial intelligence → Distributed artificial intelligence → Multi-agent systems CCS → Computersystems organization → Architectures→ Distributed architectures Streszczenie W poniższej rozprawie badamy algorytmy zarządzania zasobami w systemach rozproszonych. Przedstawiamy kompleksowe spojrzenie na tę tematykę: rozważamy różne systemy—od ogólnych, abstrakcyjnychmodeli, przezbardziej konkretne,dedykowanemodele, po rzeczywiste systemyrozproszone. Rozważane systemy różnią się specyfiką problemów zarządzania zasobami oraz metodologią, którą jest dla tychproblemów najbardziej adekwatna. Efektywne zarządzanie zasobami w systemach rozproszonych jest problemem o fundamentalnym znaczeniu. Systemy komputerowe wymagają dobrych mechanizmów zarządzania zasobami aby zapewnić odpowiednią jakość usług dla użytkowników. Również w naszym codziennym życiu często uczestniczymy w mechanizmach zarządzania zasobami. Przykłady takich mechanizmów to między innymi podział tortu na przyjęciu urodzinowym, czy referenda, a nawet wybory parlamentarne (w tym przypadku możemy utożsamiać kandydatówstartujących w wyborach z zasobami). W pierwszej części rozprawy rozważamy ogólny, abstrakcyjny model który opisuje problem wyboru podzbioru pewnych obiektów, które następnie będą współdzielone przez grupę użytkowników. Ten model jest bardzoogólny ponieważ niespecyfikujemykim (lub czym) dokładniejest użytkowniki czymdokładnie są owe obiekty. W rezultacie, rozwiązania oparte o ten model możemy zaaplikować do wielu rzeczywistych problemów, takich jak przydział studentów, w oparciu o ich preferencje, do uniwersyteckich kursów, czy znajdowanie właściwych rekomendacji. Takie rekomendacje mogą dotyczyć, na przykład, wyboru zbioru filmów dostępnych na pokładzie samolotu. Nasze algorytmy znajdują takżę zastosowanie w znajdowaniu proporcjonalnej reprezentacji dlagrupyludzi,czyli np. abyznaleźć zwycięzców wniektórychnowoczesnych systemach wyborów parlamentarnych. W niniejszej rozprawie analizujemy wiele specyficznych wariantów tego ogólnego zagadnienia. W drugiej częsci rozprawy rozważamy bardziej specyficznemodele opisujące systemy komputerowe. W tych modelach pojawiają się nowe elementy, takie jak zadania, procesory, czy sieć komputerowa. Każdy z tychelementówmożebyćopisanyprzezzbiórparametrów: zadaniamająswojeczasypowstania,wymagania zasobów, czy czasy wykonania. Długość trwania zadania może ponadto zależeć od rodzaju procesora na którym zadanie zostało uruchomione: procesory mogą być identyczne lub heterogeniczne. Połączenia sieciowe mogą być opisane przez przepustowość lub/i latencję komunikacji. Naturalnie w tych modelach zadajemy również bardziej specyficzne pytania. Pytamy jak uszeregować zadania, aby zminimalizować ich zagregowanyczaszakonczenia. Specyficznewariantytegopytaniarózniąsięwzależnościodmetodyagregacji oraz w zależności od cech charakterystycznych wybranych elementów modelu. W rozważanych modelach badamy złożoność obliczeniową różnych wariantów problemu szeregowania, w szczególności pokazując efektywne algorytmy do optymalizacji uszeregowania zadań. W tej części rozprawy analizujemy również innecechy naszych algorytmów, takie jak odporność na błędyczy (teorio-growa) stabilność. W ostatniej części rozprawy rozważamy problemy zarządzania zasobami w rzeczywistych, złożonych, komputerowych systemach rozproszonych. Rozważamy dwa rzeczywiste systemy przechowywania danych: HYDRAstor,któryjest komercyjnym,rozproszonym, skalowalnym systemem przechowywania danych,oraz naszą prototypową implemenację systemu do tworzenia kopii zapasowych danych, opartego o architekturę P2P.Wyjaśniamyczymróżnisięprojektowaniemechanizmówzarządzaniazasobamidlatakichsystemówod poprzednio rozważanych przypadków. W tej części prezentujemy relatywnie bardziej złożone mechanizmy zarządzania zasobami: mechanizmy te składają się z wielu elementów, a nawet z wielu podsystemów zarządzania zasobami. Co więcej takie podsystemy mogą mieć czasami sprzeczne ze sobą cele. Słowakluczowe: systemyrozproszonem,systemywieloagentowe,algorytmy,złożoność,aproksymacja, teoria gier, wybórspołeczny, kooperacja, konkurencja,proporcjonalna reprezentacja. Klasyfikacja ACM:CCS → Teoria obliczeń → Projektowanie i analiza algorytmów CCS→Metodologieobliczeniowe→Sztucznainteligencja→Rozproszonasztucznainteligencja→Systemy wieloagentowe CCS → Zorganizowane systemy komputerowe → Architektury→ Rozproszone architektury Contents 1 Introduction 1 2 Preliminaries 13 2.1 Game Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.1 Non-Cooperative Game Theory . . . . . . . . . . . . . . . . . 14 2.1.2 Cooperative Game Theory . . . . . . . . . . . . . . . . . . . . 16 2.2 Complexity and Algorithms . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.1 Parametrized Computational Complexity . . . . . . . . . . . . 20 2.2.2 Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3 Overview of NP-hard Problems . . . . . . . . . . . . . . . . . . . . . 22 2.3.1 Covering Probelms . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.2 Graph Problems . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3.3 Partition and Packing Problems . . . . . . . . . . . . . . . . . 27 I Finding a Collective Set of Items: From Proportional Multirepresentation to Group Recommendation 29 3 The Model and Its Applications 31 3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.2.1 Agents, Alternatives, and Utilities . . . . . . . . . . . . . . . . 38 3.2.2 Item-Selection Problem . . . . . . . . . . . . . . . . . . . . . . 39 3.2.3 Special Cases of the Problem . . . . . . . . . . . . . . . . . . 41 3.3 Applications of the Model . . . . . . . . . . . . . . . . . . . . . . . . 42 3.3.1 The Disjunctive Approach . . . . . . . . . . . . . . . . . . . . 42 3.3.2 The Weighted Approach . . . . . . . . . . . . . . . . . . . . . 43 3.3.3 The Conjunctive Approach . . . . . . . . . . . . . . . . . . . . 45 3.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4 Finding a Collective Set of Items: The Weighted Approach 49 4.1 Computing Exact Solutions . . . . . . . . . . . . . . . . . . . . . . . 49 4.2 (In)Approximability Results: General Utilities and Approval Utilities 58 4.3 Polynomial Time Approximation Schemes: Borda Utilities . . . . . . 65 4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5 Proportional Representation as Resource Allocation: Approximability 75 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.2 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.3 Hardness of Approximation . . . . . . . . . . . . . . . . . . . . . . . 81 5.4 Algorithms for the Utilitarian Cases . . . . . . . . . . . . . . . . . . . 84 5.4.1 Algorithm A (Monroe) . . . . . . . . . . . . . . . . . . . . . . 85 5.4.2 Algorithm B (Monroe) . . . . . . . . . . . . . . . . . . . . . . 90 5.4.3 Algorithm C (Monroe, CC) . . . . . . . . . . . . . . . . . . . 90 5.4.4 Algorithm R (Monroe, CC) . . . . . . . . . . . . . . . . . . . 91 5.4.5 Algorithm GM (Monroe, CC) . . . . . . . . . . . . . . . . . . 95 5.4.6 Algorithm P (CC) . . . . . . . . . . . . . . . . . . . . . . . . 98 5.4.7 ILP Formulation (Monroe, CC) . . . . . . . . . . . . . . . . . 100 5.5 Empirical Evaluation of the Algorithms . . . . . . . . . . . . . . . . . 101 5.5.1 Experimental Data . . . . . . . . . . . . . . . . . . . . . . . . 102 5.5.2 Evaluation on Small Instances . . . . . . . . . . . . . . . . . . 104 5.5.3 Evaluation on Larger Instances . . . . . . . . . . . . . . . . . 106 5.5.4 Truncated ballots . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.5.5 Running time . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5.6 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 6 Approximating the MaxCover Problem with Bounded Frequencies in FPT Time 117 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 6.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.3 Worst-Case Complexity Results . . . . . . . . . . . . . . . . . . . . . 121 6.4 Algorithms for the Case of Bounded Frequencies . . . . . . . . . . . . 125 6.4.1 The MaxCover Problem with Upper Bounded Frequencies . 125 6.4.2 The MaxCover Problem with Lower-Bounded Frequencies . 129 6.4.3 The MinNonCovered Problem . . . . . . . . . . . . . . . . 133 6.5 Algorithms for the Unrestricted Variant . . . . . . . . . . . . . . . . . 137 6.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 II Scheduling models 143 7 People are Processors: Coalitional Auctions for Complex Projects 149 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 7.2 The Auction Model for Complex Projets . . . . . . . . . . . . . . . . 152 7.3 Centralized Formation of Coalitions . . . . . . . . . . . . . . . . . . . 155 7.4 Decentralized Formation of Coalitions . . . . . . . . . . . . . . . . . . 159 7.4.1 Strongly Winning Coalitions . . . . . . . . . . . . . . . . . . . 159 7.4.2 Weakly Winning Coalitions . . . . . . . . . . . . . . . . . . . 165 7.4.3 Other Solution Concepts . . . . . . . . . . . . . . . . . . . . . 166 7.5 Mechanism Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 7.6 Finding Feasible Coalitions in a Scheduling Model . . . . . . . . . . . 171 7.6.1 The Scheduling Model . . . . . . . . . . . . . . . . . . . . . . 172 7.6.2 FFCPS: Hardness Results . . . . . . . . . . . . . . . . . . . . 173 7.6.3 Integer Programming Formulation . . . . . . . . . . . . . . . . 176 7.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 8 Non-Monetary Fair Scheduling—A Cooperative Game Theory Approach 179 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 8.2 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 8.3 Fair Scheduling Based on the Shapley Value . . . . . . . . . . . . . . 185 8.4 Strategy-Proof Utility Functions . . . . . . . . . . . . . . . . . . . . . 190 8.5 Fair Scheduling with Strategy-Proof Utility . . . . . . . . . . . . . . . 194 8.5.1 Special Case: Unit-Size Jobs . . . . . . . . . . . . . . . . . . . 203 8.6 Resource Utilization of Greedy Algorithms . . . . . . . . . . . . . . . 207 8.7 Experimental Evaluation of the Algorithms . . . . . . . . . . . . . . . 210 8.7.1 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 8.7.2 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 8.7.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 8.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 9 We Are Impatient: Algorithms for Geographically Distributed Load Balancing with (Almost) Arbitrary Load Functions 217 9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 9.2 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 9.2.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 9.2.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 9.3 Characterization of the problem . . . . . . . . . . . . . . . . . . . . . 224 9.4 An Approximate Centralized Algorithm . . . . . . . . . . . . . . . . . 227 9.5 Distributed algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.5.1 Optimality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 9.5.2 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 9.6 Batch Model: Optimal Solution . . . . . . . . . . . . . . . . . . . . . 244 9.7 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 9.7.1 Validation of the Constant Latency Assumption . . . . . . . . 247 9.7.2 Convergence of Distributed Algorithm: Simulations . . . . . . 248 9.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 III Resource allocation in real systems 253 10 Fuzzy Adaptive Control for Heterogeneous Tasks in High-Performance Storage Systems 257 10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 10.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 10.3 Resource Allocation under Irregular Workload: New Challenges . . . 262 10.3.1 The Simplified Model . . . . . . . . . . . . . . . . . . . . . . . 263 10.3.2 Evaluation of Queuing-Based Approaches . . . . . . . . . . . . 265 10.4 Fuzzy Adaptive Control . . . . . . . . . . . . . . . . . . . . . . . . . 267 10.4.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 10.4.2 Implementation of the Limit Variables . . . . . . . . . . . . . 270 10.4.3 Additional Constraints . . . . . . . . . . . . . . . . . . . . . . 271 10.4.4 Admission Control (AC) Information . . . . . . . . . . . . . . 272 10.4.5 Resources’ needs . . . . . . . . . . . . . . . . . . . . . . . . . 274 10.4.6 The Fuzzy-Adaptive Algorithm . . . . . . . . . . . . . . . . . 274 10.4.7 Defuzzyfication of the Limit . . . . . . . . . . . . . . . . . . . 276 10.5 Resource Allocation for Multiple Servers . . . . . . . . . . . . . . . . 277 10.5.1 Recapturing Unused Resources . . . . . . . . . . . . . . . . . 278 10.5.2 Constraints on Wake Up Interval . . . . . . . . . . . . . . . . 279 10.6 Experimental Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . 280 10.6.1 Artificial Workload . . . . . . . . . . . . . . . . . . . . . . . . 280 10.6.2 HYDRAstor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 10.7 Conclusions and Future Work . . . . . . . . . . . . . . . . . . . . . . 285 11 Optimizing Replica Placement for P2P Backup on Heterogeneous, Unreliable Machines 287 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 11.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 11.3 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 11.3.1 Control Information . . . . . . . . . . . . . . . . . . . . . . . 293 11.3.2 Replication Contracts . . . . . . . . . . . . . . . . . . . . . . . 293 11.3.3 Data Transmission and Updates . . . . . . . . . . . . . . . . . 296 11.3.4 Asynchronous/Off-Line Messaging . . . . . . . . . . . . . . . . 297 11.4 Replica Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 11.4.1 Utility Function . . . . . . . . . . . . . . . . . . . . . . . . . . 300 11.4.2 Distributed Optimization Protocol . . . . . . . . . . . . . . . 302 11.4.3 Changing Replication Contracts . . . . . . . . . . . . . . . . . 303 11.5 Experimental Evaluation of the Prototype . . . . . . . . . . . . . . . 304 11.5.1 Experimental Environment . . . . . . . . . . . . . . . . . . . . 304 11.5.2 Asynchronous Messages . . . . . . . . . . . . . . . . . . . . . 306 11.5.3 Replica Placement . . . . . . . . . . . . . . . . . . . . . . . . 308 11.5.4 Duration of Backup of a Data Chunk . . . . . . . . . . . . . . 309 11.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Discussion & Conclusions 312 Bibliography 317

Description:
good resource management mechanism to ensure expected functionality and .. Consider a company that wants to provide free sport classes.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.