Release Notes 1.4.0

dCap Library and dccp application

Server fail save

In case of a server crash during a read request, the library reissues the request, repositions the filepointer and continues the read operation. These operations are invisible to the application using the dCap library.

Optimized seed_read and seek_write

File pointer operations issued by the library client are collected and not forwarded to the server until a read or write request arrives. These requests are then converted to seek_and_read or seek_and_write requests and sent to the server.

Read Ahead

The dCap library allows to specify a read ahead block size per stream (file handle). The read ahead block size is the amount of data requested from the server independed of the actual requested data by the client. The read ahead feature can be disabled.

Fork support

We support an alternative close call which allows to fork a process between an open and a close.

Secure Socket Layer support

We support the ssl protocol for a secure control connection. We are not yet authenticating the user.

Prestage and checkFile operations

We added library calls to prestage files and check whether they are in the cache or not. Both operations have to be regarded as hints. We may simply ignore the prestage request and we may lie about the status of the file. So the approach
    stageFile( x )
    while( true ){
       if( fileInCache( x ) )break ;
    }
may loop forever or returns, even if the file is not yet cached.

URL like file access

The dCap library supports a URL like file syntax in the open call for read operations. This mode doesn't require pnfs to be mounted.

Job Scheduler

A pool is responsible for staging, storing and moving files from/to the client. Each of these operations is independently queued to prevent server overloading. The maximum number of active move/store/stage operations can be tuned independently. Inactive requests are processed first in first out.

Billing Mechanism

A central module collects information about store/fetch/move operations. This module currently only dumps this information into a logfile. In addition it offers a small subset of this information to the httpd module. The billing module could be connected to a database to allow more sophisticated queries about i/o requests. (This billing scheme is not yet supported by the FTP protocol)

Behaviour on write HSM request failures

In case the store operation into the HSM failes for some reason, the pool is able to deactivate the request or to retry the HSM store operation depending on the return value.

Static (hybrid) pools

To simplify the transition from the recent stage systems to the dCache we are able to offer external data to the dCache users. These pools

PoolManager attraction scheme

One of the basic featues of the dCache is the ability to chose an appropriate cache pool for the incoming read and write requests. The way, the actual pool is calculated, changed significantly from 1.2.0 to 1.4.0.

Previous Versions

In pre 1.4 versions the pools were configured and they sent this information to the PoolManager which builds a transient database to select the pools.

V 1.4.0 and higher

The PoolManager is devided into two parts.

A pluggable module (PoolSelectionUnit) which uses static information to select pools, based on the client host and the HSM storageClass. The output of this module is a list of pools sorted by preference (attraction).

The second part takes the calculated list of pools and queries the top pools for its cost to take a new file. We currently only regard the space cost but are already prepared to use the CPU load cost as well.

Pool Selection Unit

The pool selection unit takes the following information as input The output is a sorted list of pools.

The syntax and the administration interface is described elsewhere.


New PnfsManager (V2)

New Features World wide names are used by FTP and in the dCap URL protocol.

In addition the PnfsManager is able to destinguish between different servers which are mounted on the PnfsManager host. It selects the mountpoint with the largest file tree. If there are different servers mounted the PnfsManager needs a hint which server should be taken as default pnfs server. We are preparing for the support of pnfs id extensions to allow using one PnfsManager for multiple pnfs servers.


Prestaging Module

The first version of a prestaging module has been installed. The module gets the request from the door and manages the actual staging request if necessary. Staging can be delayed.

Ssh Pam Login Manager with real acl support

To allow real authentication and authorization we support the ssh connection to the 'pluggable authentication module' scheme for authentication and we provide a module which allows configurable Access Control Lists.

This and That


Bugs Fixed


In progress


$Date: 2005/04/29 12:38:57 $ Patrick Fuhrmann