From Clarity To Efficiency For Distributed Algorithms

Y. A. Liu, S. D. Stoller, B. Lin, M. Gorbovitski, Appeared inwards OOPSLA'12.

This paper describes a high-level language, DistAlgo, for clear description of distributed algorithms (e.g., Paxos, usual execution). In contrast to embarrassingly parallel tasks which involve rattling regular as well as simple synchronization patterns (e.g., MapReduce tasks), distributed algorithms generally involve complex as well as tight synchronization patterns. DistAlgo specifies these complex synchronization weather condition via using logical quantifications over message histories of processes involved inwards the algorithm. But, unfortunately, this turns out to live on extremely inefficient if executed straightforwardly: each quantifier volition drive a linear ingredient inwards running time, as well as whatever role of the history of messages sent as well as received volition drive infinite usage to live on unbounded.

To address this inefficiency, this newspaper focuses on optimizing implementations of DistAlgo programs yesteryear incrementalization of these expensive synchronization conditions. To this end, their method start transforms these quantifications are into ready queries, as well as and then transforms farther to minimize their nesting. Finally, from here, the method systematically extracts unmarried quantified order comparisons, as well as transforms them into efficient incremental updates of auxiliary variables every bit messages are sent as well as received. (An before paper that focuses to a greater extent than on the syntax of DistAlgo, as well as uses Paxos every bit a running example, appeared at SSS'12.).

To hand a glance of DistAlgo as well as how it does this transformations, I am including or thence figures from the newspaper every bit is. The newspaper uses Lamport's mutual exclusion algorithm every bit a running instance as well as shows its DistAlgo and automatically optimized DistAlgo implementation. DistAlgo fills a gap as well as seems like it tin live on rattling useful inwards the coming years for writing distributed programs. Distributed algorithms tin live on expressed inwards DistAlgo clearly at a high level, like inwards pseudocode, only likewise precisely, similar inwards formal specification languages, and live on executed every bit business office of existent applications, every bit inwards programming languages. DistAlgo extends Python amongst processes every bit objects, send/receive of messages, yield points, synchronization weather condition every bit logical quantifications, and configuration of distributed arrangement topology. DistAlgo compiler as well as optimizer are implemented inwards Python (building on Python's parser module as well as AST package) and generates executable Python code.







0 Response to "From Clarity To Efficiency For Distributed Algorithms"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel