Subject Re: [IB-Architect] SMP
Author Paul Beach
1. If InterBase 7.0 supports SMP - it does so on SuperServer not Classic,
Borland dropped support for Classic since 4.2 on Windows and 5.0 on other
2. Implementing SMP in SuperServer is definitely a non trivial task... cf:

<<The technical issues for supporting SMP only have to do with:

1) locating the 100's of shared data structures that must be protected
during concurrent thread access;

2) building a concurrency and scheduler framework to arbitrate this

3) the cache manager, lock manager, and to a lesser extent, metadata
manager would require the most careful attention to detail;

4) some reorganization of memory management to reduce contention during
shared request execution (i.e., internal system requests, triggers,
stored procedures.) In the future, I'd like even user requests to be
shared across all users.

The question of supporting SMP in SuperServer is one of organizational
will and not a technical issue. It would require a great deal of
development resources to achieve because of the project's exposure -
each and every component must be painstaking reviewed for concurrency

3. So - without knowing exactly what Charlie has done, he has either
inplemented the above since 6.5, or has enabled SMP at a much higher level,
but not finished all the work....

If Firebird is to implement SMP - then we have to define the approach and
the mechanisms that are required to do it, and which code base we work from.
Classic or SS. Although Charlie argued long and hard re. SS being the goal
for SMP, Parallel queries, Clustering etc. This may not be the most
practical approach. Unfortunately I do not consider myself to be technical
enough re. Database internals and architecture to lay out the technical road
map required to achieve this.

Paul Beach
Main Tel (UK):+44 (0) 1844 354465
Mobile: (UK): +44 (0) 7764 188603