Shifting gears: changing algorithms on the fly to expedite Byzantine agreement
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
On the performance of on-line algorithms for partition problems
Acta Cybernetica
Early stopping in Byzantine agreement
Journal of the ACM (JACM)
Competitive paging with locality of reference
STOC '91 Proceedings of the twenty-third annual ACM symposium on Theory of computing
Message-optimal protocols for byzantine agreement (extended abstract)
PODC '91 Proceedings of the tenth annual ACM symposium on Principles of distributed computing
Bit optimal distributed consensus
Computer science
Bounds on information exchange for Byzantine agreement
Journal of the ACM (JACM)
New algorithms for an ancient scheduling problem
Journal of Computer and System Sciences - Special issue on selected papers presented at the 24th annual ACM symposium on the theory of computing (STOC '92)
A better algorithm for an ancient scheduling problem
Journal of Algorithms
Modular competitiveness for distributed algorithms
STOC '96 Proceedings of the twenty-eighth annual ACM symposium on Theory of computing
Better bounds for online scheduling
STOC '97 Proceedings of the twenty-ninth annual ACM symposium on Theory of computing
On-line choice of on-line algorithms
SODA '93 Proceedings of the fourth annual ACM-SIAM Symposium on Discrete algorithms
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Optimal Early Stopping in Distributed Consensus (Extended Abstract)
WDAG '92 Proceedings of the 6th International Workshop on Distributed Algorithms
SFCS '92 Proceedings of the 33rd Annual Symposium on Foundations of Computer Science
A theory of competitive analysis for distributed algorithms
SFCS '94 Proceedings of the 35th Annual Symposium on Foundations of Computer Science
Distributed Agreement and Its Relation with Error-Correcting Codes
DISC '02 Proceedings of the 16th International Conference on Distributed Computing
Condition-Based Protocols for Set Agreement Problems
DISC '02 Proceedings of the 16th International Conference on Distributed Computing
Hi-index | 0.00 |
In this paper we study the problem of designing algorithms in situations where there is some information concerning the typical conditions that are encountered when the respective problem is solved. The basic goal is to assure efficient performance in the typical case, while satisfying the correctness requirements in every case. We introduce adaptability, a new measure for the quality of an algorithm, which generalizes competitive analysis and related frameworks. This new notion applies to sequential, parallel and distributed algorithms alike. In a nutshell, a "hint" function conveys certain information about the environment in which the algorithm operates. Adaptability compares the performance of the algorithm against the "specialist"--an algorithm specifically tuned to the particular hint value. From this perspective, finding that no single algorithm can adapt to all possible hint values is not necessarily a negative result, provided that a family of specialists can be constructed. Our case studies provide examples of both kinds. We first consider the "ancient" problem of on-line scheduling of jobs in m identical processors, and show that no algorithm can fully adapt to the natural hint of largest job size. In particular, for the cases m = 2, 3, we present specialists that beat the general lower bound for on-line makespan. In the domain of distributed computing, we analyze the Distributed Consensus problem under several hint functions. To fulfill the requirements of one of the cases we consider, we present the first consensus algorithm that is simultaneously optimal in number of processors, early-stopping property (that is, it runs in time proportional to the actual number of faults), and total number of communicated bits. In our new parlance, the algorithm adapts to the number of faults hint with both running time and communication.