The following message is a courtesy copy of an article
that has been posted to bit.listserv.ibm-main,alt.folklore.computers as well.

[EMAIL PROTECTED] (IBMsysProg) writes:
> Memory.
> Over the years the first exploiters of architecture changes to allow more
> address spaces, more real memory, and more virtual memory have always been
> DBMS systems.  At this time I would suggest allocating at least 2 gig of
> additional real memory to your future DBMS.  DBMS system address spaces in
> general are intolerant of paging.  This is because a page in results in a
> wait for the entire address space and to make things worse DBMS address
> spaces serve many concurrent users.

i've related before the discussion between IMS group and (original
SQL/System/r group about pros & cons.
http://www.garlic.com/~lynn/subtopic.html#systemr

IMS has/had direct pointers ... which significantly cut down processing
overhead ... but significantly increased development, maintenance, and
administrative costs. System/r abstracted away the direct pointers
... at the cost of implicit overhead of automatically maintained index.
The "argument" back then was that the (RDBMS) automatically maintained
index, doubled the physical disk space and significantly increased the
number of disk i/os (as part of processing the index) ... offset by
significantly reduced human resources & skills.

going into the 80s ... disk price/bit came down significantly (muting
the disk price/bit argument) and (relative) significant increases in
system "real" memory allowed much of the indexes to be cashed
(eliminated lots of the increased index disk i/os). The index overhead
then somewhat shifted from the amount of disk i/os ... to just CPU
overhead. In any case, the price and availability of system resources
changes that went on in the 80s ... changed the trade-off between the
human skill/resources and system price-resources ... significantly
enabling the wider use of RDBMS.

Virtual memory and high-end DBMS don't mesh very well. High-end DBMS
tends to have lots of their own managed cache ... typically with some
sort of LRU type algorithm.

I first noticed that running an LRU storage managed algorithm under an
LRU storage managed algorithm could be a bad idea ... in the mid-70s
with SVS/MVS running in virtual machine (virtual memory). It was
possible to get in extremely pathelogical situation where MVS would
select one of the pages (at a location it believed to be "its"
real-memory) to be replaced ... at about the same time that the virtual
machine hypervisor also decided that the corresponding virtual page
should be replaced (since they were both looking at effectively the same
useage patterns as basis for replacement decision). As a result, a
LRU-based strategy ... running in a virtual memory, can start to look
like an MRU strategy (the next most likely page to be used ... is the
one that has been least recently used).

lots of past posts about page replacement algorithms ... including
some difference of opinion of some of the "internally" implemented
MVS strategies
http://www.garlic.com/~lynn/subtopic.html#wsclock

as well as some "old" email on various aspects of the subject
http://www.garlic.com/~lynn/lhwemail.html#globallru

In any case, when running high-end DBMS that have their own cache
implementation ... in a virtual memory operating system environment
... there tends to be a lot of "tuning" options ... to minimize the
conflict between the DBMS cache replacement strategy (typically some
sort of LRU-based) and the operating sysetm virtual memory replacement
strategy (typically also some sort of LRU-based). 

There is also the possibility of things analogous to the old
"VS1-handshaking", where VM370 would present a psuedo page fault
interrupt to VS1 (running in a virtual machine) ... enabling VS1 to do a
task switch (instead of blocking the whole VS1 whenever any page fault
occured for a virtual machine page).

note that one of the progression of large real storage has resulted in
DBMS "memory" implementations ... rather than assuming that the DBMS
natively resides on disk and there is a lot of processor overhead
related to the assumed DBMS operation. The assumption is that nearly
everything is memory resident and managed with memory pointers ... with
periodic snap-shots to disk for commits/integrity. Given the same amount
of large real storage ... there are claims that the switch to a RDBMS
memory-based paradigm can run ten times faster than a RDBMS disk-based
paradigm that was fully cached and otherwise doing little disk i/o (and
both running nearly identical SQL-based applications).

misc. recent posts mentioning old "interactions" between IMS
and System/r organizations regarding various pros and cons
http://www.garlic.com/~lynn/2007e.html#1 Designing database tables for 
performance?
http://www.garlic.com/~lynn/2007e.html#14 Cycles per ASM instruction
http://www.garlic.com/~lynn/2007e.html#31 Quote from comp.object
http://www.garlic.com/~lynn/2007e.html#37 Quote from comp.object
http://www.garlic.com/~lynn/2007f.html#66 IBM System z9
http://www.garlic.com/~lynn/2007g.html#25 Bidirectional Binary Self-Joins
http://www.garlic.com/~lynn/2007g.html#26 Bidirectional Binary Self-Joins

and recent related DBMS posts with some topic drift
http://www.garlic.com/~lynn/2007.html#1 "The Elements of Programming Style"
http://www.garlic.com/~lynn/2007.html#13 "The Elements of Programming Style"
http://www.garlic.com/~lynn/2007d.html#4 Jim Gray Is Missing
http://www.garlic.com/~lynn/2007d.html#6 Jim Gray Is Missing
http://www.garlic.com/~lynn/2007d.html#8 Jim Gray Is Missing
http://www.garlic.com/~lynn/2007d.html#17 Jim Gray Is Missing
http://www.garlic.com/~lynn/2007d.html#33 Jim Gray Is Missing
http://www.garlic.com/~lynn/2007g.html#28 Jim Gray Is Missing
http://www.garlic.com/~lynn/2007i.html#68 A tribute to Jim Gray

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to