WO2020024207A1 - Procédé de traitement de requêtes de services, dispositif et système de stockage - Google Patents

Procédé de traitement de requêtes de services, dispositif et système de stockage Download PDF

Info

Publication number
WO2020024207A1
WO2020024207A1 PCT/CN2018/098277 CN2018098277W WO2020024207A1 WO 2020024207 A1 WO2020024207 A1 WO 2020024207A1 CN 2018098277 W CN2018098277 W CN 2018098277W WO 2020024207 A1 WO2020024207 A1 WO 2020024207A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor cores
request
processor
core
cores
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2018/098277
Other languages
English (en)
Chinese (zh)
Inventor
卢玥
余思
龚骏辉
毛依平
陈贞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2018/098277 priority Critical patent/WO2020024207A1/fr
Priority to CN201880005605.6A priority patent/CN110178119B/zh
Publication of WO2020024207A1 publication Critical patent/WO2020024207A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Definitions

  • the present application relates to the field of information technology, and more particularly, to a method, an apparatus, and a processor for processing a service request.
  • the central processing unit (CPU) of the array controller is a key factor affecting system performance.
  • a method for processing a service request in a storage system includes multiple processor cores, including: receiving a request for a current stage of a service request, where the current stage request is the service request A request of one of the multiple stages of the request; determining a first set of processor cores to execute the request of the current stage, the first set of processor cores being one processor core of the plurality of processor cores Send the request of the current stage to the first processor core set with the lightest load processor core.
  • this application processes business requests.
  • the method can ensure load balancing between processor cores, determine the set of processor cores for each stage of business request, and schedule the current stage of requests within the scope of the processor set.
  • the processor core considers the correlation between the request of each stage and the delay that affects the processing of the request by the processor core, and reduces the delay of processing service requests.
  • the determining a first set of processor cores to execute the request of the current phase includes: querying a core binding relationship, determining the first set of processor cores to execute the request of the current phase, and The core binding relationship is used to indicate an association relationship between the request in the current stage and the first processor core set.
  • the method further includes: re-determining the number of processor cores that executes the request of the current stage according to the first set of processor cores; Re-determining the number of processor cores that execute the request of the current phase, and allocating, in the plurality of processor cores, the request of the current phase to a second set of processor cores that meets the number; according to the The second processor core set generates a new core binding relationship, where the new core binding relationship is used to indicate an association relationship between the request at the current stage and the second processor core set.
  • re-determining the number of processor cores that executes the request in the current phase according to the first set of processor cores includes: determining a utilization of the processor cores in the first set of processor cores And the average utilization rate of the plurality of processor cores; and re-determining the execution location according to the total utilization rate of the processor cores in the first processor core set and the average utilization rate of the plurality of processor cores. Describes the number of processor cores requested in the current phase.
  • processor cores for requests at the corresponding stage By periodically monitoring the utilization of processor cores in the storage system, and according to changes in the utilization of processor cores allocated for requests at any stage, reallocating processor cores for requests at the corresponding stage can be based on The change of the utilization rate of the processor cores is periodically adjusted to the processor cores allocated to the requests in the corresponding phases, thereby improving the load imbalance between the processor cores.
  • the number includes: re-determining the execution of the request of the current stage based on the following relationship according to the sum of the utilization of the processor cores in the first processor core set and the average utilization of the plurality of processor cores. Number of processor cores:
  • N U P / U ave
  • N is the number of re-determined processor cores executing the current stage request
  • U P is the total utilization of the processor cores in the first set of processor cores
  • U ave is the multiple processes. Processor core average utilization.
  • the allocating, in the plurality of processor cores, the request of the current stage for the current stage request to a second set of processor cores including: generating Multiple sets of allocation results.
  • Each set of allocation results includes a set of processor cores that satisfy the corresponding number of requests for reassignment for each stage of the request.
  • Multiple path lengths are determined for the multiple sets of allocation results, and each set of allocation results corresponds to a path Length, the path length L satisfies:
  • c i, i + 1 represents the communication volume generated by the interaction between the processor cores executing the requests in adjacent stages
  • d i, i + 1 represents the average topological distance between the processor cores executing the requests in the adjacent stages.
  • M is the number of requests in multiple stages of the service request; according to a set of allocation results corresponding to the shortest path length among the plurality of path lengths, the request in the current stage is allocated a second that satisfies the number Processor core collection.
  • processor cores allocated for the requests of each stage According to the determined number of processor cores allocated for the requests of each stage, generate multiple sets of processor core allocation results, determine multiple path lengths for the multiple sets of allocation results, and consider the allocation of processor cores for the requests of each stage
  • the topological distance between processor cores determines the allocation result corresponding to the shortest path length among multiple path lengths as the final processor core allocation result, thereby ensuring load balancing between processor cores and reducing the delay in processing business requests .
  • the first set of processor cores includes K processor cores, where K is an integer greater than or equal to 3, and the first processor core
  • the processor with the lightest load in the core set sending the request of the current stage includes: determining a scheduler for the request of the current stage among the K processor cores according to the sliding window length w and the sliding step d.
  • Region, the scheduling sub-region includes w processor cores, w is an integer greater than or equal to 2 and less than K, and d is an integer greater than or equal to 1 and less than K; the load is the largest among the w processor cores
  • the light processor core sends the request at the current stage.
  • the search range of the processor core with the lightest search load is narrowed, so that the processor core with the lightest load in the scheduling subregion executes the request of the corresponding stage To ensure load balancing between processor cores and further reduce the delay in processing business requests.
  • the d and the K are prime numbers each other.
  • a configuration method for processing a service request including: configuring a first set of processor cores for a request in a first stage of a service request, the first set of processor cores being used to execute the first stage Request; configure a first rule, the first rule instructing to send the request of the first stage to the lightest-loaded processor core in the first processor core set.
  • the configuration method for processing a business request of the present application enables the processor to be guaranteed when processing a business request.
  • Load balancing between cores takes into account the correlation between the requests in each phase and the delay that affects the processor core's processing of requests in each phase, reducing the delay in processing business requests.
  • the method further includes: configuring a second set of processor cores for a request in a second phase of a service request, the second set of processor cores being used for execution The request of the second phase; configuring a second rule, the second rule instructing to send the request of the second phase to the lightest-loaded processor core in the second set of processor cores.
  • an apparatus for processing a service request is provided.
  • the apparatus is configured in a storage system, and the apparatus is configured to execute the method in any one of the possible implementation manners of the first aspect or the second aspect.
  • the apparatus may include a module for executing a method in any possible implementation manner of the first aspect or the second aspect.
  • a storage system includes a plurality of processor cores and a memory; the memory is configured to store computer instructions; and one or more of the plurality of processor cores are configured to execute Computer instructions stored in the memory, when the computer instructions in the memory are executed, the one or more processor cores are configured to execute any one of the possible implementations of the first aspect or the second aspect above method.
  • a computer-readable storage medium stores computer instructions, and when the computer instructions are run on a computer, the computer is caused to execute any one of the first aspect or the second aspect Methods in possible implementations.
  • a computer program product including computer instructions is provided, and when the computer instructions are run on a computer, the computer is caused to execute the method in any possible implementation manner of the first aspect or the second aspect.
  • FIG. 1 is a schematic diagram of a storage array architecture according to an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of a controller of a storage array according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a distributed block storage system according to an embodiment of the present invention.
  • FIG. 4 is a schematic structural block diagram of a server of a distributed block storage system.
  • FIG. 5 is a schematic block diagram of a processor according to an embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of a method for processing a service request in a storage system according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of scheduling a processor core based on a sliding window mechanism according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of a topology distance between logical cores sharing different levels of memory or cache under a NUMA architecture according to an embodiment of the present invention.
  • FIG. 9 is a schematic flowchart of a configuration method for processing a service request according to an embodiment of the present invention.
  • FIG. 10 is a schematic block diagram of an apparatus for processing a service request according to an embodiment of the present invention.
  • FIG. 11 is a schematic block diagram of a storage system according to an embodiment of the present invention.
  • the storage system in the embodiment of the present invention may be a storage array (such as Huawei Oceanstor 18000 series, V3 series).
  • the storage array includes a storage controller 101 and a plurality of hard disks.
  • the hard disks include a solid state disk (SSD), a mechanical hard disk, or a hybrid hard disk.
  • Mechanical hard disks such as HDD (hard disk drive).
  • the controller 101 includes a central processing unit (CPU) 201, a memory 202, and an interface 203.
  • the memory 202 stores computer instructions
  • the CPU 201 includes multiple processor cores (not shown in FIG. 2).
  • the CPU 201 executes computer instructions in the memory 202 to perform management and data access operations on the storage system.
  • a field programmable gate array (FPGA) or other hardware can also be used to perform all operations of the CPU 201 in the embodiment of the present invention, or the FPGA or other hardware and the CPU 201 are respectively used for The operations of the CPU 201 according to the embodiment of the present invention are performed.
  • the CPU 201 and the memory 202 are referred to as a processor, or the FPGA and other hardware replacing the CPU 201 are referred to as a processor, or the combination of the FPGA and other hardware replacing the CPU 201 and the CPU 201 are collectively referred to as a processor.
  • the processor is in communication with the interface 203.
  • the interface 203 may be a network interface card (NIC), a host bus adaptor (HBA), or the like.
  • the CPU 201 is configured to process a service request, such as receiving a service request sent by a host or a client, and use the method for processing a service request provided by an embodiment of the present invention to process the service request.
  • the storage system in the embodiment of the present invention may also be a distributed file storage system (such as Huawei of 9000 series), distributed block storage systems (such as Huawei of Series) and so on. Huawei of Series as an example.
  • a distributed block storage system includes multiple servers, such as server 1, server 2, server 3, server 4, server 5, and server 6, and infiniband technology or Ethernet is used between the servers Waiting to communicate with each other.
  • the number of servers in the distributed block storage system can be increased according to actual needs, which is not limited in the embodiment of the present invention.
  • the server of the distributed block storage system includes a structure as shown in FIG. 4.
  • each server in the distributed block storage system includes a central processing unit (CPU) 401, a memory 402, an interface 403, a hard disk 1, a hard disk 2, and a hard disk 3.
  • the memory 402 stores computer instructions
  • the CPU 401 includes multiple processor cores (not shown in FIG. 4), and the CPU 401 executes computer instructions in the memory 402 to perform corresponding operations.
  • the interface 403 may be a hardware interface, such as a network interface card (NIC) or a host bus adapter (HBA), or a program interface module.
  • the hard disk includes a solid state disk (SSD), a mechanical hard disk, or a hybrid hard disk. Mechanical hard disks such as HDD (hard disk drive).
  • a field programmable gate array (FPGA) or other hardware can also perform the corresponding operations in place of the CPU401, or FPGA or other hardware can perform the corresponding operations in conjunction with the CPU401.
  • the CPU 401 and the memory 402 are referred to as a processor, or the FPGA and other hardware replacing the CPU 401 are referred to as a processor, or the combination of the FPGA and other hardware replacing the CPU 401 and the CPU 401 are collectively referred to as a processor.
  • the interface 403 may be a network interface card (NIC), a host bus adapter (HBA), or the like.
  • the CPU 401 is configured to process a service request, such as receiving a service request sent by a host or a client, and use the method for processing a service request provided by an embodiment of the present invention to process the service request.
  • the load of the processor core is estimated based on the number of business requests to be processed on each processor core in a storage system containing multiple processor cores, and the business request is finally sent to the load in the storage system
  • the lightest for example, the least number of pending business requests
  • an embodiment of the present invention proposes a method for processing a service request.
  • the pending service request can be divided into multiple stages of request execution, and a certain number of processor cores (for example, processors) are allocated for each stage of the request. Core set), and send each stage request to the lightest-loaded processor core in the set of processor cores allocated for the request in this stage, as opposed to sending business requests to all processor cores in the storage system Lightest processor core.
  • factors that affect the delay such as the access delay, access distance, connection relationship between processors, or bus type, for each level of memory or cache accessed by the CPU (such as a processor core) are for each stage.
  • the method for processing service requests in the embodiments of the present invention can ensure load balancing among processor cores, and schedule requests at the current stage within the scope of the processor core set.
  • the access request can be divided into two phases: a resource waiting phase and a resource using phase.
  • requests in the resource waiting phase generally require special resources, such as disks, memory, and files. When resources are occupied by the previous request and not released, requests in the resource waiting phase are blocked until the resource can be used;
  • a request using the resource phase is a request that actually performs a data access phase.
  • the SCSI subsystem is a layered architecture, which is divided into three layers.
  • the top layer which is called the upper layer, represents the highest interface of the operating system kernel to access the SCSI protocol device and the driver of the main device type.
  • the middle layer also known as the common layer or unified layer, in this layer contains some of the higher and lower layers of the SCSI stack public services.
  • the lower layer represents the actual driver for the physical interface of the device that is suitable for the SCSI protocol.
  • SCSI-based access requests are also divided into three stages of requests.
  • the processor for example, the CPU 201 in FIG. 2 and the CPU 401 in FIG. 4 provided by the embodiment of the present invention is first introduced.
  • the processor in the embodiment of the present invention includes multiple processor cores (for example, processor core 0 to processor core S, S ⁇ 2), and one of the multiple processor cores
  • the load balancing module 501 and the binding core calculation module 502 are included.
  • the other processor cores include a scheduling module 503.
  • the load balancing module 501 is used to calculate the number of processor cores to be bound for each stage of a service request;
  • the core binding relationship calculation module 502 is used to allocate a request that satisfies a corresponding number of requests for each stage of a service request.
  • a processor core which in turn generates a binding relationship, which indicates a correspondence between a request for a phase of a service request and a set of processor cores that process the request for the phase;
  • a scheduling module 503 is configured to save the binding relationship and receive
  • a business request is made in a certain stage, query the binding core relationship, determine the set of processing cores used to execute the request in this stage, and send the request in this stage to the lightest-loaded processor core in the set of processor cores.
  • the request of this stage is executed by the processor core.
  • At least one processor core is provided with a listening module 504.
  • the listening module 504 is configured to monitor a service request from a host or a client. When a service request is sent, the service request is sent to the scheduling module 503 in the processor core.
  • the processor in the embodiment of the present invention is described above only by taking the load balancing module 501 and the core relationship calculation module 502 as an example to deploy in the processor core S, but the embodiment of the present invention is not limited to this.
  • the load balancing module 501 and the binding relationship calculation module 502 may be deployed in any one of the processor cores 0 to S, and the load balancing module 501 and the binding relationship calculation module 502 may be deployed in the same process.
  • Processor cores can also be deployed in different processor cores.
  • FIG. 6 shows a schematic flowchart of a method for processing a service request in a storage system, including steps 601 to 603.
  • the listening module 504 in the processor core listens to the service request from the host or the client
  • the service request in the current stage is a multiple of the service request.
  • the monitoring module 504 in the processor core 1 sends the request of the current stage to the scheduling module 503 in the processor core 1.
  • the scheduling module 503 in the processor core 1 determines a set of processor cores (for example, a first set of processor cores) that executes the request of the current phase for the received request of the current phase.
  • the scheduling module 503 may determine a first set of processor cores that executes the request of the current phase according to the specific type of the request of the current phase, and the first set of processor cores is a processor core of multiple processor cores in the storage system. set.
  • determining the first set of processor cores that executes the request of the current phase includes: querying the core binding relationship, determining the first set of processor cores used to execute the request of the current phase, and the binding core relationship is used to indicate An association relationship between the request in the current stage and the first processor core set.
  • the scheduling module 503 in the processor core 1 may query a binding core relationship, where the binding core relationship indicates a set of processor cores allocated for each stage of the service request request, and each processor core set includes A plurality of processor cores, and the scheduling module 503 in the processor core 1 determines a first set of processor cores that executes the request in the current stage according to the core-binding relationship.
  • the scheduling module 503 in the processor core 1 queries the binding core relationship to determine the processor core set including the processor core 1, the processor core 2, the processor core 4, the processor core 7 and the processor core 9 and the current core. There is an association relationship between the requests of the phases, and then the processor core set is determined as the first processor core set that executes the request of the current phase.
  • the scheduling module 503 in processor core 1 sends the service request to the lightest-loaded processing in the first set of processor cores Processor core, which executes the request at the current stage.
  • the scheduling module 503 in processor core 1 determines the lightest-loaded processing among processor core 1, processor core 2, processor core 4, processor core 7, and processor core 9 in the first set of processor cores.
  • the processor core is the processor core 7, and the scheduling module 503 in the processor core 1 sends a service request to the processor core 7, and the processor core 7 executes the request at the current stage.
  • the scheduling module 503 in the processor core 7 determines the The processor core set for the next stage request is sent to the processor core with the lightest load in the processor core set, and the processor core executes the request for the next stage.
  • a certain number of processor cores are allocated to the requests for each phase, and the requests for each phase are sent to the The lightest-loaded processor core in the set of processor cores requesting allocation, compared to sending a service request to the lightest-loaded processor core among multiple processor cores in a storage system, the embodiment of the present invention
  • the method can ensure load balancing among processor cores, determine the set of processor cores for each stage of business request, and schedule the current stage of requests within the scope of the processor set.
  • the processor core considers the correlation between the requests in each phase and the delay that affects the processing of the requests by the processor core, reducing the delay in processing business requests.
  • the first processor core set includes K processor cores, where K is an integer greater than or equal to 3, and the lightest-loaded processor core in the first processor core set is sent the current stage
  • the request includes: according to the sliding window length w and the sliding step d, determining a scheduling sub-region for the current stage request in the K processor cores, the scheduling sub-region includes w processor cores, and w is greater than or An integer equal to 2 and less than K, and d is an integer greater than or equal to 1 and less than K; sending the request of the current stage to the lightest-loaded processor core among the w processor cores.
  • the scheduling module 503 may send the request of the current phase to the lightest-loaded processor core in the first set of processor cores,
  • the processor core executes the request of the current stage; or, the processor core executing the request of the current stage may also be determined based on the sliding window mechanism.
  • the scheduling module 503 may use the sliding window length w and the sliding step d to determine the The phase request determines a scheduling sub-area, determines the lightest-loading processor core from the processor cores included in the scheduling sub-area, and sends the service request to the lightest-loading processor core in the scheduling sub-area.
  • the scheduling sub-region determined by the scheduling module 503 for the request of the current stage is shown in FIG. 7. It can be seen from FIG. 7 that the processor core included in the scheduling sub-region is the processor.
  • Core 1, processor core 3, and processor core 4, the scheduling module 503 sends the request of the current stage to the processor core 1, processor core 3, and processor core 4 with the lightest load processor core, and the load The lightest processor core executes the request at this stage.
  • processor core 1 When the processor set including processor core 1, processor core 3, processor core 4, processor core 5, processor core 8, processor core 9, and processor core 10 is also used to process the request at the current stage
  • the scheduling sub-area of the request for a certain stage of the other service request is to slide the sliding window backwards by two processor cores.
  • the scheduling module 503 sends a request for a certain stage of the other service request to the processor core 4, the processor core 5, and the processor core 8 with the lightest load processor core.
  • the processor core executes a request of a certain stage of the other service request.
  • the search range of the processor core with the lightest search load is narrowed, so that the processor core with the lightest load in the scheduling subregion executes the request of the corresponding stage.
  • the method for processing service requests in the embodiments of the present invention can ensure load balancing among processor cores, determine a set of processor cores for each stage of service request requests, and schedule requests in the current stage within the scope of the processor set.
  • the processor core with the lightest load in the storage system is directly selected, and the correlation between the request of each stage and the delay that affects the processing of the request by the processor core is considered, which further reduces the delay of processing business requests.
  • the binding relationship may be pre-configured, and then the binding relationship calculation module 502 in the processor core updates the binding relationship, that is, generates a new Nuclear ties.
  • the method further includes: re-determining the number of processor cores that execute the request of the current stage according to the first set of processor cores; and according to the re-determined processor core that executes the request of the current stage The number of second processor core sets that satisfy the number of requests for the current stage among the multiple processor cores; according to the second processor core set, a new core binding relationship is generated, and the new core binding The relationship is used to indicate an association relationship between the request in the current stage and the second processor core set.
  • the load balancing module 501 in the processor core S periodically determines the processing in the set of processor cores used to execute the requests of each phase for the requests of multiple phases of the service request.
  • the number of processor cores, and the determined number of processor cores in the set of processor cores used to execute the request of each phase is provided to the binding core relationship calculation module 502 according to the load balancing module 501 Re-determine the number of processor cores in the set of processor cores used to execute the request for each phase, reallocate the request for each phase to meet the corresponding number of processor cores, and reallocate according to the request for each phase Satisfy the corresponding number of processor cores and periodically generate new core binding relationships.
  • the following uses the load balancing module 501 to re-determine the number of processor cores used to execute the request of the current stage as an example, and describes a method to re-determine the number of processor cores used to execute the request of each stage.
  • re-determining the number of processor cores executing the request of the current stage according to the first set of processor cores includes: determining a total utilization rate of the processor cores in the first set of processor cores With the average utilization of the plurality of processor cores; and re-determining the execution of the request at the current stage according to the sum of the utilization of the processor cores in the first processor core set and the average utilization of the plurality of processor cores The number of processor cores.
  • the load balancing module 501 monitors the utilization rate of each processor core in the storage system in real time, wherein the utilization rate of the processor core is a ratio of the running time of the processor core to the sum of the running time and the idle time, and according to the processing, Changes in the utilization of processor cores, and re-determine the number of processor cores in the set of processor cores used to execute the request in the current phase.
  • the first set of processor cores bound to the request at the current stage is represented as P
  • the utilization rate of the first processor core set is represented by U P
  • the utilization rate of the first processor core set is U P is equal to the total utilization of the processor cores in the first processor core set in the current cycle, which is expressed as:
  • U j represents the utilization rate of any processor core in the first processor core set in the current cycle.
  • a plurality of processor cores in a storage system in the current cycle average utilization is expressed as U ave, the scheduling module 503 in accordance with the U P U ave execution request for re-determining the current phase of the processing core of the set of processors The number of processor cores.
  • the number of processor cores executing the request of the current stage is re-determined according to the sum of the utilization ratios of the processor cores in the first processor core set and the average utilization ratio of the plurality of processor cores. Including: re-determining the number of processor cores executing the request of the current phase based on the following relationship according to the sum of the utilization ratio of the processor cores in the first processor core set and the average utilization ratio of the plurality of processor cores :
  • N is the number of processor cores that are re-determined to execute the request at the current stage
  • U P is the total utilization of the processor cores in the first set of processor cores
  • U ave is the Average utilization.
  • the load balancing module 501 After the load balancing module 501 re-determines the number N of processor cores used to execute the request of the current stage in the current cycle, it will determine the processor cores in the set of processor cores used to execute the request of the current stage. The number is provided to the core relationship calculation module 502, and the core relationship calculation module 502 reallocates a set of processor cores (for example, a second processor core set) that meets the foregoing number N at the beginning of the next cycle for the request of the current stage. ).
  • a set of processor cores for example, a second processor core set
  • the number of processor cores used to execute the request of the current phase in the current cycle is 8, and after the load balancing module 501 re-determines the number of processor cores used to execute the request of the current phase in the current cycle, for example, The number of processor cores re-determined by the load balancing module 501 in the current cycle to execute the request of the current phase is 6, and the load balancing module 501 provides the number of processor cores 6 re-determined for the request of the current phase to the core binding relationship.
  • the binding core calculation module 502 may delete two processor cores from the eight processor cores stored in the binding relationship to execute the request of the current phase at the beginning of the next cycle, that is, generate a new processor core Nuclear ties.
  • the load balancing module 501 provides the number of processor cores 6 that is re-determined for the current request to the binding core calculation module 502.
  • the binding core calculation module 502 does not use the Two processor cores are deleted from the eight processor cores executing the current phase of the request, but six processor cores are reassigned in the storage system for the current phase of the request, and the core relationship will be tied at the beginning of the next cycle
  • the 8 processor cores that were originally allocated for the current stage request are replaced with the 6 processor cores that were reassigned to generate a new core-binding relationship.
  • processor cores for requests at the corresponding stage By periodically monitoring the utilization of processor cores in the storage system, and according to changes in the utilization of processor cores allocated for requests at any stage, reallocating processor cores for requests at the corresponding stage can be based on The change of the utilization rate of the processor cores is periodically adjusted to the processor cores allocated to the requests in the corresponding phases, thereby improving the load imbalance between the processor cores.
  • a method for assigning the core relationship calculation module 502 to the current stage request in the storage system to satisfy the number of processor cores is taken as an example.
  • the request for each phase is provided. The method of allocating the corresponding number of processor cores will be described in detail.
  • multiple processor cores usually share different levels of memory or cache.
  • the different levels of memory or cache can include L 1 cache, L 2 cache, L 3 cache, and local memory.
  • L 1 cache L 1 cache
  • L 2 cache L 3 cache
  • local memory L 1 cache
  • the processor core When sharing different levels of memory or cache, the topological distance between processor cores is also different.
  • each processor core can access local memory in a remote node (hereinafter referred to as "remote memory").
  • remote memory a remote node
  • each processor core can be abstracted into multiple logical cores. For example, each processor core is abstracted into two logical cores, which are respectively logical core 0 and logical core 1, as shown in FIG. 8.
  • Figure 8 shows a schematic diagram of the topology distance between logical cores sharing different levels of memory or cache under the NUMA architecture. It can be seen that under the NUMA architecture, there are nodes 0 and 1, and the logical cores in node 0 can be connected to nodes. The logical core in 1 shares the local memory in node 1. The local memory in node 1 is the remote memory for node 0.
  • the topological distance between two logical cores sharing L 1 cache in node 0 is D 1
  • the topological distance between two logical cores sharing L 2 cache is D 2
  • L 3 is shared
  • the topological distance between the two logical cores of the cache is D 3
  • the topological distance between the two logical cores sharing local memory is D 4.
  • the logical core in node 0 and the logical core in node 1 share the In local memory, the topological distance between the two logical cores is D 5 .
  • the access latency ratio of accessing local memory and remote memory is approximately 8:12, so the topological distance between logical cores that share remote memory between nodes can be calculated as 64.
  • the binding core calculation module 502 of the embodiment of the present invention is in each stage of the storage system A method for requesting allocation of a processor core satisfying a corresponding number will be described in detail.
  • node 0 and node 1 in FIG. 8 are in a NUMA architecture and communicate with each other through hyper-threading.
  • allocating a second processor core set that meets the number of requests for the current stage in multiple processors includes generating multiple sets of allocation results, and each set of allocation results includes requests for each stage The allocated set of processor cores meets the corresponding number; multiple path lengths are determined for the multiple sets of allocation results, and each set of allocation results corresponds to a path length, and the path length L satisfies:
  • c i, i + 1 represents the communication volume generated by the interaction between the processor cores executing requests in adjacent phases
  • d i, i + 1 represents the average topological distance between the processor cores executing requests in the adjacent phases
  • M is the number of requests in multiple stages of the service request; where the communication volume can represent the number of interactions between processor cores.
  • the request of the current stage is allocated to satisfy the number of processor cores.
  • each processor core is abstracted into logical core 0 and logical core 1, and 16 processor cores are abstracted into 32 logical cores.
  • the three phase requests are denoted as M 0 , M 1, and M 2 respectively .
  • the processor core used to execute the request of the current phase is determined by the foregoing.
  • the method of determining the number of logic cores used to execute M 0 , M 1 and M 2 in the current cycle it is determined that the number of logic cores used to execute M 0 is 8, the number of logic cores used to execute M 1 is determined, and the number of logic cores used to execute M 2 is 16.
  • the binding relationship calculation module 502 generates multiple sets of allocation results according to the number of logical cores determined for M 0 , M 1, and M 2. Each group of allocation results includes logical cores that satisfy a corresponding number of allocations for each stage of the request.
  • the allocation result 1 is: logical cores 0 to 7 in node 0 are assigned to M 0 , logical cores 8 to 15 of node 0 are assigned to M 1 , and logical cores 0 to 15 of node 1 are assigned to M 2 ;
  • the allocation result 2 is: logic cores 0 to 3 in node 0 and logic cores 0 to 3 in node 1 are allocated to M 0 , and logic cores 4 to 7 in node 0 and logic cores 4 to 7 in node 1 It is assigned to M 1 , and logical cores 8 to 15 in node 0 and logical cores 8 to 15 in node 1 are assigned to M 2 .
  • the binding core calculation module 502 will allocate logical cores 0 to 3 in node 0 and logical cores 0 to 3 in node 1.
  • M 0 assign logical cores 4 to 7 in node 0 and logical cores 4 to 7 in node 1 to M 1
  • M 2 and replace the processor core originally allocated for the request of each stage of the business request in the binding relationship with the reallocated processor core at the beginning of the next cycle.
  • multiple path lengths are determined for the multiple sets of allocation results.
  • the topological distance between processor cores is considered, and multiple paths are The allocation result corresponding to the shortest path length in the length is determined as the final processor core allocation result, thereby ensuring load balancing among the processor cores, determining the processor core set for each stage of the business request request, and within the scope of the processor set.
  • the scheduling of requests in the current phase takes into account the correlation between the requests in each phase and the delay that affects the processing of requests by the processor core in each phase, reducing the processing of business requests. Delay.
  • FIG. 9 shows a schematic flowchart of a configuration method for processing a service request.
  • the processing of the service request is divided into multiple stages, and the multiple stages correspond to the multiple stage requests.
  • the multiple stage requests include the first stage requests, and a processor is configured for the first stage requests.
  • a set of cores eg, a first set of processor cores through which the first stage of requests are processed.
  • a first rule may be configured, and the first rule may indicate that the lightest-loaded processor core in the first set of processor cores configured for the request of the first stage executes the request of the first stage.
  • the method further includes:
  • the service request also includes a request in a second phase
  • the request in the second phase may be a request in a phase subsequent to the request in the first phase
  • a processor core set is configured for the request in the second phase.
  • a second set of processor cores through which the requests in the second stage are processed.
  • a second rule may be configured, and the second rule may indicate that the lightest-loaded processor core in the second set of processor cores configured for the request of the second stage executes the request of the second stage.
  • the lightest processor core By allocating a certain number of processor cores (for example, a set of processor cores) for each stage of a business request, and sending requests for each stage to a load in the set of processor cores allocated for the request for that stage
  • the lightest processor core compared to the lightest load processor core among multiple processor cores in the storage system, sends the service request to the service request configuration method according to the embodiment of the present invention, which can ensure that when processing a service request, Load balancing among processor cores, determining the set of processor cores for each stage of a business request, and scheduling the current stage of requests within the scope of the processor set.
  • the correlation between the request of each stage and the delay that affects the processing of the request by the processor core is considered to reduce the delay of processing business requests.
  • the service request includes the request of the first stage and the request of the second stage, and does not specifically limit the embodiment of the present invention.
  • the service request may also include requests of other stages.
  • FIG. 10 is a schematic block diagram of an apparatus 800 for processing a service request according to an embodiment of the present invention.
  • the apparatus 800 is configured in a storage system and includes a transceiver module 801 and a processing module 802.
  • the transceiver module 801 is configured to receive a request in a current stage of a service request, where the request in the current stage is a request in one of a plurality of stages in the service request.
  • the processing module 802 is configured to determine a first set of processor cores that executes the request at the current stage, where the first set of processor cores is a subset of the plurality of processor cores.
  • the transceiver module 801 is further configured to send the request of the current stage to the processor core with the lightest load in the first processor core set.
  • the processing module 802 is further configured to query a core binding relationship and determine the first processor core set used to execute the request of the current phase, and the core binding relationship is used to indicate that the request of the current phase and the first phase Association between processor core sets.
  • the processing module 802 is further configured to re-determine the number of processor cores that execute the request of the current stage according to the first set of processor cores; and according to the re-determined processor that executes the request of the current stage The number of cores, among the plurality of processor cores, for the current stage request, a second set of processor cores satisfying the number is allocated; according to the second set of processor cores, a new binding core relationship is generated, and the new binding The core relationship is used to indicate an association relationship between the request in the current stage and the second processor core set.
  • the processing module 802 is further configured to determine a total utilization rate of the processor cores in the first processor core set and an average utilization rate of the plurality of processor cores; according to the first processor core set, The sum of the utilization of the processor cores and the average utilization of the plurality of processor cores re-determines the number of processor cores executing the request in the current stage.
  • the processing module 802 is further configured to re-determine the execution of the current based on the following relationship based on the sum of the utilization rates of the processor cores in the first processor core set and the average utilization rate of the plurality of processor cores. Number of requested processor cores for the phase:
  • N U P / U ave
  • N is the number of processor cores that are re-determined to execute the request at the current stage
  • U P is the total utilization of the processor cores in the first set of processor cores
  • U ave is the Average utilization.
  • the processing module 802 is further configured to generate multiple sets of allocation results, and each set of allocation results includes a set of processor cores that meets a corresponding number of requests for reallocation for each stage of the request; Path length, each group of allocation results corresponds to a path length, the path length L satisfies:
  • c i, i + 1 represents the communication volume generated by the interaction between the processor cores executing requests in adjacent phases
  • d i, i + 1 represents the average topological distance between the processor cores executing requests in the adjacent phases
  • M is the number of requests in multiple stages of the service request; according to a set of allocation results corresponding to the shortest path length among the multiple path lengths, the request for the current stage is allocated a second set of processor cores that meets the number.
  • the first processor core set includes K processor cores, where K is an integer greater than or equal to 3, and the processing module 802 is further configured to, according to the sliding window length w and the sliding step size d, in the K Among the processor cores, a scheduling sub-region is determined for the request of the current stage.
  • the scheduling sub-region includes w processor cores, where w is an integer greater than or equal to 2 and less than K, and d is an integer greater than or equal to 1 and less than K.
  • the transceiver module 801 is further configured to send the request of the current stage to the lightest-loaded processor core among the w processor cores.
  • d and K are prime numbers each other.
  • the apparatus 800 for processing a service request may correspond to executing the method 600 or the method 700 described in the embodiment of the present invention, and the above and other operations and / or functions of each module in the apparatus 800 are respectively implemented in order to implement FIG. 6.
  • the specific implementation of the apparatus 800 for processing a service request in the embodiment of the present invention may be a processor, or a software module, or a combination of a processor and a software module, which is not limited in the embodiment of the present invention.
  • FIG. 11 is a schematic block diagram of a storage system 900 according to an embodiment of the present invention.
  • the storage system includes a processor 901 and a memory 902, and the processor 901 includes multiple processor cores.
  • One or more processor cores in the plurality of processor cores are used to execute computer instructions stored in the memory 902.
  • the one or more processor cores are used to execute The following operations: receiving a request of a current stage of a service request, the current stage request being one of a plurality of stage requests of the service request; determining a first set of storage system cores to execute the current stage request, the The first storage system core set is a subset of the storage system cores of the plurality of storage system cores; and the request of the current stage is sent to the storage system core with the lightest load in the first storage system core set.
  • the one or more processor cores are further configured to query a core binding relationship, determine the first storage system core set used to execute the request of the current phase, and the core binding relationship is used to indicate the current phase. An association relationship between the request and the first storage system core set.
  • the one or more processor cores are further configured to re-determine the number of storage system cores that execute the request of the current phase according to the first set of storage system cores; The number of requested storage system cores, and among the multiple storage system cores, a second storage system core set that satisfies the number is allocated to the current stage of the request; and a new binding core relationship is generated according to the second storage system core set, The new core binding relationship is used to indicate an association relationship between the request in the current stage and the second storage system core set.
  • the one or more processor cores are further configured to determine a sum of utilization rates of the storage system cores in the first storage system core set and an average utilization rate of the plurality of storage system cores; according to the first processing The sum of the utilization rates of the processor cores in the processor core set and the average utilization rate of the plurality of processor cores re-determines the number of processor cores executing the request in the current stage.
  • the one or more processor cores are further configured to re-based on the sum of the utilization rates of the processor cores in the first processor core set and the average utilization rate of the plurality of processor cores based on the following relationship: Determine the number of processor cores executing requests for this current phase:
  • N U P / U ave
  • N is the number of processor cores that are re-determined to execute the request at the current stage
  • U P is the total utilization of the processor cores in the first set of processor cores
  • U ave is the Average utilization.
  • the one or more processor cores are further configured to generate multiple groups of allocation results, and each group of allocation results includes a set of processor cores that meets a corresponding number of requests reallocated for each stage of the request;
  • the allocation result determines multiple path lengths.
  • Each group of allocation results corresponds to a path length.
  • the path length L satisfies:
  • c i, i + 1 represents the communication volume generated by the interaction between the processor cores executing requests in adjacent phases
  • d i, i + 1 represents the average topological distance between the processor cores executing requests in the adjacent phases
  • M is the number of requests in multiple stages of the service request; according to a set of allocation results corresponding to the shortest path length among the multiple path lengths, the request for the current stage is allocated a second set of processor cores that meets the number.
  • the first set of processor cores includes K processor cores, where K is an integer greater than or equal to 3, and the one or more processor cores are further used according to the sliding window length w and the sliding step size d.
  • the scheduling sub-region includes w processor cores, w is an integer greater than or equal to 2 and less than K, and d is greater than or equal to 1 And an integer smaller than K; sending the request of the current stage to the lightest-loaded processor core among the w processor cores.
  • the d and the K are prime numbers each other.
  • Each module shown in FIG. 5 in the embodiment of the present invention may be hardware logic in the processor core, or may be computer instructions executed by the processor core, or a combination of hardware logic and computer instructions, which is not limited in the embodiment of the present invention. .
  • Each module of the apparatus 800 for processing a service request may be implemented by a processor, may be implemented by a processor and a memory together, or may be implemented by a software module. Accordingly, each module shown in FIG. 5 may correspond to one or more modules shown in FIG. 8, and the module shown in FIG. 8 includes corresponding functions of the module shown in FIG. 5.
  • An embodiment of the present invention provides a computer-readable storage medium.
  • the computer-readable storage medium stores computer instructions.
  • the computer instructions When the computer instructions are run on a computer, the computer executes a method for processing a service request in an embodiment of the present invention. Or configuration methods for processing business requests.
  • Embodiments of the present invention provide a computer program product containing computer instructions, and when the computer instructions are run on a computer, the computer is caused to execute the method for processing a service request or the method for configuring a service request in an embodiment of the present invention.
  • processors mentioned in the embodiments of the present invention may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), and application-specific integrated circuits (DSPs).
  • DSPs digital signal processors
  • DSPs application-specific integrated circuits
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the memory mentioned in the embodiments of the present invention may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrical memory Erase programmable read-only memory (EPROM, EEPROM) or flash memory.
  • the volatile memory may be a random access memory (RAM), which is used as an external cache.
  • RAM random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • double SDRAM double SDRAM
  • DDR SDRAM double data rate synchronous dynamic random access memory
  • enhanced SDRAM enhanced SDRAM
  • SLDRAM synchronous connection dynamic random access memory
  • direct RAMbus RAM direct RAMbus RAM
  • the processor is a general-purpose processor, a DSP, an ASIC, an FPGA, or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component
  • the memory memory module
  • memory described herein is intended to include, but is not limited to, these and any other suitable types of memory.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are only schematic.
  • the division of the unit is only a logical function division.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, which may be electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, may be located in one place, or may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objective of the solution of this embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the embodiment of the present invention is essentially a part that contributes to the existing technology or a part of the technical solution may be embodied in the form of a software product, which is stored in a storage medium.
  • the foregoing storage media include: U disks, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks or compact discs, and other media that can store computer instructions .

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

La présente invention concerne un procédé de traitement d'une requête de service dans un système de stockage, le système de stockage contenant une pluralité de cœurs de processeur, et étant caractérisé en ce qu'il consiste à : recevoir une requête de l'étape courante d'une requête de service, la requête de l'étape courante étant une requête d'une étape parmi une pluralité d'étapes de la requête de service ; déterminer un premier ensemble de cœurs de processeur pour réaliser la requête de l'étape courante, le premier ensemble de cœurs de processeur étant un sous-ensemble de cœurs de processeur d'une pluralité de cœurs de processeur ; envoyer la requête de l'étape courante au cœur de processeur avec la charge la plus faible dans le premier ensemble de cœurs de processeur. Le procédé permet d'assurer un équilibre de charges entre les cœurs de processeur et de réduire le retard temporel de traitement de la requête de service.
PCT/CN2018/098277 2018-08-02 2018-08-02 Procédé de traitement de requêtes de services, dispositif et système de stockage Ceased WO2020024207A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2018/098277 WO2020024207A1 (fr) 2018-08-02 2018-08-02 Procédé de traitement de requêtes de services, dispositif et système de stockage
CN201880005605.6A CN110178119B (zh) 2018-08-02 2018-08-02 处理业务请求的方法、装置与存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/098277 WO2020024207A1 (fr) 2018-08-02 2018-08-02 Procédé de traitement de requêtes de services, dispositif et système de stockage

Publications (1)

Publication Number Publication Date
WO2020024207A1 true WO2020024207A1 (fr) 2020-02-06

Family

ID=67689271

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/098277 Ceased WO2020024207A1 (fr) 2018-08-02 2018-08-02 Procédé de traitement de requêtes de services, dispositif et système de stockage

Country Status (2)

Country Link
CN (1) CN110178119B (fr)
WO (1) WO2020024207A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882221A (zh) * 2020-07-30 2020-11-03 北京三快在线科技有限公司 场次管理方法、装置、服务器及存储介质
CN118069374A (zh) * 2024-04-18 2024-05-24 清华大学 数据中心智能训练仿真事务加速方法、装置、设备及介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231099B (zh) * 2020-10-14 2024-07-05 北京中科网威信息技术有限公司 一种处理器的内存访问方法及装置
CN114924866A (zh) * 2021-04-30 2022-08-19 华为技术有限公司 数据处理方法和相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090064167A1 (en) * 2007-08-28 2009-03-05 Arimilli Lakshminarayana B System and Method for Performing Setup Operations for Receiving Different Amounts of Data While Processors are Performing Message Passing Interface Tasks
CN102411510A (zh) * 2011-09-16 2012-04-11 华为技术有限公司 在多核处理器的虚拟机上映射业务数据流的方法和装置
CN102681902A (zh) * 2012-05-15 2012-09-19 浙江大学 一种基于多核系统任务分配的负载均衡方法
CN102855218A (zh) * 2012-05-14 2013-01-02 中兴通讯股份有限公司 数据处理系统、方法及装置
CN104391747A (zh) * 2014-11-18 2015-03-04 北京锐安科技有限公司 一种并行计算方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8015392B2 (en) * 2004-09-29 2011-09-06 Intel Corporation Updating instructions to free core in multi-core processor with core sequence table indicating linking of thread sequences for processing queued packets
CN102306139A (zh) * 2011-08-23 2012-01-04 北京科技大学 用于ofdm无线通信系统的异构多核数字信号处理器
CN103473120A (zh) * 2012-12-25 2013-12-25 北京航空航天大学 一种基于加速因子的多核实时系统任务划分方法
US10467120B2 (en) * 2016-11-11 2019-11-05 Silexica GmbH Software optimization for multicore systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090064167A1 (en) * 2007-08-28 2009-03-05 Arimilli Lakshminarayana B System and Method for Performing Setup Operations for Receiving Different Amounts of Data While Processors are Performing Message Passing Interface Tasks
CN102411510A (zh) * 2011-09-16 2012-04-11 华为技术有限公司 在多核处理器的虚拟机上映射业务数据流的方法和装置
CN102855218A (zh) * 2012-05-14 2013-01-02 中兴通讯股份有限公司 数据处理系统、方法及装置
CN102681902A (zh) * 2012-05-15 2012-09-19 浙江大学 一种基于多核系统任务分配的负载均衡方法
CN104391747A (zh) * 2014-11-18 2015-03-04 北京锐安科技有限公司 一种并行计算方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882221A (zh) * 2020-07-30 2020-11-03 北京三快在线科技有限公司 场次管理方法、装置、服务器及存储介质
CN118069374A (zh) * 2024-04-18 2024-05-24 清华大学 数据中心智能训练仿真事务加速方法、装置、设备及介质

Also Published As

Publication number Publication date
CN110178119A (zh) 2019-08-27
CN110178119B (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
US10534542B2 (en) Dynamic core allocation for consistent performance in a non-preemptive scheduling environment
JP7467593B2 (ja) リソース割振り方法、記憶デバイス、および記憶システム
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
JP5514041B2 (ja) 識別子割当て方法及びプログラム
CN108337109B (zh) 一种资源分配方法及装置和资源分配系统
CN107659433B (zh) 一种云资源调度方法及设备
CN108268317B (zh) 一种资源分配方法及装置
CN103744719B (zh) 锁管理方法及系统、锁管理系统的配置方法及装置
CN112148467B (zh) 计算资源的动态分配
CN107969153B (zh) 一种资源分配方法、装置及numa系统
WO2020024207A1 (fr) Procédé de traitement de requêtes de services, dispositif et système de stockage
WO2016041446A1 (fr) Procédé, appareil et dispositif d'attribution de ressources
US20170339069A1 (en) Allocating Cloud Computing Resources In A Cloud Computing Environment
US20170010919A1 (en) Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy
CN110221775B (zh) 存储系统中令牌的分配方法和装置
CN103414657A (zh) 一种跨数据中心的资源调度方法、超级调度中心和系统
CN112506650A (zh) 资源分配方法、系统、计算机设备和存储介质
WO2022063273A1 (fr) Procédé et appareil d'attribution de ressources basés sur un attribut numa
CN114675936A (zh) 资源调度方法、装置、电子设备和计算机可读存储介质
CN110290228A (zh) 一种互联网协议ip地址分配方法及装置
CN107172222A (zh) 一种基于分布式存储系统的数据存储方法及装置
JP2018190355A (ja) リソース管理方法
CN111338778B (zh) 任务调度方法、装置、存储介质及计算机设备
CN113438098B (zh) 一种在云数据中心的时延敏感的虚拟网络映射方法及装置
CN107329798B (zh) 数据复制的方法、装置和虚拟化系统

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: 18928883

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18928883

Country of ref document: EP

Kind code of ref document: A1