Allocating system resources based upon priority

Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus access regulation

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S040000, C710S264000

Reexamination Certificate

active

06442631

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to controlling access to computer peripheral devices based upon a priority code, and more particularly, to the arbitration of requests for resources among multiple processes, processors, and peripheral devices.
2. Description of the Related Art
With the ever-increasing amount of data being processed by today's computer systems, the efficient use of computer resources is very important. The processing power of computer systems is often increased by adding processors and allowing multiple processes to run on each processor. In addition, most computers include specialized circuitry, provided via expansion boards that plug into the computer's expansion slots. Typically, these slots are supported by a standardized input/output (I/O) bus such as the Industry Standard Architecture (ISA) bus, the Extended Industry Standard Architecture (EISA) bus, and the Peripheral Component Interconnect (PCI) bus.
In current operating systems (OSs) that run multiple tasks concurrently, central processing units (CPUs) typically schedule a task based upon priority; higher priory tasks are allowed to run first and use a larger slice of the CPU's time. In single and multi-processor systems, the allocation of shared resources like buses, expansion boards and other devices is commonly on a first-come-first-served basis. Solutions for the resource allocation problem have either not used a priority based approach or have focused on the arbitration of multiple resource requests at the I/O bus level.
Today's Symmetric MultiProcessing (SMP) computer systems have begun to address the fact that different processors have multiple processes of different priority running on them. The Advanced Programmable Interrupt Controller (APIC) interrupt delivery system by Intel Corporation, Santa Clara, Calif., is capable of routing the system's interrupts to the processor with the lowest priority process running, allowing a processor with a higher priority process to continue working undisturbed.
For several decades, the Unix operating system (Unix), originally developed by AT&T, has used process priority to determine access to a computer's CPU. Another example of priority based resource allocation is Simple Network Management Protocol (SNMP), found in several OSs, like Unix, MSDOS by Microsoft Corporation, Redmond, Wash., and VMS by Digital Equipment Corporation, Maynard, Mass. SNMP utilizes high priority, or out-of-band, messages to carry control and performance information, enabling network administrators to perform administrative duties and take corrective action when a network is overloaded or deadlocked.
SUMMARY OF THE INVENTION
In a system implemented according to the invention, a bus master, such as a processor, initiates transactions on a bus and provides associated priority information for that transaction. A bus device, such as a memory controller, then receives and processes that transaction, and further receives and retains the priority information. Using this priority information, the bus device can alter the order in which it initiates or processes the transactions. For example, if the bus master assigns priority based on corresponding operating system task priority, transactions associated with low priority tasks may be deferred in favor of transactions initiated by high priority tasks.
According to one embodiment, a bus device has a transaction queue which stores the transaction request and includes storage for a priority level assigned by the process generating the transaction. This priority value could either be the same as the process priority that generates the request or selected using another scheme. A transaction and its priority level are delivered to the queue by a transaction decoder connected either to a multiplexed data bus or separate transaction and priority data buses. The transaction decoder has logic that inserts a new transaction and its priority into the queue ahead of lower priority transactions. The transaction queue has logic to ensure that the highest priority transaction is issued first. If two transactions have equal priorities, the transaction that has been in the queue longest would take precedence. Furthermore, the transaction queue has logic to periodically adjust the priority of already stored transactions to prevent transactions of low priority from being excluded completely from transaction processing during periods of high activity. There is also logic to enable a process to delete an already stored transaction and to upgrade the priority of an already stored transaction. In addition, the transaction queue has logic to resort the queue, if necessary, after an insertion or deletion of a transaction entry or the upgrade or adjustment of the priority of an already stored transaction entry.


REFERENCES:
patent: 4438489 (1984-03-01), Heinrich et al.
patent: 4794526 (1988-12-01), May et al.
patent: 4965716 (1990-10-01), Sweeney
patent: 5133062 (1992-07-01), Joshi et al.
patent: 5193196 (1993-03-01), Mochida et al.
patent: 5247675 (1993-09-01), Farrell et al.
patent: 5301279 (1994-04-01), Riley et al.
patent: 5379428 (1995-01-01), Belo
patent: 5392436 (1995-02-01), Jansen et al.
patent: 5450570 (1995-09-01), Richek et al.
patent: 5452452 (1995-09-01), Gaetner et al.
patent: 5504894 (1996-04-01), Ferguson et al.
patent: 5553248 (1996-09-01), Melo et al.
patent: 5701480 (1997-12-01), Raz
patent: 5822584 (1998-10-01), Thompson et al.
MultiProcessor Specification Ver. 1.4, Intel Corporation, May 1997, pp. 3-5 through 3-16 and pp. D-1 through D-3.
Advanced Configuration and Power Interface Specification, Intel Corporation, Microsoft Corporation, Toshiba Corporation, © 1996, pp. 2-10, 5-76 through 5-80, 5-88 through 5-90, 9-162 and 14-204 through 14-205.

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

Allocating system resources based upon priority does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Allocating system resources based upon priority, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Allocating system resources based upon priority will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2890045

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