Efficient PRAM simulation on a distributed memory machine
STOC '92 Proceedings of the twenty-fourth annual ACM symposium on Theory of computing
Simple, efficient shared memory simulations
SPAA '93 Proceedings of the fifth annual ACM symposium on Parallel algorithms and architectures
Balanced allocations (extended abstract)
STOC '94 Proceedings of the twenty-sixth annual ACM symposium on Theory of computing
Parallel randomized load balancing
STOC '95 Proceedings of the twenty-seventh annual ACM symposium on Theory of computing
Exploiting storage redundancy to speed up randomized shared memory simulations
Theoretical Computer Science
Proceedings of the eighth annual ACM symposium on Parallel algorithms and architectures
Randomized protocols for low-congestion circuit routing in multistage interconnection networks
STOC '98 Proceedings of the thirtieth annual ACM symposium on Theory of computing
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
SIAM Journal on Computing
Balanced allocations: the heavily loaded case
STOC '00 Proceedings of the thirty-second annual ACM symposium on Theory of computing
Contention Resolution in Hashing Based Shared Memory Simulations
SIAM Journal on Computing
Routing on Networks of Optical Crossbars (Extended Abstract)
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing - Volume I
Reducing Network Congestion and Blocking Probability through Balanced Allocation
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
Load balancing and density dependent jump Markov processes
FOCS '96 Proceedings of the 37th Annual Symposium on Foundations of Computer Science
The power of two choices in randomized load balancing
The power of two choices in randomized load balancing
Asymmetric balanced allocation with simple hash functions
SODA '06 Proceedings of the seventeenth annual ACM-SIAM symposium on Discrete algorithm
Approximation schemes for scheduling and covering on unrelated machines
Theoretical Computer Science
Balanced allocations: the weighted case
Proceedings of the thirty-ninth annual ACM symposium on Theory of computing
Why simple hash functions work: exploiting the entropy in a data stream
Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms
On weighted balls-into-bins games
Theoretical Computer Science
Improving the Efficiency of Load Balancing Games through Taxes
WINE '08 Proceedings of the 4th International Workshop on Internet and Network Economics
CHAP: Enabling Efficient Hardware-Based Multiple Hash Schemes for IP Lookup
NETWORKING '09 Proceedings of the 8th International IFIP-TC 6 Networking Conference
An Analysis of Random-Walk Cuckoo Hashing
APPROX '09 / RANDOM '09 Proceedings of the 12th International Workshop and 13th International Workshop on Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques
Real-time parallel hashing on the GPU
ACM SIGGRAPH Asia 2009 papers
Parallel Randomized Load Balancing: A Lower Bound for a More General Model
SOFSEM '10 Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science
Balls into bins with related random choices
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Advanced hashing schemes for packet forwarding using set associative memory architectures
Journal of Parallel and Distributed Computing
The power of one move: hashing schemes for hardware
IEEE/ACM Transactions on Networking (TON)
Parallel randomized load balancing: A lower bound for a more general model
Theoretical Computer Science
IWOCA'10 Proceedings of the 21st international conference on Combinatorial algorithms
Tight bounds for parallel randomized load balancing: extended abstract
Proceedings of the forty-third annual ACM symposium on Theory of computing
A generalization of multiple choice balls-into-bins
Proceedings of the 30th annual ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Coalition resistant anonymous broadcast encryption scheme based on PUF
TRUST'11 Proceedings of the 4th international conference on Trust and trustworthy computing
An Analysis of Random-Walk Cuckoo Hashing
SIAM Journal on Computing
Balls into bins with related random choices
Journal of Parallel and Distributed Computing
Efficient set operations in the presence of malicious adversaries
PKC'10 Proceedings of the 13th international conference on Practice and Theory in Public Key Cryptography
Revisiting randomized parallel load balancing algorithms
SIROCCO'09 Proceedings of the 16th international conference on Structural Information and Communication Complexity
Journal of Discrete Algorithms
Revisiting randomized parallel load balancing algorithms
Theoretical Computer Science
Converting online algorithms to local computation algorithms
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part I
Sharp load thresholds for cuckoo hashing
Random Structures & Algorithms
Balls-into-bins with nearly optimal load distribution
Proceedings of the twenty-fifth annual ACM symposium on Parallelism in algorithms and architectures
Hi-index | 0.01 |
This article deals with randomized allocation processes placing sequentially n balls into n bins. We consider multiple-choice algorithms that choose d locations (bins) for each ball at random, inspect the content of these locations, and then place the ball into one of them, for example, in a location with minimum number of balls. The goal is to achieve a good load balancing. This objective is measured in terms of the maximum load, that is, the maximum number of balls in the same bin.Multiple-choice algorithms have been studied extensively in the past. Previous analyses typically assume that the d locations for each ball are drawn uniformly and independently from the set of all bins. We investigate whether a nonuniform or dependent selection of the d locations of a ball may lead to a better load balancing. Three types of selection, resulting in three classes of algorithms, are distinguished: (1) uniform and independent, (2) nonuniform and independent, and (3) nonuniform and dependent.Our first result shows that the well-studied uniform greedy algorithm (class 1) does not obtain the smallest possible maximum load. In particular, we introduce a nonuniform algorithm (class 2) that obtains a better load balancing. Surprisingly, this algorithm uses an unfair tie-breaking mechanism, called Always-Go-Left, resulting in an asymmetric assignment of the balls to the bins. Our second result is a lower bound showing that a dependent allocation (class 3) cannot yield significant further improvement.Our upper and lower bounds on the maximum load are tight up to additive constants, proving that the Always-Go-Left algorithm achieves an almost optimal load balancing among all sequential multiple-choice algorithm. Furthermore, we show that the results for the Always-Go-Left algorithm can be generalized to allocation processes with more balls than bins and even to infinite processes in which balls are inserted and deleted by an oblivious adversary.