GB2210482A - Performance-related resource allocation - Google Patents
Performance-related resource allocation Download PDFInfo
- Publication number
- GB2210482A GB2210482A GB8822860A GB8822860A GB2210482A GB 2210482 A GB2210482 A GB 2210482A GB 8822860 A GB8822860 A GB 8822860A GB 8822860 A GB8822860 A GB 8822860A GB 2210482 A GB2210482 A GB 2210482A
- Authority
- GB
- United Kingdom
- Prior art keywords
- operating system
- parameter
- swpoutpgcnt
- swapper
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3404—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
A computer operating under a virtual memory operating system includes program means for enhancing the performance of the operating system. The program means includes means for gathering job-related information from the system during a user-controllable period of time while the system is running. There is also provided means for analysing the information so gathered to produce recommended adjustments to the operating system parameters, and means for automatically making the recommended adjustments to the operating system parameters, e.g. memory space available to different processes. <IMAGE>
Description
VIRTUAL MEMORY COMPUTER SYSTEM
This invention relates to a computer operating under a virtual memory operating system, and including program means for improving the performance of the operating system.
The invention is especially, but not exclusively, applicable to the VMS operating system which runs on the
Digital VAX computer range, and the invention will be described with respect to the VMS operating system using the standard terminology associated with such operating system and which is familiar to those skilled in the art.
A description of the VMS operating system parameters which are used in this Specification may be found in,the publication, VAX, VMS system generation utility reference manual AA-Z433A-TE published by Digital Equipment
Corporation.
The VMS operating system is responsible for the sharing and use of the computer system-iresources. The main resource is the memory, physical and virtual, of the machine. There are various mechanisms within the operating system to allow a wide variety of user and application types. These mechanisms and their related control parameters will now be briefly described.
VMS ODeratinq System
The operating system provides a multiuser, multiprogramming environment. As with any multiprogramming operating system the resources of the computer must be shared between the various users. The control and management of this sharing is the function of
VMS. Among the resources to share is the physical memory of the computer itself. The technique used by the VMS operating system is known as memory management. Virtual memory is a set of locations in physical memory and in secondary storage. The operating system employs a virtual addressing technique to reference the total virtual memory available. The amount of virtual memory available on a machine depends on the size of physical memory and the amount of disk storage used. One of the features of VMS is that only a portion of the image being executed has to be in physical memory.VMS uses a set of procedures, the pager, to ensure that required pages are brought into physical memory when needed.
As stated above, VMS is a multiuser system and therefore it requires some way to identify and control the various users. The mechanism used by VMS is to establish a "process" for the user when access is gained to the system. When setting up a process, VMS will reserve various registers, tables and stacks which will be used by the operating system to identify and schedule the process. The operating system:#equires some space in physical memory. A portionof#this space is set aside for the various processes as they become active.
Other portions of the VMS space contain the executive code, data and routines.
Memory Management
When a program is run a copy of the program is taken from the disk where the program was stored, when it was created, and placed in virtual memory, in a file called
PAGEFILE.SYS . This file, although it is also on the disk, is a specially organized file and the program can be thought of as being broken into units of 512 bytes each. A number of these units or "pages" are brought into main (i.e. physical) memory at this time. The instructions on these pages can now be executed but eventually an instruction will be required that is not on one of these pages. To get that instruction, the page containing it must be brought into main memory from virtual memory out on the disk.
The condition that arises when a page is required that is not in the main memory is know as a page fault.
When a page fault occurs and there is no room in main memory for the new page, an old page must be taken out so that the new one can take its place. If the page to be removed has not been altered since it was brought in, then we can just overwrite it with the new page. However, if the page has been altered it must be written back out to virtual memory before its location in main memory can be overwritten.
To reduce the number of i/O's -to 'disk these discarded pages are kept in a special' list and later on -a cluster of them can be written to the disk in one I/O operation.
This special list is called the modified page list. When the number of pages on this list is greater than the sysgen parameter MPW~HILIMIT, pages are written from the list to disk until the value of another sysgen parameter MPW LOLIMIT is reached.
Since pages in the modified-page list are still in main-memory it would be faster to get a page from the list than to go out to the disk for it. Therefore when a page fault occurs we can look in the modified page list for the required page before checking the disk. There is a high probability that the page required will be here and since access to a page in the list would be faster than to a page on the disk this is a desirable situation.
The free-page list is another list, to which discarded pages that have not been modified are written. Now when a new page is required both the modified page list and the free-page list are searched before the file PAGEFILE.SYS.
The parameters which govern the size of the free-page list are FREELIM and FREEGOAL.
If the required page is found in one of the lists the page fault which occurred is known as a soft page fault, whereas if the operating system had to go to the disk to find the page it is known as a hard page fault.
Working Sets
The set of pages that a process has in main memory is known as the process's working-#set. -The working set size is the number of pages in the working set.
A process's working set size is governed by three parameters which are set up for each user. They are
WSDEFAULT , WSQUOTA and WSEXTENT.
When a user logs in they are given a working set, the size of which is determined by WSDEFAULT. If the user should need more pages then their working size is increased to WSQUOTA provided there is enough memory available. Should they require still more pages the operating system will increase their working set size to
WSEXTENT if there is enough memory available and the amount available is greater than the value in the sysgen parameter BORROWLIM. Also the user's working set size must not exceed another sysgen parameter WSMAX.
The Swapper Trimmer
When the operating system requires additional free pages the swapper trimmer takes a number of steps to get them.
Firstly the swapper trimmer looks at the state queues that contain resident processes starting with suspended processes, then those in an LEF state (Local Event Flag waiting for an external event), and so on.
Any job that it finds in such a state (trimmable job) with a working set size greater than that job's working~:~ set quota (WSQUOTA) is trimmed back to its quota.
further pages are required each trimmable job has its working set trimmed back to the value of the sysgen parameter SWPOUTPGCNT. Should even more pages be needed the swapper will swap out entire working sets to
SWAPFILE.SYS, which is another file which along with
PAGEFILE.SYS makes up virtual #emory. Note that a process still in its initial quantum cannot be swapped out.
Automatic Working Set Adiustment
The Swapper Trimmer works on an "as needed" basis - it only trims when pages are needed. Automatic working set adjustment (AWSA), on the other hand, is time based.
Every so often, depending on the value of the sysgen parameter AWSTIME, the AWSA mechanism inspects the pagefaulting rates of the jobs on the system. If any jobs are faulting too high their working set sizes are increased in order to reduce the rate of faulting for that process.
A job is faulting high if its fault rate is greater than the sysgen parameter PFRATH (page fault rate high). If this is the case the jobs working set size is increased by the value of another sysgen parameter WSINC (working set increment).
Likewise the working set size of a job whose fault rate is less than PFRATL (page fault rate low) will be decreased by WSDEC (working set decrement).
The following therefore summarises the above operating system mechanisms and their control parameters:
Operatinq System Mechanisms
AWSA:
Automatic working set adjustment.
Based on the page faulting rate of processes, the operating system can increase or decrease the working set size of that user. The working:of this area is controlled by the following sysgen parameters:
PFRATH Page fault rate high, jobs faulting above
this figure will have their working set size
increased.
PFRATL The lower rate, jobs faulting below this
rate will have their working set size
decreased.
WSINC The amount by which to increase the working
sets.
WSDEC The amount by which to decrease the working
sets.
SWAPPER TRIMMER:
Before removing a job from the working set, see below, the operating system will check each process for pages which can be removed from the working sets. This mechanism also checks the modified page list for possible removable pages. The aim is to free the required space without major upheaval.
Related Parameters:
SWPOUTPGCNT The lower limit to which the working set of
- a process can be reduced before swapping
will take place.
LONGWAIT Used to determine if a process is available
for trimming.
WSQUOTA Initial trimming level.
This figure can be 'unique for each user on
the machine.
SWAPPER:
When the operating system requires additional space or a high priority job, which is outswapped, becomes computable the operating system will attempt to remove the working set of a process from the balance set (the total of all working sets in physical memory including the operating system working set).
Related parameters:
BALSETCNT The number of different working sets that
can be resident in the balance set.
DORMANTWAIT This parameter specifies the amount of time
a process must be in a computable state
before becoming a candidate for swapping.
When these mechanisms (ASWA, SWAPPER, SWAPPER TRIMMER) are operational they are using system resources. As resources are limited excessive use by the operating system mechanisms means that the users of the machine suffer in terms of the number of jobs that can be carried out and the speed which they complete.
The operating system can be tailored (tuned), by changing the operating system parameters, using either the. sysgen utility or a command procedure called autogen. Most, installations adjust the parameters once, when the machine is purchased, using the command procedure provided. The command procedure uses the same calculations for all machines and does not take into account what type or the number of applications that the machine will have to handle. To. adjust the parameters effectively requires one to'collect information about the operation of the machine, analyse the data and based on experience and knowledge adjust the necessary parameters.
There are utilities available with the operating system, which allow one to view activity on the machine, but these do not give any indication of problems (i.e. areas of inefficiency) or any solution to a problem. They provide one with data which when collated can be used as part of a performance enhancement exercise, but this requires expertise on the part of the user.
Accordingly, the present invention provides a computer operating under a virtual memory operating system and including program means for enhancing the performance of the operating system, the program means including means for gathering job-related information from the system during a user-controllable period of time while the system is running, means for analysing the information so gathered to produce recommended adjustments to the operating system parameters, and means for automatically making the recommended adjustments to the operating system parameters.
An advantage of the invention is that it obviates the need for a company to have a VMS expert within the organization. Not only can it identify problem areas within the operating system it also provides the necessary adjustment to the relevant parameter to alleviate the problem. Having calculated the new Value the invention can make the change to the parameter thereby allowing the user with very little VMS knowledge to get the most from the machine.
For the user with some knowledge who wants to learn more, the invention can be designed -to provide a verbal explanation of the steps taken'to arrive at any new values. These explanations are produced in the form of a hard-copy report. If the user wants to analyse the activity on the machine a comprehensive report section may be provided. Apart from the tuning aspect of the invention, other useful interactive resource management features may be provided.
Alarm system Used to highlight processes
hogging the system.
System usage display Shows the users currently active
on the machine. information
displayed includes username,
process name, state of the process
and the image currently active.
Load Analysis Using bar-chart format the page
file and swap file usage is
displayed. This analysis also
shows the cpu usage and the amount
of unused space on the system
disk.
The invention may be menu driven, for ease of use, and have its own built-in help facility.
In an embodiment of the invention, the program consists of three modules corresponding to respective phases referred to below, and runs detached and independent of the user. There is a facility for communication between the user and the detached process under menu control. To overcome any problem caused by using information gathered at peak work load times the program gathers data over a number of runs, e.g. one run on :each of a number of days.
The number of runs, known as a-cycle, and the duration of these runs (e.g. from 09.00 to 18.00 hrs in each day) is controlled by the user. The facility also exists to schedule the analysis phase so as to avoid times when the machine is heavily loaded.
In a typical cycle, there are the following elements:
PHASE I (Watching Phase). During this phase the watching module observes the system at regular intervals and records information about all processes currently active in data files. The watching module has the ability to adjust the sampling period used, depending on the events it encounters. During uneventful periods using a
Standard Sampling Period of e.g. 300 seconds the program is therefore less active than at busy times when it is very active and uses an Event Related Sampling Period of e.g. 10 seconds. An audit facility is provided so that every record created by the watching program can be relayed to the user, and so that certain specific events can be advised to the user by way of an alarm to the user's terminal. This enables the user to respond at once to that problem.At start time, the user has the facility to provide values for six control parameters (Figure 1) that govern the watching program. During running, these can be altered as needed by use of a communications menu.
PHASE II (Initial Analysis Phase). When the monitoring phase is complete, control is passed to the analysis module for analysis of the recorded file. The findings of the analysis are held, and are used later in the major analysis at the end of all programmed runs. This mini analysis would typically take place at the end of a day of monitoring and provides the'user with useful information about the day's activity both by username and image name, as well as providing information to the major analysis module described below.
When this phase is complete, the program can either repeat the watching phase, or move to phase III, final analysis. This decision is based on the number of runs called for in the overall cycle which was input by the user at start time. The start time for the analysis is also under user control.
PHASE III (Final Analysis Phase). This module uses the findings of the individual analysis to identify problem areas on the machine. The module will calculate new values for sysgen parameters taking into account the environment of the machine. In addition to looking at the sysgen parameters the module also examines the working set characteristics of the users that were page faulting above average. Based on an analysis of the working set usage the module will calculate better values for that user. If any changes are to be made to working set values for users a command procedure will be produced which contains the adjustments and the necessary commands to invoke the system utility Authorize. Any changes to system parameters are written to a system- provided file.
The user has a choice whether to allow the program to make the changes automatically, in which~case the program will invoke the command procedure autogen which will,use the file containing the changes.
Briefly, in the case of the swapper trimmer, the program operates as follows:
During the individual runs the'program gathers information related to swapper trimmer activity. It examines the finds, looking for any process where page faulting was incurred following activity by the swapper trimmer. The program analyses these occurrences to evaluate whether swapper trimmer activity is excessive and a cause of greater operating system activity. If this is found to be the case, the program will adjust the related parameters to reduce the activity of the trimmer.
As previously discussed, the trimmer will first reduce the working set size of a process to the value of the parameter WSQUOTA, and then if more space is required the working set can be further reduced to the value of the parameter SWPOUTPGCNT. Another parameter is available,
LONGWAIT, which is used by the trimmer to determine if a process has been in a particular state for an acceptable length of time before trimming is attempted.
To reduce the amount of swapper trimmer activity, the program will attempt to increase the value of the parameter, LONGWAIT, up to an in-built limit, a recognised upper operational limit. If that parameter cannot be increased the program will increase the value of the SWPOUTPGCNT parameter. Increasing this parameter would have the effect of decreasing swapper trimmer activity while increasing swapper activity. The first level of increase is to change the parameter to e#qual the typical working set size on the machine. During the, observation of the system the program calculates the typical values for each installation. If it finds that the parameter is already greater than the typical working set size the program will attempt to set the parameter equal to a typical working set quota.If this is not possible, or has already been done the program will adjust the value of SWPOUTPGCNT to completely switch off the trimmer mechanism.
An embodiment of the invention will now be described with reference to the accompanying drawings, in which:
Figure 1 illustrates the watching phase of the invention,
Figure 2 illustrates the initial analysis phase, and
Figure 3 illustrates the final analysis phase.
This embodiment of the invention comprises a computer program running on any Digital VAX computer operating under VMS. The program will be described in the form of flow charts in sufficient detail to enable a programmer skilled in the art of VMS to implement the invention.
Before giving the flow charts, however, the contents of the various files used in the three phases shown in the drawings are as follows:
FILE NAME CONTENTS 1. System File (a) Security Related information
(b) Run Parameters
(c) Machine dependant values 2. Watching Program
File
There are 2 types of records produced by the watching program
Type 1. Sample Record
(a) Sample Number
(b) Total Amount of Direct and Buffeted I/O
(c) Number of jobs found in various states
e.g. COM, COMO, SWAPPED
(d) System related totals e.g. Free Memory
(e) Memory Usage Flags
Type 2. Detail Record
(a) Sample Number
(b) Username/Imagename
(c) Working Set characteristics/usage
(d) State of the process
(e) Page faulting activity
This file is used by initial analysis and
main analysis program.
3. Parameter File (a) Parameter Name
(b) List of related Areas
(c) Current Value
(d) Original Value (e) Recommended values are 5 cycles 4. Recommendation
File 5. Summary Analysis
File (a) Record Type (b) Original Values for Parameters (max 6) (c) Summary totals from analysis (6) (d) New Parameter Values (a) Record Type (b) Run Number (c) Summary totals from initial analysis (d) U(6) sername
WATCHING PHASE (FIG.1) 1. Create mailbox used for communications with menu program.
2. Open files.
3. Check validity of program.
4. Initialize variables
5. Check Start Run Time established by user.
Wait if necessary
6. Check if audit listing required.
If yes then open audit file.
7. Establish main control loop for duration of the run.
8. Main Loop (Detailed below).
9. Produce Summary record.
Write Summary record to Watching program file.
10. Check start time for initial analysis.
If delay then wait.
11. Chain to Initial Analysis Program unelss user instructed to
stop run now.
MAIN LOOP (state 8 in Watching Phase) 1. Sleep for Standard Period (Fig. 1).
2. Clear out counters.
3. For every process on the machine:
3.1 Initialize variables.
3.2 Use system services to get process information.
3.3 Check if new process. If new process store PID, clean
out accumulaters.
3.4 Remove Directory/Device Specification from image Name.
3.5 Calculate current values for memory usage.
3.6 Store information to Watching program data file.
3.7 Accumulate Sample Totals, e.g. number of jobs, number
of jobs in various states.
3.8 Write line to Audit Trail listing if Audit flag is on.
3.9 Move current values to running totals.
4. Write sample Summary record.
5. Send message to user for system "Hogger" if the alarm
system is on.
6. Send message to user for swapping activity if alarm
system is on.
7. Write line to Audit Listing file if audit facility is
on.
8. Set flag if any events high-lighted within samples,
e.g. swapping, high page faulting, etc.
9. Check event flag setting.
If flag is set then repeat steps 3 to 8 using Event
Related Period (Fig. 1).
10. Check for any messges from user.
11. If any message sent, take appropriate action - send
back acknowledgement.
INITIAL ANALYSIS PHASE (FIG. 2) 1. Open Files
(a) System file
(b) Watching Program Data file
(c) Summary Analysis file
(d) Hardcopy Report file 2. Initialize variables.
3. Do Analysis (detailed below).
4. Calculate typical working set values.
5. Check if end of cycle (any more runs?). If yes then go
to Final Analysis.
6. Calculate length of wait before start of watching
phase.
7. Wait.
8. Go to watching phase.
ANALYSIS (state 3 in Initial Analysis Phase) 1. Extract control record from Watching Program data file.
Get number of samples taken.
2. Write number of samples to Summary data file.
3. Calculate maximum number of jobs found in the Balance
Set and the maximum number of processes found during
the Watching Program.
4. Analyse Image Activation (Detailed below).
5. Analyse Page Faulting Activity.
6. Analyse Page Faulting Activity for sub-processes.
7. Analyse Swapper Trimmer activity (Detailed below).
8. Analyse Swapper Activity.
9. Analyse AWSA mechanism.
ANALYSIS IMAGE ACTIVATION ( Stave 4 in Analysis) 1. Set up loop for each sample taken.
1. Set up inner loop for each process found in each
sample.
1. Get record
2. Using index check Username.
3. If Username is different then write record from
cumulative information.
Set up new variables.
4. Store data in analysis variables i.e. image count
and CPU usage.
ANALYSIS SWAPPER TRIMMER ACTIVITY (Staqe 7 in Analysis) 1. Set up loop for each sample.
1. Get control record from Watching Program Data file.
2. Check if any Trimmed jobs. If not then go to end of
loop.
3. Set up inner loop for each process in the sample.
1. Get detail record from Watching Program Data File.
2. Count if faulting above Defined Page Fault Rate and
the Job is trimmed.
4. Cumulate totals for sample:
(a) Number of jobs
(b) Number of trimmed jobs
(c) Number of High-Fault jobs
(d) Number of trimmed jobs that are High-Faulting 2. Write Summary Record to Final Analysis file
containing cumulated totals.
NOTE: It will be appreciated that the other mechanisms
referred to in stages 5, 6, 8 and 9 will be
similarly analysed as the examples given above.
FINAL ANALYSIS PHASE (FIG. 3) 1. Open Files
(a) System file
(b) Summary Analysis file
(c) Parameter Value file
(d) Recommendations file 2. Initialize variables 3. Calculate typical Working Set values over each run in
the cycle.
4. Total the number of samples in the cycle.
5. Analyse Page Faulting.
6. Analyse Page Faulting for sub-processes.
7. Analyse Swapper Trimmer performance (detailed below).
8. Analyse Swapper activity.
9. Analyse ASWA mechanism performance.
10. Analyse occurrences of low memory availability.
11. Analyse existing settings for major system parameters.
12. Check if automatic changing is requested.
If yes then modify the system file "MODPARAMS.DAT" to
reflect desired parameter changes.
13. Check if any changes to Working Set values.
If yes then start sub-process using command procedure
produced during analysis.
14. Check if any changes to System Parameters.
If yes then start sub-process using command procedure
produced during Analysis.
15. End.
ANAYSIS SWAPPER TRIMMER PERFORMANCE (state 7 of Final Analysis 1. Initialize variables.
2. Cumulate totals from each relevant summary record in data
file.
3. If number of jobs trimmed is less than 20% of total number
of jobs and the number of trimmed and faulting jobs is less
than 20% of the total of faulting jobs then there is no
recommendation.
(End of Analysis section) 4. If the current value of the system parameter LONGWAIT is
less than 20 then increase this parameter in steps of 5
with a maximum value of 20.
(End of Analysis section) 5. If the current value of the system parameter SWPOUTPGCNT is
less than the typical Working Set size then increase the
value of the system parameter.
(End of Analysis section) 6. If the value of the system parameter SWPOUTGCNT is less
than the typical Working Set Quota then increase the value
of the system parameter.
(End of Analysis section) 7. Set the value of the system parameter SWPOUTGCNT to zero.
This has the effect of switching off the Swapper Trimmer
mechanism.
The increases of changes to system parameters are recorded in the Recommendation file. If automatic changing has been selected then the program will write the new values to the file utilised by the system, "MODPARAMS.DAT".
Claims (7)
1. A computer operating under a virtual memory operating system and including program means for enhancing the performance of the operating system, the program means including means for gathering job-related information from the system during a user-controllable period of time while the system is running, means for analysing the information so gathered to produce recommended adjustments to the operating system parameters, and means for automatically making the recommended adjustments to the operating system parameters.
2. A computer as claimed in Claim 1, wherein in order to free space in physical storage for pages to be transferred thereto from external storage the operating system includes a first mechanism (SWAPPER TRIMMER) for reducing the working set of at least one process which has been inactive for a period at least equal to a first operating system parameter (LONGWAIT) progressively down to sizes determined by second and third operating system parameters respectively (WSQUOTA and SWPOUTPGCNT),- apnd a second mechanism (SWAPPER) for transferring the entire working set to the external storage if the first mechanism does not free enough space, wherein the analysing means is responsive to the gathered information to determine, according to a pre-determined criterion, whether a decrease in the level of activity of the first mechanism (SWAPPER TRIMMER)" is##desirable and, if so, to increase the first operating system parameter (LONGWAIT) up to a pre-determined system maximum, or if the first parameter is already at the maximum, to increase the third operating system parameter (SWPOUTPGCNT) up to a value related to the individual second operating system parameters (WSQUOTA) of all working sets, or if the third operating system parameter (SWPOUTPGCNT) is already at or above the lastmentioned value, to reduce the third operating system parameter (SWPOUTPGCNT) to zero, and wherein the automatic adjustment means records the new values of the first (LONGWAIT) or third (SWPOUTPGCNT) system parameters into a file accessible by the operating system.
3. A computer as claimed in Claim 1 or 2, wherein the information-gathering means is adapted to sample the activity of the operating system at intervals which are dependent upon the intensity of such activity.
4. A computer as claimed in Claim 1, 2 or 3, wherein the information gathering means is adapted to gather information during a number of separate runs each of a user-controllable duration, and the analysing means is adapted to perform an initial analysis after each run and a final analysis after all runs.
5. A program-controlled method for enhancing the performance of the operating system in a computer a operating under a virtual memory operating system, including gathering job-related information from the system during a user-controllable period of time while the system is running, analysing the information so gathered to produce recommended adjustments to the operating system parameters, a-nd automa-tically making the recommended adjustments to the operating system parameters.
6. A method as claimed in Claim 5, wherein in order to free space in physical storage for pages to be transferred thereto from external storage the operating system includes a first mechanism (SWAPPER TRIMMER) for reducing the working set of at least one process which has been inactive for a period at least equal to a first operating system parameter (LONGWAIT) progressively down to sizes determined by second and third operating system parameters respectively (WSQUOTA and SWPOUTPGCNT), and a second mechanism (SWAPPER) for transferring the entire working set to the external storage if the first mechanism does not free enough space, and wherein the method comprises analysing the gathered information to determine, according to a pre-determined criterion, whether a decrease in the level of activity of the first mechanism (SWAPPER TRIMMER) is desirable and, if so, increasing the first operating system parameter (LONGWAIT) up to a pre-determined system maximum, or if the first parameter is already at the maximum, increasing the third operating system parameter (SWPOUTPGCNT) up to a value related to the individual second operating system parameters (WSQUOTA) of all working sets, or if the third operating system parameter (SWPOUTPGCNT) is already at or above the lastmentioned value, reducing the third operating system parameter (SWPOUTPGCNT) to zero, recording the new values of the first (LONGWAIT) or third (SWPOUTPGCNT) system parameters into a file accessible by the operating system.
7. A virtual memory system substantially as described with reference to the accompanying drawings.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IE262687A IE872626L (en) | 1987-09-29 | 1987-09-29 | Affinity adsorbents for glycopeptide antibiotics. |
Publications (2)
Publication Number | Publication Date |
---|---|
GB8822860D0 GB8822860D0 (en) | 1988-11-02 |
GB2210482A true GB2210482A (en) | 1989-06-07 |
Family
ID=11035753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB8822860A Withdrawn GB2210482A (en) | 1987-09-29 | 1988-09-29 | Performance-related resource allocation |
Country Status (2)
Country | Link |
---|---|
GB (1) | GB2210482A (en) |
IE (1) | IE872626L (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2236202A (en) * | 1989-09-21 | 1991-03-27 | Sun Microsystems Inc | Extracting process performance information from a computer over a network |
EP0443972A2 (en) * | 1990-02-23 | 1991-08-28 | International Business Machines Corporation | Method for maintaining a time frame selective document history log in a data processing system |
GB2250111A (en) * | 1990-10-17 | 1992-05-27 | Digital Equipment Corp | Computer system performance modelling. |
EP0725340A3 (en) * | 1995-02-03 | 1996-10-02 | Ibm | Apparatus and method for managing a distributed data processing system workload by limiting the processing capacity consumption |
EP0725339A3 (en) * | 1995-02-03 | 1996-10-02 | Ibm | Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types |
GB2308689A (en) * | 1995-12-27 | 1997-07-02 | Ibm | Runtime object instance management |
WO1997030392A1 (en) * | 1996-02-16 | 1997-08-21 | Houser Shawn W | Method and apparatus for processing data |
EP0867811A1 (en) * | 1997-03-28 | 1998-09-30 | Fujitsu Limited | Accounting-information outputting device |
FR2854260A1 (en) * | 2003-04-28 | 2004-10-29 | France Telecom | Server application performance optimization method, involves detecting changing of normal load condition of application, and modifying configuration file according to normal load condition of application |
US6895587B2 (en) | 1995-12-27 | 2005-05-17 | International Business Machines Corporation | Method and system for migrating an object between a split status and a merged status |
WO2006004928A2 (en) * | 2004-06-28 | 2006-01-12 | Japan Communications, Inc. | Systems and methods for enhancing and optimizing a user's experience on an electronic device |
EP1917799A1 (en) * | 2005-08-22 | 2008-05-07 | Ricoh Company, Ltd. | Image processing system, image processing method, image processing program, and image forming apparatus |
US7725716B2 (en) | 2004-06-28 | 2010-05-25 | Japan Communications, Inc. | Methods and systems for encrypting, transmitting, and storing electronic information and files |
US8533338B2 (en) | 2006-03-21 | 2013-09-10 | Japan Communications, Inc. | Systems and methods for providing secure communications for transactions |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1452865A (en) * | 1973-11-21 | 1976-10-20 | Ibm | Data processing apparatus |
GB1508731A (en) * | 1975-05-27 | 1978-04-26 | Burroughs Corp | System and method for varying programme window sizes in a data processing system having virtual memory |
US4183083A (en) * | 1972-04-14 | 1980-01-08 | Duquesne Systems, Inc. | Method of operating a multiprogrammed computing system |
EP0194533A2 (en) * | 1985-03-01 | 1986-09-17 | Wang Laboratories Inc. | Data processing system having tunable operating system means |
EP0239715A2 (en) * | 1986-02-03 | 1987-10-07 | International Business Machines Corporation | Management of the size and number of memory segments allocated to processes in a multiprocessing environment |
-
1987
- 1987-09-29 IE IE262687A patent/IE872626L/en unknown
-
1988
- 1988-09-29 GB GB8822860A patent/GB2210482A/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4183083A (en) * | 1972-04-14 | 1980-01-08 | Duquesne Systems, Inc. | Method of operating a multiprogrammed computing system |
GB1452865A (en) * | 1973-11-21 | 1976-10-20 | Ibm | Data processing apparatus |
GB1508731A (en) * | 1975-05-27 | 1978-04-26 | Burroughs Corp | System and method for varying programme window sizes in a data processing system having virtual memory |
EP0194533A2 (en) * | 1985-03-01 | 1986-09-17 | Wang Laboratories Inc. | Data processing system having tunable operating system means |
EP0239715A2 (en) * | 1986-02-03 | 1987-10-07 | International Business Machines Corporation | Management of the size and number of memory segments allocated to processes in a multiprocessing environment |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2236202A (en) * | 1989-09-21 | 1991-03-27 | Sun Microsystems Inc | Extracting process performance information from a computer over a network |
AU622791B2 (en) * | 1989-09-21 | 1992-04-16 | Sun Microsystems, Inc. | Method and apparatus for extracting process performance information from a computer over a network |
GB2236202B (en) * | 1989-09-21 | 1993-11-03 | Sun Microsystems Inc | Method and apparatus for extracting process performance information from a computer over a network |
EP0443972A2 (en) * | 1990-02-23 | 1991-08-28 | International Business Machines Corporation | Method for maintaining a time frame selective document history log in a data processing system |
EP0443972A3 (en) * | 1990-02-23 | 1992-08-05 | International Business Machines Corporation | Method for maintaining a time frame selective document history log in a data processing system |
JPH04217036A (en) * | 1990-02-23 | 1992-08-07 | Internatl Business Mach Corp <Ibm> | Data processing method |
GB2250111A (en) * | 1990-10-17 | 1992-05-27 | Digital Equipment Corp | Computer system performance modelling. |
EP0725340A3 (en) * | 1995-02-03 | 1996-10-02 | Ibm | Apparatus and method for managing a distributed data processing system workload by limiting the processing capacity consumption |
EP0725339A3 (en) * | 1995-02-03 | 1996-10-02 | Ibm | Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types |
US6442583B1 (en) | 1995-02-03 | 2002-08-27 | International Business Machines Corporation | Multi-system resource capping |
GB2308689B (en) * | 1995-12-27 | 1999-08-25 | Ibm | Method and system for runtime object instance management |
GB2308689A (en) * | 1995-12-27 | 1997-07-02 | Ibm | Runtime object instance management |
US6895587B2 (en) | 1995-12-27 | 2005-05-17 | International Business Machines Corporation | Method and system for migrating an object between a split status and a merged status |
WO1997030392A1 (en) * | 1996-02-16 | 1997-08-21 | Houser Shawn W | Method and apparatus for processing data |
EP0867811A1 (en) * | 1997-03-28 | 1998-09-30 | Fujitsu Limited | Accounting-information outputting device |
US6085264A (en) * | 1997-03-28 | 2000-07-04 | Fujitsu Limited | Accounting-information outputting device |
FR2854260A1 (en) * | 2003-04-28 | 2004-10-29 | France Telecom | Server application performance optimization method, involves detecting changing of normal load condition of application, and modifying configuration file according to normal load condition of application |
WO2006004928A2 (en) * | 2004-06-28 | 2006-01-12 | Japan Communications, Inc. | Systems and methods for enhancing and optimizing a user's experience on an electronic device |
WO2006004928A3 (en) * | 2004-06-28 | 2006-05-18 | Japan Communications Inc | Systems and methods for enhancing and optimizing a user's experience on an electronic device |
US7725716B2 (en) | 2004-06-28 | 2010-05-25 | Japan Communications, Inc. | Methods and systems for encrypting, transmitting, and storing electronic information and files |
US7760882B2 (en) | 2004-06-28 | 2010-07-20 | Japan Communications, Inc. | Systems and methods for mutual authentication of network nodes |
EP1917799A1 (en) * | 2005-08-22 | 2008-05-07 | Ricoh Company, Ltd. | Image processing system, image processing method, image processing program, and image forming apparatus |
EP1917799A4 (en) * | 2005-08-22 | 2011-01-19 | Ricoh Co Ltd | Image processing system, image processing method, image processing program, and image forming apparatus |
US8533338B2 (en) | 2006-03-21 | 2013-09-10 | Japan Communications, Inc. | Systems and methods for providing secure communications for transactions |
US8886813B2 (en) | 2006-03-21 | 2014-11-11 | Japan Communications Inc. | Systems and methods for providing secure communications for transactions |
Also Published As
Publication number | Publication date |
---|---|
GB8822860D0 (en) | 1988-11-02 |
IE872626L (en) | 1988-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727512B (en) | Cluster resource scheduling method, device, equipment and storage medium | |
EP0259224B1 (en) | Method for performance evaluation of a data processor system | |
EP0333123B1 (en) | Modulary structured ISDN communication system | |
GB2210482A (en) | Performance-related resource allocation | |
US5062055A (en) | Data processor performance advisor | |
US5778224A (en) | Method of executing a plurality of transactions and a distributed processing system for performing such a method | |
US5355475A (en) | Method of relocating file and system therefor | |
DE69123334T2 (en) | Queue manager procedure for an electronic messaging system | |
US4703422A (en) | Memory hierarchy control method with replacement based on request frequency | |
US5907603A (en) | Database-driven automatic message accounting system and method | |
CN110427258B (en) | Resource scheduling control method and device based on cloud platform | |
US6151709A (en) | Processes and apparatuses for uploading instructions to a computer | |
Bard | Performance criteria and measurement for a time-sharing system | |
US20070300243A1 (en) | Modular caching method and system for enabling offline functionality of server-client systems | |
JPH06259478A (en) | Data rearrangement system for distributed data base | |
US5826104A (en) | Batch program status via tape data set information for dynamically determining the real time status of a batch program running in a main frame computer system | |
US7165106B2 (en) | Method of managing operation of computer system | |
US4665478A (en) | Computer system | |
McGee | The information management system IMS/VS, Part V: Transaction processing facilities | |
Stanley | Measurement of system operational statistics | |
Evans Jr | Experience gained from the American Airlines SABRE system control program | |
Donovan et al. | Virtual machine communication for the implementation of decision support systems | |
Davenport | Design of transaction-oriented systems employing a transaction monitor | |
KR20000040486A (en) | Method for collecting information on communication network | |
JP3042198B2 (en) | Switching event data simulation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |