RSS icon News

From Kerrighed

Contents

General Kerrighed Architecture

Kerrighed Architecture

The Kerrighed architecture is divided in 14 modules. The 2 lower ones are related to the Kerrighed communication sub-system. The middle one is a generic mechanism used to implement the Kerrighed distributed services.

Finally, the remaining modules implement the different Kerrighed services.

Description of the Kerrighed modules

RPC

This module implements a high level distributed service manager. It offers functionalities close to what one found in the RPC mechanism. Most explicit communications are implemented on top of this interface.

Hot Plug

The hot plug module is responsible for tracking node addition, removal and failure and to manage the cluster reconfiguration.

KDDM

The Kerrighed Distributed Data Manager (KDDM) mechanism is a distributed data manager. It offers high level mechanisms to access to remote data easily and efficiently. Most Kerrighed services are implemented on top of containers.

Capability

Kerriged capabilities make it possible to finely tune what processes are allowed do in a Kerrighed system. It is used to enable or disable some Kerrighed functionalities on a per process basis in a running system.

ProcFS

This module implements the global /proc directory. It provides the same files than a regular /proc directory but with data representing the whole cluster (global memory usage, list of all running processes, etc).

Sync

This module implements basic distributed synchronization mechanisms, such as locks, semaphores or condition variables. It is used to implement user level distributed synchronizations (IPC semaphores, Posix thread synchronizations, etc).

IPC

This module implements a distributed version of IPC mechanisms. It relies on the mm module for shared memory segments and on the sync module for semaphores.

FS

This module implements the support for migration of open files and the sharing of file pointer for processes running on different nodes. It will later implement a distributed architecture for file management on clusters.

MM

The mm module is responsible for the migration of process address space and cluster wide memory sharing.

Dynamic Streams

The dynamic streams module implements a generic mechanism used to migrate efficiently open streams such as pipe, sockets, char devices, etc...

Ghost

This module implements a generic layer used to export / import processes kernel meta-data. It is used to migrate, checkpoint and duplicate processes.

Proc

The proc module implements a distributed management of processes. It is responsible for global process naming, distant signaling, etc.

EPM

The Enhanced Process Management" module implements process migration, process checkpointing, distant fork and distributed thread management.

Global Scheduler

This module implements the different Kerrighed global process scheduling policies.