OpenSSI Logo SourceForge Logo

project
 home page
 sourceforge page
 mailing lists
 feature list
 demos
 screenshots
 Bruce's corner
 related links
 wiki
downloads
 notes
 1.2 stable
 1.9 development
 CVS
documentation
 1.2 stable
 1.9 development
 roadmap
 wiki
work items
 task list
 bug database
 feature requests
 process mgmt hooks
  hide sidebar

Feature List

  1. Membership
    • courtesy of the CI project
    • includes libcluster and the cluster command (part of Cluster Tools)
  2. Internode Communication
  3. Filesystem
    • CFS is transparently stacked over any ext3 mount, making it instantly and coherently shared across the cluster
    • CFS can be used for the root and other filesystems
    • there is mount enforcement across nodes in the cluster so an NFS mount on any node is automatically done on all nodes;
    • reopen of files, devices, ipc objects when processes move is supported
    • CFS supports file record locking and shared writable mapped files (along with all other standard POSIX capabilities
    • HA-CFS is configurable for the root or other filesystems
    • Lustre is supported;
    • openGFS was supported but is not currently
    • GFS will be supported in OpenSSI 2.x but is not currently supported
  4. Process Management
    • very complete, including:
      • clusterwide PIDs
      • process migration and distributed rexec(), rfork() and migrate() with reopen of files, sockets, pipes, devices, etc.
      • vprocs
      • clusterwide signalling, get/setpriority
      • capabilities
      • distributed process groups, session, controlling terminal
      • surrogate origin functionality
      • no single points of failure (cleanup code to deal with nodedowns)
      • Load leveling at exec() time and during process execution
      • clusterwide ptrace() and strace
      • clusterwide /proc/<pid>, ps, top, etc.
      • threaded processes migrate as a group
      • process groups can migrate as a group
  5. Devices
    • there is a clusterwide device model via the devfs code
    • each node mounts its devfs on /cluster/node#/dev and bind mounts it to /dev so all devices are visible and accessible from all nodes, but by default you see only local devices
    • a process on any node can open a device on any node
    • devices are reopened when processes move
    • processes retain a context, even if they move; the context determines which node's devices to access by default
    • single, clusterwide /dev/pts
  6. IPC
    • all IPC objects/mechanisms are clusterwide:
      • pipes
      • fifos
      • signalling
      • message queues
      • semaphore
      • shared memory
      • Unix-domain sockets
      • Internet-domain sockets
    • reopen of IPC objects is there for process movement
    • nodedown handling is there for all IPC objects
  7. Clusterwide TCP/IP
    • HA-LVS is integrated, with extensions
    • extension is that port redirection to servers in the cluster is automatic and doesn't have to be managed.
  8. Paging/Swapping
    • not clusterwide
    • each node is independent
  9. Kernel Data Replication Service
    • it is in there (cluster/ssi/clreg)
    • no subsystems are using it
  10. CLVM/EVMS
    • not there
  11. Shared Storage
    • we have tested shared FCAL and use it for HA-CFS
  12. HA interconnect
    • Bonding is supported
  13. DLM
    • is integrated with CLMS and is HA
  14. Sysadmin
    • services architecture has been made clusterwide
    • ps, top, ipcs are clusterwide by default
    • localview command can limit view to local node
  15. Init, Booting and Run Levels
    • system runs with a single init which will failover/restart on another node if the node it is on dies
  16. Application Availability
    • application monitoring/restart provided by spawndaemon/keepalive
    • services started by RC on the initnode will automatically restart on a failure of the initnode
  17. Timesync
    • NTP for now
  18. Load Leveling
    • for connection load balancing, using HA-LVS
    • process load leveling is on by default
    • process load leveling can occur at exec() time or during execution
    • applications must be registered to load level
  19. Packaging/Install
    • Have source patch, binary RPMs and CVS source options;
    • Can also build Debian packages from CVS source;
    • First node is incremental to a standard Linux install
    • Other nodes install via netboot, PXEboot, DHCP and simple addnode command;
  20. Object Interfaces
    • standard interfaces for objects work as expected
    • no new interfaces for object location or movement except for processes (rexec(), migrate(), and /proc/pid/goto to move a process)

This page last updated on Wed Jan 12 01:15:26 2005 GMT
privacy and legal statement