Subject Re: [firebird-support] IBO, DataPump and Xeon with HT
Author Geoff Worboys
>> Also I spoke with Geoff Worboys the creator of DBAK
>> Components and he has no problems at all with a Dual
>> Xeon with HT Enabled using CPU Affinity....

> One more question, did you ask Geoff if he was using
> Win2000 or WinXP?

OK, I am awake now. :-)

I am using WinXP Pro SP1 with Dual Xeon 2.4GHz CPUs with
Hyperthreading enabled - so my system looks like it has
4 CPUs. With Firebird v1 and later I can use the default
installation and the task manager shows that ibserver/
fbserver are set to use CPU 0 only.

Running DBak or IBO IB_SQL Datapump works with no obvious
problem on my system - I have not done intensive studies
to determine possible differences between hyperthreading
enabled vs disabled, but I have not experienced anything
to make me suspect a problem.

My understanding of Marco's problem is that he has the
same config - but with only a single physical CPU, which
is also a Xeon (ie. designed to be part of a multiple-
physical-processor machine). But when he runs DBak or
the IBO datapump the process runs unacceptably slow if he
has hyperthreading enabled.

Note: Neither DBak nor IB_SQL have multiple threads.

Note 2: The problem was originally obvserved with DBak,
I asked Marco to try the IB_SQL Datapump because DBak is
effectively just a data pump for its data transfer aspect.

Note 3: Marco has tried other applications (not-IBO related)
such as gbak and not seen any problem. Note however that
gbak is not a "datapump" in the the sense that it does not
have two database connections.

I am guessing that the problem comes about because...
- data transfer uses two database connections
OR - because IBO uses threading related calls (TlsGetValue
and TlsSetValue) even when no threading is used.

I have also used Firebird and DBak/Datapump on a dual P3
machine (so no hyperthreading) with no obvious problems.

It seems to me most likely that there is some sensitivity
to using a single P4 Xeon with hyperthreading enabled.

What I think would be worthwhile finding out is whether
the problem also occurs on a normal P4 with hyperthreading.
(DBak is free for use, so anyone with this config can try
it out if they have time - and let us know!)

It would also be interesting to have a non-IBO datapump
type application for Marco to try on his system (something
that transfers bulk data between two databases).

From everything that Marco and I spoke of, this does not
seem like the old "client multi-threading" problem, since
there is no multi-threading enabled. It is either something
peculiar to IBO, or it is something to do with transferring
database between databases. I feel that we need to isolate
this further so we know just how serious is the problem.

Geoff Worboys
Telesis Computing