Subject Re: [IB-Architect] Re : License Question
Author Emil Briggs
Ann Harrison wrote:
>
> From: Ann Harrison <harrison@...>
>
> At 11:08 PM 3/23/00 -0500, Emil Briggs wrote:
>
> >Is locking between process's handled by gds_lock_mgr in "classic"?
> >
> >I ask since I'm wondering how difficult it would be to implement
> >a distributed lock manager so that one could run Interbase on
> >a cluster.
>
> Somewhere between quite and very. The lock manager is the greatest
> bottleneck in the database. If the lock table ever got swapped out,
> everything would stop.
>
> Ann
>

>>I ask since I'm wondering how difficult it would be to implement
>>a distributed lock manager so that one could run Interbase on
>>a cluster.
>
>Somewhere between quite and very. The lock manager is the greatest
>bottleneck in the database. If the lock table ever got swapped out,
>everything would stop.
>

Keeping the pages used by the lock table in RAM should be easy to
do with mlock. I'm curious about how the lock manager works for
classic since being able to run on a cluster would be a big plus
for certain applications. So with the disclaimer that I havn't
seen the source code yet and don't know how things are implemented
in the classic architure let me ask a few (possibly naive) questions.

1. I assume that each process spawned from inetd communicates for
locking purposes via some form of IPC? If this is Sys5 IPC then
a package like DIPC should make a distributed version easy to
implement (performance might be lousy of course but for a read
mostly database that might not matter).

2. Is there any high level description of how the lock manager
works in classic available anywhere? (I know we'll have answers
to these questions when the source is released).

Thanks
Emil