473,396 Members | 1,834 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Intra-parallelism Parameters

We recently upgraded the box that hosts our main DB2 database to an
8-CPU machine with 8 GB of memory. With all the extra horsepower, we
were eager to test performance with intra-parallelism turned on. We
set the following parameters to the following values:

INTRA_PARALLEL = YES
MAX_QUERYDEGREE = ANY
DFT_DEGREE = ANY

After stopping and starting the instance, none of the parallelism
seemed to be active. The documentation indicated that it should be
with these settings. For grins, we set both MAX_QUERYDEGREE and
DFT_DEGREE to 8 (the number of CPUs) and all of a sudden we had lots
of parallelism going on.

My first question is, was this correct approach to take for making
intra-parallelism active?

My next question involves a related matter. The system ran with its
new settings, serving up data faster than ever. However, as the volume
increased we hit a limit. We ran out of FCM request blocks and all
work came to a halt. The documentation doesn't provide and rules of
thumb for determining what the correct number for this setting (and
its sister setting FCM_NUM_BUFFERS) should be. Can anyone provide me
with a ballpark estimate for an an 8 CPU machine with 8 GB of RAM, a
connection pool (used by applications) of about 100 connections in a
mostly OLTP environment? Platform is AIX 4.3, UDB 7.2 FP8.

Thanks,
Evan
Nov 12 '05 #1
5 6289
"Evan Smith" <es********@hotmail.com> wrote in message
news:23**************************@posting.google.c om...
We recently upgraded the box that hosts our main DB2 database to an
8-CPU machine with 8 GB of memory. With all the extra horsepower, we
were eager to test performance with intra-parallelism turned on. We
set the following parameters to the following values:

INTRA_PARALLEL = YES
MAX_QUERYDEGREE = ANY
DFT_DEGREE = ANY

After stopping and starting the instance, none of the parallelism
seemed to be active. The documentation indicated that it should be
with these settings. For grins, we set both MAX_QUERYDEGREE and
DFT_DEGREE to 8 (the number of CPUs) and all of a sudden we had lots
of parallelism going on.

My first question is, was this correct approach to take for making
intra-parallelism active?

My next question involves a related matter. The system ran with its
new settings, serving up data faster than ever. However, as the volume
increased we hit a limit. We ran out of FCM request blocks and all
work came to a halt. The documentation doesn't provide and rules of
thumb for determining what the correct number for this setting (and
its sister setting FCM_NUM_BUFFERS) should be. Can anyone provide me
with a ballpark estimate for an an 8 CPU machine with 8 GB of RAM, a
connection pool (used by applications) of about 100 connections in a
mostly OLTP environment? Platform is AIX 4.3, UDB 7.2 FP8.

Thanks,
Evan


I can't answer your questions right off hand, but I would cut back the
MAX_QUERYDEGREE and DFT_DEGREE to 6. This will allow some extra processors
for other DB2 related activities.
Nov 12 '05 #2
For static sql, you may need to rebind with the right options.
For dynamic sql, the Current Degree special register is what's activating
the parallelism.

PM
Nov 12 '05 #3
A : On the ground.
B : Probably swimming... ;-)

Never had raid-x but i've seen the parallel in action from io traces i've
made.

PM

"Pierre Saint-Jacques" <se*****@invalid.net> a écrit dans le message de
news:eE*********************@wagner.videotron.net. ..
Please help me out here, I feel I may have been going around with at
least one foot in the mouth?? DB2set parallel_io {all | * |tblspcid,
tblspcid,...}
A) IS not affected by intra_parrallel or max_query_degree or dft_degree
B) IS used and affects only and only tblspcs that are built on raid5 type devices and defined with a single container.

What PM describes in his note applies to any or all tblspcs. defined over JOBD (Just a bunch of disks) where there are mutiple containers for each
tblspc. and each icontainer of a tblspc. is defined over a separate
read/write mechanism. In that case, DB2 will do parallel io is
prefetchsize=extentsize*no. of containers. It will dos even with
parallel_io OFF.

Somebody tel me if I'm right, wrong, all at sea or what???
Thanks, Pierre.

Nov 12 '05 #4
Pierre,

Point A: You are correct - DB2_PARALLEL_IO has no dependency on the
intra_parallel parameters

Point B: DB2 V7 changed the behavior so that any table space can use the
DB2_PARALLEL_IO registry. By default DB2 can start a maximum number of
prefetch I/O's equal to the number of containers defined to a table space.
With the DB2_PARALLEL_IO registry set for a table space, the number of
prefetch I/O's is determined by calculating PREFETCH SIZE / EXTENT SIZE.
Of course, you still need enough IO servers to handle each prefetch request.

Bill
"Pierre Saint-Jacques" <se*****@invalid.net> wrote in message
news:eE*********************@wagner.videotron.net. ..
Please help me out here, I feel I may have been going around with at
least one foot in the mouth?? DB2set parallel_io {all | * |tblspcid,
tblspcid,...}
A) IS not affected by intra_parrallel or max_query_degree or dft_degree
B) IS used and affects only and only tblspcs that are built on raid5 type devices and defined with a single container.

What PM describes in his note applies to any or all tblspcs. defined over JOBD (Just a bunch of disks) where there are mutiple containers for each
tblspc. and each icontainer of a tblspc. is defined over a separate
read/write mechanism. In that case, DB2 will do parallel io is
prefetchsize=extentsize*no. of containers. It will dos even with
parallel_io OFF.

Somebody tel me if I'm right, wrong, all at sea or what???
Thanks, Pierre.
"PM (pm3iinc-nospam)" <PM(pm3iinc-nospam)@sympatico.ca> a écrit dans le
message de news:3r******************@news20.bellglobal.com...
> DB2_PARALLEL_IO means that you big-block read (prefetch-size / extent-size)
> * extent-size blocks of data.
>
> for
> page 4k
> extent 8
> prefetch 16
>
> read 2 X (8 X 4k) each time you read.
>
> <snip>
> While reading or writing data from and to table space containers, DB2

may
> use parallel I/O for each table space value that you specify. The degree of
> parallelism is determined by the prefetch size and extent size for the
> containers in the table space. For example, if the prefetch size is

four > times the extent size, then there are four extent-sized prefetch

requests.
> The number of containers in the table space does not affect the number

of
> prefetchers. To enable parallel I/O for all table spaces, use the

wildcard
> character, "*". To enable parallel I/O for a subset of all table spaces, > enter the list of table spaces. If there is more than one container,
> extent-size pieces of any full prefetch request are broken down into

smaller
> requests executed in parallel based on the number of prefetchers.
> When this variable is not enabled, the number of prefetcher requests

created
> is based on the number of containers in the table space.
>
> <snip>
>
>
>
> PM
>
>

Nov 12 '05 #5
To Bill and PM, ythanks for setting me strait.
I'll behave accordingly!!
Bonjour, Pierre.
"Bill" <wp******@prodigy.net> a écrit dans le message de
news:qy*******************@newssvr16.news.prodigy. com...
Pierre,

Point A: You are correct - DB2_PARALLEL_IO has no dependency on the
intra_parallel parameters

Point B: DB2 V7 changed the behavior so that any table space can use the
DB2_PARALLEL_IO registry. By default DB2 can start a maximum number of
prefetch I/O's equal to the number of containers defined to a table space.
With the DB2_PARALLEL_IO registry set for a table space, the number of
prefetch I/O's is determined by calculating PREFETCH SIZE / EXTENT SIZE.
Of course, you still need enough IO servers to handle each prefetch request.
Bill
"Pierre Saint-Jacques" <se*****@invalid.net> wrote in message
news:eE*********************@wagner.videotron.net. ..
Please help me out here, I feel I may have been going around with at
least one foot in the mouth?? DB2set parallel_io {all | * |tblspcid,
tblspcid,...}
A) IS not affected by intra_parrallel or max_query_degree or dft_degree
B) IS used and affects only and only tblspcs that are built on raid5

type
devices and defined with a single container.

What PM describes in his note applies to any or all tblspcs. defined

over
JOBD (Just a bunch of disks) where there are mutiple containers for each
tblspc. and each icontainer of a tblspc. is defined over a separate
read/write mechanism. In that case, DB2 will do parallel io is
prefetchsize=extentsize*no. of containers. It will dos even with
parallel_io OFF.

Somebody tel me if I'm right, wrong, all at sea or what???
Thanks, Pierre.
"PM (pm3iinc-nospam)" <PM(pm3iinc-nospam)@sympatico.ca> a écrit dans le message de news:3r******************@news20.bellglobal.com...
> DB2_PARALLEL_IO means that you big-block read (prefetch-size /

extent-size)
> * extent-size blocks of data.
>
> for
> page 4k
> extent 8
> prefetch 16
>
> read 2 X (8 X 4k) each time you read.
>
> <snip>
> While reading or writing data from and to table space containers, DB2
may
> use parallel I/O for each table space value that you specify. The degree
of
> parallelism is determined by the prefetch size and extent size for

the > containers in the table space. For example, if the prefetch size is

four > times the extent size, then there are four extent-sized prefetch

requests.
> The number of containers in the table space does not affect the
number of
> prefetchers. To enable parallel I/O for all table spaces, use the

wildcard
> character, "*". To enable parallel I/O for a subset of all table

spaces, > enter the list of table spaces. If there is more than one container,
> extent-size pieces of any full prefetch request are broken down into

smaller
> requests executed in parallel based on the number of prefetchers.
> When this variable is not enabled, the number of prefetcher requests

created
> is based on the number of containers in the table space.
>
> <snip>
>
>
>
> PM
>
>



Nov 12 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Joey Tsai | last post by:
Assuming you have two directories of modules: project/lib project/filters How can functions in "filters" reference functions in "lib"? Right now I have in the files in filters: ...
3
by: Support | last post by:
Hello: I have done some research on the following but still not clear as what mechanism is preferable PROBLEM: In a VB.NET environment, I will have two applications. Application (A) will do...
7
by: Komandur Kannan | last post by:
I have two issues to address: a) The source code lies in the network path. I am trying to use windows sockets for making a mail client. On execution of this program in debug mode, i get an error...
1
by: Laurence | last post by:
Hi folks, As I konw: database partition (aka data partition?), the database can span multiple machines; table partition, the data within a table can seperate by certain condition. How about...
15
by: Woody Ling | last post by:
I am starting to config a 64 bits DB2 in IBM 595 AIX box with 2 dual core CPU and I would like to assigned one 'processor' for one db partition. Should I config it as a 4 nodes or 2 nodes...
0
by: tomwolfstein | last post by:
Hi. I am trying to write a wrapper for the standard VC1 decoder, and I need to resolve a "TypeLoadException" The decoder comes an an executable which I've turned into a .dll. This decoder has about...
5
by: cnsabar | last post by:
Hi., I am having the index pg no. data in file .. i need to sort the data ., Can any one help regarding this using PERL .. Its very urgent ... Source file <ce:intra-ref id="10011#f0070"/>310f,...
1
by: marcroy.olsen | last post by:
Hi Python list, I have been struggleling with this before, but have never been able to find a good solution. The thing I dont understand is, I follow the guide here:...
3
ChrisWang
by: ChrisWang | last post by:
Hi all, I have a simple question about "Intra-package References" There are two source files and __init__.py in package MyPkg shown below: |-MyPkg -__init__.py -example.py -test.py
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.