concurrency in bufferpool

Hello

concurrency in bufferpool
HI all ,

I just wonder how thread share bufferpool use when they execute in the same
time .
For example :
(Forget all the threshold to be simple)

There is 100 pages in BP1
Thread A uses 90 pages and need more
Thread B uses 10 but need more , what happens ?

Thank you



Marcel Harleman

Re: concurrency in bufferpool
(in response to Hello)
>HI all ,
>
>I just wonder how thread share bufferpool use when they execute in the same
>time .
>For example :
>(Forget all the threshold to be simple)
>
>There is 100 pages in BP1
>Thread A uses 90 pages and need more
>Thread B uses 10 but need more , what happens ?

Last recently used that has no active process on it gets flushed out
and becomes available for I/O.
If there are no pages without an active process (i.e. mostly an open
cursor pointing to it) you'll get a "resource unavailable" message
with resource type 700 (or 701 in case of a group buffer pool).

>
>Thank you
>



Hello

Re: concurrency in bufferpool
(in response to Marcel Harleman)
You mean that if A & B are executed in the same time and they all need
pages in bufferpool than one of the two will have SQL error ?
If it is true then there will be a lot of "unavailable resource" in an very
active DB2 , i don't see that in my environment .




<<<<<<<<<<<

>HI all ,
>
>I just wonder how thread share bufferpool use when they execute in the same
>time .
>For example :
>(Forget all the threshold to be simple)
>
>There is 100 pages in BP1
>Thread A uses 90 pages and need more
>Thread B uses 10 but need more , what happens ?

Last recently used that has no active process on it gets flushed out
and becomes available for I/O.
If there are no pages without an active process (i.e. mostly an open
cursor pointing to it) you'll get a "resource unavailable" message
with resource type 700 (or 701 in case of a group buffer pool).

>
>Thank you



Joel Goldstein

Re: concurrency in bufferpool
(in response to Hello)
You can't forget all the thresholds....
vdwqt,dwqt, dmth, and iwth will be forcing
updated pages out of the pool.
A pool would have to be severly undersized, and be coupled with dasd
performance problems to cause
any instances of pages not available.

Regards,
Joel










Message text written by DB2 Data Base Discussion List
>HI all ,

I just wonder how thread share bufferpool use when they execute in the same
time .
For example :
(Forget all the threshold to be simple)

There is 100 pages in BP1
Thread A uses 90 pages and need more
Thread B uses 10 but need more , what happens ?

Thank you<



Hello

Re: concurrency in bufferpool
(in response to Joel Goldstein)
ok , i forgot that a page read is no more useful ...

=========
You mean that if A & B are executed in the same time and they all need
pages in bufferpool than one of the two will have SQL error ?
If it is true then there will be a lot of "unavailable resource" in an very
active DB2 , i don't see that in my environment .




<<<<<<<<<<<

>HI all ,
>
>I just wonder how thread share bufferpool use when they execute in the same
>time .
>For example :
>(Forget all the threshold to be simple)
>
>There is 100 pages in BP1
>Thread A uses 90 pages and need more
>Thread B uses 10 but need more , what happens ?

Last recently used that has no active process on it gets flushed out
and becomes available for I/O.
If there are no pages without an active process (i.e. mostly an open
cursor pointing to it) you'll get a "resource unavailable" message
with resource type 700 (or 701 in case of a group buffer pool).

>
>Thank you



[login to unmask email]

Re: concurrency in bufferpool
(in response to Hello)
It will depend on the type of access (locks) and may simply mean a lot of
bufferpool thrashing and synchronous I/O's to reacquire stolen pages.



Marcel Harleman

Re: concurrency in bufferpool
(in response to truman.g.brown@VERIZON.COM)
On Fri, 10 Jan 2003 11:51:41 -0600, you wrote:

>ok , i forgot that a page read is no more useful ...

Not only a page read. Also a page that you have updated, inserted or
deleted a row without keeping position on that page isn't useful
anymore, it gets flushed to DASD and the frame becomes available.

>
>=========
>You mean that if A & B are executed in the same time and they all need
>pages in bufferpool than one of the two will have SQL error ?
>If it is true then there will be a lot of "unavailable resource" in an very
>active DB2 , i don't see that in my environment .