26 research outputs found
Quasirandom Load Balancing
We propose a simple distributed algorithm for balancing indivisible tokens on
graphs. The algorithm is completely deterministic, though it tries to imitate
(and enhance) a random algorithm by keeping the accumulated rounding errors as
small as possible.
Our new algorithm surprisingly closely approximates the idealized process
(where the tokens are divisible) on important network topologies. On
d-dimensional torus graphs with n nodes it deviates from the idealized process
only by an additive constant. In contrast to that, the randomized rounding
approach of Friedrich and Sauerwald (2009) can deviate up to Omega(polylog(n))
and the deterministic algorithm of Rabani, Sinclair and Wanka (1998) has a
deviation of Omega(n^{1/d}). This makes our quasirandom algorithm the first
known algorithm for this setting which is optimal both in time and achieved
smoothness. We further show that also on the hypercube our algorithm has a
smaller deviation from the idealized process than the previous algorithms.Comment: 25 page
Rotor-router aggregation on the layered square lattice
In rotor-router aggregation on the square lattice Z^2, particles starting at
the origin perform deterministic analogues of random walks until reaching an
unoccupied site. The limiting shape of the cluster of occupied sites is a disk.
We consider a small change to the routing mechanism for sites on the x- and
y-axes, resulting in a limiting shape which is a diamond instead of a disk. We
show that for a certain choice of initial rotors, the occupied cluster grows as
a perfect diamond.Comment: 11 pages, 3 figures
Fast simulation of large-scale growth models
We give an algorithm that computes the final state of certain growth models
without computing all intermediate states. Our technique is based on a "least
action principle" which characterizes the odometer function of the growth
process. Starting from an approximation for the odometer, we successively
correct under- and overestimates and provably arrive at the correct final
state.
Internal diffusion-limited aggregation (IDLA) is one of the models amenable
to our technique. The boundary fluctuations in IDLA were recently proved to be
at most logarithmic in the size of the growth cluster, but the constant in
front of the logarithm is still not known. As an application of our method, we
calculate the size of fluctuations over two orders of magnitude beyond previous
simulations, and use the results to estimate this constant.Comment: 27 pages, 9 figures. To appear in Random Structures & Algorithm
Improved Analysis of Deterministic Load-Balancing Schemes
We consider the problem of deterministic load balancing of tokens in the
discrete model. A set of processors is connected into a -regular
undirected network. In every time step, each processor exchanges some of its
tokens with each of its neighbors in the network. The goal is to minimize the
discrepancy between the number of tokens on the most-loaded and the
least-loaded processor as quickly as possible.
Rabani et al. (1998) present a general technique for the analysis of a wide
class of discrete load balancing algorithms. Their approach is to characterize
the deviation between the actual loads of a discrete balancing algorithm with
the distribution generated by a related Markov chain. The Markov chain can also
be regarded as the underlying model of a continuous diffusion algorithm. Rabani
et al. showed that after time , any algorithm of their
class achieves a discrepancy of , where is the spectral
gap of the transition matrix of the graph, and is the initial load
discrepancy in the system.
In this work we identify some natural additional conditions on deterministic
balancing algorithms, resulting in a class of algorithms reaching a smaller
discrepancy. This class contains well-known algorithms, eg., the Rotor-Router.
Specifically, we introduce the notion of cumulatively fair load-balancing
algorithms where in any interval of consecutive time steps, the total number of
tokens sent out over an edge by a node is the same (up to constants) for all
adjacent edges. We prove that algorithms which are cumulatively fair and where
every node retains a sufficient part of its load in each step, achieve a
discrepancy of in time . We
also show that in general neither of these assumptions may be omitted without
increasing discrepancy. We then show by a combinatorial potential reduction
argument that any cumulatively fair scheme satisfying some additional
assumptions achieves a discrepancy of almost as quickly as the
continuous diffusion process. This positive result applies to some of the
simplest and most natural discrete load balancing schemes.Comment: minor corrections; updated literature overvie
Tight Bounds for Randomized Load Balancing on Arbitrary Network Topologies
We consider the problem of balancing load items (tokens) in networks.
Starting with an arbitrary load distribution, we allow nodes to exchange tokens
with their neighbors in each round. The goal is to achieve a distribution where
all nodes have nearly the same number of tokens.
For the continuous case where tokens are arbitrarily divisible, most load
balancing schemes correspond to Markov chains, whose convergence is fairly
well-understood in terms of their spectral gap. However, in many applications,
load items cannot be divided arbitrarily, and we need to deal with the discrete
case where the load is composed of indivisible tokens. This discretization
entails a non-linear behavior due to its rounding errors, which makes this
analysis much harder than in the continuous case.
We investigate several randomized protocols for different communication
models in the discrete case. As our main result, we prove that for any regular
network in the matching model, all nodes have the same load up to an additive
constant in (asymptotically) the same number of rounds as required in the
continuous case. This generalizes and tightens the previous best result, which
only holds for expander graphs, and demonstrates that there is almost no
difference between the discrete and continuous cases. Our results also provide
a positive answer to the question of how well discrete load balancing can be
approximated by (continuous) Markov chains, which has been posed by many
researchers.Comment: 74 pages, 4 figure
Perancangan dan Pengujian Load Balancing dan Failover Menggunakan NginX
Situs web dengan traffic yang tinggi dapat menyebabkan beban kerja yang berat di sisi server, yang pada gilirannya akan mengakibatkan turunnya kinerja server, bahkan kegagalan sistem secara keseluruhan. Salah satu solusi untuk mengatasi masalah tersebut adalah dengan menerapkan teknik load balancing dan failover. Load balancing merupakan teknologi untuk melakukan pembagian beban kepada beberapa server, memastikan tidak terjadi kelebihan beban pada salah satu server. Sementara itu, failover merupakan kemampuan suatu sistem untuk berpindah ke sistem cadangan jika sistem utama mengalami kegagalan. Dalam penelitian ini load balancing dengan teknik failover akan diimplementasikan pada sistem operasi Ubuntu. Software inti yang digunakan dalam penelitian ini adalah Nginx dan KeepAlived. Nginx akan berfungsi sebagai load balancer, sedangkan KeepAlived untuk mengimplementasikan teknik failover. Beberapa skenario telah disiapkan untuk menguji sistem load balancing yang telah dirancang. Pengujian dilakukan dengan menggunakan perangkat lunak JMeter. Berdasarkan pengujian yang telah dilakukan, sistem yang dirancang berhasil membagikan beban permintaan dan dapat terus bekerja walaupun terjadi kegagalan pada server load balancer ataupun kegagalan pada server backend. Selain itu, dalam beberapa pengujian, penggunaan load balancing terbukti mampu menurunkan waktu respon dan meningkatkan thoughput pada sistem sehingga mampu meningkatkan performa keseluruhan sistem. Mengacu pada hasil penelitian ini, sistem load balancing dan failover menggunakan Nginx dapat dijadikan salah satu solusi pada sistem web server dengan situs web yang memiliki traffic tinggi