EP0346039A2

Dynamic load balancing for multi-user computers.

Abstract

In a multi-user computer system using a central processing unit (CPU), page addressed virtual memory operating system, and a system storage location for storing a fixed set of system operating parameters with pre-assigned control values for allocating access to system resources, the resources comprising CPU processing cycles and resident memory, and employing one or more measurement devices and monitor routines for generating values for a set of measured performance parameters for each process relative to its allocation of system resources, a method and apparatus for dynamically re-allocating system resources, comprising providing a pre-defined set of desired performance values in a memory storage location, recording current measured system performance values for each process in a second memory location, generating adjustment factors according to a predetermined relatioship for each corresponding measured and desired performance value; and adjusting said system operating parameters in response to said adjustment factors.

EP0346039A2, drawing sheet 1
Sheet 1 of 9

Term

Term ended

Projected expiry passed 5 June 2009, 17.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

15 claims: 2 independent, 13 dependent

  1. 1
    In a multi-user computer system using a central processing unit (CPU), a page addressed virtual memory operating system, and a fixed set of system operating parameters with pre-assigned control values for allocating access to system resources, the resources comprising CPU processing cycles and resident memory, and employing one or more monitor routines for generating values for a set of measured performance parameters for each process a method of dynamically re-allocating system resources through adjustment of the system operating parameter values, comprising the steps of:providing a pre-defined set of desired performance values in a memory storage location;accumulating current system response for each process by recording said measured performance values for each process in a second memory location;generating adjustment factors according to a predetermined relatioship for each corresponding measured and desired performance value;adjusting said system operating parameters in response to said adjustment factors.
  2. 2
    The method of Claim 1 further comprising the steps of:waiting a predetermined period of time and returning to said accumulating step, said waiting period being selected from a plurality of waiting periods of preset length in response to said adjustment factors.
  3. 3
    The method of Claim 2 wherein there are at least a first,second and third preset waiting period having a length of about 6, 30, and 90 seconds respectively.
  4. 4
    The method of Claim 2 wherein said computer system provides a termination command when it is desired to terminate said method and further comprises the steps of checking for said termination command and terminating said re-allocation method in response thereto and returning to said recording step otherwise.
  5. 5
    The method of Claim 1 further comprising the steps of:detecting said pre-assigned system control values;and storing said detected values in a third memory location.
  6. 6
    The method of Claim 1 wherein said system operating parameters are automatically loaded by said computer system at system initialization.
  7. 7
    The method of Claim 1 wherein said operating parameters comprise parameters controlling pre-selected minimum and maximum values for central processor access time, minimum number of pages of memory in a process resident set, size of resident set increments, size of resident set decrements, maximum and minimum page fault rates, and size of data transfer groups for DMA transfers.
  8. 8
    The method of Claim 1 wherein said performance parameters comprise parameters for page fault rate, page faults, resident set size, suspension waits, page collision waits, and free pages for each process.
  9. 9
    The method of Claim 8 wherein said step of adjusting further comprises the steps of:increasing working set size and access time for processes exceeding said page fault rate high or low limits;and decreasing working set size and access time for processes in a range between said page fault rate high or low limits.
  10. 10
    The method of Claim 1 further comprising the step of storing said performance parameters and associated values in a third memory storage location.
  11. 11
    The method of Claim 1 further comprising the step of initializing system buffers for storing data after storing said first and second sets of control parameters.
  12. 12
    The method of Claim 1 further comprises the step of compiling statistical information on process and system response.
  13. 13
    An apparatus for controlling the allocation of resources in a multi-user computer system having a central processing unit (CPU), page addressed virtual memory connected to said CPU, and a fixed set of system operating parameters with pre-assigned control values for allocating access to system resources, the resources comprising CPU processing cycles and resident memory, and employing one or more performance monitors for generating values for a set of measured performance parameters for each process relative to its allocation of system resources, comprising:system storage means connected to said CPU for storing system operating parameters and corresponding system control values;status storage means connected to said CPU for storing values associated with said performance parameters for each process;monitoring means operatively coupled to said CPU for measuring said performance values for each active process and storing them in said status storage means;a status accumulator connected to said monitoring means, said accumulator being capable of receiving measured performance values and accumulating them to form a set of system status values;resource control means connected to said CPU for providing a set of adjustement factors for said performance parameters;adjustment means connected to said resource means and said CPU for adjusting said control values in response to said adjustment factors.
  14. 14
    The apparatus of Claim 15 further comprising a mode selector connected to said adjustment means and said monitoring means for determining the frequency of monitoring and adjusting in response to previous adjustment values.
  15. 15
    The apparatus of Claim 15 further comprising at least one buffer means for storing information.