clustered (file) system on multiple host

Matthew Dillon dillon at apollo.backplane.com
Thu Feb 1 08:27:29 PST 2007


:Reading the list about vkernel, clustering and file system I've began to 
:wonder.
:
:How on earth can you make a cluster without paying for the extreme 
:overhead for locking everything?
:
:Is it a question of locking more specific or is there some 'magical' 
:technology that helps you out of that. Logical speaking (and this more a 
:problem of my knowledge) there always must be some overhead since all 
:machines must know at the same time what the state of an object is, thus 
:creating 'much'(?) traffic for synchronization. So I guess that there 
:must be some tricks to avoid too much traffic.
:
:Or do I just get the concept of clustering wrong (I see it as 
:high-availability combined with load-balancing)?
:
:-- 
:mph

    It actually isn't too hard.  You simply lock a larger area then
    requested (at least until you start getting conflicts).  So if a
    program opens the file "fubar" the machine acquires a range lock on
    the entire contents of the file if it can.  Accesses then do not
    require individual locking.  If multiple programs are competing
    for the same data space, the range locks become more fine grained.

    It all comes down to managing the conflict space.  The fewer
    conflicts there are, the larger the spaces that can be reserved.

    That's the jist of how it can be done efficiently.

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>





More information about the Users mailing list