XCache provides a caching service for data federations that serve one or more Virtual Organizations (VOs) based on the XRootD software. This image, based on the OSG XCache image, implements XCache for the ATLAS data federation.
This document covers how to configure and start an ATLAS XCache container.
Before starting the container, write a file containing the following required environment variables and values for your XCache:
XC_RESOURCENAME
: The server name used for monitoring and reportingXC_SPACE_HIGH_WM
: High watermark for disk usage; when usage goes above the high watermark, the cache deletes until it hits the low watermarkXC_SPACE_LOW_WM
: Low watermark for disk usage; when usage goes above the high watermark, the cache deletes until it hits the low watermarkXC_PORT
: TCP port that XCache listens onXC_RAMSIZE
: Amount of memory to use for blocks in flightXC_BLOCKSIZE
: The size of the blocks in the cacheXC_PREFETCH
: Number of blocks to prefetch from a file at once
To configure your cache in clustered mode to make use of a local cache redirector, set the XC_LOCAL_REDIRECTORS
in the
same file as above to a comma-delimited list of redirectors specified by <FQDN>:<PORT>
.
For example:
XC_LOCAL_REDIRECTORS=redir1.example.edu:1094,redir2.example.edu:1094
By default, XCache reports to the OSG so that OSG staff can monitor the health of data federations. If you would like to report monitoring information to another destination, you can disable the OSG monitoring by setting the following in your environment variable configuration:
DISABLE_OSG_MONITORING = true
To run the container, use docker run
with the following options, replacing the text within angle brackets with your
own values:
$ docker run --env-file=<PATH TO ENV FILE> \
--volume <PATH TO HOST CERT>:/etc/grid-security/hostcert.pem \
--volume <PATH TO HOST KEY>:/etc/grid-security/hostkey.pem \
--volume <HOST PATH TO CACHE DISK 1>:<CONTAINER MOUNT POINT 1> \
...
--volume <HOST PATH TO CACHE DISK N>:<CONTAINER MOUNT POINT N> \
--publish <HOST PORT>:<XC_PORT> \
--hostname <XCACHE HOSTNAME> \
opensciencegrid/atlas-xcache:development