Sleipner Load Balancing




Documentation Logo Logo

About Sleipner

Sleipner is an extensible load-balancing framework using multicasting, developed for the Linux 2.4 kernel. It was written as a project at ITU with the purpose of studying decentralized (no single point of failure) load balancing technologies. The project is not in a state where we would recommend real world usage and it is not being developed further or mainained for the time being. If you need to use something like this in production systems we recommend that you take a look at the CLUSTER_IP netfilter module, which ships with the kernel.

However the code remains available for download should you wish to peruse it or play with it. As do the report of our work which contains documentation of the code, detailed description of the method, test results and a survey of load-balancing technologies.

Sleipners orignal purpose

Various load-balancing solutions are available today. Most of these suffer from several issues such as single point of failure or merely the high prices that comes with specialised and proprietary solutions. We propose and implement a framework for load balancing solutions that eliminates the single point of failure. The framework, called Sleipner after the Odin's eight legged horse from Nordic mythology, is flexible and enables programmers to adapt the load balancing to the exact requirements a such may have. The framework enables the programmer to create single system image clusters, which to the outside world looks like a single host. We use multicasting in order to distribute the packets to all cluster hosts. These are hereafter filtered on each cluster host such that only one host ends up receiving the packet.

The idea is that no two web clusters are alike. Each cluster has its own unique requirements in respect to reliability and performance. In order for this to be accomplished we have created the foundation for future implementations of load-balancing algorithms, that is we have hidden all the kernel specific implementation that is needed to make load balancing.

Copyright 2004 Sleipner Logo