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.
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.
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.
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.
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.
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.
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.
MultiLoad is a load balancer that redirects HTTP requests to pre-defined servers/locations. It gives the provider a way to balance the traffic and hides the real download location. It allows you to manage different version of each download. It is also a load balancing server extension. You can distribute files on some servers so that a downloaded file can be loaded form different servers. These servers can have different priorities to control the active traffic.
MPIBZIP2 is a parallel implementation of the bzip2 block-sorting file compressor that uses MPI and achieves significant speedup on cluster machines. The output of this version is fully compatible with bzip2 1.0.2 or newer (i.e. anything compressed with MPIBZIP2 can be decompressed with bzip2).
PHPDance is an object-oriented PHP interface to the Sharedance cache server. It allows you to cache data in the very fast and reliable Sharedance cache server. Features include the ability to be distributed across multiple servers and optional redundancy (in which writes go to two servers).