134,759 research outputs found
A Survey on Load Balancing Algorithms for VM Placement in Cloud Computing
The emergence of cloud computing based on virtualization technologies brings
huge opportunities to host virtual resource at low cost without the need of
owning any infrastructure. Virtualization technologies enable users to acquire,
configure and be charged on pay-per-use basis. However, Cloud data centers
mostly comprise heterogeneous commodity servers hosting multiple virtual
machines (VMs) with potential various specifications and fluctuating resource
usages, which may cause imbalanced resource utilization within servers that may
lead to performance degradation and service level agreements (SLAs) violations.
To achieve efficient scheduling, these challenges should be addressed and
solved by using load balancing strategies, which have been proved to be NP-hard
problem. From multiple perspectives, this work identifies the challenges and
analyzes existing algorithms for allocating VMs to PMs in infrastructure
Clouds, especially focuses on load balancing. A detailed classification
targeting load balancing algorithms for VM placement in cloud data centers is
investigated and the surveyed algorithms are classified according to the
classification. The goal of this paper is to provide a comprehensive and
comparative understanding of existing literature and aid researchers by
providing an insight for potential future enhancements.Comment: 22 Pages, 4 Figures, 4 Tables, in pres
VEBO: A Vertex- and Edge-balanced Ordering Heuristic to Load Balance Parallel Graph Processing
Graph partitioning drives graph processing in distributed, disk-based and
NUMA-aware systems. A commonly used partitioning goal is to balance the number
of edges per partition in conjunction with minimizing the edge or vertex cut.
While this type of partitioning is computationally expensive, we observe that
such topology-driven partitioning nonetheless results in computational load
imbalance. We propose Vertex- and Edge-Balanced Ordering (VEBO): balance the
number of edges and the number of unique destinations of those edges. VEBO
optimally balances edges and vertices for graphs with a power-law degree
distribution. Experimental evaluation on three shared-memory graph processing
systems (Ligra, Polymer and GraphGrind) shows that VEBO achieves excellent load
balance and improves performance by 1.09x over Ligra, 1.41x over Polymer and
1.65x over GraphGrind, compared to their respective partitioning algorithms,
averaged across 8 algorithms and 7 graphs.Comment: 13 page
When Two Choices Are not Enough: Balancing at Scale in Distributed Stream Processing
Carefully balancing load in distributed stream processing systems has a
fundamental impact on execution latency and throughput. Load balancing is
challenging because real-world workloads are skewed: some tuples in the stream
are associated to keys which are significantly more frequent than others. Skew
is remarkably more problematic in large deployments: more workers implies fewer
keys per worker, so it becomes harder to "average out" the cost of hot keys
with cold keys.
We propose a novel load balancing technique that uses a heaving hitter
algorithm to efficiently identify the hottest keys in the stream. These hot
keys are assigned to choices to ensure a balanced load, where is
tuned automatically to minimize the memory and computation cost of operator
replication. The technique works online and does not require the use of routing
tables. Our extensive evaluation shows that our technique can balance
real-world workloads on large deployments, and improve throughput and latency
by and respectively over the previous
state-of-the-art when deployed on Apache Storm.Comment: 12 pages, 14 Figures, this paper is accepted and will be published at
ICDE 201
- …