[saga-rg] Fwd (hupfeld at zib.de): Re: SAGA Strawman API Version 1.0

Jon MacLaren maclaren at cct.lsu.edu
Mon Jun 20 09:34:47 CDT 2005


Hi Andre, all,

Actually, that wasn't the point that I was making.  My point is that  
the code writer has to be aware of whether they are writing code for  
a local filesystem, or a remote one.  (Most application writers  
assume that they *are* writing for POSIX filesystems, thinking that  
their code will only be run on local POSIX filesystems.)

If I am writing code for a system that's distributed, then I should  
try to make the code "loosely coupled".  In other words, to have as  
infrequent interactions with the remote services as possible, and to  
make these more coarse grained.  I will also try to allow for  
failures in the network, knowing that even if it is not possible to  
communicate with the remote component now, it might be possible in  
the future.  (As an example, I have some recent code which tries to  
push logical file mappings into Globus RLS.  If the RLS service is  
not up, the mappings are cached locally, and will be uploaded later.)

With filesystems, if you are writing code to work on a local  
filesystem, then the way you would behave in an error condition is  
different.  If you can't write to your local filesystem, the program  
should probably try to quit (unless perhaps the disk is full, and  
there are some temporary files you can clean out - but this is  
already complex).  However, if the filesystem might be AFS, or  
another remote filesystem, I should think about writing the code so  
that the operations can be retried later.  (With AFS, the writes will  
"succeed", it's the close file operation that you have to be careful  
with.)

Having (briefly) read the discussion on the mailing list, I don't  
believe that trying to enforce POSIX semantics on remote filesystems  
solves the above problem.  You might get a filesystem that has POSIX  
semantics, but it would behave like a very unreliable POSIX  
filesystem.  The point, which is made well in the paper I cited, is  
that you should not try to make remote things look like local things.

In terms of practical advice for SAGA, I don't know how important  
this point is.  The application writer, if using the SAGA interface,  
will probably know that the API is designed to communicate with  
remote components, and will hopefully code accordingly.

I do believe that deciding upon single-system-type POSIX semantics  
everywhere would be a mistake.  But I agree with the point that SAGA  
has to say something about (consistency) semantics too.  If the GGF  
schedule permits, I hope to attend a lively discussion on this next  
week.

For the meeting, it might be worth trying to contact the Legion (and  
AVAKI?) people.  They have been doing this stuff for around ten years  
now.  They support multiple underlying filesystem semantics, I  
believe.  Perhaps this is the voice of experience?  We should try to  
get someone from their team to come along to the discussion.

Jon.


On Jun 20, 2005, at 3:21 AM, Andre Merzky wrote:

> Not w/o semantics, but the programmer has to assume worst
> case.
>
> And, as Jon & John point out, that is not so different from
> what you have 'locally'.  If you open a file for write, you
> SHOULD assume worst case, that is the file is on NFS/AFS,
> and POSIX consistency is NOT guaranteed.
>
> A.
>
>
> Quoting [Thorsten Schuett] (Jun 20 2005):
>
>>
>> I see the point that it is hard guarantee a specific consistency  
>> model in SAGA
>> or make it a configuration option to choose one. But if you  
>> completely ignore
>> this topic in the specs you will end up with a good spec of the  
>> syntax but
>> without semantics.
>>
>> My 0.02???,
>> Thorsten
>>
>
> -- 
> +-----------------------------------------------------------------+
> | Andre Merzky                      | phon: +31 - 20 - 598 - 7759 |
> | Vrije Universiteit Amsterdam (VU) | fax : +31 - 20 - 598 - 7653 |
> | Dept. of Computer Science         | mail: merzky at cs.vu.nl       |
> | De Boelelaan 1083a                | www:  http://www.merzky.net |
> | 1081 HV Amsterdam, Netherlands    |                             |
> +-----------------------------------------------------------------+
>
>





More information about the saga-rg mailing list