DragonFly users List (threaded) for 2007-02
Re: clustered (file) system on multiple host
:Reading the list about vkernel, clustering and file system I've began to
: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)?
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.