[lug] [Slightly OT] File Management?

Paul E Condon pecondon at mesanetworks.net
Tue Mar 24 15:50:59 MDT 2009


On 2009-03-24_13:41:13, Zan Lynx wrote:
> Paul E Condon wrote:
>
>> On a slightly different level, I am skeptical of the very idea of
>> "point in time snapshots". At a level of detail that we can think
>> about, and may actually be coming into reality, there is no single
>> definition of time that is valid everywhere. This is a well known
>> result of the Special Theory of Relativity. More significantly,
>> because of transmission delays, it is not possible to know of a
>> commit of a transaction until some time after it has actually
>> occurred. This can lead to the system letting other transactions
>> to commit that would have not been allowed had the first commit
>> been known about promptly. This is not a problem of a mistake
>> being made because of an inadequate implementation, but because of
>> an inadequate understanding of the nature of time. Talk of a
>> "point in time" is evidense of an inadequate understanding of
>> the nature of time. 
>>
>
> Computer systems go to a lot of effort to share the definition of "time".  
> In the case of a filesystem with point in time snapshots, think of it in 
> terms of transactions.

My impression is that there is indeed a shared definition of time
within the computer system community, AND that that shared definition
is fundamentally flawed in that it does not take into account what
time actually IS. Just as some backup system grand plans do not take
into account how the mechanical parts of a hard disk actually work.
In a very real sense, there is no definition of time. It is not for us
to define it. We can at best only understand it, and have some idea of
the limitations of our understanding. But we humans have a difficulty
thinking without definitions of words. So we often agree on an
inadequate definition just to have something to think about.

>
> Pick a point in time for the snapshot.  Every file transaction before  
> this point in time is completed.  Every transaction after this point in  
> time has not yet started.

My point is that you cannot DO what you describe above in the real world.
Here I mean by 'real world', the world as it is governed by the laws of
nature. In the real world, transactions are happening all the time. They
do not stop happening in order to accomodate your definition. 

>
> This may mean that the "point" in time is actually rather wide, at least  
> as wide as any of the transactions that were in progress at that point.  
> But it does not mean there is any possibility of being confused as to  

Yes. There are 'managed' transactions that can fit with this. But I
would look at it differently. The transaction does not have an
extended duration, rather there is a minimum time between serialized
transaction that is computable from the physical dimensions of the
system. The information about the intent to commit has to reach the
furthest place in the system and a permission to commit has to be
granted by, and that permission received, before the transaction can
actually take place. Only then can these kinds of events be
serialized. This places a strict upper bound on the rate at which
global markets can execute real time trading, I think.

> what has happened and what has not yet happened.

There certainly is a possibility of being confused WHILE it is all
happening.  After all the records are gathered in one place, it is
possible to know what DID happen, but ... You think you have some
stock and you commit to selling it. Slightly before you sell it, the
company headquarters is hit by nuclear explosion. The buyer wants his
money back because at the moment of the transaction, the stock was
already worthless.

I continue to believe that there is an issue here, but not one
that will likely be resolved by continuing this line of discussion. 

Cheers, 

-- 
Paul E Condon           
pecondon at mesanetworks.net



More information about the LUG mailing list