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

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

1927.0. "Control server's client connection scheduling?" by ALEX1::CUSICK (CIM Factory Interconnect Group) Fri Dec 15 1989 13:15


	Can someone describe the server's scheduler priority scheme for 
        managing client connections?

	Can a client can affect the scheduler's internal priority scheme to
	run at higher or lower prioity?

	Frank	
	 

T.RTitleUserPersonal
Name
DateLines
1927.1Which version?STAR::VATNEPeter Vatne, VMS DevelopmentFri Dec 15 1989 13:213
Which version of the server do you want to know about, and on which
platform?  The server scheduler's behavior is very different between
VMS and Ultrix and between DECwindows V1 and V2.
1927.2scheduler specific to... ALEX1::CUSICKCIM Factory Interconnect GroupFri Dec 15 1989 13:543
 
	DECwindows V2 for VMS, ULTRIX and VT1000?
1927.3VMS DECwindows server schedulerSTAR::VATNEPeter Vatne, VMS DevelopmentFri Dec 15 1989 16:3236
I can only answer for the VMS DECwindows server scheduler's algorithm.

Each connection is assigned a priority in the range of 0 to 15, where
0 is the highest priority.  The default priority of a connection is
15.  A connection is raised to a higher priority depending upon certain
events (detailed below).  Priority 0 is special, and is reserved for
a connection that is grabbing the server.

The server scheduler picks the connection with the highest priority
and runs it.  If it runs out of requests, the server picks the next
highest priority connection.  The server scheduler also assigns a
quantum of time to the connection.  If the connection uses up its
quantum, then the connection's priority is lowered by 1 until it
reaches the base.  Connections at the same priority are scheduled
in round-robin fashion.

The server scheduler changes the priority of a connection to the
following values based on the following events:

1	new connection
2	abort connection
10	mouse motion event
11	key press/release event
12	button press/release event
13	window expose/resize event
14	new input (requests)
15	default

In summary, a connection's priority is raised if something significant
happens to it, and its priority falls if it keeps on processing but no
new events happen to it.  The end result is that interactive connections
tend to get priority over compute-bound connections.  Note that this
algorithm is subject to change (but I don't expect it will).

To answer your question, connections can affect their priority only
indirectly.  They cannot set any particular priority.