[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference ulysse::rdb_vms_competition

Title:DEC Rdb against the World
Moderator:HERON::GODFRIND
Created:Fri Jun 12 1987
Last Modified:Thu Feb 23 1995
Last Successful Update:Fri Jun 06 1997
Number of topics:1348
Total number of notes:5438

1114.0. "Hey process, use CPU No.3 !" by SUOSW3::KAISER (Who will stay...?) Thu Mar 19 1992 14:51

Some months ago, I've read in an Oracle flyer, that O. can force its DBWR process 
onto a certain CPU. At this time I thought it's nonsens. This morning I visited
a Sybase marketing seminar, where they claimed to do the same, furthermore they 
said Sybase could divide a single "physical VMS process" into two or more
"virtual processes" (maybe threads?) which then could be forced to use dedicated 
CPU's. So my question is a VMS one: Can a VMS process be forced to use a certain
CPU in an SMP machine? Is there something in VMS I've been missing?

Thanks a lot
-Hans
T.RTitleUserPersonal
Name
DateLines
1114.1Processor AffinityCOOKIE::BERENSONLex mala, lex nullaThu Mar 19 1992 17:4428
Vis a vi processor affinity:  There is some undocumented (or at least
obscurely documented) way to do this.  There has also been talk of making
it a more clearly documented and supported capability, and of adding a
variation called "soft affinity" in which you try to always run a process
on the same processor, but it can migrate around at some level of
granularity (like, gee we really want to run this on processor 3 but it
has a 3 deep queue of computable processes waiting, so let's migrate our
process to processor 1 for the duration)..

Vis a vi SYBASE:  VMS doesn't recognize threads at the moment.  The
finest granularity it understands is a process.  What SYBASE must be
doing is taking 1 logical process and spliting it over a small number of
physical processes.  Since they already conceptually used threads
internally, my guess is that having those threads run in separate
processes was not a super difficult task.

By the way, Rdb's recent 193.76 TPC-B benchmark was WITHOUT processor
affinity.  It was run with processor affinity as well, and performed
slightly LOWER.  This was a surprise because (in theory) processor
affinity allows for better cache hit rates than letting processes float
between processors.  The cost of processor affinity is that one processor
could be very busy with jobs queued up waiting while the others remain idle
(which is why people think in terms of implementing soft affinity).  Some
internal running of Rdb benchmarks have show benefits from processor
affinity, others haven't....

Hal