| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Taking Advantage of Multiple CPUs
Not to disagree with anything listed below, but that only really deals with simple, primitive 'load balancing'. For a system with a large number of users and/or processes with *little or no contention between them* then SMP alone *may* provide a useful performance boost.
However, if the original poster was looking to maximise his use of an Oracle instance on a box bought specifically to run it (i.e. the normal case) then the database and application design will be the most significant aspects by far.
I would suggest the poster takes a long hard look at the 'parallel' options and technologies that Oracle provides and studies them closely before embarking on his database implementation. And then test, vary, and test again. Repeatedly. I've written multi-processor systems myself in the past - both on tightly and loosely coupled processor systems - and maximising the usage of available CPUs is always dependent on a real understanding of your system (in this case Oracle) in detail, and then designing/implementing around it.
Just my two pennies... :-)
Steve Phelan.
Billy Verreynne wrote in message <6d0ehs$sc8$1_at_hermes.is.co.za>...
>TimKArnold wrote in message
><19980225012700.UAA05684_at_ladder02.news.aol.com>...
>>1. How does Oracle take advantage of multiple CPUs?
>
>If the operating systems is SMP-based then Oracle will automatically scale
>across multiple CPUs.
>
>>2. How can an administrator affect performance other
>> than setting 'cpu_count' in INIT.ORA?
>
>SMP is a function of the operating system. If the operating system is
>configured correctly there is very little that you need to do in Oracle to
>enable it to make use of multiple CPUs. Oracle detects the number of CPUs
at
>startup anyway, so the CPU_COUNT parameter is not generally required.
>
>>3. How does a developer take advantage of multiple CPUs?
>
>Depends on the application. Multithreading is the first thing that comes to
>mind (IMO it should be a feature of most applications). But multithreading
>does not rely on multiple CPUs - it works as well on a single CPU. Some
Unix
>flavours allows you to bind a process to a specific CPU. For example, you
>can implement primitive load balancing by forking child processes and then
>let the child process take a look at the number of CPUs and CPU utilisation
>and then bind itself to the CPU with the lowest utilisation. But I would
>recommend to let the operating system take care of that as the kernel's
load
>balancing algorithms are pretty sophisticated.
>
>regards,
>Billy
>
>
Received on Wed Feb 25 1998 - 00:00:00 CST
![]() |
![]() |