[Beowulf] Clearing out scratch space

Jeff White jeff.white at wsu.edu
Tue Jun 12 08:49:14 PDT 2018


We also use a "workspace" mechanism to control our scratch filesystem.  
It's a home-grown system which works like so:

0. /scratch filesystem configured with root as its owner and no other 
write permission allowed.

1. User calls mkworkspace which does a setuid, creates the directory, 
chowns it to the user, then writes a small record file about the 
workspace somewhere outside of it.

2. From cron, rmworkspace runs which reads each record file, determines 
which workspaces have expired, then removes the expired directories and 
record file.

It works well and we have not had a problem with our scratch space 
filling up after 2-3 years of running it.  Each compute node has a local 
SSD and mkworkspace controls access to that too. Almost nobody uses this 
"local scratch" though.

The major downside with this is it that confuses a small portion of 
users.  They would rather just use mkdir by itself instead of using our 
mkworkspace, despite it just being a wrapper for mkdir with some extra 
options.  We opted not to use prolog/epilog scripts or other Slurm 
features to automatically create or remove workspaces.


(it should run as a special user instead of root but I would need to 
give it CAP_CHOWN to be able to chown and my filesystem doesn't support 
Linux capabilities)


Jeff White
HPC Systems Engineer - ITS
Question about or help with Kamiak? Please submit a Service Request 
<https://hpc.wsu.edu/support/service-requests/>.
On 06/12/2018 02:06 AM, Dmitri Chubarov wrote:
> Hello, John,
>
> In HLRS they have what they call a Workspace mechanism 
> (https://wickie.hlrs.de/platforms/index.php/Workspace_mechanism 
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__wickie.hlrs.de_platforms_index.php_Workspace-5Fmechanism&d=DwMFaQ&c=C3yme8gMkxg_ihJNXS06ZyWk4EJm8LdrrvxQb-Je7sw&r=DhM5WMgdrH-xWhI5BzkRTzoTvz8C-BRZ05t9kW9SXZk&m=BuKVxMh1wyVgWXiKoJaXUL7QP0qpxl50rxXlc8JDc84&s=x9rK7qB6v7BhVjwXDATRPqsC57eL1jnCVrBDsSpNtY0&e=>) 
> where each user
> creates a scratch directory for their project under $SCRATCH_ROOT that 
> has end-of-life time encoded in the name and a symlink to this directory
> in their persistent storage directory tree. A cronjob enforces the end 
> of life policy.
>
> One advantage is that it is very easy for the admin to extend the 
> lifespan when it is absolutely needed. It requires only renaming one 
> directory to extend, for example, the lifetime
> of millions of files from genomic applications.
>
> Here at Novosibirsk University where users are getting their resources 
> for free this mechanism has been reimplemented to ensure that shared 
> storage does not turn into a file archive.
> The main shared storage is an expensive PanFS system that is split 
> into two partitions: a larger scratch partitions with a directory 
> lifetime limit of 90 days and a smaller $HOME partition.
>
> Some users in fact are abusing the system by recreating a new scratch 
> directory every 90 days and copying the data along effectively 
> creating  persistent storage. However most of the users do evacuate 
> their valuable data on time.
>
> Greetings from sunny Siberia,
>   Dima
> sys and it works by setting draconian limits
>
> On Tue, 12 Jun 2018 at 15:06, John Hearns via Beowulf 
> <beowulf at beowulf.org <mailto:beowulf at beowulf.org>> 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.
>
>     But the thought struck me - in the Slurm prolog script create a
>     file called
>     THESE-FILES-WILL-SELF-DESTRUCT-IN-14-DAYS
>     Then run a cron job to decrement the figure 14
>     I guess that doesnt cope with running multiple jobs on the same
>     data set - but then again running a job marks that data as 'hot'
>     an dyou reset the timer to 14 days.
>
>     What do most sites do for scratch space?
>
>
>
>     _______________________________________________
>     Beowulf mailing list, Beowulf at beowulf.org
>     <mailto:Beowulf at beowulf.org> sponsored by Penguin Computing
>     To change your subscription (digest mode or unsubscribe) visit
>     http://www.beowulf.org/mailman/listinfo/beowulf
>     <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.beowulf.org_mailman_listinfo_beowulf&d=DwMFaQ&c=C3yme8gMkxg_ihJNXS06ZyWk4EJm8LdrrvxQb-Je7sw&r=DhM5WMgdrH-xWhI5BzkRTzoTvz8C-BRZ05t9kW9SXZk&m=BuKVxMh1wyVgWXiKoJaXUL7QP0qpxl50rxXlc8JDc84&s=J8PMbp5NubCpV3X9xng3I9DoT0cO1gDRn92UyMrjhZo&e=>
>
>
>
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org sponsored by Penguin Computing
> To change your subscription (digest mode or unsubscribe) visit https://urldefense.proofpoint.com/v2/url?u=http-3A__www.beowulf.org_mailman_listinfo_beowulf&d=DwIGaQ&c=C3yme8gMkxg_ihJNXS06ZyWk4EJm8LdrrvxQb-Je7sw&r=DhM5WMgdrH-xWhI5BzkRTzoTvz8C-BRZ05t9kW9SXZk&m=BuKVxMh1wyVgWXiKoJaXUL7QP0qpxl50rxXlc8JDc84&s=J8PMbp5NubCpV3X9xng3I9DoT0cO1gDRn92UyMrjhZo&e=

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.beowulf.org/pipermail/beowulf/attachments/20180612/e236ca53/attachment-0001.html>


More information about the Beowulf mailing list