
D2.1.4 IST-033576
• flags: used to specify whether the callback should be executed in a thread
context (CR_THREAD_CONTEXT) or in a signal context (CR_SIGNAL_CONTEXT).
All thread-based callbacks are runned before signal-based callbacks
2.4.5 Critical section
BLCR provides user-level code with “critical sections” in order to allow groups
of instructions to be performed atomically with respect to checkpoints.
c r _ e n t e r _ c s ( c r _ c l i e n t _ i d _ t i d ) ;
c r _ l e a v e _ c s ( c r _ c l i e n t _ i d _ t i d ) ;
BLCR designed critical sections mechanisms so that a function can enter a
critical section and return without freeing it, so long as a matching cr_leave_cs
function is called later.
There are two cases where critical sections can be used :
• In the application context: in this case, this function ensures that if a check-
point occurred during the execution of the critical section, the checkpoint
will be deferred. If a checkpoint is already in progress, this call may block.
Before using the critical sections mechanisms, each concerned thread must
have made a call to the cr_init function.
• In a callback context: a same function could be used in a thread callback
context and in the application. Nevertheless, there is no sense to do a crit-
ical section in a callback context. Therefore, in this case the ’id’ must be
the value CR_ID_CALLBACK, and in this case, this routine will returns
immediately.
3 Node-level VO support
3.1 Introduction
The XtreemOS D2.1.4 prototype was validated on two platforms: a laptop and a
PC. The laptop is a Dell D620 laptop running an OpenVZ virtual machine (con-
tainer). This virtual machine runs a Debian Etch Linux distribution. The PC is a
Pentium III running Debian GNU/Linux 4.0 (Etch).
3.2 Installation
The current release of the XtreemOS NSS/PAM modules is version 0.04, pack-
aged in file xtreemos-nss-pam-0.04.tar.gz of xos-nss-pam-0.04-
11/49 XtreemOS–Integrated Project
Comments to this Manuals