RE: [AMBER-Developers] Backup file renaming?

From: Ross Walker <>
Date: Sat, 7 Mar 2009 12:20:17 -0800

Hi Joe,

> The one disadvantage is that Fortran doesn't have portable file
> manipulation commands, so file RENAME and DELETE are non-standard and
> may require C library functions.
> An alternative approach is to have a single file that contains 2 sets of
> restart data, written with direct access. You can write restart data to
> the inactive half, then change the active flag last.

I don't believe that this will work. The key is to avoid file corruption
that occurs for example when a node dies (or the queuing system kills you)
while the file is being written. This often results in corrupt files or
files containing garbage. Sure one would hope that writing to different
parts of the file would be fine and it probably would be if you were writing
to the second half when it crashes but if you are writing to the first half
I wouldn't expect the second half to remain intact. Especially seeing as
most of the filesystems are things like Lustre etc which write things in
chunks my expectation would be that you would loose a chunk of data and
chances are this would overlap with the second part of the file.

I think it is much safe and much much simpler from a user perspective (and
completely maintains backwards compatibility) to just have the .rst and
.rst.bak system with simple renaming. We just need to add the c routines to
do this in src/lib and link it in. I'll probably try and do it next week if
I get a chance.

All the best

|\oss Walker

| Assistant Research Professor |
| San Diego Supercomputer Center |
| Tel: +1 858 822 0854 | EMail:- |
| | PGP Key available on request |

Note: Electronic Mail is not secure, has no guarantee of delivery, may not
be read every day, and should not be used for urgent or sensitive issues.

AMBER-Developers mailing list
Received on Sun Mar 08 2009 - 01:21:06 PST
Custom Search