Dynamic cache partitioning

Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S121000, C711S133000

Reexamination Certificate

active

06662272

ABSTRACT:

CROSS-REFERENCE TO RELATED APPLICATIONS
Not Applicable.
STATEMENTS REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not Applicable.
REFERENCE TO A MICROFICHE APPENDIX
Not Applicable.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to cache organization and more particularly to dynamic cache partitioning.
2. Description of the Related Art
In a computer system, a cache is the first level of memory hierarchy encountered once an address leaves a processor toward a memory subsystem. A cache uses the principle of locality to buffer commonly used addresses. Caches improve system performance by reducing memory access latencies and by reducing bandwidth consumption on a processor front side bus. A cache operates on a processor backside bus with processors such as Intel's Pentium III Xeon processor. Many of today's processors include integrated level-one (L1) and level-two (L2) caches. Computer systems can employ a cache external to the processor in addition to these internal caches.
Modern operating systems can issue multiple threads and processes that may share a cache. When a thread or process is pre-empted, the new thread or process could replace the cache contents of the previous thread or process. When the original thread or process returns, its memory ranges may no longer be cached. The original thread or process may then cache its memory ranges and replace what was cached by the previous thread or process. This behavior is termed “thrashing” a cache. Operating systems and more generally the overall software model of computer systems can significantly contribute to cache thrashing.
Multi-processor computer systems in which multiple processors share a cache also greatly contribute to cache thrashing. For instance, a context switch may occur that shifts to a process for a processor after a previous process for a different processor was cached. Similarly, when logical processors become available from a single physical processor package, threads or processes for one logical processor will likely pre-empt previous threads or processes of another logical processor and replace the cache contents of these previous threads or processes.
Increasing the associativity of caches, optimizing process or thread scheduling and optimizing memory management are common strategies employed in an effort to address cache thrashing.
BRIEF SUMMARY OF THE INVENTION
Briefly, a cache-based system is adapted for dynamic cache partitioning. A cache is partitioned into a plurality of cache partitions for a plurality of entities. Each cache partition can be assigned as a private cache for a different entity. If a first cache partition satisfying a first predetermined cache partition condition and a second cache partition satisfying a second predetermined cache partition condition are detected, then the size of the first cache partition is increased by a predetermined segment and the size of the second cache partition is decreased by the predetermined segment. An entity can perform cacheline replacement exclusively in its assigned cache partition, and also be capable of reading any cache partition.


REFERENCES:
patent: 4371929 (1983-02-01), Brann et al.
patent: 4905141 (1990-02-01), Brenza
patent: 5293609 (1994-03-01), Shih et al.
patent: 5325504 (1994-06-01), Tipley et al.
patent: 5369753 (1994-11-01), Tipley
patent: 5426765 (1995-06-01), Stevens et al.
patent: 5692154 (1997-11-01), Tucker et al.
patent: 5829027 (1998-10-01), Goodrum
patent: 6272598 (2001-08-01), Arlitt et al.
patent: 6360303 (2002-03-01), Wisler et al.
patent: 6457102 (2002-09-01), Lambright et al.
patent: 6493800 (2002-12-01), Blumrich
Guohua Jin et al.,An Efficient Solution to the Cache Thrashing Problem, pp. 1-26 (Mar. 4, 1996).

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

Dynamic cache partitioning does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Dynamic cache partitioning, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamic cache partitioning will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3117450

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