Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1999-09-23
2003-12-16
Sheikh, Ayaz R. (Department: 2131)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
C709S241000, C709S241000, C709S241000, C709S241000, C709S241000, C709S241000
Reexamination Certificate
active
06665699
ABSTRACT:
FIELD OF THE INVENTION
The present invention generally relates to data processing systems, and more specifically to providing processor affinity dispatching.
BACKGROUND OF THE INVENTION
A data processing system with multiple processors provides added complexities over single processor systems. These complexities are compounded when multiple processors are grouped into processor modules containing cache memories shared among the processors in a processor module.
One of the functions provided by modem operating systems is termed multiprogramming. This means that a processor is concurrently virtually executing more than one job or process at a time. This is typically done by time slicing, where one process gets control of the processor and executes for awhile. Than another process gets control and executes for awhile.
One technique that has become common in modern computer architectures is the usage of cache memories. Cache memories are much higher speed and much smaller memories than the computer's main memory. They provide processor efficiency benefits since computer programs tend to have locality in their references to memory. This means that after a certain memory location is referenced, it is more likely that memory locations close to the referenced memory location are next referenced, compared to the remaining locations in memory. The earlier memory reference will bring a chunk of data or instructions stored in main memory into the higher speed cache memory, assuming that locations in the chunk will be referenced shortly.
Cache memory works well as long as one process has control of a processor. However, in a multi-programming operating system, the process in control of the processor will ultimately be suspended and another process dispatched on that processor. At that time, the newly dispatched process has a completely different locality. Most of its data and instructions will not be found in the cache memory, but rather in main memory.
In a data processing system with multiple processors, the processors can be organized into processor modules, with each processor module having a cache memory shared among the processors in a processor module. These processor module cache memories are typically much larger than the cache memories on-board in each of the processors. However, even though these cache memories are quite a bit larger, their utilization in a multi-programming system cause some of the same problems encountered in switching between different processes to execute. In particular, when a process is finally redispatched, it will often find portions of its data and/or instructions to be located in a processor module cache memory other than the one shared by the processor executing the process. The result is that these portions of data and instructions will have to be reloaded from main memory, or siphoned from the cache memory containing them. In either case, processor efficiency is degraded. It would be advantageous if this processor inefficiency could be reduced, resulting in increased system throughput.
REFERENCES:
patent: 4809157 (1989-02-01), Eilert et al.
patent: 4992930 (1991-02-01), Gilfeather et al.
patent: 5185861 (1993-02-01), Valencia
patent: 5333319 (1994-07-01), Silen
patent: 5745778 (1998-04-01), Alfieri
patent: 5826081 (1998-10-01), Zolnowsky
patent: 5867725 (1999-02-01), Fung et al.
patent: 5872972 (1999-02-01), Boland et al.
patent: 6269390 (2001-07-01), Boland
patent: 6289369 (2001-09-01), Sundaresan
patent: 6505250 (2003-01-01), Freund et al.
John Enck. “Windows & .net Magazine: How Windows NT Dispatches Processes and Threads” Oct. 1998. Windows & .net Magazine. p 1-2.*
“IBM Technical Disclosure Bulletin: Dispatcher Queue to Provide Processor Affinity in a Multiprocessor.” Feb. 1994. IBM. vol. 37 No. 2A p. 573-576.*
IBM TDB vol. 37 No. 02A “Dispatcher Queue to Provide Processor Affinity in a Multiprocessor” Feb. 1994.
Brown Michel
Egolf David A.
Hunter Jesse D.
Keil Jon
Meduna Michael
Bull HN Information Systems Inc.
Driscoll Faith F.
Forgia Christian La
Hayden Bruce G.
Sheikh Ayaz R.
LandOfFree
Method and data processing system providing processor... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and data processing system providing processor..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and data processing system providing processor... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3100728