Read-only cache

No longer available (replaced by write-through cache on May 17 2016)

Within the read-only /cache/mss, the allocation of cache disk space is organized into cache families, such as farm, clas, or default.  Only Auger can use farm cache family to jcache files for farm jobs.  When the total data in the disk pool excess its allocation (pool size), the least recently used files will be automatically deleted to free space for additional files (i.e. it is never full, and contents are turned over very quickly).

Files may be "pinned" to make them ineligible for deletion. Each cache family has a pin allotment (like quota) and a default pin lifetime.   If no files are eligible for deletion (for example if all are pinned), the tape library will not be able to pull additional files from tape into the full cache area until the pins expire or are removed, or files are deleted from the cache area.

The Scicomp Web portal is the best resource to check the cache family allocation and usage, and the status of any cache request. When a user calls jcache with a specified family, the file will be transferred from tape to cache disk and a pin will be created with the default life time of the specified family. A file can be jcached (pinned) more than once, but only one copy of the file will exist in the cache. When all pins on a file expire, the file will been added into the deletion queue and will be deleted when space is needed.

When the total size of a request exceeds the available allotment of a cache family, the request will not be processed until some old pins on some files expire so that space can be freed by deleting these files.  When some files are no longer needed, one can use jcache delete to remove the files or jcache pin to reset the pin life so the files become eligible for deletion, allowing the rest of the pending files to be fetched.

Each jcache request has a priority determined by the number of files in the request. All jcache requests are processed in the order of their priorities. When the allotment of a cache family is near its limit, requests that only request a single file will be processed first. This design is to prevent a large jcache request from blocking other small requests.