Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 6 of 6 total
Thread DBIsam Server on Multi-Core machines
Tue, May 22 2012 8:26 PMPermanent Link

Norman Rorke

Some of my clients are complaining that dbisam is only using a single
cpu on multi-core machine. One cpu gets stresses close to 100% while the
others are not used at all. Is an inherent DbIsam issue?
Wed, May 23 2012 6:45 AMPermanent Link

Jose Eduardo Helminsky

HPro Informatica

Norman

As I know, this task belongs to OS and not for DBISAM neither ElevateDB.
Both products are multi-thread and the OS have to deal with multicores.

Eduardo

Wed, May 23 2012 8:11 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Norman


Just to build a bit on Eduardo's post. When writing something you basically have two choices - let the OS (I'm not just talking Windows here) decide or force it to use a specific CPU. The only time anyone with sanity still functioning will go down the latter path is if they know in advance the architecture they are writing for. That may mean writing for two cores if you know there'll be at least two of them. The norm in the Windows world seems to be let the OS sort it out.

The next problem is splitting the code into chunks that can be dealt with on separate cores, and possibly writing some sort of code for handling bits finishing in a different order to the one you need them in.

Remember that DBISAM saw the light of day before multiple cores existed so nothing special will have been done to try and load balance, and that its really in maintenance mode with a sprinkling of enhancements these days.

Finally the 100% is probably some dirty great sql query kicked off by one session on the server. Possible to segment but you'd be into Oracle like pricing.

I think there have been other threads about this but can't come up with the right search string to find them Smiley

Roy Lambert [Team Elevate]
Wed, May 23 2012 9:55 AMPermanent Link

Raul

Team Elevate Team Elevate


AFAIK DBISAM is multi-threaded - thread per client connection/session so if you have a very busy client (complex SQL for example) then that operations will max out one core. However if you have couple of those client connections then they should be maxing out multiple cores.

There was a discussion on EDB forums about this and it is applicable to DBISAM as well

http://www.elevatesoft.com/forums?action=view&category=edb&id=edb_general&page=1&msg=13784#13784

Raul


<<
Norman Rorke wrote:

Some of my clients are complaining that dbisam is only using a single
cpu on multi-core machine. One cpu gets stresses close to 100% while the
others are not used at all. Is an inherent DbIsam issue?&#63232;
>>
Wed, May 23 2012 11:29 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Raul


No wonder I couldn't find it I just searched the DBISAM bits Frown

Roy Lambert
Wed, May 23 2012 7:46 PMPermanent Link

Norman Rorke

Thank you for the feedback everyone, I have learned a lot from it!



On 23/05/2012 12:26 p.m., Norman Rorke wrote:
> Some of my clients are complaining that dbisam is only using a single
> cpu on multi-core machine. One cpu gets stresses close to 100% while the
> others are not used at all. Is an inherent DbIsam issue?
Image