IP Library › Granted Patent US 9,477,601
Granted Patent B2
US 9,477,601 · App. 14/694,186 · Granted Oct 25, 2016

Apparatus and method for determining a sector division ratio of a shared cache memory

Inventors: Lei Zhang (Yokohama, JP); Tsuyoshi Hashimoto (Kawasaki, JP)
Assignee: FUJITSU LIMITED
G06F12/084G06F3/0613G06F3/0631G06F3/0635G06F3/0658G06F3/0683G06F9/50G06F12/0842G06F12/0893G06F2212/1021G06F2212/152G06F2212/251G06F2212/6046
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 9,477,601
App. No.
14/694,186
Filed
Apr 23, 2015
Granted
Oct 25, 2016
Kind
B2
Examiner
LANE, JOHN A
Art Unit
2139
USPC
711/130
Abstract

An apparatus includes a shared cache memory and a controller. The shared cache memory is configured to be divided into sectors by assigning one or more ways to each sector in accordance with a reusability level of data. The controller changes a sector division ratio indicating a ratio between way counts of the divided sectors of the shared cache memory, where the way count is a number of ways assigned to each sector. When first and second jobs are being executed in parallel, in response to a designation of a program of the second job, the controller calculates the sector division ratio, based on data access amount including a size and an access count of data accessed by the first and second jobs and a volume of the shared cache memory, and changes the sector division ratio of the shared cache memory to the calculated sector division ratio.

Claims (62)

1. An apparatus comprising:

a shared cache memory configured to be divided into sectors by assigning one or more ways to each sector in association with a reusability level of data; and

a controller configured to change a sector division ratio of the shared cache memory in accordance with a reusability level of data, the sector division ratio indicating a ratio between way counts of the divided sectors of the shared cache memory, the way count being a number of ways assigned to each sector, wherein

when a first job and a second job are being executed in parallel, in response to a designation of a program of the second job, the controller:

calculates the sector division ratio, based on data access amount and a volume of the shared cache memory, the data access amount including a size and an access count of data accessed by the first and second jobs, and

changes the sector division ratio of the shared cache memory to the calculated sector division ratio.

2. The apparatus of claim 1 , wherein

the controller calculates the sector division ratio, based on first and second data access amounts and first and second sector volumes of the shared cache memory, the first data access amount being obtained by summing up sizes of data accessed by the first job for each of first and second reusability levels of data, the second access amount being obtained by summing up sizes of data accessed by the second job for each of the first and second reusability levels of data, the first and second reusability levels being determined in accordance with the access counts of data accessed by the first and second jobs so that the second reusability level is greater than the first reusability level, the first and second sector volumes of the shared cache memory being respectively associated with the first and second reusability levels.

3. The apparatus of claim 2 , wherein

the controller calculates a cache-miss count representing a number of occurrences of cache misses, based on data access amounts of the first and second sectors and volumes of the first and second sectors, and determines the sector division ratio based on the calculated cache-miss count.

4. The apparatus of claim 3 , wherein

the controller calculates the cache-miss count by:

calculating a first index value representing an index of occurrences of cache misses for the first sector and a second index value representing an index of occurrences of cache misses for the second sector, based on the data access amounts of the first and second sectors and the volumes of the first and second sectors, and

applying first and second weights to the calculated first and second index values, respectively.

5. The apparatus of claim 3 , wherein

the shared cache memory is configured to have a plurality of hierarchies including first and second hierarchies; and

the controller calculates a processing delay time by:

calculating a first cache-miss count representing a number of occurrences of cache misses for the shared cache memory of the first hierarchy and a second cache-miss count representing a number of occurrences of cache misses for the shared cache memory of the second hierarchy, and

applying first and second weights to the calculated first and second cache-miss counts, respectively.

6. The apparatus of claim 5 , wherein

the controller calculates the sector division ratio so that the processing delay time value becomes minimum.

7. The apparatus of claim 1 , wherein

an optimization section of the program is designated; and

the controller calculates the sector division ratio by using data access amount including a size and an access count of data caused by executing the optimization section of the program of accessing.

8. The apparatus of claim 7 , wherein

the controller acquires the program that is generated, when compiling the program, by adding data access amount for the optimization section and a code designating the optimization section to the program, and executes the acquired program as a job.

9. The apparatus of claim 1 , wherein

the controller restores the changed sector division ratio to the sector division ratio before being changed, in response to the designation of the program of the second job.

10. The apparatus of claim 1 , wherein

the shared cache memory is configured to have one or more hierarches; and

the controller calculates the sector division ratio for each of the one or more hierarches of the shared cache memory.

11. The apparatus of claim 1 , further comprising:

first and second arithmetic units, wherein

the first arithmetic unit executes the first job and the second arithmetic unit executes the second job.

12. A system comprising:

a first information processing apparatus including:

a shared cache memory configured to be divided into sectors by assigning one or more ways to each sector in association with a reusability level of data, and

a first controller configured to change a sector division ratio of the shared cache memory in accordance with a reusability level of data, the sector division ratio indicating a ratio between way counts of the divided sectors of the shared cache memory, the way count being a number of ways assigned to each sector; and

a second information processing apparatus including a second controller configured to calculate the sector division ratio of the shared cache memory, wherein

when a first job and a second job are being executed in parallel in the first information processing apparatus, in response to a designation of a program of the second job, the first controller of the first information processing apparatus notifies the second information processing apparatus of an instruction to calculate the sector division ratio of the shared cache memory;

the second controller of the second information processing apparatus calculates the sector division ratio, based on data access amount and a volume of the shared cache memory, the data access amount including a size and an access count of data accessed by the first and second jobs, and notifies the first information processing apparatus of the calculated sector division ratio; and

the first controller of the first information processing apparatus changes the sector division ratio of the shared cache memory to the sector division ratio calculated by the second controller of the second information processing apparatus.

13. The system of claim 12 , wherein

the second controller of the second information processing apparatus calculates the sector division ratio, based on first and second data access amounts and first and second sector volumes of the shared cache memory, the first data access amount being obtained by summing up sizes of data accessed by the first job for each of first and second reusability levels of data, the second access amount being obtained by summing up sizes of data accessed by the second job for each of the first and second reusability levels of data, the first and second reusability levels being determined in accordance with the access counts of data accessed by the first and second jobs so that the second reusability level is greater than the first reusability level, the first and second sector volumes of the shared cache memory being respectively associated with the first and second reusability levels.

14. The system of claim 13 , wherein

the second controller of the second information processing apparatus calculates a cache-miss count representing a number of occurrences of cache misses, based on data access amounts of the first and second sectors and volumes of the first and second sectors, and determines the sector division ratio based on the calculated cache-miss count.

15. A method performed in a system including first and second information processing apparatuses, the first information processing apparatus including a shared cache memory configured to be divided into sectors by assigning one or more ways to each sector in association with a reusability level of data, the method comprising:

causing the second information processing apparatus to, when a first job and a second job are being executed in parallel in the first information processing apparatus, in response to a designation of a program of the second job, calculate a sector division ratio indicating a ratio between way counts of the divided sectors of the shared cache memory, the way count being a number of ways assigned to each sector; and

causing the first information processing apparatus to change the sector division ratio of the shared cache memory to the sector division ratio calculated by the second information processing apparatus.

16. The method of claim 15 , further comprising:

causing the first information processing apparatus to execute the first and second jobs, and to notify the second information processing apparatus of an instruction for calculating the sector division ratio of the shared cache memory, in response to designation of the program of the second job, wherein

the first information processing apparatus changes the sector division ratio of the shared cache memory to the sector division ratio notified from the second information processing apparatus.

17. The method of claim 15 , further comprising:

causing the second information processing apparatus to calculate the sector division ratio, based on first and second data access amounts and first and second sector volumes of the shared cache memory, the first data access amount being obtained by summing up sizes of data accessed by the first job for each of first and second reusability levels of data, the second access amount being obtained by summing up sizes of data accessed by the second job for each of the first and second reusability levels of data, the first and second reusability levels being determined in accordance with the access counts of data accessed by the first and second jobs so that the second reusability level is greater than the first reusability level, the first and second sector volumes of the shared cache memory being respectively associated with the first and second reusability levels.

18. A non-transitory, computer-readable recording medium having stored therein a program for causing a computer to execute a process, the computer being included in each of the first and second information processing apparatuses, the first information processing apparatus including a shared cache memory configured to be divided into sectors by assigning one or more ways to each sector in association with a reusability level of data, the process comprising:

causing the second information processing apparatus to, when a first job and a second job are being executed in parallel in the first information processing apparatus, in response to a designation of a program of the second job, calculate a sector division ratio indicating a ratio between way counts of the divided sectors of the shared cache memory, the way count being a number of ways assigned to each sector; and

causing the first information processing apparatus to change the sector division ratio of the shared cache memory to the sector division ratio calculated by the second information processing apparatus.

19. The non-transitory, computer-readable recording medium of claim 18 , the process further comprising:

causing the first information processing apparatus to execute the first and second jobs, and to notify the second information processing apparatus of an instruction for calculating the sector division ratio of the shared cache memory, in response to designation of the program of the second job, wherein

the first information processing apparatus changes the sector division ratio of the shared cache memory to the sector division ratio notified from the second information processing apparatus.

20. The non-transitory, computer-readable recording medium of claim 18 , the process further comprising:

causing the second information processing apparatus to calculate the sector division ratio, based on first and second data access amounts and first and second sector volumes of the shared cache memory, the first data access amount being obtained by summing up sizes of data accessed by the first job for each of first and second reusability levels of data, the second access amount being obtained by summing up sizes of data accessed by the second job for each of the first and second reusability levels of data, the first and second reusability levels being determined in accordance with the access counts of data accessed by the first and second jobs so that the second reusability level is greater than the first reusability level, the first and second sector volumes of the shared cache memory being respectively associated with the first and second reusability levels.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2015
From: ZHANG, LEI; HASHIMOTO, TSUYOSHI
To: FUJITSU LIMITED
Reel/Frame 035491/0727 →
Priority Claims (1)
JP 2014-106155 · May 22, 2014 · national
Continuity (1)
Related Publication 20150339229A1 · Nov 26, 2015