Dmitry,

On 11.02.2012 20:15, Dmitry Yemanov wrote:
> 11.02.2012 20:03, marius adrian popa wrote:
>
>> I will respond for 2) at first changing the offsets to 64bit doesn't
>> look too hard  replace SLONG with SINT64
>> in the lock.cpp functions
>> but i might be wrong so i leave the core dev if is easy
> First of all, this must be conditional depending on the target
> architecture. It makes zero sense to have 64-bit offsets on 32-bit builds.
>
> Also, many lock table internals are stored as offsets. Making them int64
> will make the every lock table being almost twice bigger in size. It's
> likely to crash on heavily loaded 32-bit hosts (unless compiled
> conditionally, see above) but it also may have performance implications
> on 64-bit hosts (unless you have plenty of the unused RAM).
>
>

What shall we do? Going to 64-bit offsets will grow lock manager table 2X and 
slow performance 
slightly for nearly everybody.

There might be an acceptable temporary solution. Engine does 4-byte alignment 
for all variables 
inside the lock manager.
It might be possible to raise the limit by the factor of 4 without growing 
memory requirements, via 
adding an offset to pointer conversion macro (for both SRQ and all lock manager 
"pointers").

Chipsets that can handle 2 TB of RAM and 8 CPU sockets (<=80 cores, <=160 
threads) are the largest 
"commodity" type hardware available now. These are the largest systems we 
worked on.
8 GB of lock manager space per database should be just enough for them. With 
the allocation error 
check in place we'll have this problem solved for the next year or two until 
larger systems become 
common.

Is this a better solution than going to 64 bit straight on a 64-bit host?

Nikolay Samofatov



------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to