Mass Storage System

Jasmine

Jasmine is a collection of user programs and server processes that interface with the Jefferson Lab tape library and mass storage system.

Supported Systems

Jasmine client applications are supported on interactive user nodes and properly configured Red Hat Enterprise Linux 5 and 6, 32- and 64-bit machines.

Stub Files

Every file written to tape resides at a designated location within a virtual filesystem. The structure of this filesystem is mirrored in a "stub" directory rooted at /mss on centrally managed machines. One can examine the names of files stored on tape by inspecting this directory tree, and can obtain basic information about them by examining the contents of the corresponding stub files. In particular, a stub file indicates the size of the actual file, its md5 checksum, creation time, owner, group, permission, and other bits of metadata.

Accounts and Permissions

Every request to read or write files, or to modify the operation of jasmine processes requires authentication. Client tools identify users to jasmine via scientific computing certificates stored in their home directories.

Writing to Tape

Data is written to tape in several ways: high priority scheduled tasks shuttle raw experimental data from the halls directly to tape, data can be written via automated tools such as Auger and the new cache system, and users can submit write requests via the jput command, granted they have suitable privilege.

Reading from Tape

Most data is read from tape either via a call to the jget command or through a higher level software system, such as Auger, jcache, or the HPC Cache Manager.

Jobs and Requests

In jasmine terminology, each file read or write operation is called a job, and multiple files submitted at the same time (as arguments to jput or jget, for instance) are grouped in one request.

Performance Considerations

The factor contributing most to the efficiency of the tape system is file size.  Every file written to tape requires a certain amount of overhead during its processing and storage.  As file sizes decrease beneath several hundred megabytes, this overhead quickly outweighs the actual I/O time.  Writing several small files is okay, but writing many small files guarantees poor performance.  Worse, the impact of dumping a request for large numbers of small files into the system is felt by all users.  For the time being, please be judicious about submitting files smaller than 200MB.  If possible, package directories with many small files in .tar or .zip archives for storage on tape.

Larger files are obviously more efficient, but they can become cumbersome to work with in excess.  The administrative limit on files written to tape is currently set at 200GiB (200*2^30 bytes).

The optimal size for files processed by jasmine is in the range 2GB-20GB.