Features
From OpenSSI
OpenSSI is a single-system image (SSI) clustering solution that extends the GNU/Linux operating system to address all categories of computer clustering: High Availability (HA), load balancing, and high performance computing (HPC).
An introduction to OpenSSI is available at our architect's corner.
Contents |
Features Comparison
| OpenSSI | openMosix | Kerrighed | |
|---|---|---|---|
| Single Administrative Domain | Yes | No | No |
| Single Install | Yes | No | No |
| Cluster Membership Guarantees | Yes | No | No |
| High-Availability (HA) Clustering | Yes | No | No |
| HA Shared Root Filesystem | Yes | No | No |
| Single Process Management Space | Yes | No | ? |
| Process Migration | Full | Partial | Partial |
| Process Load Balancing | Yes | Yes | Yes |
| Process Migration is HA | Yes | No | No |
| Migrate Processes Using Semaphores | Yes | Yes | No |
| Migrate Processes Using Shared Memory | Yes | No | Yes |
| Single Thread Migration | Only thread group | No | Yes |
| Process Checkpointing | 3rd party | 3rd party | Experimental |
| Single IPC Namespace | Yes | No | ? |
| Distributed Shared Memory | Migrates | No | Yes |
| Single PTY Namespace | Yes | No | No |
| Single-Site File Naming | Yes | No | ? |
| Coherent Cache / File Access | Yes | ? | ? |
| Migrate Active Filesystem | Experimental (2.0.0pre2) | No | No |
| HA Cluster Filesystem (CFS) | Yes | No | No |
| HA Single Cluster Name/Address | Yes | No | No |
| HA Network Load Balancer (LB) | Yes | No | No |
| LB Auto Detects TCP/UDP IP Services | Yes (UDP 1.9.1) | N/A | N/A |
| Transparent Socket Migration | Not yet | No | Yes |
| Automatic Service Failover | Yes | No | No |
| Diskless Nodes via Network Boot | Yes (PXE/EtherBoot) | No | No |
| CFS support Direct Attached Storage | Yesdrbd | N/A | N/A |
| Support Lustre as Shared Root | Experimental | No | No |
| InfiniBand Cluster Interconnect | Experimental | No | No |
| 64-bit x86_64 | Experimental | No | No |
| Virtualized with Xen as DomU | Debian-SSI | No | No |
| Virtualized with Linux KVM | Yes (1.9.3) | ? | ? |
| Virtual Partitions / Guests | Not yet | No | No |
| Support NSA SELinux | Not yet | No | No |
| Zero Config LiveCD | Yes | 3rd party | No |
| Support Multiple Linux Distributions | Yes (limited) | Yes | Yes |
| SMP (Multi-Core) CPU Support | Yes | No | ? |
| Big Kernel Lock Preemption | Yes (1.9.3) | ? | ? |
| Preemptive Kernel | Yes (1.9.6) | ? | ? |
| Kernel Hot Updates | Not yet (2.0) | ? | ? |
| Support Thousands of Nodes | 64,000 (3.0) | ? | ? |
Note drbd: CFS soft mounts do not require DRBD. HA-CFS hard mounts require OpenSSI modified drbd-0.7 or vanilla drbd-8.2 starting with OpenSSI 2.0.0pre3.
Base OpenSSI Features
A summary of our feature list.
- Single management and administrative domain.
- Single root filesystem enforced across the cluster.
- Single copy of binaries, libraries, and admin files (like password).
- Single PID per process and a clusterwide process management space.
- Transparent, clusterwide namespace for all IPC objects.
- Clusterwide device access and a single pty namespace.
- Consistent "single site" file naming across all nodes.
- Transparent and fully coherent file access across all nodes.
- Integrated with most cluster filesystem technologies; provides flexibility and choice.
- Kernel interfaces to allow integrating other open source technologies.
- A highly available cluster filesystem with transparent failover.
- A single name and address for the cluster and that name/address is highly available, with persistent connections.
- Full process migration including its system calls.
- Exec-time process load balancing.
- A variety of high availability features including
- process monitoring and restart,
- automatic service failover,
- automatic filesystem failover,
- cluster ip address and connection management failover,
- and the ability to lose a home node without killing all the processes that started on it.
- Strong membership guarantees and APIs for membership using Cluster Infrastructure for Linux.
- APIs for rexec() and rfork() as well as migrate.
- Diskless nodes via network boot.
- Features offered in mainline Linux kernel and GNU/Linux operating system.
Built-in OpenSSI Enhancements
Features that are included in OpenSSI release package.
- Keepalive - built-in availability management.
- HA-LVS - built-in load balancer with automatic failover for highly available IP address(es); based on LVS. Includes support for High Capacity Highly Available and Load Balancing and Streamline High Availability and Load Balancing topologies presented in Ultra Monkey.
- HA-NFS - built-in NFS server with automatic failover; parallel NFS client mounts.
- OpenDLM - built-in distributed lock management in OpenSSI cluster file system (CFS).
Extended OpenSSI Features
Third-party open source technologies that have been integrated or modified to enhance your OpenSSI clustering experience.
- DRBD - redundant fault-tolerant logical block device integrated for highly available shared root in OpenSSI without shared storage. (OpenSSI-1.2 and OpenSSI-1.9)
- Infiniband - ultra high-speed network support, network boot over IB (IPoIB). (OpenSSI-1.2; SSI-1.9 IB under development)
- Lustre - ultra high performance filesystem integrated for highly available shared root in OpenSSI. (OpenSSI-1.2)
- OCFS - Oracle cluster filesystem.
- OpenAFS - parallel network filesystem. (testing on OpenSSI-1.2)
- XEN support - built-in support for virtual machine monitor for concurrent execution of multiple OpenSSI operating systems with resource isolation. (Debian-SSI)
HPC Middleware Support
Many of the open source High Performance Computing (HPC) middleware has been run on the SSI cluster, along with some purchasable capabilities.
- MPICH
- LAMPI
- HP MPI
- openPBS
- ScalablePBS
- SLURM
- ganglia
- supermon
- Totalview
- Lustre
- PVFS
- Maui
Server Support
Servers that have been "tested" in OpenSSI. Process migration was not tested.
- LTSP - Linux Terminal Server
- Apache 1.3, 2.0
- Jakarta Tomcat 4/5, BEA Weblogic Server 9
- MySQL Standard and Max with NDB Cluster, Sybase, PostgreSQL
- Sendmail, Postfix, Dovecot, SpamAssassin, ClamAV
- OpenVPN
- Samba, vsftpd
- BIND, ISC DHCP, ntpd, OpenLDAP
- Squid
- Bacula, rsync
- TightVNC, NX (NoMachine)
- Shoutcast, ICEcast
- Servers written in PHP 4, 5
- Servers written in Python
- Servers written in Java
- ...
- mostly everything that comes with your Fedora, Debian, etc. distribution
- anything that runs on Linux 2.4 or Linux 2.6
OpenSSI Limitations
- Cluster Membership: Maximum number of nodes per cluster. 125 nodes in OpenSSI-1.2. 15 nodes in OpenSSI-1.9 (requires recompile to support more). Thousand nodes with future proc hooks.
- Cluster Filesystem (CFS): Maximum filesize, files, directories inherit physical filesystem's.
- UID/GID: 16-bit in OpenSSI-1.2. 32-bit in OpenSSI-1.9.
- Major device types: 255 in OpenSSI-1.2. 4095 in OpenSSI-1.9.
- Minor device types: Maximum number of mountpoints per filesystem type. 8-bit in OpenSSI-1.2. 20-bit in OpenSSI-1.9.
- IPC: Maximum number of semaphores, shared memory segments, message queues. Adjustable up to 32,768 each (for the cluster).
- Sockets: Maximum number of sockets.
- Processes: Maximum number of processes. 32,000 in OpenSSI-1.2. 32,768 per node in OpenSSI-1.9.
- PTY: Maximum number of pty's.
- HA-LVS: Maximum number of connections, directors, CVIP's. Same as original LVS - millions of connections.
- DRBD-SSI: Maximum volume size per drbd device, maximum number of drbd devices. Same as original DRBD.

