Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and grids. It is based on a hierarchical design targeted at federations of clusters. Ganglia is currently in use on over 500 clusters around the world and has scaled to handle clusters with 2000 nodes.
The Spread Toolkit provides tools for developing reliable and robust distributed applications ranging from collaboration tools to fault-tolerant database servers to replicated Web servers. It consists of a daemon which provides multicast messaging, reliability, ordering, and membership services, and a library which applications link with. Spread provides a simple API for writing group applications and is designed to provide high performance for local and wide area networking applications.
JXTA technology is a set of open protocols that allow any connected device on the network ranging from cell phones and wireless PDAs to PCs and servers to communicate and collaborate in a P2P manner. JXTA peers create a virtual network where any peer can interact with other peers and resources directly even when some of the peers and resources are behind firewalls and NATs or are on different network transports. The project goals are interoperability across different peer-to-peer systems and communities, platform independence, multiple/diverse languages, systems, and networks, and ubiquity: every device with a digital heartbeat.
radmind is a suite of Unix command-line tools and a server designed to remotely administer the file systems of multiple Unix machines. At its core, radmind operates as a tripwire. It is able to detect changes to any managed filesystem object, e.g. files, directories, links, etc. However, radmind goes further than just integrity checking: once a change is detected, radmind can optionally reverse the change. Each managed machine may have its own loadset composed of multiple, layered overloads. This allows, for example, the operating system to be described separately from applications. Loadsets are stored on a remote server. By updating a loadset on the server, changes can be pushed to managed machines.
qmail-ldap is an extension to stock qmail-1.03 to get all user account information from an LDAP database. Its primary target is POP toasters with thousands to millions of users, such as in ISP, FreeMail, and Corporate environments. It features full SMTP/POP3/IMAP server clustering for scaling and high availablity. Additionally there are state-of-the art spam filters, TLS SMTP encrytion, and mailbox quotas. A migration path for Netscape Messenger and Software.com's Post.Office installations is provided.
ClusterIt is a suite of software to allow easy maintenance of large groups of machines. It does not provide a parallel programing environment, but is meant to be utilized in managing one, or simply to manage massive server farms. It includes such features as parallel rsh, parallel copy, parallel virtual xterminals (xterms), and job scheduling facilities for performing parallel compiling. It also has programs to allow barrier syncing in shell scripts.
Unified Parallel C (UPC) is an extension of the C programming language designed for high performance computing on large-scale parallel machines. The language provides a uniform programming model for both shared and distributed memory hardware. The programmer is presented with a single shared, partitioned address space, where variables may be directly read and written by any processor, but each variable is physically associated with a single processor. UPC uses a Single Program Multiple Data (SPMD) model of computation in which the amount of parallelism is fixed at program startup time, typically with a single thread of execution per processor. Berkeley UPC provides a portable, high-performance compiler for developing UPC software on systems ranging from clusters to custom supercomputers and even laptop-grade systems.
mod_backhand is a load balancing module for Apache. It provides per-request HTTP redirection within a heterogeneous Apache server cluster. Each request is processed and run through a set of "candidacy functions" to determine which server is best suited to respond. The request is then proxied to that server. Facilities are in place to allow you to write your own dynamically loadable decision making algorithms. Everything about the request and the current availability of resources can be used in the decision-making process.
Wackamole is a tool that helps with making a cluster highly available. It manages a bunch of virtual IPs that should be available to the outside world at all times, and ensures that exactly one machine within the cluster is listening on each virtual IP address that Wackamole manages. If it discovers that particular machines within the cluster are not alive, it will almost immediately ensure that other machines acquire the virtual IP addresses the down machines were managing. At no time will more than one connected machine be responsible for any virtual IP.
Sharedance is a high-performance server that centralizes ephemeral key/data pairs on remote hosts, without the overhead and the complexity of an SQL database. It was mainly designed to share caches and sessions between load- balanced PHP Web servers. Access to a Sharedance server is trivial through a simple PHP API and it is compatible with the expectations of PHP 4 and PHP 5 session handlers with no code change.