Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> c.d.o.server -> Re: Several CPUs and the parallel option

Re: Several CPUs and the parallel option

From: Rick Denoire <>
Date: Tue, 30 Jul 2002 23:50:00 +0200
Message-ID: <>

"Andy" <> wrote:

That is exactly the answer I was needing!

Now I understand the to do it. I can't wait to test it.

>Remember that you'll need to have data in multiple extents before Oracle can
>use PQO - each PQO server is given an extent to work. Realistically though
>to get the best performance you'll want to spread the data over as many
>disks as possible using Oracle or OS stripping.

At this point, I would request your help again.

At the moment, we can't spread over several disks as it would be needed (well, they are already spreaded in a Sun StorEdge A1000 organized as a 8x16GB Raid 5, but this device is a crap).

My question is, if the degree of parallelism is set to n although there is only one independent device, wouldn't Oracle be forced to use several CPUs anyway? Or is every parallel thread confined to a set consisting of one CPU, one extent and one independent disk?

I mean that although I/O operations use only one device, the CPU work could be parallelized, theoretically at least.

I are going to order additional disks as soon as possible. How should this disks be organized in order to facilitate parallelism? Two possibilities here I know about:

1)JBOD ("just a bunch of disks")
2) Raid

Although a Raid 0 consisting of, say, 8 disks is able to a sustained data transfer that is 8x faster than only one disk, this wouldn't be an independent device (all disks appear like one to the OS), so parallel requests would be queued.

With the JBOD approach and each disk behaving completely independent, parallelism would take place indeed (in this case, I/O would really occur in parallel), but each thread would get data as fast as one disk can deliver, which is n times slower than the Raid.

From the point of view of effective I/O speed, both methods are equivalent. BUT if the parallelism is going to include parallel CPUs processing data from the same session, then the JBOD method would be much better, as it takes advantage of parallelizing both I/O as well as CPU.

In other words, using striped data in a Raid only parallelizes I/O, but not CPU work. Please correct me if I am wrong.

Now I need the advice of all of you out there. Nowadays I/O speed is synonym to Raid. The SAME method (Stripe All Mirror Everything) is a standard recommendation, although in my view, it does not suit requirements for parallel queries. If I don't order a Raid system, someone is going to beat me.

Of course, one could order SEVERAL Raid systems and use each of them as an independent device and achieve full parallelism. But who can afford or that?

So who is using parallel queries and how did he setup his disks? Be aware that I am concerned about running ONE application on several CPUs, I am not dealing with several sessions.

Thanks a lot
Rick Received on Tue Jul 30 2002 - 16:50:00 CDT

Original text of this message