[Beowulf] Clearing out scratch space
Ellis H. Wilson III
ellis at ellisv3.com
Tue Jun 12 06:41:35 PDT 2018
On 06/12/2018 04:06 AM, John Hearns via Beowulf wrote:
> In the topic on avoiding fragmentation Chris Samuel wrote:
>
> >Our trick in Slurm is to use the slurmdprolog script to set an XFS project
> >quota for that job ID on the per-job directory (created by a plugin which
> >also makes subdirectories there that it maps to /tmp and /var/tmp for the
> >job) on the XFS partition used for local scratch on the node.
>
> I had never thought of that, and it is a very neat thing to do.
> What I would like to discuss is the more general topic of clearing files
> from 'fast' storage.
> Many sites I have seen have dedicated fast/parallel storage which is
> referred to as scratch space.
> The intention is to use this scratch space for the duration of a
> project, as it is expensive.
> However I have often seen that the scratch space i used as permanent
> storage, contrary to the intentions of whoever sized it, paid for it and
> installed it.
>
> I feel that the simplistic 'run a cron job and delete files older than N
> days' is outdated.
>
> My personal take is that heirarchical storage is the answere,
> automatically pushing files to slower and cheaper tiers.
Disclaimer: I work for one such parallel and fast (and often used for
scratch) company called Panasas.
I disagree with the notion that hierarchical storage is a silver bullet
in many HPC-oriented cases. In fact, I would argue in some environments
it poses serious risks to being able to keep a lid on your storage cost
and DC footprint, whether that's for scratch, home, or archive storage.
People (including myself in my own systems testing) can generate an
enormous amount of data that has near-zero value past the project
currently being worked on, which may only be measured in weeks or low
numbers of months. In many of my cases it's cheaper to regenerate those
many TBs of data then to hold onto it for a year or more. Auto-tiering
scratch data to cheaper storage as it gets colder seems like an easy
answer as it takes some of this responsibility away from the users, but
you'll still want to /someday/ ditch that data entirely (for
scratch-like data that is). Culling through piles of likely
mechanically named files you haven't looked at in a long time is
difficult as a human exercise, and without sufficiently complex media
asset management it's also difficult from a storage perspective as your
data may take a /long/ time to even list, much less grep through, when
pulling from true archive storage.
For true scratch I think the solution presented by many of the posters
relating to automatic deletion policies managed by administrators, which
develops and forces good data habits, is ultimately the cleanest
solution in the long-term.
Now, tiering within a storage layer based on different types or access
frequencies of data is perfectly reasonable and is something we do in
our systems. Also, using external software to automatically tier cold
but persistent data (i.e., home dir data) from fast to archive storage
is also reasonable. But there are a lot of pitfalls from trying to
automatically tier data that isn't supposed to be (eternally) persistent
IMHO.
Best,
ellis
--
Ellis H. Wilson III, Ph.D.
www.ellisv3.com
More information about the Beowulf
mailing list