← Back to Patent Explorer
US4183083A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of operating a multiprogrammed computing system

Assignee: DUQUESNE SYSTEMS Inc
•
Filing: 1972-04-14
•
Granted: 1980-01-08
•
Expires: 1992-04-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A unique method of operating a multiprogrammed computing system by dynamically regulating central processing unit (CPU) and/or peripheral resource access such that the parallel processing capability, i.e., thruput of the computing system, is increased and/or such that all programs efficiently share the computing system. The embodiment selected is dependent upon the complexity of the computing system and the amount of computing capability available for regulation. In one embodiment CPU and peripheral access is regulated in an unlike manner. In another embodiment the solution of a dynamic linear programming model, that describes the current resource requirements of two or more of the programs operating in the system, is used to regulate resource access. In yet another embodiment, the system is shared while minimizing the degradation of degradable resources. A more elaborate embodiment of this invention has the capability of alternating between two or more different regulating algorithms providing the computing system with an almost unlimited number of different operational modes. In addition, the mode itself can vary with time to allow the computing system to meet the requirements of a changing workload.

Inventors

  • 👤 Glen F. Chatfield

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 17:55
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4812; G06F9/4831; G06F9/52

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 163 words
A method of operating a computing system upon more than one processing program concurrently for improving total resource utilization, said computing system comprising at least one central processing unit, having a logic and main memory function and an interrupt capability, and a plurality of peripheral resources capable of functioning in parallel with the central processing unit, comprising steps for: (1) accumulating system utilization data for at least one processing program for at least one resource, said system utilization data comprising resource activity and/or resource degradation data; (2)(a) at spaced intervals interrupting the processing programs and analyzing the system utilization of at least one processing program; (2)(b) based on this analysis regulating resource access by assigning an individual resource access priority and/or preventing resource access altogether in an unlike manner to at least two resources for at least one processing program to increase thruput; (3) resuming the operation of the computing systems on the processing programs; and, (4) continually repeating steps (1) to (3).
Claim 2
Independent Claim 163 words
A method of operating a computing system upon more than one processing program concurrently for improving total resource utilization, said computing system comprising at least one central processing unit, having a logic and main memory function and an interrupt capability, and a plurality of peripheral resources capable of functioning in parallel with the central processing unit, comprising steps for: (1) accumulating system utilization data for at least one processing program for at least one resource, said system utilization data comprising resource activity and/or resource degradation data; (2)(a) at spaced intervals interrupting the processing programs and analyzing the system utilization of at least one processing program; (2)(b) based on this analysis regulating resource access by assigning an individual resource access priority and/or preventing resource access altogether in an unlike manner to at least two resources for at least one processing program to increase thruput; (3) resuming the operation of the computing systems on the processing programs; and, (4) continually repeating steps (1) to (3).
Claim 3
Dependent Claim 39 words
A method according to claim 1 in which the regulation in step (2) (b) comprises regulating resource access substantially to favor the more overlapped programs, said overlapped programs being those that can use two or more resources in parallel.
Claim 4
Dependent Claim 119 words
A method according to claim 2 in which processing program resource access regulated in step (2) is determined according to the following algorithm: ##EQU9## where n is equal to the number of peripherals measured, where PERIPHERAL ACTIVITY i is the activity of the ith peripheral resource, and where C.P.U. ACTIVITY is the activity of the C.P.U. or if CPU activity < the Maximum Peripheral activity ##EQU10## where n is equal to the number of peripherals measured, where MAXIMUM PERIPHERAL ACTIVITY is the total activity on the most active peripheral resource, and where TOTAL RESOURCE ACTIVITY is the sum of all C.P.U. and all peripheral resource activities, and all PERIPHERAL RESOURCE ACCESS PRIORITIES are assigned inversely to the CPU priorities.
Claim 5
Dependent Claim 60 words
A method according to claim 1 in which during step (1) degradation activity is accumulated and assigned to programs having a preselected degradation priority and during step (2) (a) comparing degradation activity to the total resource activity and during step (2) (b) regulating the resource access of the programs having accumulated substantial degradation activity such that degradation may be reduced.
Claim 6
Dependent Claim 95 words
A method according to claim 1 in which during step (1) degradation activity is accumulated and assigned to the program having the lowest previous productivity factor calculated by the algorithm, ##EQU11## where TOTAL RESOURCE ACTIVITY is the sum of CPU and all peripheral activity, where MAXIMUM RESOURCE ACTIVITY is the total activity on the most active resource and during step (2) (a) comparing the accumulated degradation activity to the total resource activity and during step (2) (b) regulating the resource access of the programs having accumulated substantial degradation activity so that the degradation is reduced.
Claim 7
Dependent Claim 24 words
A method according to claim 1 in which the regulation in step (2) (a) comprises regulating resource access substantially on an inverse need basis.
Claim 8
Dependent Claim 58 words
A method according to claim 6 in which the resource priorities are assigned in step (2)(b) according to the following algorithms: ##EQU12## where TOTAL RESOURCE ACTIVITY is the sum of CPU and all peripheral resource activity, and where RESOURCE ACTIVITY i is the activity of the ith resource, and INACTIVE RESOURCE PRIORITY = P, a large positive number.
Claim 9
Dependent Claim 57 words
A method according to claim 6 in which the resource priorities are assigned in step (2)(b) according to the following algorithms: ##EQU13## where MAXIMUM RESOURCE ACTIVITY is the total activity on the most active resource, and where RESOURCE ACTIVITY i is the activity on the ith resource and INACTIVE RESOURCE PRIORITY = P, a large positive number.
Claim 10
Dependent Claim 214 words
A method according to claim 1 in which during step (1) degradation activity is accumulated and in which the regulation in step (2)(b) comprises assigning resource access priorities by the following substeps for: A. determining if the old phase (integral number of processing intervals) is over and a new phase is to be started; if a new phase is to be started: B. setting all of the resource priorities to the same high value; C. assigning degradation priorities such that the first program is given a degradation priority equal to the resource access priorities and succeeding programs are given degradation priorities of one less than their predecessor: if a new phase is not to be started: D. setting the resource access priorities of all programs that have degradation activity equal to their degradation priority; E. decrementing degradation and resource access priorities by a number greater than the maximum number of programs that can be run in parallel by the computing system for any program that hogs a resource; and, F. when the substep (D) has failed to eliminate degradation and if the program's resource priority was unique during the previous interval and if its degradation activity is greater than its resource activity, stopping execution of that program for at least the next processing interval.
Claim 11
Dependent Claim 25 words
A method according to claim 1 in which the regulation of resource access during step (2) changes from one regulating embodiment to another with time.
Claim 12
Independent Claim 162 words
A method of operating a computing system upon more than one processing program concurrently for improving total resource utilization, said computing system comprising at least one central processing unit, having a logic and main memory function and an interrupt capability, and a plurality of peripheral resources capable of functioning in parallel with the central processing unit, comprising the steps for: (1) accumulating system utilization data for at least two processing programs for at least one peripheral resource, said system utilization data comprising resource activity and/or resource degradation; (2)(a) at spaced intervals interrupting the processing programs and dynamically analyzing the program resource contention of at least two of the processing programs for at least two resources; (2)(b) based on this analysis regulating resource access by assigning resource access priorities and/or preventing resource access altogether for at least one processing program to increase thruput; (3) resuming the operation of the computing system on the processing programs; and, (4) continually repeating steps (1) to (3).
Claim 13
Independent Claim 162 words
A method of operating a computing system upon more than one processing program concurrently for improving total resource utilization, said computing system comprising at least one central processing unit, having a logic and main memory function and an interrupt capability, and a plurality of peripheral resources capable of functioning in parallel with the central processing unit, comprising the steps for: (1) accumulating system utilization data for at least two processing programs for at least one peripheral resource, said system utilization data comprising resource activity and/or resource degradation; (2)(a) at spaced intervals interrupting the processing programs and dynamically analyzing the program resource contention of at least two of the processing programs for at least two resources; (2)(b) based on this analysis regulating resource access by assigning resource access priorities and/or preventing resource access altogether for at least one processing program to increase thruput; (3) resuming the operation of the computing system on the processing programs; and, (4) continually repeating steps (1) to (3).
Claim 14
Dependent Claim 87 words
A method according to claim 11 in which resource access is regulated in step (2) (b) by selecting a subset of programs to substantially maximize the following linear function: Z=PF.sub.1 x.sub.1 +PF.sub.2 x.sub.2 +. . . PF.sub.n x.sub.n, where PF is equal to the program productivity factor and n is equal to the number of programs executing in parallel, subject to the restrictions that no two programs can use all of the same resource during a given interval and a program is either processed or not processed.
Claim 15
Dependent Claim 28 words
A method according to claim 12 in which the regulation in step (2)(b) comprises imposing access priorities within the subsets of programs on a substantially inverse need basis.
Claim 16
Independent Claim 161 words
A method of operating a computing system upon more than one processing program concurrently for improving total resource utilization, said computing system comprising at least one central processing unit resource, having a logic and main memory function and interrupt capability, a plurality of peripheral resources capable of functioning in parallel with the central processing unit, comprising the steps for: (1) accumulating system utilization data comprising data on at least one peripheral resource for at least one processing program said system utilization data comprising resource activity and/or degradation data; (2)(a) at spaced intervals interrupting the processing programs and dynamically analyzing the system utilization of step (1) for at least one processing program; (2)(b) based on this analysis regulating peripheral resource access by assigning an individual resource access priority and/or preventing resource access altogether for at least one processing program to increase thruput; (3) resuming the operation of the computing system on the processing programs; and, (4) continually repeating steps (1) to (3).
Claim 17
Independent Claim 161 words
A method of operating a computing system upon more than one processing program concurrently for improving total resource utilization, said computing system comprising at least one central processing unit resource, having a logic and main memory function and interrupt capability, a plurality of peripheral resources capable of functioning in parallel with the central processing unit, comprising the steps for: (1) accumulating system utilization data comprising data on at least one peripheral resource for at least one processing program said system utilization data comprising resource activity and/or degradation data; (2)(a) at spaced intervals interrupting the processing programs and dynamically analyzing the system utilization of step (1) for at least one processing program; (2)(b) based on this analysis regulating peripheral resource access by assigning an individual resource access priority and/or preventing resource access altogether for at least one processing program to increase thruput; (3) resuming the operation of the computing system on the processing programs; and, (4) continually repeating steps (1) to (3).

References Cited (Backward Citations)

US3363236A Cited
US3504347A Cited
US3593299A Cited
US3528062A Cited
US3588837A Cited
US3648253A Cited
US3766524A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1983-01-07 1983-07-09 1984-01-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1987-01-07 1987-07-09 1988-01-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1991-01-07 1991-07-09 1992-01-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag