IP Library › Granted Patent US 11,580,023
Granted Patent B2
US 11,580,023 · App. 17/189,436 · Granted Feb 14, 2023

Information processing apparatus, computer-readable recording medium having stored therein memory control program, and computer-readable recording medium having stored therein information processing program

Inventors: Satoshi Kazama (Kawasaki, JP); Shinya Kuwamura (Kawasaki, JP)
Assignee: FUJITSU LIMITED
G06F12/0806G06F12/0891G06F2212/1024
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,580,023
App. No.
17/189,436
Granted
Feb 14, 2023
Kind
B2
Abstract

An information processing apparatus including: a first management data storing region that stores a plurality of first links being provided one for each of multiple calculating cores and representing an order of migration of pages of a page group allocated to the calculating core among a plurality of the pages; a second management data storing region that stores a second link being provided for an operating system and managing a plurality of pages selected in accordance with the order of migration among the page group of the plurality of first links as a group of candidate pages to be migrated to the second memory; and a migration processor that migrates data of a page selected from the group of the second link from the first memory to the second memory. With this configuration, occurrence of a spinlock is reduced, so that the load on processor is reduced.

Claims (41)

1. An information processing apparatus comprising:

a first memory that stores data in a unit of page;

a second memory that stores data of a page of a migration target from the first memory;

a processor comprising a plurality of calculating cores;

a first management data storing region that stores a plurality of least recently used (LRU) lists for each calculating core being provided one for each of the plurality of calculating cores and representing an order of migration of pages of a page group allocated to the calculating core among a plurality of the pages;

a second management data storing region that stores an LRU list for OS (operating system) provided for an operating system and managing a plurality of pages selected in accordance with the order of migration among the page group of the plurality of LRU lists for each calculating core as a group of candidate pages to be migrated to the second memory; and

a migration processor that migrates data of a page selected from the group of the LRU list for OS from the first memory to the second memory.

2. The information processing apparatus according to claim 1 , further comprising:

a storing unit that stores migration management data managing the page that the migration processor migrates to the second memory; and

a plurality of deleting processors that are provided one for each of the plurality of calculating cores and that deletes, from the LRU lists for each calculating core, the page migrated to the second memory with reference to the migration management data.

3. The information processing apparatus according to claim 1 , further comprising:

a storing unit that stores page association data that associates the page migrated to the second memory and one of the plurality of calculating cores; and

a deleting processor that deletes, from the LRU lists for each calculating core, the page migrated to the second memory with reference to the page association data.

4. The information processing apparatus according to claim 1 , wherein each of the plurality of calculating core comprises:

the LRU list for OS; and

a deleting processor that deletes, from the LRU lists for each calculating core, the page migrated to the second memory.

5. An information processing apparatus comprising:

a processor comprising a plurality of calculating cores;

a requested memory capacity calculator that integrates a plurality of requested memory capacities of the plurality of calculating cores into an integrated requested memory capacity;

a cache-miss frequency calculator that counts a number of cache-misses of each of the plurality of calculating cores; and

a cache redistributing determiner that determines, based on a ratio between the integrated requested memory capacity of a calculating core of a migration source of the redistributing and the integrated requested memory capacity of the migration destination of the redistributing, a cache capacity to be redistributed when a ratio of a maximum value of the number of cache-misses in the calculating cores to a minimum value of the number of cache-misses in the calculating cores is at least equal to a threshold.

6. The information processing apparatus according to claim 5 , wherein the cache distributing determiner determines one of the plurality of calculating cores having the maximum number of cache-misses to be a migration source of the cache capacity and determines one of the plurality of calculating cores having the minimum number of cache-misses to be a migration destination of the cache capacity.

7. A non-transitory computer-readable recording medium having stored therein a memory control program applied to an information processing apparatus comprising a first memory that stores data in a unit of page, a second memory that stores data of a page of a migration target from the first memory, and a processor comprising a plurality of calculating cores, wherein:

the memory control program causes a first calculating core, being one of the plurality of calculating cores and using the first memory, to execute a process comprising registering a page to which the first calculating core makes a data access into a plurality of least recently used (LRU) lists for each calculating core representing an order of migration of pages of a page group allocated to the first calculating core; and

the memory control program causes a second calculating core being one of the plurality of calculating cores to execute a process comprising:

referring to an LRU list for OS (operating system) being provided for an operating system and managing a plurality of pages selected in accordance with the order of migration among the page group of the plurality of LRU lists for each calculating core as a group of candidate pages to be migrated to the second memory; and

migrating data of a page selected from the group of the LRU list for OS from the first memory to the second memory.

8. The non-transitory computer-readable recording medium according to claim 7 , wherein:

the memory control program causes one of the plurality of calculating cores to execute a process comprising storing migration management data managing the page migrated to the second memory; and

the memory control program causes each of the plurality of calculating cores to execute a process comprising deleting, from the LRU lists for each calculating core, the page migrated to the second memory with reference to the migration management data.

9. The non-transitory computer-readable recording medium according to claim 7 , wherein the memory control program causes one of the plurality of calculating cores to execute a process comprising:

storing page association data that associates the page migrated to the second memory and one of the plurality of calculating cores; and

deleting, from the LRU lists for each calculating core, the page migrated to the second memory with reference to the page association data.

10. The non-transitory computer-readable recording medium according to claim 7 , wherein the memory control program causes each of the plurality of calculating cores to execute a process comprising deleting, from the LRU lists for each calculating core, the page migrated to the second memory.

11. A non-transitory computer-readable recording medium having stored therein an information processing program applied in an information processing apparatus comprising a processor comprising a plurality of calculating cores, the information processing program causing one of the plurality of calculating cores to execute a process comprising:

integrating a plurality of requested memory capacities of the plurality of calculating cores into an integrated requested memory capacity;

counting a number of cache misses of each of the plurality of calculating cores; and

determining, based on a ratio between the integrated requested memory capacity of a calculating core of a migration source of the redistributing and the integrated requested memory capacity of the migration destination of the redistributing, a cache capacity to be redistributed when a ratio of a maximum number of cache-misses in the plurality of calculating cores to a minimum number of cache-misses in the plurality of calculating cores is at least equal to a threshold.

12. The non-transitory computer-readable recording medium according to claim 11 , the information processing program causing one of the plurality of calculating cores to execute a process comprising:

determining one of the plurality of calculating cores having the minimum number of cache-misses to be a migration source of the cache capacity; and

determining one of the plurality of calculating cores having the maximum number of cache-misses to be a migration destination of the cache capacity.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2022
From: KAZAMA, SATOSHI; KUWAMURA, SHINYA
To: FUJITSU LIMITED
Reel/Frame 061599/0121 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2021
From: KAZAMA, SATOSHI; KUWAMURA, SHINYA
To: FUJITSU LIMITED
Reel/Frame 056600/0953 →
Priority Claims (2)
JP JP2020-042130 · Mar 11, 2020 · national
JP JP2020-206427 · Dec 14, 2020 · national
Continuity (1)
Related Publication 20210286725A1 · Sep 16, 2021