WO2017056310A1 - 計算機および計算機の制御方法 - Google Patents
計算機および計算機の制御方法 Download PDFInfo
- Publication number
- WO2017056310A1 WO2017056310A1 PCT/JP2015/078017 JP2015078017W WO2017056310A1 WO 2017056310 A1 WO2017056310 A1 WO 2017056310A1 JP 2015078017 W JP2015078017 W JP 2015078017W WO 2017056310 A1 WO2017056310 A1 WO 2017056310A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- area
- virtual storage
- cache
- processor
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1048—Scalability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/604—Details relating to cache allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6042—Allocation of cache space to multiple users or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/28—DMA
- G06F2213/2806—Space or buffer allocation for DMA transfers
Definitions
- the present invention relates to a computer.
- a performance management function that manages the performance of multiple tenants is known. Also, virtual storage used by tenants is known.
- OSs such as Linux (registered trademark)
- a container technology is known as a technology for controlling resources allocated to processes running on the OS.
- Patent Document 1 is known as a technique for controlling the allocation amount of a memory area allocated to virtual storage.
- ⁇ Data transfer performance can be guaranteed by allocating physically continuous memory areas to virtual storage.
- the memory allocated to the process by the OS is a virtual memory, and there is no guarantee that the physical memory area corresponding to the virtual memory area is continuous.
- Patent Document 1 cannot control resources allocated to the virtual storage on the general-purpose OS.
- a computer includes a memory and a processor connected to the memory.
- the processor executes an OS, the processor executes a plurality of processes on the OS, the plurality of processes include a first virtual storage device, and the first virtual storage device executes an IO process.
- a cache for storing the data to be processed by the IO, wherein the processor allocates resources in the computer to the plurality of processes, and the processor assigns physical addresses allocated to the processes in the memory. Based on the area information, the processor selects a continuous area that is a physically continuous area from the memory and allocates the continuous area to the cache.
- FIG. 1 shows a physical configuration of a computer system according to an embodiment of the present invention.
- the physical resource in the computer 101 of Example 1 is shown.
- 1 shows a logical configuration of a computer 101 according to a first embodiment.
- the structure of the virtual storage 111 is shown.
- the configuration of the client 103 is shown.
- a resource allocation table 314 and a continuous area table 315 in the continuous area use program 301 are shown.
- a continuous area management table 403, a continuous area allocation management table 404, and a resource allocation management table 214 in the computer 101 are shown.
- a resource allocation setting table 513 in the client 103 is shown.
- the resource setting process by the client 103 is shown.
- the resource allocation process by the virtual storage 111 is shown.
- the cache size change process by the virtual storage 111 is shown.
- the resource allocation management process by the continuous area management program 213 is shown.
- the cache size change request process by the virtual storage 111 is shown.
- a setting window 1401 is shown.
- the logical structure of the computer 101 of Example 2 is shown.
- a memory allocation table 1502 is shown.
- the securing process is shown.
- xxx table information may be described using the expression “xxx table”, but the information may be expressed in any data structure. That is, “xxx table” can be referred to as “xxx information” to indicate that the information does not depend on the data structure.
- xxx information information may be described using the expression “xxx table”, but the information may be expressed in any data structure. That is, “xxx table” can be referred to as “xxx information” to indicate that the information does not depend on the data structure.
- the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of the two or more tables may be a single table. Good.
- an ID is used as element identification information, but other types of identification information may be used instead of or in addition thereto.
- a reference number or a common number in the reference number is used, and when a description is made by distinguishing the same type of element, the reference number of the element is used.
- an ID assigned to the element may be used instead of the reference code.
- an I / O (Input / Output) request is a write request or a read request, and may be referred to as an access request.
- the process may be described using “program” as a subject.
- the program is executed by a processor (for example, a CPU (Central Processing Unit)), so that a predetermined processing is appropriately performed. Since processing is performed using a storage resource (for example, a memory) and / or an interface device (for example, a communication port), the subject of processing may be a processor.
- the process described with the program as the subject may be a process or system performed by a processor or an apparatus having the processor.
- the processor may include a hardware circuit that performs a part or all of the processing.
- the program may be installed in a computer-like device from a program source.
- the program source may be, for example, a storage medium that can be read by a program distribution server or a computer.
- the program distribution server may include a processor (for example, a CPU) and a storage resource, and the storage resource may further store a distribution program and a program to be distributed. Then, the processor of the program distribution server executes the distribution program, so that the processor of the program distribution server may distribute the distribution target program to other computers.
- a processor for example, a CPU
- the storage resource may further store a distribution program and a program to be distributed. Then, the processor of the program distribution server executes the distribution program, so that the processor of the program distribution server may distribute the distribution target program to other computers.
- two or more programs may be realized as one program, or one program may be realized as two or more programs.
- the management system may include one or more computers.
- the management computer displays information (specifically, for example, the management computer displays information on its own display device, or the management computer displays display information in a remote display computer)
- Management computer is the management system.
- the plurality of computers may include a display computer when the display computer performs display
- the management computer (eg, management system) may include an interface device connected to the I / O system including the display system, a storage resource (eg, memory), and a processor connected to the interface device and the storage resource.
- the display system may be a display device included in the management computer or a display computer connected to the management computer.
- the I / O system may be an I / O device (for example, a keyboard and a pointing device or a touch panel) included in the management computer, a display computer connected to the management computer, or another computer.
- “Displaying display information” by the management computer means displaying the display information on the display system, which may be displaying the display information on a display device included in the management computer.
- the management computer may transmit display information to the display computer (in the latter case, the display information is displayed by the display computer).
- the management computer inputting / outputting information may be inputting / outputting information to / from an I / O device of the management computer, or a remote computer connected to the management computer (for example, a display) Information may be input / output to / from the computer.
- the information output may be a display of information.
- FIG. 1 shows a physical configuration of a computer system according to an embodiment of the present invention.
- the computer system includes one or more computers 101, a network 102, and one or more clients 103.
- the computer 101 includes a physical memory 121, a CPU (Central Processing Device) 122, a network IF 123, a drive IF 124, and a drive 125.
- the CPU 122 includes a core 131 and a DMA (Direct Memory Access) controller 132.
- the physical memory 121, the CPU 122, the network IF 123, and the drive IF 124 are connected to each other via a bus.
- the physical memory 121 stores programs and data.
- the network IF 123 is connected to the network 102 and communicates with the client 103 via the network 102.
- the drive IF 124 is connected to the drive 125 and communicates with the drive 125.
- the drive 125 stores data.
- the core 131 executes processing according to a program stored in the physical memory 121.
- the DMA controller 132 performs DMA transfer of data in accordance with an instruction from the core 131.
- the physical memory 121 may include a plurality of physical memories.
- FIG. 2 shows physical resources in the computer 101 of the first embodiment.
- the physical resources in the computer 101 include an OS management physical resource 202 managed by the OS 201 and an OS unmanaged physical resource 203 that is installed in the computer 101 but is not managed by the OS 201.
- the OS management physical resource 202 includes a CPU 122 and a physical memory A 222 that is a part of the physical memory 121.
- the non-OS-managed physical resource 203 includes a physical memory B 231 that is a part of the physical memory 121 other than the physical memory A 222.
- the user can set an OS management memory amount that is a physical memory amount used by the OS 201 as a boot option of the OS 201.
- the OS management memory amount may be equal to or less than the capacity of the physical memory 121.
- the physical memory A 222 is an area from the beginning of the physical address to the OS management memory amount in the physical memory 121.
- the physical memory B 231 is an area from the physical address immediately after the area of the physical memory A 222 to the physical address at the end of the physical memory 121 in the physical memory 121.
- the physical memory B 231 is not used by the OS 201, and a continuous area in the physical memory B 231 can be allocated to the virtual storage cache.
- FIG. 3 shows a logical configuration of the computer 101 according to the first embodiment.
- the logical configuration of the computer 101 includes an OS 201, a continuous area management program 213, one or more virtual storages (virtual storage devices) 111, and a resource allocation management table 214. These are stored in the physical memory 121. Each virtual storage 111 is managed as a process by the OS 201.
- the logical configuration of the computer 101 may include processes other than the virtual storage 111.
- the OS 201 can use the physical memory A222.
- the continuous area management program 213 can use the physical memory B231. Note that the continuous area management program 213 may be included in the OS 201.
- the OS 201 constructs a process of the virtual storage 111 from the OS management physical resource 202 by using a container technology that integrally manages a plurality of processes.
- the container technology is a resource division function including a CPU allocation adjustment program 211 and a memory allocation adjustment program 212.
- the OS 201 may construct the process of the virtual storage 111 using a technique other than the container technique as long as it has such a resource dividing function.
- the CPU allocation adjustment program 211 allocates CPU 122 resources to processes executed on the OS.
- the memory allocation adjustment program 212 allocates resources of the physical memory A 222 to processes executed on the OS 201.
- the OS 201 may further include a program for controlling other physical resources of the computer 101.
- the continuous area management program 213 includes a virtual storage communication unit 401, an area adjustment management unit 402, a continuous area management table 403, and a continuous area allocation management table 404.
- the virtual storage communication unit 401 communicates with the virtual storage 111.
- the area adjustment management unit 402 adjusts an area allocated to the virtual storage 111 in the physical memory 121.
- the continuous area management table 403 indicates continuous areas in the physical memory B231.
- the continuous area allocation management table 404 indicates continuous areas in the physical memory B 231 allocated to each virtual storage.
- the resource allocation management table 214 is created by the continuous area management program 213 and the OS 201, and indicates the allocation status of resources allocated to each virtual storage 111.
- the computer 101 provides the virtual storage 111 to the client 103.
- the client 103 controls one or more virtual storages 111.
- FIG. 4 shows the configuration of the virtual storage 111.
- the virtual storage 111 includes a continuous area use program 301, a storage control program 302, a cache 303, a device program 304, and an IO program 305.
- the continuous area use program 301 includes an OS communication unit 311, a client communication unit 312, an area adjustment unit 313, a resource allocation table 314, and a continuous area table 315.
- the OS communication unit 311 communicates with the OS 201. It communicates with the client communication unit 312 and the client 103.
- the area adjustment unit 313 manages the cache allocated to the virtual storage.
- the resource allocation table 314 indicates the allocation status of resources allocated to the virtual storage.
- the continuous area table 315 indicates continuous areas in the physical memory B 231 allocated to the virtual storage.
- the storage control program 302 includes a cache adjustment program 321 and a cache setting IF 322.
- the cache adjustment program 321 adjusts the cache 303.
- the cache setting IF 322 provides an IF for adjusting the cache 303 to the continuous area use program 301.
- the device program 304 uses a physical device such as the network IF 123 or the drive IF 124 to create a virtual device having a physical device function.
- the device program 304 may be a device driver.
- the IO program 342 processes IO requests such as a write request and a read request from the client 103.
- the cache 303 is an area managed by the continuous area use program 301.
- the cache 303 includes a device area 331 and an IO area 332.
- the device program 304 uses a device area 331 as a virtual device buffer.
- the IO program 305 uses the IO area 332 as a cache for IO processing.
- the IO program 305 issues a DMA transfer request indicating the transfer source and transfer destination of the DMA transfer to the DMA controller 132 in the IO processing.
- the DMA controller 132 performs DMA transfer of data in the device area 331 to the IO area 332 or DMA transfer of data in the IO area 332 to the device area 331 according to an instruction from the IO program 305. You can do it.
- the data transferred by DMA may be write data received from the client 103 in response to a write request, read data read from the drive 125 in response to a read request, or at the time of the read request.
- the read data may be read from the IO area 332 due to a cache hit.
- one of the transfer source and transfer destination of the DMA transfer by the DMA controller 132 may be a memory in a physical device such as the network IF 123, the drive IF 124, and the drive 125.
- the continuous area use program 301 allocates physically continuous memory areas to the device area 331 and the IO area 332, respectively.
- the DMA controller 132 can transfer the data continuously, and therefore transfers the data at high speed while suppressing the load on the CPU 121. be able to. Thereby, the performance of the virtual storage 111 can be guaranteed.
- FIG. 5 shows the configuration of the client 103.
- the client 103 includes a memory, a CPU, a network IF connected to the network 102, an input device that receives input from a user, and a display device that displays information.
- the memory stores a program and data, and the CPU executes processing according to the program.
- This memory stores a QoS setting program 501.
- the QoS setting program 501 includes a setting unit 511, a notification unit 512, and a resource allocation setting table 513.
- the setting unit 511 receives a setting input from the user.
- the notification unit 512 communicates with the computer 101.
- the resource allocation setting table 513 stores the same information as the resource allocation management table 214.
- FIG. 6 shows a resource allocation table 314 and a continuous area table 315 in the continuous area use program 301.
- the resource allocation table 314 includes an allocation CPU 611 indicating the allocation status of the CPU 122 to the virtual storage, an allocation non-cache 612 indicating the allocation status of the physical memory A 222 to the virtual storage, and the physical memory B 231 to the virtual storage.
- An allocation cache 613 indicating the allocation status is stored.
- the physical memory A 222 is allocated to a process such as the virtual storage 111 as a non-cache use memory, and is used for executing the process.
- the area of the physical memory A 222 is assigned to a non-cache as a virtual memory area.
- the physical memory area corresponding to the virtual memory area may not be physically continuous.
- the physical memory B 231 is allocated to the virtual storage 111 as a memory for cache use, and is used for I / O processing of the virtual storage 111 such as storage of I / O data.
- the entry 610 in the example of the resource allocation table 314 indicates that the CPU resource allocated to the virtual storage is 50% of the CPU 122 of the computer 101, and the non-cache allocated to the virtual storage is the physical of the computer 101. This indicates that it is 40% of the memory A 222 and that the cache allocated to the virtual storage is 10% of the physical memory B 231 of the computer 101.
- the allocation status is indicated by the allocation rate, but the allocation status may be indicated by allocation time or allocation size.
- the continuous area table 315 stores the start address 621 of the continuous area in the physical memory B 231 allocated to the virtual storage and the end address 622 of the continuous area.
- the entry 620 in the example of the continuous area table 315 indicates that the start address of the continuous area assigned to the virtual storage is 100 and the end address is 290.
- FIG. 7 shows a continuous area management table 403, a continuous area allocation management table 404, and a resource allocation management table 214 in the computer 101.
- the continuous area management table 710 stores the start address 711 and the end address 712 of the physical memory B 231 which is the non-OS-managed physical resource 203.
- An entry 710 in the example of the continuous area management table 403 indicates that the start address of the physical memory B 231 is 100 and the end address is 2000.
- the continuous area allocation management table 404 stores a virtual storage identifier 721 for identifying the virtual storage 111, and a start address 722 and an end address 723 of the continuous area allocated to the virtual storage identified by the identifier.
- the entry 720 in the example of the continuous area allocation management table 404 indicates that a continuous area having a start address of 100 and an end address of 290 is allocated to the virtual storage identified by the virtual storage A.
- the resource allocation management table 214 stores the same information as the resource allocation table 314 of each virtual storage executed on the OS 201.
- the resource allocation management table 214 includes a virtual storage identifier 731 for identifying the virtual storage 111, an allocation CPU 732 indicating a CPU allocation status to the virtual storage identified by the identifier, and an allocation status of non-cache use memory to the virtual storage.
- An allocation non-cache 733 indicating the allocation status, and an allocation cache 734 indicating the allocation status of the memory for cache use to the virtual storage are stored.
- the entry 730 in the example of the resource allocation management table 214 indicates that the CPU allocated to the virtual storage A is 50% of the CPU 122 of the computer 101, and the non-cache allocated to the virtual storage A is the physical memory A222 in the computer 101.
- the allocation cache to the virtual storage A is 10% of the physical memory B231 of the computer 101.
- the allocation status is indicated by the allocation rate, but the allocation status may be indicated by allocation time or allocation size.
- the computer 101 can manage the continuous area allocated to each of the plurality of virtual storages 111 from the physical memory B231.
- FIG. 8 shows a resource allocation setting table 513 in the client 103.
- the resource allocation setting table 513 stores the same information as the resource allocation management table 214.
- the resource allocation setting table 513 includes a virtual storage identifier 811 for identifying the virtual storage 111, an allocation CPU 812 indicating a CPU allocation status to the virtual storage identified by the identifier, and an allocation status of non-cache use memory to the virtual storage. And an allocation cache 814 indicating the allocation status of cache memory to the virtual storage.
- the entry 810 of the resource allocation setting table 513 is 50% of the CPU 122 of the computer 101 that is allocated to the virtual storage A, and 40% of the physical memory A 222 that is allocated to the virtual storage A is non-cached.
- the allocation cache to the virtual storage A is 10% of the physical memory B231 of the computer 101.
- the allocation status is indicated by the allocation rate, but the allocation status may be indicated by allocation time or allocation size.
- FIG. 9 shows resource setting processing by the client 103.
- This process is performed by the client 103 when a resource allocation amount is input from the user to the client 103 in order to allocate resources to the virtual storage 111.
- the setting unit 511 receives a request for a virtual storage identifier and a CPU amount, a non-cache amount, and a cache amount to be allocated to the virtual storage from the user (step 901).
- the notification unit 512 notifies the virtual storage of the requested virtual storage identifier, CPU amount, non-cache amount, and cache amount (step 902).
- the virtual storage 111 that has received the notification performs resource allocation processing described later (step 903).
- the notification unit 512 receives the virtual storage identifier, the allocated CPU amount, the allocated non-cache amount, and the allocated cache amount from the virtual storage 111 as a result of the resource allocation process (step 904).
- the notification unit 512 updates the allocation CPU 812, the allocation non-cache 813, and the allocation cache 814 of the virtual storage in the resource allocation setting table 513 to the received allocated CPU amount, allocated non-cache amount, and allocated cache amount (step 905).
- the setting unit 511 displays the virtual storage identifier, the CPU amount allocated to the virtual storage, the non-cache amount, and the cache amount (step 906).
- the user can set the resource amount of the virtual storage 111 using the client 103.
- a management computer may be used instead of the client 103.
- FIG. 10 shows resource allocation processing by the virtual storage 111.
- This process is performed by the virtual storage 111 in step 903 of the resource setting process described above.
- the virtual storage 111 may execute resource allocation processing at the time of startup using a CPU amount, a non-cache amount, and a cache amount that are set in advance.
- the client communication unit 312 receives the virtual storage identifier and the CPU amount, the non-cache amount, and the cache amount that request allocation to the virtual storage from the client 103 (step 1001).
- the OS communication unit 311 notifies the continuous area management program 213 of the received virtual storage identifier and the CPU amount, non-cache amount, and cache amount that are requested to be allocated to the storage (step 1002).
- the continuous area management program 213 that has received the notification performs a resource allocation management process described later (step 1003).
- the OS communication unit 311 is assigned from the continuous area management program 213 as a cache 303 to the virtual storage identifier, the allocated CPU amount to the virtual storage, the allocated non-cache amount, and the virtual storage as a result of the resource allocation management process.
- the start address and end address of the physical memory B 231 area are received (step 1004).
- the area adjustment unit 313 determines whether or not the start address and end address of the cache 303 received in step 1005 have been changed from the addresses stored in the continuous area table 315.
- step 1005 when the address has been changed, the area adjustment unit 313 determines whether the existing area of the cache 303 is expanded or reduced in step 1006.
- the area adjustment unit 313 determines that the start address of the expanded area, which is the area of the cache 303 after expansion, the end address of the expanded area, and that the request is an allocation request. Is notified to the storage control program 302 using the cache setting IF 322 (step 1007).
- step 1006 if the area is reduced, the area adjustment unit 313 determines that the reduced area start address, the reduced area end address, which is the area of the cache 303 after reduction, and that the request is a release request. Is notified to the cache adjustment program 321 using the cache setting IF 322 (step 1007).
- step 1007 the cache adjustment program 321 performs a cache size change process (step 1008).
- the area adjustment unit 313 receives the completion of the cache size change process by the cache adjustment program 321 via the cache setting IF 322 (step 1009).
- the area adjustment unit 313 stores the start address and end address of the cache 303 received in step 1004 in the continuous area table 315 (step 1010).
- the area adjustment unit 313 changes the allocation CPU and allocation non-cache in the resource allocation table 314 to the allocated CPU amount and the allocated non-cache amount received in step 1004, respectively, and the allocation cache in the resource allocation table 314 is changed to step 1009.
- the allocated cache amount obtained from the result of the cache size change process is updated (step 1011).
- the client communication unit 312 notifies the client 103 of the allocation CPU amount, the allocation non-cache amount, and the allocation cache amount changed in step 1010 as the resource allocation result (step 1012).
- the virtual storage 111 can acquire a requested amount of resources in response to a request from the client 103.
- FIG. 11 shows the cache size changing process by the virtual storage 111.
- This process is performed by the storage control program 302 when the storage control program 302 receives a notification in step 1008 of the resource allocation process described above.
- the cache setting IF 322 receives the change area start address, end address, and change request type as a cache size change request (step 1101).
- the change request type is either a release request or an allocation request.
- the cache adjustment program 321 determines whether the change request type is a release request or an allocation request (step 1102).
- the cache adjustment program 321 changes the cache of the area specified by the address to a clean state (step 1103) and releases the area (step 1104).
- the cache adjustment program 321 can transition the data to the clean state by destageing the data to the drive 125.
- the cache adjustment program 321 allocates the area specified by the address as a cache (step 1105).
- step 1104 or step 1105 the cache adjustment program 321 notifies the area adjustment unit 313 that the cache size change processing has been completed using the cache setting IF 322 (step 1106).
- the virtual storage 111 can change the cache size according to the allocated size of the continuous area. By changing the area allocated to the cache of the virtual storage 111, a continuous area for the cache of another virtual storage can be secured.
- FIG. 12 shows resource allocation management processing by the continuous area management program 213.
- This process is performed by the continuous area management program 213 in step 1003 of the resource allocation process described above.
- the virtual storage communication unit 401 of the continuous area management program 213 receives a virtual storage identifier for identifying a virtual storage for which resource allocation is requested from the virtual storage 111, a requested CPU amount, a non-cache amount, and a cache amount (request cache size). ) Is received (step 1201).
- the area adjustment management unit 402 determines whether it is possible to secure a continuous area of the received requested cache size (step 1202). Specifically, the area adjustment management unit 402 uses the continuous area management table 403 and the continuous area allocation management table 404 to allocate the continuous area to the virtual storage stored in the continuous area allocation management table 404 and the continuous areas. It is determined whether or not a continuous area of the requested cache size can be secured together with the unallocated area. In the example of the continuous area management table 403 and the continuous area allocation management table 404 described above, it is assumed that the continuous area management program 213 receives an allocation request with a requested cache size of 900 from the virtual storage A in step 1201.
- the continuous areas that can be secured in the virtual storage A are 210 from 290 to 500, and the area adjustment management unit 402 cannot secure the continuous area of the requested cache size.
- the area adjustment management unit 402 determines whether or not a continuous area can be secured from an unallocated area when a continuous area is not allocated to the virtual storage cache, such as when the virtual storage is activated.
- the area adjustment management unit 402 uses the continuous area management table 403 and the continuous area allocation management table 404 to determine an unallocated area that is not allocated to the virtual storage among the areas of the physical memory B231.
- the size is acquired, and it is determined whether there is an unallocated area larger than the allocation request cache size received in step 1201 (step 1203).
- an unallocated area is represented by an area having a size of 210 represented by addresses from 290 to 500 and an address from 1450 to 2000.
- the total size is 760.
- the requested cache size is 710, and it is determined that there is a sufficiently large unallocated area.
- the area adjustment management unit 402 changes the area allocated to each virtual storage so that the continuous area allocated to each virtual storage becomes a continuous address (step 1204).
- the area adjustment management unit 402 changes the area allocated to the virtual storage A from the area represented by addresses 100 to 290 to the area represented by addresses 100 to 1000.
- the area allocated to the virtual storage B is changed from the area represented by the addresses 500 to 1450 to the area represented by the addresses 1000 to 1950.
- the virtual storage communication unit 401 requests the cache size change request process for the virtual storage that needs to release the allocated area as a result of the change of the allocated area. At this time, the virtual storage communication unit 401 notifies the start address and end address of the release area and that the request is a release request (step 1205). In the example of step 1204 described above, the virtual storage communication unit 401 notifies the virtual storage B of a release request for an area represented by addresses from 500 (start address) to 1000 (end address).
- the virtual storage 111 performs the cache size change request process described above in response to the request (step 1206).
- the virtual storage communication unit 401 receives a notification of completion of the cache size change request process from the virtual storage (step 1207).
- the virtual storage communication unit 401 requests a cache size change request process for a virtual storage that needs to be newly allocated as a result of the area allocated in step 1204 being changed. At this time, the virtual storage communication unit 401 notifies the start address and end address of the allocation area and that the request is an allocation request (step 1208). For example, the virtual storage communication unit 401 requests the virtual storage A to allocate an area represented by an address from 290 to 1000, and allocates an area represented by an address from 1450 to 1950 to the virtual storage B. Request.
- the virtual storage 111 performs a cache size change request process (step 1209).
- the virtual storage communication unit receives a notification of completion of the cache size change request process from the virtual storage (step 1210).
- the virtual storage communication unit 401 updates the continuous area allocation management table 404 as changed in step 1204 (step 1211). For example, the virtual storage communication unit 401 changes the start address of the virtual storage A to 100, the end address to 1000, the start address of the virtual storage B to 1000, and the end address to 1950 in the continuous area allocation management table 404. change.
- the virtual storage communication unit 401 updates the continuous area allocation management table 404 using the start address and end address of the secured area (step 1211).
- the virtual storage communication unit 401 updates the allocation cache 734 in the resource allocation management table 214 using the requested cache size in step 1201 (step 1212).
- the CPU allocation adjustment program 211 of the OS 201 sets the CPU amount requested in step 1201 in the virtual storage 111 (step 1213).
- step 1213 When the unallocated area is insufficient in step 1203, the CPU allocation adjustment program 211 executes step 1213.
- the CPU allocation adjustment program 211 updates the allocation CPU 732 related to the virtual storage in the resource allocation management table 214 based on the allocated CPU amount from the virtual storage (step 1214).
- the memory allocation adjustment program 212 of the OS 201 sets the non-cache amount requested in step 1201 in the virtual storage (step 1215).
- the memory allocation adjustment program changes the allocation non-cache 733 related to the storage in the resource allocation management table 214 based on the allocated non-cache amount (step 1216).
- the virtual storage communication unit 401 is identified from the virtual storage identifier, the CPU amount and the non-cache amount obtained from the resource allocation management table 214, and the virtual storage identifier obtained from the continuous area allocation management table 404 as the resource allocation result.
- the address and end address are notified to the virtual storage (step 1217).
- the continuous area management program 213 can allocate a continuous area to the cache 303 of the virtual storage 111 in response to a request.
- the virtual storage 111 can execute DMA transfer in the IO processing and improve the performance of the virtual storage 111. Further, by setting the cache size, the balance of the performance of each virtual storage 111 can be controlled.
- the continuous area management program 213 can select a continuous area according to a request by using the continuous area management table 403 and the continuous area allocation management table 404. Even if it is determined that the continuous area having the requested cache size cannot be secured, the continuous area management program 213 moves the area allocated to another virtual storage in the physical memory B 232 to secure the continuous area. As a result, the physical memory B232 can be used effectively.
- FIG. 13 shows a cache size change request process by the virtual storage 111.
- This process is performed by the continuous area use program 301 in accordance with step 1206 and step 1209 of the resource allocation management process.
- the OS communication unit 311 receives the start address and end address of the area where the cache allocation is changed, and the change request type (step 1301).
- the area adjustment unit 313 notifies the storage control program 302 of the start address, end address, and change type of the area whose cache allocation is to be changed, using the cache setting IF 322 (step 1302).
- the storage control program 302 performs the cache size change process described above (step 1303).
- the area adjustment unit 313 receives the completion of the cache size change process from the storage control program 302 (step 1304).
- the area adjustment unit 313 updates the continuous area table 315 using the start address and end address received in step 1301 (step 1305).
- the area adjustment unit 313 changes the start address 621 of the continuous area table 315 when receiving an allocation request with a start address of 290 and an end address of 1000 in step 1301. Without changing the end address 622 from 290 to 1000.
- the area adjustment unit 313 changes the allocation cache 613 of the resource allocation table 314 to the information after the size change (step 1306).
- the OS communication unit 311 notifies the OS 201 of the end of the cache size change request process (step 1307).
- FIG. 14 shows a setting window 1401.
- the setting unit 511 of the QoS setting program 501 in the client 103 displays a setting window 1401 on the display device in order to change the resource allocation amount to the virtual storage 111.
- the setting window 1401 includes a resource allocation amount changing unit 1411, an update button 1412, and a cancel button 1413.
- the resource allocation amount changing unit 1411 displays a virtual storage identifier and CPU, non-cache, and cache allocation amounts for the virtual storage. Further, the resource allocation amount changing unit 1411 receives a change between the virtual storage identifier and the allocation amount of each resource.
- the setting unit 511 receives the virtual storage identifier and the CPU amount, the non-cache amount, and the cache amount that request allocation to the virtual storage from the input device, and performs resource setting processing. Step 901 is performed.
- the setting unit 511 ends the resource allocation process and closes the setting window 1401.
- the user can issue a request for the amount of resources to be allocated to the virtual storage 111 using the client 103. Since the CPU amount, non-cache amount, and cache amount affect the performance of the virtual storage 111, the performance of the virtual storage 111 can be guaranteed by setting these. In addition, the balance of virtual storage performance can be controlled by setting the amount of resources among a plurality of virtual storages.
- the continuous area can be allocated to the cache. Cost can be reduced.
- the physical resource in the computer 101 of this embodiment does not include the OS unmanaged physical resource 203. That is, the OS 201 of this embodiment can use all of the physical memory 121 as the physical memory A 222.
- FIG. 15 shows a logical configuration of the computer 101 according to the second embodiment.
- the computer 101 of this embodiment does not include the continuous area management table 403 but includes a continuous area reservation program 1501 and a memory allocation table 1502.
- the continuous area securing program 1501 secures a continuous area as a cache.
- the memory allocation table 1502 manages the memory area allocated to each process.
- FIG. 16 shows the memory allocation table 1502.
- the memory allocation table 1502 includes a physical address 1611 of an area in the physical memory A 222, an allocation destination identifier 1612 for identifying an allocation destination of the area identified by the address, and a virtual address when a virtual address is provided to the allocation destination. 1613 are stored. For example, the process is provided with a virtual address.
- the OS 201 manages the physical memory 121 with a fixed length. However, when managing with the variable length, this table may include an end address.
- the entry 1610 in the example of the memory allocation table 1502 indicates that an area identified by 100 physical addresses is allocated to the virtual storage A.
- the entry 1620 indicates that the area identified by the physical address of 120 is allocated to a process X other than the virtual storage, and the area is provided as an area having a virtual address of 0 to the process X. ing.
- the computer 101 of this embodiment uses this table as an alternative to the continuous area management table 403 shown in the first embodiment.
- a continuous area can be secured by managing the area allocated to each process in the physical memory 121.
- Example 2 Compared with Example 1, this example is different in part of the resource allocation management process.
- the processing in step 1202 of the resource allocation management process is replaced with the securing process shown below.
- FIG. 17 shows the securing process
- step 1201 the continuous area securing program 1501 determines whether or not the requested cache size can be secured in the current allocation status (step 1701).
- step 1701 When it is determined in step 1701 that the requested cache size can be secured, the continuous area securing program 1501 pins down the area (step 1702). Pin down prevents the data in the area from being swapped out and freed. That is, the OS 201 can fix and use the area by pin-down. Thereafter, the virtual storage communication unit 401 returns to the resource allocation management process that it can be secured (step 1703). Thereby, the resource allocation management process executes step 1211.
- the continuous area securing program 1501 replaces the unallocated area with the area that does not need to be physically continuous, and allocates the cache to the virtual storage requesting.
- An unallocated physical continuous area that can be expanded is expanded (step 1704). For example, in the example of the memory allocation table 1502 described above, a case where an allocation request for allocating a cache of size 30 to the virtual storage A is issued is taken as an example. Since the memory area allocated to processes other than virtual storage need not be physically continuous, the continuous area allocation program 1501 replaces the area of 120 physical addresses allocated to process X with an unallocated area.
- the continuous area reservation program 1501 copies the data stored in the 120 physical address area to the unallocated area of the 150 physical address. Then, the continuous area reservation program 1501 changes the area provided to the process X as a zero virtual address from the 120 physical address area to the 150 physical address area.
- the continuous area securing program 1501 determines whether or not it is possible to secure the cache having the requested cache size as a result of expanding the physical continuous area in the unallocated state (step 1705).
- Step 1705 if the reservation is possible, the continuous area reservation program 1501 executes Step 1702 described above.
- step 1705 when the area cannot be secured, the area adjustment management unit 402 returns “not secure” to the resource allocation management process (step 1706). As a result, the resource allocation management process executes step 1203.
- the continuous area securing program 1501 secures a continuous area for the virtual storage 111 by changing the area allocated to a specific process other than the virtual storage in the physical memory 121.
- the physical memory 121 can be used effectively.
- the continuous area securing program 1501 can continue the specific process by copying the data in the area allocated to the specific process to the unallocated area, and can change the area allocated to the specific process to the unallocated area. it can.
- the continuous area securing program 1501 can pin down the secured continuous area to fix the allocated area and prevent the area from being released.
- the computer 101 can use the physical memory 121 effectively because it can be used for the cache of the OS 201 and the virtual storage 111 without dividing the physical memory 121 into the physical memory A 222 and the physical memory B 231. it can.
- the area information may be the continuous area management table 403, the continuous area allocation management table 404, the resource allocation management table 214, the resource allocation table 314, and the continuous area table 315, or may be part of the information.
- the setting request may be a request in step 901 of the resource setting process.
- the specific size may be a requested cache size or a ratio of the requested cache size to a memory size that can be allocated as a cache.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims (12)
- 計算機であって、
メモリと、
前記メモリに接続されるプロセッサと、
を備え、
前記プロセッサは、OSを実行し、
前記プロセッサは、前記OS上で複数のプロセスを実行し、前記複数のプロセスは、第一仮想ストレージ装置を含み、前記第一仮想ストレージ装置は、IO処理を実行し、前記IO処理されるデータを格納するキャッシュを含み、
前記プロセッサは、前記計算機内のリソースを、前記複数のプロセスに割り当て、
前記プロセッサは、前記メモリのうち、前記複数のプロセスに割り当てられている物理アドレスを示す領域情報を作成し、
前記プロセッサは、前記領域情報に基づいて、前記メモリから、物理的に連続する領域である連続領域を選択し、前記連続領域を前記キャッシュに割り当てる、
計算機。 - 前記メモリ及び前記プロセッサに接続されるDMAコントローラを更に備え、
前記プロセッサは、DMA転送の転送元及び転送先を示すDMA転送要求を前記DMAコントローラへ発行し、前記転送元及び前記転送先の少なくとも一つは、前記キャッシュに含まれ、
前記DMAコントローラは、前記DMA転送要求に応じて、前記転送元に格納されているデータを前記転送先へDMA転送する、
請求項1に記載の計算機。 - 前記プロセッサは、前記キャッシュのサイズを特定サイズに設定するための設定要求を受けると、前記領域情報に基づいて、前記特定サイズを有する前記連続領域を確保できるか否かを判定し、
前記特定サイズを有する前記連続領域を確保できると判定された場合、前記プロセッサは、前記領域情報に基づいて、前記メモリから前記特定サイズを有する前記連続領域を選択する、
請求項2に記載の計算機。 - 前記プロセッサは、前記プロセッサの計算能力を前記複数のプロセスに割り当て、
前記プロセッサは、前記メモリの容量の一部を、前記複数のプロセスのうち前記キャッシュ以外に割り当てる、
請求項3に記載の計算機。 - 前記プロセッサは、前記メモリの一部である第一領域を前記OSに設定し、
前記プロセッサは、前記第一領域内の領域を、前記複数のプロセスに割り当て、
前記プロセッサは、前記メモリのうち前記第一領域と異なる第二領域から、前記連続領域を選択する、
請求項4に記載の計算機。 - 前記複数のプロセスの一つは、第二仮想ストレージ装置であり、
前記特定サイズを有する前記連続領域を確保できないと判定された場合、前記プロセッサは、前記第二領域のうち第一仮想ストレージ装置に割り当てられていない未割当領域のサイズが、前記特定サイズ以上であるか否かを判定し、
前記未割当領域のサイズが前記特定サイズ以上であると判定された場合、前記プロセッサは、前記第二領域のうち前記第二仮想ストレージ装置に割り当てられている特定領域を、前記未割当領域内の領域に変更することで、前記特定サイズを有する前記連続領域を確保する、
請求項5に記載の計算機。 - 前記未割当領域のサイズが前記特定サイズ以上であると判定された場合、前記プロセッサは、前記特定領域内のデータをクリーン状態に遷移させ、前記特定領域を解放し、前記未割当領域内の領域を前記第二仮想ストレージ装置に割り当てる、
請求項6に記載の計算機。 - 前記特定サイズを有する前記連続領域を確保できないと判定された場合、前記プロセッサは、前記領域情報に基づいて、前記複数のプロセスのうち仮想ストレージ装置以外である特定プロセスに割り当てられている領域を、前記メモリのうちプロセスに割り当てられていない未割当領域内の領域に変更することで、前記特定サイズを有する前記連続領域を確保する、
請求項4に記載の計算機。 - 前記特定サイズを有する前記連続領域を確保できないと判定された場合、前記プロセッサは、前記領域情報に基づいて、前記特定プロセスに割り当てられている領域を移動元領域として選択し、前記領域情報に基づいて、前記未割当領域内の領域を移動先領域として選択し、前記移動元領域内のデータを前記移動先領域へコピーし、前記特定プロセスに割り当てる領域を前記移動元領域から前記移動先領域へ変更することで、前記特定サイズを有する前記連続領域を確保する、
請求項8に記載の計算機。 - 前記プロセッサは、前記連続領域をピンダウンする、
請求項9に記載の計算機。 - 前記領域情報は、前記メモリのうち各プロセスに割り当てられている領域の物理アドレスを示す、
請求項10に記載の計算機。 - メモリと前記メモリに接続されるプロセッサとを含む計算機の、制御方法であって、
OSを実行し、
前記OS上で複数のプロセスを実行し、前記複数のプロセスは、第一仮想ストレージ装置を含み、前記第一仮想ストレージ装置は、IO処理を実行し、前記IO処理されるデータを格納するキャッシュを含み、
前記計算機内のリソースを、前記複数のプロセスに割り当て、
前記メモリのうち、前記複数のプロセスに割り当てられている物理アドレスを示す領域情報を作成し、
前記領域情報に基づいて、前記メモリから、物理的に連続する領域である連続領域を選択し、前記連続領域を前記キャッシュに割り当てる、
ことを備える制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/743,630 US10496444B2 (en) | 2015-10-02 | 2015-10-02 | Computer and control method for computer |
JP2017542654A JP6653710B2 (ja) | 2015-10-02 | 2015-10-02 | 計算機および計算機の制御方法 |
PCT/JP2015/078017 WO2017056310A1 (ja) | 2015-10-02 | 2015-10-02 | 計算機および計算機の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/078017 WO2017056310A1 (ja) | 2015-10-02 | 2015-10-02 | 計算機および計算機の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017056310A1 true WO2017056310A1 (ja) | 2017-04-06 |
Family
ID=58423007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/078017 WO2017056310A1 (ja) | 2015-10-02 | 2015-10-02 | 計算機および計算機の制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10496444B2 (ja) |
JP (1) | JP6653710B2 (ja) |
WO (1) | WO2017056310A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021128627A (ja) * | 2020-02-14 | 2021-09-02 | 株式会社日立製作所 | 計算機システム及びメモリ管理方法 |
JP2021152833A (ja) * | 2020-03-25 | 2021-09-30 | カシオ計算機株式会社 | キャッシュ管理プログラム、サーバ、キャッシュ管理方法、および情報処理装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109521966A (zh) * | 2018-11-15 | 2019-03-26 | 郑州云海信息技术有限公司 | 存储设备虚拟化方法、装置、终端及计算机可读存储介质 |
US11468201B2 (en) * | 2019-07-31 | 2022-10-11 | Dell Products L.P. | System and method for slice virtual disk encryption |
US20230098742A1 (en) * | 2021-09-30 | 2023-03-30 | Advanced Micro Devices, Inc. | Processor Power Management Utilizing Dedicated DMA Engines |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03147013A (ja) * | 1989-11-01 | 1991-06-24 | Casio Comput Co Ltd | データ更新装置 |
JP2010009160A (ja) * | 2008-06-25 | 2010-01-14 | Nec Corp | 性能値算出装置 |
JP2011028537A (ja) * | 2009-07-27 | 2011-02-10 | Buffalo Inc | 外部記憶装置へのアクセスを高速化する方法および外部記憶システム |
JP2011164968A (ja) * | 2010-02-10 | 2011-08-25 | Buffalo Inc | 主記憶装置へのアクセスを高速化する方法および記憶装置システム |
JP2012181569A (ja) * | 2011-02-28 | 2012-09-20 | Nec Corp | 仮想計算機システム、仮想計算機システムのメモリ管理方法およびメモリ管理プログラム |
JP2015520890A (ja) * | 2012-04-27 | 2015-07-23 | ネットアップ,インコーポレイテッド | 仮想ストレージ装置ゲートウェイ |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7793067B2 (en) * | 2005-08-12 | 2010-09-07 | Globalfoundries Inc. | Translation data prefetch in an IOMMU |
US7739422B2 (en) * | 2006-03-21 | 2010-06-15 | International Business Machines Corporation | Method to improve system DMA mapping while substantially reducing memory fragmentation |
US20080126617A1 (en) * | 2006-08-28 | 2008-05-29 | Sean Thomas Brownlow | Message Signaled Interrupt Management for a Computer Input/Output Fabric Incorporating Dynamic Binding |
US8725914B2 (en) * | 2006-08-28 | 2014-05-13 | International Business Machines Corporation | Message signaled interrupt management for a computer input/output fabric incorporating platform independent interrupt manager |
JP5158576B2 (ja) * | 2007-06-05 | 2013-03-06 | 日本電気株式会社 | 入出力制御システム、入出力制御方法、及び、入出力制御プログラム |
JP4808747B2 (ja) | 2008-06-03 | 2011-11-02 | 株式会社日立製作所 | ストレージサブシステム |
US9384153B2 (en) * | 2012-08-31 | 2016-07-05 | Freescale Semiconductor, Inc. | Virtualized local storage |
-
2015
- 2015-10-02 US US15/743,630 patent/US10496444B2/en active Active
- 2015-10-02 JP JP2017542654A patent/JP6653710B2/ja active Active
- 2015-10-02 WO PCT/JP2015/078017 patent/WO2017056310A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03147013A (ja) * | 1989-11-01 | 1991-06-24 | Casio Comput Co Ltd | データ更新装置 |
JP2010009160A (ja) * | 2008-06-25 | 2010-01-14 | Nec Corp | 性能値算出装置 |
JP2011028537A (ja) * | 2009-07-27 | 2011-02-10 | Buffalo Inc | 外部記憶装置へのアクセスを高速化する方法および外部記憶システム |
JP2011164968A (ja) * | 2010-02-10 | 2011-08-25 | Buffalo Inc | 主記憶装置へのアクセスを高速化する方法および記憶装置システム |
JP2012181569A (ja) * | 2011-02-28 | 2012-09-20 | Nec Corp | 仮想計算機システム、仮想計算機システムのメモリ管理方法およびメモリ管理プログラム |
JP2015520890A (ja) * | 2012-04-27 | 2015-07-23 | ネットアップ,インコーポレイテッド | 仮想ストレージ装置ゲートウェイ |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021128627A (ja) * | 2020-02-14 | 2021-09-02 | 株式会社日立製作所 | 計算機システム及びメモリ管理方法 |
US11416409B2 (en) | 2020-02-14 | 2022-08-16 | Hitachi, Ltd. | Computer system and memory management method |
JP2021152833A (ja) * | 2020-03-25 | 2021-09-30 | カシオ計算機株式会社 | キャッシュ管理プログラム、サーバ、キャッシュ管理方法、および情報処理装置 |
JP7143866B2 (ja) | 2020-03-25 | 2022-09-29 | カシオ計算機株式会社 | キャッシュ管理プログラム、サーバ、キャッシュ管理方法、および情報処理装置 |
US11467958B2 (en) | 2020-03-25 | 2022-10-11 | Casio Computer Co., Ltd. | Cache management method, cache management system, and information processing apparatus |
Also Published As
Publication number | Publication date |
---|---|
US20180203733A1 (en) | 2018-07-19 |
US10496444B2 (en) | 2019-12-03 |
JPWO2017056310A1 (ja) | 2018-07-12 |
JP6653710B2 (ja) | 2020-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102444832B1 (ko) | 분산된 가상 명칭 공간 관리를 사용한 온-디맨드 스토리지 프로비져닝 | |
CN107690622B (zh) | 实现硬件加速处理的方法、设备和系统 | |
US10817333B2 (en) | Managing memory in devices that host virtual machines and have shared memory | |
WO2019237791A1 (zh) | 虚拟化缓存的实现方法及物理机 | |
WO2017056310A1 (ja) | 計算機および計算機の制御方法 | |
US10248346B2 (en) | Modular architecture for extreme-scale distributed processing applications | |
US11269828B2 (en) | Data placement and sharding | |
US10248460B2 (en) | Storage management computer | |
JP5972363B2 (ja) | デュアル動作システムに対する複数のリソースのためのリソース割り当て | |
JP2014175009A (ja) | 仮想マシンをサポートするフラッシュ・ベースのキャッシング・ソリューションでの動的キャッシュ共有のためのシステム、方法、およびコンピュータ可読媒体 | |
JP2019057151A (ja) | メモリシステムおよび制御方法 | |
JP2006244098A (ja) | ストレージシステムにおける論理分割方法 | |
JP2022035610A (ja) | メモリシステムおよび制御方法 | |
JP2018101334A (ja) | メモリシステムおよび制御方法 | |
WO2022050998A1 (en) | Pooled memory controller for thin-provisioning disaggregated memory | |
US9697047B2 (en) | Cooperation of hoarding memory allocators in a multi-process system | |
JP2020532803A (ja) | 同期入出を介して生成されたキャッシュ・ヒットに応答してメタデータ・トラックの非同期更新をする方法、システム、コンピュータ・プログラムおよび記憶制御装置 | |
KR102146334B1 (ko) | 동적 페이지 할당자 변경 방법 및 시스템 | |
US11144473B2 (en) | Quality of service for input/output memory management unit | |
US10824425B2 (en) | Selecting destination for processing management instructions based on the processor buffer size and uncompleted management instructions | |
US10228859B2 (en) | Efficiency in active memory sharing | |
US20230185632A1 (en) | Management system, data rebalancing management method, and recording medium | |
US10268391B2 (en) | Computer system including server storage system and management system | |
WO2023172319A1 (en) | Direct swap caching with noisy neighbor mitigation and dynamic address range assignment | |
JP6351387B2 (ja) | 情報処理装置、プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15905463 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15743630 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref document number: 2017542654 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15905463 Country of ref document: EP Kind code of ref document: A1 |