Distributed Computing Problems from Wikipedia, the Free Encyclopedia Contents
Total Page:16
File Type:pdf, Size:1020Kb
Distributed computing problems From Wikipedia, the free encyclopedia Contents 1 Atomic broadcast 1 1.1 References .............................................. 1 2 Atomic commit 2 2.1 Usage ................................................. 2 2.2 Database systems ........................................... 2 2.3 Revision control ............................................ 3 2.4 Atomic commit convention ...................................... 3 2.5 See also ................................................ 4 2.6 References ............................................... 4 3 Automatic vectorization 5 3.1 Background .............................................. 5 3.2 Guarantees ............................................... 6 3.2.1 Data dependencies ...................................... 6 3.2.2 Data precision ......................................... 6 3.3 Theory ................................................. 6 3.3.1 Building the dependency graph ................................ 6 3.3.2 Clustering ........................................... 6 3.3.3 Detecting idioms ....................................... 7 3.4 General framework .......................................... 7 3.5 Run-time vs. compile-time ...................................... 7 3.6 Techniques .............................................. 8 3.6.1 Loop-level automatic vectorization .............................. 8 3.6.2 Basic block level automatic vectorization ........................... 8 3.6.3 In the presence of control flow ................................ 9 3.6.4 Reducing vectorization overhead in the presence of control flow ............... 10 3.7 See also ................................................ 10 3.8 References ............................................... 10 4 Big data 11 4.1 Definition ............................................... 12 4.2 Characteristics ............................................ 13 i ii CONTENTS 4.3 Architecture .............................................. 14 4.4 Technologies .............................................. 14 4.5 Applications .............................................. 15 4.5.1 Government .......................................... 16 4.5.2 International development ................................... 17 4.5.3 Manufacturing ........................................ 17 4.5.4 Media ............................................ 17 4.5.5 Private sector ......................................... 18 4.5.6 Science ............................................ 18 4.6 Research activities ........................................... 19 4.6.1 Sampling Big Data ...................................... 20 4.7 Critique ................................................ 20 4.7.1 Critiques of the big data paradigm .............................. 21 4.7.2 Critiques of big data execution ................................ 22 4.8 See also ................................................ 22 4.9 References ............................................... 23 4.10 Further reading ............................................ 28 4.11 External links ............................................. 28 5 Big Memory 29 5.1 References ............................................... 29 5.2 External links ............................................. 29 6 Brooks–Iyengar algorithm 31 6.1 Background .............................................. 31 6.2 Algorithm ............................................... 31 6.3 Algorithm characteristics ....................................... 32 6.4 See also ................................................ 32 6.5 References ............................................... 32 7 Byzantine fault tolerance 33 7.1 Origin ................................................. 33 7.2 Known examples of Byzantine failures ................................ 34 7.3 Early solutions ............................................. 34 7.4 Practical Byzantine fault tolerance ................................... 35 7.5 Byzantine fault tolerance software ................................... 35 7.6 Byzantine fault tolerance in practice .................................. 35 7.7 See also ................................................ 35 7.8 References ............................................... 36 7.9 External links ............................................. 37 8 Clock synchronization 38 8.1 Problems ................................................ 38 CONTENTS iii 8.2 Solutions ................................................ 38 8.2.1 Cristian’s algorithm ...................................... 38 8.2.2 Berkeley algorithm ...................................... 39 8.2.3 Network Time Protocol .................................... 39 8.2.4 Clock Sampling Mutual Network Synchronization ...................... 39 8.2.5 Precision Time Protocol ................................... 39 8.2.6 Reference broadcast synchronization ............................. 40 8.2.7 Reference Broadcast Infrastructure Synchronization ..................... 40 8.2.8 Global Positioning System .................................. 40 8.3 See also ................................................ 40 8.4 External Links ............................................. 40 8.5 References ............................................... 40 9 Consensus (computer science) 42 9.1 Problem description .......................................... 42 9.2 Models of computation ........................................ 43 9.3 Equivalency of agreement problems .................................. 43 9.3.1 Terminating Reliable Broadcast ................................ 43 9.3.2 Consensus ........................................... 44 9.3.3 Weak Interactive Consistency ................................. 44 9.4 Solvability results for some agreement problems ........................... 44 9.5 Some consensus protocols ....................................... 44 9.6 Applications of consensus protocols .................................. 45 9.7 See also ................................................ 45 9.8 References ............................................... 45 9.9 Further reading ............................................ 46 10 Data lineage 47 10.1 Case for Data Lineage ......................................... 47 10.1.1 Big Data Debugging ...................................... 47 10.1.2 Challenges in Big Data Debugging .............................. 48 10.1.3 Proposed Solution ....................................... 48 10.2 Data Provenance ............................................ 49 10.3 Lineage Capture ............................................ 49 10.4 Active vs Lazy Lineage ........................................ 50 10.5 Actors ................................................. 50 10.6 Associations .............................................. 50 10.7 Architecture .............................................. 51 10.8 Data flow Reconstruction ....................................... 51 10.8.1 Association tables ....................................... 51 10.8.2 Association Graph ...................................... 52 10.8.3 Topological Sorting ...................................... 52 iv CONTENTS 10.9 Tracing & Replay ........................................... 52 10.10Challenges ............................................... 54 10.10.1 Scalability ........................................... 54 10.10.2 Fault tolerance ........................................ 54 10.10.3 Black-box operators ...................................... 54 10.10.4 Efficient tracing ........................................ 54 10.10.5 Sophisticated replay ...................................... 54 10.10.6 Anomaly detection ...................................... 55 10.11See also ................................................ 55 10.12References ............................................... 55 11 Deadlock 57 11.1 Examples ............................................... 58 11.2 Necessary conditions ......................................... 58 11.3 Avoiding database deadlocks ..................................... 58 11.4 Deadlock handling ........................................... 59 11.4.1 Ignoring deadlock ....................................... 59 11.4.2 Detection ........................................... 59 11.4.3 Prevention ........................................... 59 11.4.4 Avoidance ........................................... 60 11.5 Livelock ................................................ 61 11.6 Distributed deadlock ......................................... 61 11.7 See also ................................................ 61 11.8 References ............................................... 61 11.9 Further reading ............................................ 62 11.10External links ............................................. 62 12 Distributed concurrency control 63 12.1 See also ................................................ 63 12.2 References ............................................... 63 13 Distributed graph coloring 65 13.1 History ................................................. 66 13.2 Definition and terminology ...................................... 67 13.2.1 Vertex coloring ........................................ 67 13.2.2 Chromatic polynomial .................................... 67 13.2.3 Edge coloring ......................................... 68 13.2.4 Total coloring ......................................... 68 13.2.5 Unlabeled coloring ...................................... 68 13.3 Properties ............................................... 68 13.3.1 Bounds on the chromatic number ..............................