IP Library Granted Patent US 10,209,888
Granted Patent B2
US 10,209,888 · App. 15/552,819 · Granted Feb 19, 2019

Computer and optimization method

Inventors: Masayuki Hayashi (Tokyo, JP); Masayuki Gomyo (Tokyo, JP)
Assignee: Hitachi, Ltd.
G06F3/0604G06F12/0835G06F13/102G06F13/14G06F13/16
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 10,209,888
App. No.
15/552,819
Granted
Feb 19, 2019
Kind
B2
Abstract

A computer has processors each including computation cores; memories, and an IO device, and includes NUMA nodes. The computer holds pattern management information to manage patterns and comprises a control module to determine a pattern to be applied to the computer. The pattern management information includes policy information including a policy on placement of a transfer-use memory area in the NUMA nodes, a policy on the placement of driver management information in the NUMA nodes, and a policy on allocation of computation cores that execute data transfer in the NUMA nodes, for each of the plurality of patterns. The control module applies each of the patterns to the computer based on the pattern management information, to measure IO performance in each of the patterns, and determine a pattern being highest in IO performance as a pattern to be applied to the computer.

Claims (55)

1. A computer, comprising:

a plurality of processors each including a plurality of computation cores;

a plurality of memories; and

at least one IO device;

wherein the computer including a plurality of nodes each made up of at least one of the plurality of processors and at least one of the plurality of memories that is accessed from the at least one of the plurality of processors in a shortest access time,

wherein the computer is configured to hold pattern management information, which is used to manage a plurality of patterns defining settings to be set to the plurality of nodes in order to carry out data transfer between the computer and an apparatus coupled to the computer via the at least one IO device,

wherein the computer comprises a control module configured to determine a pattern to be applied to the computer based on IO performance in each of the plurality of patterns,

wherein the pattern management information includes policy information for each of the plurality of patterns, the policy information including a policy on placement of a transfer-use memory area, which is used for the data transfer, in the plurality of nodes, a policy on placement of driver management information, which is used to operate the at least one IO device, in the plurality of nodes, and a policy on allocation of computation cores that execute processing of the data transfer in the plurality of nodes, and

wherein the control module is configured to:

apply each of the plurality of patterns to the computer based on the pattern management information, to thereby measure IO performance in each of the plurality of patterns; and

determine, based on a result of analyzing the IO performance, one of the plurality of patterns that is highest in IO performance as a pattern to be applied to the computer.

2. The computer according to claim 1 ,

wherein the at least one IO device includes an IO count counting module configured to count a number of times IO access for each a block size, the IO access is executed between at least one of the plurality of processors and the at least one IO device, and

wherein the control module is configured to:

measure IO performance in each of the plurality of patterns for each the block size;

obtain from the IO count counting module the IO access count of each the block size;

identify a frequently used block size, which is a block size having the highest IO access count, based on the IO access count of each the block size; and

refer to a result of measuring the IO performance to determine, as a pattern to be applied to the computer, one of the plurality of patterns that is highest in IO performance at the frequently used block size.

3. The computer according to claim 2 ,

wherein the computer is coupled to a storage apparatus storing an operating system and a device driver, and

wherein the control module is configured to:

generate a parameter to be used by the device driver to apply the determined one of the plurality of patterns to the computer; and

store the parameter in the storage apparatus.

4. The computer according to claim 2 , wherein the pattern management information includes policy information of a first pattern being used to set, as computation cores that execute the data transfer, the plurality of computation cores included in each of the plurality of nodes, being used to place the driver management information in the memory included in each of the plurality of nodes, and being used to place the transfer-use memory area in the memory included in one of the plurality of nodes that requires a smallest number of hops to access the at least one IO device.

5. The computer according to claim 2 , wherein the pattern management information includes policy information of a second pattern being used to set, as computation cores that execute the data transfer, the plurality of computation cores included in each of the plurality of nodes, being used to place the driver management information in the memory included in each of the plurality of nodes, and being used to place the transfer-use memory area in the memory included in each of the plurality of nodes.

6. The computer according to claim 2 , wherein the pattern management information includes policy information of a third pattern being used to set, as computation cores that execute the data transfer, the plurality of computation cores included in one of the plurality of nodes that requires a smallest number of hops to access the at least one IO device, being used to place the driver management information in the memory included in one of the plurality of nodes that requires the smallest number of hops to access the at least one IO device, and being used to place the transfer-use memory area in the memory included in one of the plurality of nodes that requires the smallest number of hops to access the at least one IO device.

7. The computer according to claim 2 , wherein the pattern management information includes policy information of a fourth pattern being used to set, as computation cores that execute the data transfer, the plurality of computation cores included in each of the plurality of nodes, being used to place the driver management information in the memory included in one of the plurality of nodes that requires a smallest number of hops to access the at least one IO device, and being used to place the transfer-use memory area in the memory included in one of the plurality of nodes that requires the smallest number of hops to access the at least one IO device.

8. An optimization method for a computer,

the computer having:

a plurality of processors each including a plurality of computation cores;

a plurality of memories; and

at least one IO device;

the computer including a plurality of nodes each made up of at least one of the plurality of processors and at least one of the plurality of memories that is accessed from the at least one of the plurality of processors in a shortest access time,

the computer being configured to hold pattern management information, which is used to manage a plurality of patterns defining settings to be set to the plurality of nodes in order to carry out data transfer between the computer and an apparatus coupled to the computer via the at least one IO device,

the computer including a control module configured to determine a pattern to be applied to the computer based on IO performance in each of the plurality of patterns,

the pattern management information including policy information for each of the plurality of patterns, the policy information including a policy on placement of a transfer-use memory area, which is used for the data transfer, in the plurality of nodes, a policy on placement of driver management information, which is used to operate the at least one IO device, in the plurality of nodes, and a policy on allocation of computation cores that execute processing of the data transfer in the plurality of nodes, and

the optimization method including:

a first step of applying, by the control module, each of the plurality of patterns to the computer based on the pattern management information, to thereby measure IO performance in each of the plurality of patterns and analyzing the IO performance; and

a second step of determining, by the control module, based on a result of the analyzing the IO performance, one of the plurality of patterns that is highest in IO performance as a pattern to be applied to the computer.

9. The optimization method according to claim 8 ,

wherein the at least one IO device includes an IO count counting module configured to count a number of times IO access for each a block size, the IO access is executed between at least one of the plurality of processors and the at least one IO device, and

wherein the first step includes a step of:

measuring, by the control module, IO performance in each of the plurality of patterns for each the block size;

obtaining, by the control module, from the IO count counting module the IO access count that is counted with the block size as the unit of taking the count; and

identifying, by the control module, a frequently used block size, which is a block size having the highest IO access count, based on the IO access count of each the block size, and

wherein the second step includes a step of referring to a result of measuring the IO performance to determine, as a pattern to be applied to the computer, one of the plurality of patterns that is highest in IO performance at the frequently used block size.

10. The optimization method according to claim 9 ,

wherein the computer is coupled to a storage apparatus storing an operating system and a device driver, and

wherein the optimization method further includes a step of:

generating, by the control module, a parameter to be used by the device driver to apply the determined one of the plurality of patterns to the computer; and

storing, by the control module, the parameter in the storage apparatus.

11. The optimization method according to claim 9 , wherein the pattern management information includes policy information of a first pattern being used to set, as computation cores that execute the data transfer, the plurality of computation cores included in each of the plurality of nodes, being used to place the driver management information in the memory included in each of the plurality of nodes, and being used to place the transfer-use memory area in the memory included in one of the plurality of nodes that requires a smallest number of hops to access the at least one IO device.

12. The optimization method according to claim 9 , wherein the pattern management information includes policy information of a second pattern being used to set, as computation cores that execute the data transfer, the plurality of computation cores included in each of the plurality of nodes, being used to place the driver management information in the memory included in each of the plurality of nodes, and being used to place the transfer-use memory area in the memory included in each of the plurality of nodes.

13. The optimization method according to claim 9 , wherein the pattern management information includes policy information of a third pattern being used to set, as computation cores that execute the data transfer, the plurality of computation cores included in one of the plurality of nodes that requires a smallest number of hops to access the at least one IO device, being used to place the driver management information in the memory included in one of the plurality of nodes that requires the smallest number of hops to access the at least one IO device, and being used to place the transfer-use memory area in the memory included in one of the plurality of nodes that requires the smallest number of hops to access the at least one IO device.

14. The optimization method according to claim 9 , wherein the pattern management information includes policy information of a fourth pattern being used to set, as computation cores that execute the data transfer, the plurality of computation cores included in each of the plurality of nodes, being used to place the driver management information in the memory included in one of the plurality of nodes that requires a smallest number of hops to access the at least one IO device, and being used to place the transfer-use memory area in the memory included in one of the plurality of nodes that requires the smallest number of hops to access the at least one IO device.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2017
From: HAYASHI, MASAYUKI; GOMYO, MASAYUKI
To: HITACHI, LTD.
Reel/Frame 043363/0246 →
Continuity (1)
Related Publication 20180032255A1 · Feb 1, 2018