Browse Prior Art Database

Trim-Set and Swap-Set Selection

IP.com Disclosure Number: IPCOM000041635D
Original Publication Date: 1984-Feb-01
Included in the Prior Art Database: 2005-Feb-02
Document File: 2 page(s) / 15K

Publishing Venue

IBM

Related People

Beretvas, T: AUTHOR [+6]

Abstract

The objective of the concept described is to provide, in a System Control Program (SCP), better service to short interactive commands, i.e., improved response time by reducing the number of page faults encountered by such commands. The concept is to favor very interactive users by retaining their working set (and non-working set) pages in preference to those of less interactive users. From the point of view of a dispatcher function of an SCP, the SCP operates as a state machine. A virtual machine may appear on one of four queues (Q1, Q2, E1, E2) or on none of the queues. If the machine is "in queue," it means that the virtual machine is either ready to be run or has recently been run, and is expected to be ready to run soon.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 48% of the total text.

Page 1 of 2

Trim-Set and Swap-Set Selection

The objective of the concept described is to provide, in a System Control Program (SCP), better service to short interactive commands, i.e., improved response time by reducing the number of page faults encountered by such commands. The concept is to favor very interactive users by retaining their working set (and non-working set) pages in preference to those of less interactive users. From the point of view of a dispatcher function of an SCP, the SCP operates as a state machine. A virtual machine may appear on one of four queues (Q1, Q2, E1, E2) or on none of the queues. If the machine is "in queue," it means that the virtual machine is either ready to be run or has recently been run, and is expected to be ready to run soon. If the machine is not in queue, it means that the virtual machine is not expected to be runnable for some time, and until someone does something (terminal input, etc.), the virtual machine will not appear on any of the dispatcher queues. The queues have the following meanings: 1. Q1 1. This queue is for interactive users, or for non-interactive users until their true intentions are determined. 2. Q2 This queue is for non-interactive users once they have used too much CPU time and it is determined that they should be treated differently. When a Q2 user gets dispatched, his time slice (maximum amount of time he is allowed before the dispatcher regains control) is (8 times) larger that that for a Q1 user. 3. E1 This queue (during times of storage constraint) is for users eligible for Q1.

It is usual for users to move from E1 to Q1 as current Q1 users are dropped. 4. E2 This queue (during times of storage constraint) is for users eligible for Q2. It is usual for user to move from E2 to Q2 as current Q2 users are dropped. One of the terms pertaining to SCPs is "Q-drop". This means that the dispatcher has decided to remove a user (usually immediately after he has run) from one of the queues. Such a decision is made because the user actually finished his work ("voluntary Q-drop") or because he used his "quota" of CPU time ("involuntary Q-drop"). This quota is defined as the amount of CPU time used by the user; the CPU time is CPU model-dependent and is equivalent to defining a number of (CPU) instructions as the duration of a Q-drop. Many SCPs are a demand paging system. When a page frame shortage is detected (number of page frames free plus number of pages being written out, compared to a threshold), a "table scan" mechanism is invoked to replenish the available frame list. This cyclic scan of the table looks for available page frames, and since the ordering of the table is by real storage address, it affects users in a random fashion. The table scan takes unreferenced pages in its path, until the threshold is met. Since the usual shortfall is only one page frame, it is usual to acquire only one page each time. If the page taken was changed (from the previous copy on secondary storage...