A short description of XtreemOS is given below. You can learn more browsing XtreemOS scientific project publications, although you have to keep in mind this documentation is a bit outdated as the project ended in 2009.
XtreemOS is an open source Grid operating system based on Linux. It provides for Grids what a traditional operating system offers for a single computer:
- Abstraction from the hardware: XtreemOS gives to its users the illusion of using a traditional computer while removing the burden of complex resource management issues of a typical Grid environment. When a user runs an application on XtreemOS, the operating system automatically finds all resources necessary for the execution, configures user’s credentials on the selected resources and starts the application. A set of system services, extending those found in the traditional Linux, provides users with all the Grid capabilities associated with current Grid middleware, but fully integrated into the OS;
- Secure resource sharing between different users: resources and users are managed through Virtual Organizations (VOs) which are sets of users that pool resources in order to achieve common goals. Each VO includes some rules governing the sharing of the resources of the given VO.
The implementation of this new operating system tackles the main Grid challenges:
- Scalable: XtreemOS supports dozens of nodes and users dynamically joining and leaving the Grid;
- Transparent: XtreemOS hides the complexity of the Grid by distributed operating system services allowing to run new and legacy applications seamlessly;
- Interoperable: XtreemOS complies with all major standards such as POSIX;
- Dependable: XtreemOS provides reliability and high availability through checkpointing and replication;
- Secure: XtreemOS ensures trust and integrity according to customizable policies.
XtreemOS is running on a wide range of PCs and Linux clusters hardwares.
Easy resources and users administration through Virtual Organizations:
- Web frontend for VO administrators and users
- Creation and management of VO user (and administrator) accounts
- Creation and management of VOs: adding users and resources
- Generation of user XOS-certificates
- Definition of VO level policies for gaining access to specific resource nodes.
XtreemOS brings the Grid to standard Linux users
- Feeling to work with a Linux machine;
- Standard way of launching applications (for example, use the ps command to check status of your own jobs);
- No limit on the kind of applications supported: non interactive and interactive applications.
Transparency for application developers:
- Hierarchy of jobs in the same way as Unix process hierarchy:
- Same system calls: wait for a job, send signals to a job, etc.;
- Processes in a job treated as threads in a Unix process;
- Files stored in the XtreemFS Grid file system which provides a POSIX interface and semantics to access files regardless of their location;
- Transparent fault tolerance to applications;
- A cluster of resources can appear as one resource that adds all the power and memory of the resources (Single System Image of a cluster).
The XtreemOS-G layer
The XtreemOS operating system provides three major distributed services to users:
- Virtual Organization Management (VOM): building and operating dynamic virtual organizations. The VOLifeCycle service provides the tools to create and manage VOs. The Resource Certification Authority (RCA) server provides the authentication and authorization services. The VO policies are enforced by the Virtual Organization Policy Server (VOPS) during the execution of applications.
- Application Execution Management (AEM): providing scalable resource discovery, job scheduling for distributed interactive applications;
- Data management (XtreemFS): accessing and storing data in a POSIX-like file system spanning the Grid.
XtreemFS is an object-based distributed file system that is designed for federated IT infrastructures that are connected by wide-area networks. It can be mounted from anywhere in the Internet. It supports replication and partitioning of metadata servers, and features striping and replication at file/object level. The design of these mechanisms specifically addresses the challenges posed by high latencies and complex failure cases of a cross-site cross-organization environment. The file system monitors itself and autonomously optimizes file distribution, layout and access. It stores extended metadata for files, enforces POSIX ACLs for fine-grained authorization and integrates into virtual organizations.
The Object Sharing Service (OSS) aims at providing a transparent and consistent data sharing service. One the one hand it extends XtreemFS by providing memory-mapped files and on the other hand implementing a transactional memory for volatile memory objects.
XtreemOS provides also a publish-subscribe service based on Scalaris.
All the three main services use a common underlying infrastructure that provides highly available and scalable services:
- Resource Selection Service (RSS): evaluation of queries in JSDL syntax, returning a list of machine satisfying them;
- Application Directory Service (ADS
- Scalable Resource Discovery Service (SRDS)