Protecting Large Objects Within an Advanced Synchronization Facility
First Claim
1. An apparatus comprising:
- a processor coupleable to a shared memory that is shared by one or more other processors, wherein the processor is configured to execute a section of code that includes a plurality of memory access operations to the shared memory; and
the processor comprising a large object protection module, the large object protection module configured to allow protection of areas larger than memory lines by monitoring accessed and dirty bits in one or more page tables.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method are disclosed for allowing protection of larger areas than memory lines by monitoring accessed and dirty bits in page tables. More specifically, in some embodiments, a second associative structure with a different granularity is provided to filter out a large percentage of false positives. By providing the associative structure with sufficient size, the structure exactly specifies a region in which conflicting cache lines lie. If entries within this region are evicted from the structure, enabling the tracking for the entire index filters out a substantial number of false positives (depending on a granularity and a number of indices present). In some embodiments, this associative structure is similar to a translation look aside buffer (TLB) with 4 k, 2M entries.
89 Citations
20 Claims
-
1. An apparatus comprising:
-
a processor coupleable to a shared memory that is shared by one or more other processors, wherein the processor is configured to execute a section of code that includes a plurality of memory access operations to the shared memory; and the processor comprising a large object protection module, the large object protection module configured to allow protection of areas larger than memory lines by monitoring accessed and dirty bits in one or more page tables. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A multiprocessor computer system comprising:
-
a shared memory; and a plurality of processors coupled to the shared memory, each of the plurality of processors being configured to execute a section of code, the section of code comprising a plurality of memory access operations to the shared memory and each of the plurality of processors comprising a large object protection module, the large object protection module configured to allow protection of areas larger than memory lines by monitoring accessed and dirty bits in one or more page tables. - View Dependent Claims (7, 8, 9, 10)
-
-
11. In a system comprising a memory shared among a plurality of processors, a method comprising:
-
executing a section of code via one of the plurality of processors, the section of code comprising a plurality of memory access operations to the shared memory; and monitoring accessed and dirty bits in a page table so as to provide protection of areas larger than memory lines. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer readable medium comprising code stored therein, said code being executable by a processor to fabricate a multiprocessor computer system, said multiprocessor computer system comprising:
-
a shared memory; a plurality of processors coupled to the shared memory, each of the plurality of processors being configured to execute a section of code, the section of code comprising a plurality of memory access operations to the shared memory and comprising a large object protection module, the large object protection module allowing protection of larger areas than memory lines by monitoring accessed and dirty bits in page tables. - View Dependent Claims (17, 18, 19, 20)
-
Specification