BalanceNG is a modern, IPv6 capable software IP load balancing solution. It is small, fast, and easy to use and set up. It offers session persistence, different distribution methods (Round Robin, Random, Weighted Random, Least Session, Least Bandwidth, Hash, Agent, and Randomized Agent) and a customizable UDP health check agent in source code. It supports VRRP to set up high availability configurations on multiple nodes. It supports SNMP, integrating the BALANCENG-MIB with Net-SNMPD. It implements a very fast in-memory IP-to-location database, allowing powerful location-based server load-balancing.
GNUnet is a peer-to-peer framework with focus on providing security. All peer-to-peer messages in the network are confidential and authenticated. The framework provides a transport abstraction layer and can currently encapsulate the network traffic in UDP, TCP, HTTP, HTTPS, or direct 802.11 (WLAN). GNUnet supports accounting to provide contributing nodes with better service. The services built on top of the framework include anonymous file sharing and a virtual network providing IPv4-IPv6 transition via protocol translation over the P2P network.
Pen is a load balancer for "simple" TCP-based protocols such as HTTP or SMTP. It allows several servers to appear as one to the outside. It automatically detects servers that are down and distributes clients among the available servers. This gives high availability and scalable performance.
Keepalived for LVS aims to add a strong and robust keepalive facility to the Linux Virtual Server project. This project is written in C with multilayer TCP/IP stack checks. It implements a framework based on three family checks: Layer3, Layer4, and Layer5. This framework gives the daemon the ability of checking a LVS server pool states.When one of the servers in the LVS server pool is down, keepalived informs the Linux kernel via a setsockopt call to remove this server entry from the LVS topology. In addition, it implements a VRRPv2 stack to handle director failover.
SLURM is a resource manager designed for Linux clusters of all sizes. It provides three key functions. First, it allocates exclusive and/or non-exclusive access to resources to users for some duration of time so that they can perform work. Second, it provides a framework for starting, executing, and monitoring work (typically a parallel job). Finally, it arbitrates conflicting requests for resources by managing a batch queue of pending work.