Print

Print


Brew, CAJ (Chris) wrote:

> So the question is how should this be handled? 

It seems like a no-brainer - use TMPDIR.

It doesn't break anything, it's a well specified standard, and
non-project apps are likely to use it anyway.

Inventing yet-another definition -- or even setting up wrapper scripts
-- when TMPDIR already exists, is used and is available seems pointless.

I've already been asked in the past to define a variable with the path
to a large (10GB+) scratch volume for an experiment, and TMPDIR was
their existing preferred name.

[Note, however, that experiments should use mktemp to carve their own
namespace out of TMPDIR as it may or may not be shared with other users.]

The only reason presented _not_ to use it is that PBS defines this
variable to a PBS spool directory (for this exact intended purpose)
which might cause some sites by surprise.  This doesn't seem like a
compelling reason to avoid it; sites can trivially redefine this
variable if necesary.

> It seems like the current LCG standard of setting EDG_WL_SCRATCH but not
> TMPDIR is the worst of both worlds.

EDG_WL_SCRATCH doesn't appear to be standard, or at least, not in very
common use as my YAIM-generated WN environment doesn't define it.

(According to that Savannah transcript, MPI jobs will break if it is
defined with a path to a non-shared volume, as would be the case locally
anyway.)

No, unless there's a compelling reason that no-one's already mentioned,
using TMPDIR seems like the only sensible way to proceed.

Cheers,
David
-- 
David McBride <[log in to unmask]>
Department of Computing, Imperial College, London