MULTI-THREADED MEMORY MANAGEMENT
First Claim
Patent Images
1. A method for memory management comprising:
- maintaining a first mapping structure for each thread of a multi-threaded process;
maintaining a second mapping structure for each core of a multi-core processing device;
maintaining a global mapping structure for shared memory mappings; and
during thread context switches, copying thread context entries without modifying a page-mapping base address register of each core of the multi-core processing device.
1 Assignment
0 Petitions
Accused Products
Abstract
Memory management includes maintaining a first mapping structure for each thread of a multi-threaded process. A second mapping structure is maintained for each core of a multi-core processing device. A global mapping structure for shared memory mappings is maintained. During thread context switches, copying thread context entries without modifying a page-mapping base address register of each core of the multi-core processing device.
23 Citations
30 Claims
-
1. A method for memory management comprising:
-
maintaining a first mapping structure for each thread of a multi-threaded process; maintaining a second mapping structure for each core of a multi-core processing device; maintaining a global mapping structure for shared memory mappings; and during thread context switches, copying thread context entries without modifying a page-mapping base address register of each core of the multi-core processing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system comprising:
-
a multi-core processor having a plurality of processor cores each coupled to a page-mapping base address register; and a memory including a mapping architecture comprising; a first mapping structure for each thread of a multi-threaded process executed by the plurality of cores; a second mapping structure for each core of the plurality of cores; and a global mapping structure for shared memory mappings of each thread of the multi-threaded process; and a page-fault handler that synchronizes data in the global mapping structure and a particular second mapping structure. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A non-transitory computer-readable medium having instructions which when executed on a computer perform a method comprising:
-
creating a first mapping structure for each thread of a multi-threaded process; creating a second mapping structure for each core of a multi-core processing device; creating a global mapping structure for maintaining shared memory mappings; and performing a copy of thread context entries during thread context switches without modifying a page-mapping base address register of each core of the multi-core processing device. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A server comprising:
-
a multi-core processor having a plurality of processor cores, wherein each processing core comprising a page-mapping base address register and a translation lookaside buffer (TLB); a plurality of page directories, wherein each processing core of the plurality of processing cores is coupled to a corresponding page directory; a plurality of page tables, wherein each processing core of the plurality of processing cores is coupled to a corresponding page table; and a global page table coupled to each page directory of the plurality of page directories. - View Dependent Claims (29, 30)
-
Specification