System and method for maximizing usage of computer resources...

Electrical computers and digital processing systems: virtual mac – Task management or control – Process scheduling

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C718S107000

Reexamination Certificate

active

06829764

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to scheduling of applications among processes in one or more associated computers; and, more particularly, to a scheduling system which implements a task schedule by setting operating system priorities for the processes working on queued activities to optimize usage of shared computer resources.
BACKGROUND OF THE INVENTION
Scheduling of activities is needed when a computer is running multiple activities or applications. Assuming that each application or activity comprises more than one task, the tasks must be scheduled among available processes of the computer, often with the order of tasks being predetermined based upon the requirements of the application. For example, when doing a merge-sort operation, the tasks of sorting records into lists must be performed before the next task of merging the lists. The scheduling task becomes more challenging in a multi-processor parallel computing environment, where multiple tasks may be run simultaneously by associated processes. For optimal usage of the available resources, processes should have waiting tasks queued for commencement as soon as previous tasks have been completed, with “wait states” being filled in with queued tasks.
In the past, load control has been used for multi-process scheduling. Under a load control scheduling scheme, only a subset of the total number of tasks are allowed to run at one time. If the processes for each of the subset of tasks all enter wait states (for example, pending the completion of a parallel-running task of the application by another process), the CPU will be unused throughout the duration of the wait states, even though there is more work queued. Scheduling of too few activities under the load control mechanism, therefore, frequently leads to under-utilization of the CPU. On the other hand, if too many activities are allowed to run at once under a load control scheme, which is done under the assumption that all activities will not enter wait states at the same time, the ability to schedule among all of the tasks which are running is lost.
Another scheduling method which has been used in the prior art is priority-based scheduling for management of computer resources. Under a priority-based scheduling scheme, an operating system scheduler prioritizes the workload and schedules one task to be active at any given time. For example, on the AIX* (* Trademark of International Business Machines Corporation) operating system, if applications A, B and C are to be scheduled in alphabetical order, and processes
1
,
3
and
5
are working on A,
2
and
4
on B, and
6
on C, then processes
1
,
3
and
5
have their operating system priorities set to
60
,
2
and
4
to
61
, and
6
to
62
(where lower process priority is more favorable). The prioritization scheme is effectively a resource utilization mechanism that does not perform scheduling of prioritized tasks among processes with the intent of running one or more applications as quickly and efficiently as possible.
When an activity to be scheduled does not parallelize into even amounts of work, neither load nor uniprocessor priority scheduling can maximize the application throughput. Database management systems, wherein the amount of work necessary for any task cannot be quantified in advance without detailed knowledge of the database and of the transactions to be performed thereon, defy scheduling by load or uniprocessor prioritization. Ideally, the scheduler must provide the ability to continue on to other activities related to the initial task when part of a parallel activity has been completed yet other related parts have not been completed.
What is desirable, therefore, is a dynamic priority scheduling mechanism for scheduling activities with multiple tasks among multiple processes, for minimizing unused CPU time.
It is therefore an objective of the present invention to implement scheduling at the task level.
It is additionally an objective of the present invention to provide multiple task scheduling which will minimize unused CPU time.
Still another objective of the invention is to provide coordination of activities among parallel computational resources to minimize unused CPU and optimize application run-time.
SUMMARY OF THE INVENTION
These and other objectives are realized by the present invention wherein a task schedule is enforced among multiple processes by setting process priorities based upon which tasks are running on which processes and based upon the task schedule. The task scheduling may be provided by a local or global scheduler which uses application information to prioritize tasks. The task schedule, or priority list, is provided at Local Activity Schedulers which schedule the activities for their local execution elements
odes. Execution of activities locally are performed by any number of processes that reside in each execution element. These processes are assigned operating system priorities by the respective Local Activity Scheduler based on their assigned activities for execution and the task schedule.


REFERENCES:
patent: 4318173 (1982-03-01), Freedman et al.
patent: 5012409 (1991-04-01), Fletcher et al.
patent: 5185861 (1993-02-01), Valencia
patent: 5325526 (1994-06-01), Cameron et al.
patent: 5339425 (1994-08-01), Vanderah et al.
patent: 5379428 (1995-01-01), Belo
patent: 5630128 (1997-05-01), Farrell et al.
patent: 5659777 (1997-08-01), Iwasaki et al.
patent: 5692193 (1997-11-01), Jagannathan et al.
patent: 5701439 (1997-12-01), James et al.
patent: 5745778 (1998-04-01), Alfieri
patent: 5826081 (1998-10-01), Zolnowsky
patent: 5872972 (1999-02-01), Boland et al.
patent: WO 92/03794 (1992-03-01), None
IBM TDB, “Service Management”, Dec. 1973, pp. 2330-2338.*
Custer, “Inside WIndows NT”, Microsoft Press, Chapter 4 pp. 83-97, Dec. 1993.*
Ripps, “The Multitasking Mindset Meets the Operating System,” EDN, v35, n20, p115(9), pp. 1-13, Oct. 1990.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for maximizing usage of computer resources... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for maximizing usage of computer resources..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for maximizing usage of computer resources... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3298816

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.