WO2015165298A1 - 计算机,控制设备和数据处理方法 - Google Patents
计算机,控制设备和数据处理方法 Download PDFInfo
- Publication number
- WO2015165298A1 WO2015165298A1 PCT/CN2015/072672 CN2015072672W WO2015165298A1 WO 2015165298 A1 WO2015165298 A1 WO 2015165298A1 CN 2015072672 W CN2015072672 W CN 2015072672W WO 2015165298 A1 WO2015165298 A1 WO 2015165298A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application request
- control device
- resource allocation
- computer
- label
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000013468 resource allocation Methods 0.000 claims abstract description 98
- 238000012545 processing Methods 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 29
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000001133 acceleration Effects 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000012098 association analyses Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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]
-
- 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
- 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
- G06F9/5044—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 considering hardware capabilities
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Definitions
- the present invention relates to the field of computers, and in particular, to a computer, a control device, and a data processing method.
- multiple applications can share resources within the computer. For example, multiple applications can simultaneously request resources from memory, thereby increasing the utilization of memory resources. However, multiple applications interfere with each other when sharing resources, making some important applications less prioritized, which affects the quality of service.
- Embodiments of the present invention provide a computer, a control device, and a data processing method for improving service quality requested by an application.
- a first aspect of the embodiments of the present invention provides a computer, where the computer includes a processing unit and a control device;
- the processing unit is configured to add a label to the application request, and send an application request after the label is added to the control device;
- the control device is configured to receive an application request after adding the label, according to the label and a pre-saved resource allocation policy determining an amount of resources allocated to the application request, the resource allocation policy including a correspondence between the tag and an amount of resources allocated to the application request; The component processing the application request according to the amount of resources allocated to the application request.
- control device further includes a buffer, wherein the buffer includes at least two queues, wherein each queue corresponds to a certain range of resources, and each The priority of the queues is different;
- the control device is specifically configured to select, according to the quantity of resources allocated to the application, a queue corresponding to the application request from the at least two queues, and save the application request in the application request Corresponding queue;
- the component of the computer is configured to obtain and execute the application request from a queue corresponding to the application request.
- control device further includes a processor and a cache, where the resource allocation policy is stored in the cache;
- the processor is further configured to acquire the resource allocation policy from the cache.
- the resource allocation policy includes a control table, where the control table includes multiple entries, and the multiple entries are An entry includes a correspondence between the tag and an amount of resources allocated to the application request;
- the processor is specifically configured to send a query instruction to the cache, where the query includes the label;
- the cache is configured to obtain an entry corresponding to the label according to the query instruction, and send the entry corresponding to the label to a processor of the control device.
- control device further includes a programming interface, the programming The interface is used to modify the resource allocation policy.
- the computer further includes a memory, where the node management software is stored in the memory;
- the processing unit is further configured to define the resource allocation policy by using the node management software
- the control device is further configured to acquire the resource allocation policy from the node management software, and write the resource allocation policy into the cache.
- the processing unit further includes a tag register
- the processing unit is further configured to define the label by the node management software, and write the label into the label register by using the node management software;
- the processing unit is further for reading the tag from the tag register.
- a second aspect of the embodiments of the present invention provides a control device, where the control device is disposed on a component of a computer; the control device includes a processor;
- the processor is configured to receive the application request after the tag is added, and determine, according to the tag and a pre-saved resource allocation policy, a resource quantity allocated to the application request, where the resource allocation policy includes the label and the assigned to the office Determining a correspondence between resource amounts requested by the application; and means for instructing, by the component of the computer, to process the application request according to the amount of resources allocated to the application request.
- control device further includes a buffer, where the buffer includes at least two queues, where each queue corresponds to a certain range of resources, and each queue Different priorities;
- the processor is specifically configured to select, according to the quantity of resources allocated to the application, a queue corresponding to the application request from the at least two queues, and save the application request in the application request Corresponding queue;
- the component of the computer is configured to obtain and execute the application request from a queue corresponding to the application request.
- control device further includes a high speed a buffer in which the resource allocation policy is stored.
- the processor is further configured to acquire the resource allocation policy from the cache.
- the resource allocation policy includes a control table, where the control table includes multiple entries, and the multiple entries are An entry includes a correspondence between the tag and an amount of resources allocated to the application request;
- the processor is specifically configured to send a query instruction to the cache, where the query includes the label;
- the cache is configured to obtain an entry corresponding to the label according to the query instruction, and send the entry corresponding to the label to the processor.
- control device further includes a programming interface, the programming interface is used to The resource allocation policy is modified.
- the resource allocation policy is performed by the computer through the node management software Defining and transmitting to the control device, wherein the node management software is stored in a memory of the computer.
- a third aspect of the embodiments of the present invention provides a data processing method, where the method is applied to a control device, where the control device is disposed in a component of a computer; the method includes:
- the control device receives an application request carrying a tag
- the control device Determining, by the control device, the amount of resources allocated to the application request according to the label and a pre-saved resource allocation policy, where the resource allocation policy includes a correspondence between the label and a resource amount allocated to the application request ;
- the control device instructs a component of the computer to process the application request according to the amount of resources allocated to the application request.
- control device further includes a buffer, wherein the buffer includes at least two queues, where each queue corresponds to a certain range The amount of resources, and each queue has a different priority;
- the control device instructs the component of the computer to process the application request according to the amount of resources allocated to the application request, including:
- the control device selects a queue corresponding to the application request from the at least two queues according to the amount of resources allocated to the application, and saves the application request in a queue corresponding to the application request And causing the component of the computer to obtain and execute the application request from a queue corresponding to the application request.
- control device further includes a processor and a cache, where the resource allocation policy is stored in the cache;
- the method also includes the processor of the control device obtaining the resource allocation policy from the cache.
- the resource allocation policy includes a control table, where the control table includes multiple entries, and the multiple entries are An entry includes a correspondence between the tag and an amount of resources allocated to the application request;
- the processor of the control device Obtaining, by the processor of the control device, the resource allocation policy from the cache, the processor of the control device sends a query instruction to the cache, where the query instruction includes the label;
- the cacher obtains an entry corresponding to the tag according to the query instruction, and sends the entry corresponding to the tag to the processor of the control device.
- An embodiment of the present invention provides a computer, where the computer includes a processing unit and a control device, wherein the processing unit adds a label to an application request, and sends an application request after adding the label to the control device, where the control device
- the amount of resources allocated to the application request is determined according to the tag and the pre-saved resource allocation policy, and the component of the computer is instructed to process the application request according to the amount of resources allocated to the application request.
- the components of the computer can process the application request according to the amount of resources allocated to the application request, which prevents a plurality of application requests from mutually occupying resources and improves the quality of service.
- FIG. 1 is a system architecture diagram of a computer according to an embodiment of the present invention.
- 2a is a system architecture diagram of another computer according to an embodiment of the present invention.
- FIG. 2b is a schematic structural diagram of a control device according to an embodiment of the present invention.
- FIG. 3 is a schematic structural diagram of another control device according to an embodiment of the present invention.
- FIG. 4 is a schematic structural diagram of still another control device according to an embodiment of the present invention.
- FIG. 5 is a schematic structural diagram of still another control device according to an embodiment of the present invention.
- FIG. 6 is a schematic structural diagram of a control plane network according to an embodiment of the present invention.
- FIG. 7 is a schematic structural diagram of node management software according to an embodiment of the present invention.
- FIG. 8 is a schematic flowchart diagram of a data processing method according to an embodiment of the present invention.
- FIG. 9 is a schematic flowchart diagram of another data processing method according to an embodiment of the present invention.
- FIG. 10 is a schematic flowchart diagram of still another data processing method according to an embodiment of the present invention.
- the embodiment of the invention provides a computer, a control device and a data processing method. Used to improve the quality of service for applications.
- FIG. 1 is a schematic structural diagram of a system of a computer 10 according to an embodiment of the present invention.
- the computer 10 includes a plurality of processing units 11, a plurality of control devices 66, and a plurality of computer components 33 (referred to as short in FIG. 1). For the parts).
- the components of the computer referred to in the embodiments of the present invention refer to components of a computer that may be occupied by resources by multiple applications.
- the processing unit 11 refers to one of the processor cores of the same function owned by a central processing unit (CPU) for performing various operation commands such as reading and writing.
- CPU central processing unit
- the component 33 of the computer comprises: an on-chip high-speed interconnection network, components of a computer directly connected to the on-chip high-speed interconnection network, such as a cache (also called cache), a memory, a graphics processing unit (GPU), Video memory, etc., may also include an I/O interconnection network and I/O devices connected to the I/O interconnection network, such as a magnetic disk (also referred to as a hard disk), a network card, a display, and the like.
- the on-chip high-speed interconnect network is a connector for connecting a plurality of processing units 11, and the on-chip high-speed interconnect network is also connected with a cache, a memory, a graphics processor, a memory, and the like.
- the resources allocated to the application can be cache space; for memory, the resources allocated to the application can be memory space; for the graphics processor, the resources allocated to the application can be Hardware acceleration resources; for video memory, the resources allocated to the application can be the memory space.
- an I/O interconnect network (also known as a south bridge) can be connected to the on-chip high-speed interconnect network.
- An I/O interconnect network is a device used to control I/O devices.
- the computer component 33 also includes I/O devices that are directly connected to the I/O interconnect network, such as a magnetic disk (also known as a hard disk), a network card, a display, and the like.
- I/O devices that are directly connected to the I/O interconnect network, such as a magnetic disk (also known as a hard disk), a network card, a display, and the like.
- computer 10 may process multiple applications, and these applications require resources that occupy components of the computer (eg, memory).
- resources eg, memory
- the limited resources available may cause some important applications to be processed in a timely manner and affect the quality of service.
- control device 66 is provided on components of a computer that may be requested or occupied by multiple applications.
- the control device 66 is configured to allocate different amounts of resources to the application according to the type of the application to process the application.
- Components of a computer herein that may be requested or occupied by multiple applications include, but are not limited to, an on-chip high-speed interconnect network, a cache, a memory, a graphics processor, a memory, and an I/O interconnect network.
- control device 66 may be disposed only on the components of one of the components of the plurality of computers; or the control device 66 may be disposed on the components of the plurality of computers; Control device 66 can be provided on the components of all of the computers previously described.
- the control device 66 In order for the control device 66 to recognize different types of applications, it is necessary to identify the type of the application request at the source generated by the application request (the application corresponding to the request), and label the subsequent components to a certain computer. When the upper control device 66 sends the application request, the control device 66 can perform different processing according to the tag for different types of applications. It should be noted that, in the embodiment of the present invention, the application and the application request represent the same meaning. Moreover, the application request in the embodiment of the present invention includes various instructions generated internally by the computer, and various instructions received from outside the computer, such as a file access request, a video play request, a memory access request, an IO request, and an internal connection (Interconnect). Request and so on.
- the source end generated by the application request here may be the processing unit 11 or an I/O device (for example, a network card).
- the source generated by the application request is the processing unit 11; when the application request comes from outside the computer 10, for example, receiving an application request sent by using the Internet, the source generated by the application request may be a network card or Other input and output devices.
- the way to tag can be:
- a tag register 77 (shown in Figure 2a) is provided in the processing unit 11, and a register value is stored in the tag register 77.
- the processing unit 11 When the processing unit 11 generates an application request, the processing unit 11 reads the register by The value adds a label to the application request, which is the register value.
- the tags are defined by the node management software (described in more detail later) for application requests.
- the node management software may be a module in the operating system or a module in an intermediate software layer between the operating system and the computer hardware, and runs on the processing unit 11. After the node management software defines a label for an application request, the operating system can write the label into the context of the corresponding process of the application request, and then write the context of the application request corresponding process to the register.
- the processing unit 11 itself can contain a plurality of registers, one of the plurality of registers can be set as a tag register 77 in which the tag of the application is saved.
- the register value is read into the tag register 77, and the register value is written as a tag in the application request.
- the expression of the label can be the ID of the application, letters, numbers, etc., which are not limited herein.
- Another alternative implementation is:
- a new register is added to processing unit 11, and the new register is defined as a tag register 77, which is used to hold the tag of the application.
- the latter processing manner is the same as that of the previous embodiment, and details are not described herein again.
- an implementation manner is that the network card itself does not perform an action of tagging the application request.
- the application request is an application request with a label. That is, the sender of the application request can tag the application request before sending the application request.
- each server or computer can determine the label of the application request through negotiation, or can set a label server for defining and sending the label of the application request to each server. Embodiments such as these are within the scope of protection of embodiments of the present invention.
- Another implementation manner is that when the network card receives the message packet, the application request is obtained by parsing the message packet, and then the application request is tagged. In this case, the manner in which the network card requests the application to be tagged is the same as the processing unit described above. 11 The way of labeling is similar, and will not be repeated here.
- components in the computer 10 may also add a label to the application request, such as an I/O interconnection network, and the implementation manner is similar to that of the processing unit 11 or the network card, and the embodiment of the present invention does not constitute a labeling component. Parts are subject to any restrictions.
- control device 66 is configured to receive the application request after the tag is added, and determine, according to the tag and a pre-saved resource allocation policy, an amount of resources allocated to the application request, where the resource allocation policy includes the a correspondence between the tag and the amount of resources allocated to the application request; and is further configured to instruct the component of the computer to process the application request according to the amount of resources allocated to the application request.
- An embodiment of the present invention provides a computer, where the computer includes a processing unit and a control device, wherein the processing unit adds a label to an application request, and sends an application request after adding the label to the control device, where the control device
- the amount of resources allocated to the application request is determined according to the tag and the pre-saved resource allocation policy, and the component of the computer is instructed to process the application request according to the amount of resources allocated to the application request.
- the components of the computer can process the application request according to the amount of resources allocated to the application request, which prevents a plurality of application requests from mutually occupying resources and improves the quality of service.
- control device 66 The structure and function of the control device 66 will be mainly described below.
- Control device 66 refers to a device on any of the components of the computer within computer 10.
- the control device 66 may be a control device embedded in the controller or added to the original The control device to which the controller is connected; when the components of some computers do not themselves contain the controller, the control device 66 may be a new controller or control device connected to the components of the computer.
- control device 66 includes a processor 600a;
- the control device 66 is configured to receive the application request after the tag is added, and determine, according to the tag and a pre-saved resource allocation policy, a resource quantity allocated to the application request, where the resource allocation policy includes the label and the allocation Corresponding relationship between the amount of resources requested by the application; and means for instructing the component of the computer to process the application request according to the amount of resources allocated to the application request.
- control device 66 may also include a buffer (also known as buffer) 600b.
- buffer 600b also known as buffer
- the processor 600a is configured to save the application request after the tag is added in the buffer 600b; read the tag from the buffer 600b, and determine according to the tag and a pre-saved resource allocation policy.
- the buffer 600b may also be a register in the processor 600a.
- the processing may be: the processor 600a is configured to save the application request after the label is added in its register; read the label from the register, according to the label and pre-save Resource allocation policy determines an amount of resources allocated to the application request, the resource allocation policy including a correspondence between the tag and an amount of resources allocated to the application request; indicating a component of the computer according to the The amount of resources allocated to the application request, processing the application request.
- control device 66 can include a processor 600i, a buffer (also referred to as a buffer) 600b, and a queue 600c.
- the processor 600a may be a Field-Programmable Gate Array (FPGA) or other programmable device.
- a resource allocation policy is built in the processor 600i, the resource allocation policy may be a control table (as shown in Table 1), and the control table is editable.
- each entry in Table 1 corresponds to a label.
- each entry of the control table includes a plurality of "attributes", and the "attributes” represents the amount of resources allocated to the application request corresponding to the tag.
- the amount of resources may be various, for example, may include target quality of service or IPC (Instruction per Cycle) or response time or maximum tolerance.
- the value range of "Properties” can be set by the user. For example, the value interval can be defined as no less than 30%, or no more than 80%.
- each entry also includes a plurality of "states", which represent the amount of resources currently consumed by the application corresponding to the tag, and the value of the "status" can be monitored and updated in real time.
- the resource allocation strategy may also be a piece of firmware code built into the FPGA.
- the embodiment of the present invention does not limit the manner in which the resource allocation policy is saved.
- the buffer 600b is a temporary buffer area.
- the control device 66 When the control device 66 receives the application request with the tag, it first puts it into the buffer 600b for temporary storage.
- the queue 600c is also a temporary buffer area, which may be located in the same temporary buffer area as the buffer 600b, or may be separated from the buffer 600b as a temporary buffer area.
- the queue 600c is used to save application requests processed by the processor 600i.
- a plurality of queues may be included in the queue 600c, and different queues correspond to different address segments in the buffer 600b. Different queues have different priorities, and the priority is different in the order in which the components of the computer execute the application requests in the respective queues. This means that the resources allocated to different queues are also different.
- control device 66 may also include a programming interface 600d.
- the programming interface 600d is used to implement an address space mapping mechanism that can map the control table built into the processor 600i into the physical address space of the computer 10.
- the node management software can access the physical address space of the computer 10 to edit the control table.
- the programming interface 600d can provide a variety of functions for adding, modifying, or deleting entries stored in the control table.
- the processor 600i may also provide the value of each "state" in each entry in the control table to the node management software, so that the node management software collects statistics on the value of the "state" of each application request, and then allocates resources. The strategy is adjusted.
- the processor 600i may obtain a tagged application request from the buffer 600b, and query the corresponding entry in the table according to the tag, thereby obtaining the “attribute” of the application request. Since the "attribute" of the application request indicates the amount of resources allocated to the application request, the processor 600i may select the application from the at least two queues according to the amount of resources allocated to the application request. Request the corresponding queue and put the application request into the corresponding queue.
- the processing of the application request by the component of the corresponding computer may be indicated.
- the "components of the corresponding computer” herein refer to the components of the computer to which the control device belongs. For example, if the control device refers to a control device on the cache, then the “component of the corresponding computer” herein refers to the cache.
- the processing for instructing the application request by the component of the corresponding computer herein may be that the processor 600i retrieves the application request from the corresponding queue, sends it to a component of the corresponding computer, or may be a corresponding computer.
- the component gets the application request from the corresponding queue.
- control device 66 may further include a data forwarder 600j.
- the application request may be taken out from the queue and sent to the data forwarder 600j.
- the data forwarder 600j is configured to forward the application request to a component of the corresponding computer. That is to say, the component of the corresponding computer here obtains the application request from the corresponding queue may be obtained by the data forwarder 600j.
- the processor 600i may perform some pre-processing operations on the application request, such as compression, encryption, etc., and then put the application request after the pre-processing operation into the corresponding queue 600c. .
- control device 66 As shown in FIG. 4, another alternative embodiment for the control device 66 is:
- the control device 66 includes a buffer (also known as a buffer) 600b, a queue 600c, a microprocessor 600e, and a high speed memory (also known as a cache) 600f.
- the buffer 600b, the queue 600c, and the buffer area shown in FIG. 3 are the same as the queue, and are not described here.
- the microprocessor 600e may be another CPU-like controller such as a CPU.
- the difference from the processor 600a shown in FIG. 3 is that the processor 600i functions as a programmable device in which a resource allocation policy is built in, and the resource allocation policy is editable.
- the microprocessor 600e performs the functions of the CPU but cannot have a built-in control table therein. Therefore, the control device 66 shown in FIG. 4 also includes a cache 600f. A resource allocation policy is stored in the cache 600f, the resource allocation policy being a program code similar to the control table function.
- control device 66 when control device 66 receives a tagged application request, it first places the application request in buffer 600b.
- the microprocessor 600e may obtain the tagged application request from the application request queue held by the buffer 600b, and read the resource allocation policy from the cache 600f into the buffer 600b, according to the tag and the resource allocation policy.
- the amount of resources allocated to the application request from the at least two queues, selecting a queue corresponding to the application request, and placing the application request into a corresponding queue.
- the microprocessor 600e then retrieves the application request from the corresponding queue and sends it to the components of the corresponding computer.
- control device 66 may further include a data forwarder 600j.
- the application request may be fetched from the queue and sent to the data forwarder 600j.
- the data forwarder 600j is configured to forward the application request to the component parts of the corresponding computer.
- the subsequent processing manner is the same as the embodiment shown in FIG. 3, and details are not described herein again.
- control logic may be included in the control device 66 shown in FIG. 4 for modifying the resource allocation policy saved in the cache 600f.
- the microprocessor 600e may perform some pre-processing operations on the application request, such as compression, encryption, etc., and then put the application request after the pre-processing operation into the corresponding Queue 600c.
- the label should also be The request and the resource allocation policy saved in the cache 600f are read into the own buffer, the application request is processed in its own buffer, and the microprocessor 600e is placed in the corresponding queue 600c according to the processing result.
- control device 66 For the control device 66, another alternative embodiment is:
- control device 66 may include buffer 600b, comparison control logic 600g, high speed memory 600f, and queue 600c.
- the comparison control logic 600g referred to herein may be an Application Specific Integrated Circuits (ASIC) or other integrated circuit.
- ASIC Application Specific Integrated Circuits
- Buffer 600b is identical to the buffer described previously.
- a control table (Table 1) is stored in the high speed memory 600f.
- the control device 66 When the control device 66 receives a tagged application request, it first places the application request in the queue of the application request.
- the queue can be part of the buffer space in buffer 600b or it can be a separate buffer.
- the comparison control logic 600g reads the application request from the queue into the buffer 600b (or the buffer of the comparison control logic 600g), and issues a read instruction to the high speed memory 600f according to the tag requested by the application, requesting the high speed memory 600f to return.
- the entry corresponding to the label The contents of the entry will be loaded into the buffer 600b (or the buffer of the comparison control logic 600g), and the comparison control logic 600g will be in the buffer 600b (or the buffer of the comparison control logic 600g) according to the contents of the entry.
- the queue corresponding to the application request is selected, so that the application request is put into the queue 600c.
- the comparison control logic 600g then fetches the application request from the corresponding queue and sends it to the components of the corresponding computer.
- control device 66 may further include a data forwarder 600j.
- the comparison control logic 600g puts different applications into different queues in the queue 600c
- the application request may be fetched from the queue and sent to the data forwarder 600j.
- the data forwarder 600j is configured to forward the application request to the component parts of the corresponding computer.
- comparison control logic 600g may perform some pre-processing operations on the application, such as compression, encryption, etc., in the buffer 600b.
- control device 66 may also include a programming interface 600d for editing the control table stored in cache 600f.
- a programming interface 600d for editing the control table stored in cache 600f.
- the description of the programming interface 600d in the embodiment shown in FIG. 3 can be referred to.
- control devices 66 on the various components within the computer 10 may not be identical. Specifically, the resource allocation policies saved by the respective control devices 66 may not be exactly the same, for example, for the same application request, when it needs to access the memory, the amount of resources allocated to the memory may reach 80%, and when it needs When outputting through an I/O device, the amount of resources allocated to it by the I/O interconnect network may be only 70%.
- the resource amount allocated to the application request may be determined according to the label of the application request and the pre-saved resource allocation policy, and the component of the computer is instructed to be allocated to the application according to the The amount of resources requested, processing the application request.
- the components of the computer can process the application request according to the amount of resources allocated to the application request, which prevents a plurality of application requests from mutually occupying resources and improves the quality of service.
- a control device network may be formed on the control device 66 on the components of each computer for connecting all of the control devices 66, as shown by the dashed lines in FIG. 1 or FIG.
- Each control device includes a physical access point, and accesses the control device network through the physical access point.
- the control device network may transmit data through a Peripheral Component Interconnect Express (PCIe) protocol or other protocol, and the type of the protocol is not limited in the embodiment of the present invention.
- PCIe Peripheral Component Interconnect Express
- the node management software (not shown in FIG. 1) may also be included in the embodiment of the present invention.
- the node management software may be a module in the operating system or an intermediate software layer between the operating system and the computer hardware (hypervisor).
- One of the modules runs on one or more of the processing units 11.
- the node management software is used to manage all the control devices 66 through the control device network, for example, to perform initialization operations on the respective control devices 66, collect "state" values of the respective control devices 66, and determine or adjust resources according to the collected "status" values. Assigning policies to each control device 66 Operations such as resource allocation strategies.
- an embodiment is to establish a set of dedicated networks in the computer 10, and all the control devices 66 are connected by one root router, and the physical access points of all the control devices 66 are This private network connection.
- the private network may provide a set of communication protocols that are responsible for defining the message packet format for accessing each of the control devices 66.
- the message packet can include, but is not limited to, controlling a device number or ID, controlling a device command (eg, adding a resource allocation policy or deleting a resource allocation policy or modifying a resource allocation policy), and controlling device command parameters.
- the message packets may also be encapsulated by the PCIe protocol or other protocols for transmission.
- each control device 66 performs data interaction with the node management software by using an address space mapping manner. Specifically, each control device 66 maps its control table or resource allocation policy to the physical address space of the computer 10, and the node management software can access these address spaces to implement editing of the control table or resource allocation policy.
- the node management software may include a control device driver module 701, a monitoring management module 702, and a user programming interface 703.
- the control device driver module 701 is configured to scan the control device 66 that identifies the components of the new computer, and initialize the control device 66; and send a resource allocation policy to the control device 66.
- the control device driver module 701 is further configured to add, modify, or delete a resource allocation policy.
- the monitoring management module 702 is configured to store the collected values of the “states” of the respective control devices 66, perform association analysis on the collected values of the “status” of the respective control devices 66, and determine a resource allocation policy according to the user requirements.
- the user programming interface 703 is used to provide an application programming interface (API), and other software or applications can implement programming of the control device 66 through an API.
- API application programming interface
- the API includes at least the following interfaces: an initialization command, an add resource allocation policy command, a modify resource allocation policy command, a delete resource allocation policy command, and the like.
- the control device shown in FIG. 2b or FIG. 3 or FIG. 4 or FIG. 5 is only applicable to the present embodiment.
- One of the examples of the embodiments of the present invention is not specifically limited to the application of the present invention, and may be, for example, a specific integrated circuit, which, in any form, implements the functions of the control device in a computer.
- the computer according to the embodiment of the present invention may be a personal computer, a server, a mobile phone, or a handheld computer.
- the specific implementation form of the computer is not limited. This document is not described in other system examples or application scenarios.
- the data processing method in the embodiment of the present invention may be implemented in the control device shown in FIG. 2b or FIG. 3 or FIG. 4 or FIG. As shown in Figure 8, it includes:
- Step S101 The control device receives an application request that carries a tag.
- the tagged application request may be from the processing unit 11 shown in Figure 1 or Figure 2a, or it may be from a network card.
- the processing unit 11 needs to add a tag to the application when receiving or generating an application request.
- the manner in which the processing unit 11 requests the application to add a label may refer to the embodiment shown in FIG. 2a, and details are not described herein again.
- the application request is an application request with a tag.
- the application request is obtained by parsing the message package, and then the application request is tagged.
- the operating system or the hypervisor may perform initialization operations on the respective control devices 66 in the computer 10 through the node management software, so that the respective control devices are in an active state.
- the node management software transmits the resource allocation policy to the respective control devices 66 through the control device network.
- Step S102 The control device determines, according to the label and a pre-saved resource allocation policy, a resource amount allocated to the application request, where the resource allocation policy includes the label and a resource amount allocated to the application request. Correspondence.
- control device writes the label-carrying application request to the first buffer of the control device (buffer 600b shown in FIG. 2b), and reads the label from the first buffer.
- the application request is carried.
- the tag may be associated with a tag in the resource allocation policy, and the control device may determine the amount of resources allocated to the application request based on the tag and a pre-saved resource allocation policy.
- the amount of resources herein may be the number of resources allocated by the component of the computer where the control device is located to the application request, or may be a proportional value, and may also include priority information and the like.
- the amount of the resource may be the size of the memory space, or the ratio of the memory space (for example, 80%), or other information (see the table).
- the embodiment of the present invention does not limit the representation of the amount of resources, as long as the priority or speed of processing the application request by the component is in the protection scope of the embodiment of the present invention.
- resource allocation policy herein may be built in the processor of the control device (refer to the embodiment shown in FIG. 3), or may be stored in the cache of the control device (refer to FIG. 3). Implementation)).
- Step S103 The control device instructs a component of the computer to process the application request according to the amount of resources allocated to the application request.
- Determining, by the component of the computer, the amount of resources allocated to the application, the processing the application request may be: sending the resource amount allocated to the application request and the application request to the
- the component may also be a method of transmitting an application request to the component and informing the component to process the application request.
- the embodiment of the present invention may determine, by the control device, the label carried by the application request, and the correspondence between the label and the resource amount allocated to the application, determine the amount of resources allocated to the application request, and then indicate the components of the computer. Processing the application request according to the amount of resources allocated to the application request. Therefore, different application requests can be allocated different amounts of resources, thereby improving the quality of service.
- the processed application request may be forwarded to the control component of another computer.
- the device is processed in a manner similar to steps S101 to S103. It should be noted that the application request of the control device forwarded to the component of another computer also carries the tag.
- the method includes:
- Step S201 Same as step S101.
- Step S202 The control device obtains a resource allocation policy from a cache (which may be simply referred to as a cache).
- the control device may load the resource allocation policy into a buffer of its processor.
- the resource allocation policy is a control table as shown in Table 1
- the control device may send a query instruction to the cache, the query instruction including the label, and the cache according to the label Finding a corresponding entry in the control table, and returning the entry to the control device.
- the control device loads the entry into a buffer of its processor. Specifically, the entry includes a correspondence between the label and an amount of resources allocated to the application request.
- Step S203 The control device determines the amount of resources allocated to the application request according to the label and a pre-saved resource allocation policy.
- Step S204 Same as step S103.
- the embodiment of the present invention may determine, by the control device, the label carried by the application request, and the correspondence between the label and the resource amount allocated to the application, determine the amount of resources allocated to the application request, and then indicate the components of the computer. Processing the application request according to the amount of resources allocated to the application request. Therefore, different application requests can be allocated different amounts of resources, thereby improving the quality of service.
- FIG. 1 Another embodiment of the data processing method of the embodiment of the present invention is described below, as shown in FIG. The method includes:
- Step S301 Same as step S101.
- Step S302 Same as step S102 and same as steps S202-S203.
- Step S303 The control device selects a queue corresponding to the application request from the at least two queues according to the resource amount allocated to the application request, and saves the application request in the allocation to the The amount of resources requested by the application corresponds to the queue.
- control device may include a second buffer, and the queue is saved in a second buffer (as shown in FIG. 3 or FIG. 4 or FIG. 5).
- the second buffer includes at least two queues, where each queue corresponds to a certain range of resources, and each queue has different priorities.
- Step S304 The data forwarder (for example, the data forwarder 600j in FIG. 3 to FIG. 5) of the control device obtains the application request from the queue corresponding to the application request, and forwards the component request to the computer component. .
- the data forwarder for example, the data forwarder 600j in FIG. 3 to FIG. 5
- Step S305 The component of the computer obtains and executes the application request.
- step S304 is an optional step, and the components of the computer may also obtain the application request directly from the corresponding queue.
- the second buffer may include three queues, which are a high priority queue, a medium priority queue, and a low priority queue.
- the ratio of the resources corresponding to the high priority queue is 70%-80%. Assuming that the amount of resources allocated by the application request is 76%, the application request is placed in a high priority queue.
- a high priority queue means that the processing order takes precedence or is processed faster.
- the components of the computer may preferentially obtain the application request from the high priority queue and execute it.
- the control device may also refer to other factors, such as the amount of resources that the application requests to use currently, to consider which queue to put the application request into. Not a pair of application scenarios are described in this application.
- each queue may contain multiple application requests to be processed, and the components of the computer may be advanced according to multiple pending application requests in each queue.
- the first-out principle or other principles are dealt with.
- control device may continue to take the application request from the queue in turn (when there are multiple application requests in the queue), and then send the application request.
- the application request is processed for the components of the computer.
- the embodiment of the present invention may determine, by the control device, the quantity of the resource allocated to the application request according to the label carried by the application request and the correspondence between the label and the resource amount allocated to the application request, according to the allocation to the
- the application requesting resource quantity puts the application request into a corresponding queue, and then obtains the application request from the application request corresponding queue to send to the data forwarder, and the data forwarder forwards the application request to the
- the components of the computer are executed, thereby improving the quality of service.
- the components of the computer can feed back a message to the operating system to indicate that the application request has been processed.
- the resource recovery message may be sent to the control device by using the node management software, where the resource recovery message is used to delete the resource allocation policy in the control device.
- FIG. 8 to FIG. 10 The processing flow of FIG. 8 to FIG. 10 is further illustrated by taking an application request for processing a video playback as an example.
- Step 1 The user clicks on a video file on the local computer.
- Step 2 The CPU generates a memory access request for reading the video file.
- Step 3 The CPU tags the memory access request and sends the tagged memory access request to the control device in the memory.
- Step 4 The control device on the memory determines the memory space allocated to the memory access request according to the label, and then places the memory access request into the corresponding queue according to the allocated memory space.
- Step 5 The memory control device takes the memory access request from the queue and sends it to the memory to execute the memory access request.
- Step 6 After loading the video file in memory, send a response to the CPU.
- Step 7 The CPU obtains the video file from the memory, and sends a hardware acceleration request to the GPU, and the GPU is required to perform hardware decoding on the video file, where the hardware acceleration request carries the video file and the label.
- Step 8 The control device on the GPU determines the amount of hardware acceleration resources allocated to the video file according to the label, and then places the hardware acceleration request into the corresponding queue according to the allocated hardware acceleration resource amount.
- Step 9 The control device on the GPU takes the hardware acceleration request from the queue and sends it to the GPU.
- Step 10 The GPU performs hardware acceleration processing on the video file according to the hardware acceleration request.
- Step 11 After the GPU processing is completed, if no further processing is performed on the video file, an output request may be sent to the south bridge (for example, the I/O control network shown in FIG. 1 or FIG. 2). Includes hardware-accelerated video files and tags.
- the south bridge for example, the I/O control network shown in FIG. 1 or FIG. 2.
- Step 12 The control device on the south bridge determines the bandwidth allocated to the video file according to the label, and then places the output request into the corresponding queue according to the allocated bandwidth.
- Step 13 The south bridge takes the video file from the queue and sends it to the display.
- Step 14 The display displays the video file.
- the disclosed systems, devices, and The method can be implemented in other ways.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
- 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, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
- the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
- the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
- a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
- the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims (16)
- 一种计算机,其特征在于,所述计算机包括处理单元和控制设备;所述处理单元用于给应用请求增加标签,将增加标签后的应用请求发送给所述控制设备;所述控制设备用于接收所述增加标签后的应用请求,根据所述标签以及预先保存的资源分配策略确定分配给所述应用请求的资源量,所述资源分配策略包括所述标签与分配给所述应用请求的资源量之间的对应关系;还用于指示与所述控制设备耦合的所述计算机的其他组成部件根据所述分配给所述应用请求的资源量,处理所述应用请求。
- 根据权利要求1所述的计算机,其特征在于,所述控制设备还包括缓冲区,其中,所述缓冲区包含至少两个队列,其中,每个队列对应一定范围的资源量,并且每个队列的优先级不同;所述控制设备具体用于根据所述分配给所述应用请求的资源量,从所述至少两个队列中,选择所述应用请求对应的队列,并将所述应用请求保存在所述应用请求对应的队列中;所述计算机的组成部件用于按照所述每个队列的优先级分别处理所述缓冲区中的队列。
- 根据权利要求1所述的计算机,其特征在于,所述控制设备具体包括处理器和高速缓存器,所述高速缓存器中存储有所述资源分配策略;所述处理器还用于从所述高速缓存器中获取所述资源分配策略;所述处理器具体用于接收所述增加标签后的应用请求,根据所述标签以及预先保存的资源分配策略确定分配给所述应用请求的资源量,所述资源分配策略包括所述标签与分配给所述应用请求的资源量之间的对应关系;以及指示与所述控制设备耦合的所述计算机的其他组成部件根据所述分配给所述应用请求的资源量,处理所述应用请求。
- 根据权利要求3所述的计算机,其特征在于,所述资源分配策略包括 控制表,所述控制表包括多个表项,所述多个表项中的一个表项包括所述标签与分配给所述应用请求的资源量之间的对应关系;所述处理器具体用于向所述高速缓存器发送查询指令,所述查询指令中包括所述标签;所述高速缓存器用于根据所述查询指令获得所述标签对应的表项,并将所述标签对应的表项发送给所述控制设备的处理器。
- 根据权利要求3-4中任一所述的计算机,其特征在于,所述计算机还包括存储器,所述存储器中存储有节点管理软件;所述处理单元还用于通过所述节点管理软件定义所述资源分配策略;所述处理器还用于从所述节点管理软件获取所述资源分配策略,并将所述资源分配策略写入所述高速缓存器中。
- 根据权利要求5所述的计算机,其特征在于,所述处理单元还包括标签寄存器;所述处理单元还用于通过所述节点管理软件定义所述标签,并通过所述节点管理软件将所述标签写入所述标签寄存器;所述处理单元还用于从所述标签寄存器中读取所述标签。
- 根据权利要求1-6任一所述的计算机,其特征在于,所述组成部件包括片上高速互连网络、缓存、内存、图形处理器、显存、输入输出I/O互连网络、硬盘、网卡和显示器中的任意一个。
- 一种控制设备,其特征在于,所述控制设备包括处理器;所述处理器用于接收所述增加标签后的应用请求,根据所述标签以及预先保存的资源分配策略确定分配给所述应用请求的资源量,所述资源分配策略包括所述标签与分配给所述应用请求的资源量之间的对应关系;还用于指示与所述控制设备耦合的所述计算机的其他组成部件根据所述分配给所述应用请求的资源量,处理所述应用请求。
- 根据权利要求8所述的控制设备,其特征在于,所述控制设备还包括 缓冲区,所述缓冲区包含至少两个队列,其中,每个队列对应一定范围的资源量,并且每个队列的优先级不同;所述处理器具体用于根据所述分配给所述应用请求的资源量,从所述至少两个队列中,选择所述应用请求对应的队列,并将所述应用请求保存在所述应用请求对应的队列中;所述组成部件用于按照所述每个队列的优先级分别处理所述缓冲区中的队列。
- 根据权利要求8所述的控制设备,其特征在于,所述控制设备还包括高速缓存器,所述高速缓存器中存储有所述资源分配策略。所述处理器还用于从所述高速缓存器中获取所述资源分配策略。
- 根据权利要求10所述的控制设备,其特征在于,所述资源分配策略包括控制表,所述控制表包括多个表项,所述多个表项中的一个表项包括所述标签与分配给所述应用请求的资源量之间的对应关系;所述处理器具体用于向所述高速缓存器发送查询指令,所述查询指令中包括所述标签;所述高速缓存器用于根据查询指令获得所述标签对应的表项,并将所述标签对应的表项发送给所述处理器。
- 根据权利要求10-11任一权利要求所述的控制设备,其特征在于,所述资源分配策略是由所述计算机通过节点管理软件定义的,其中,所述节点管理软件存储在所述计算机的存储器中;所述处理器还用于从所述节点管理软件获取所述资源分配策略。
- 根据权利要求8-12任一所述的计算机,其特征在于,所述组成部件包括所述组成部件包括片上高速互连网络、缓存、内存、图形处理器、显存、输入输出I/O互连网络、硬盘、网卡和显示器中的任意一个。
- 一种数据处理方法,其特征在于,包括:所述控制设备接收携带标签的应用请求;所述控制设备根据所述标签以及预先保存的资源分配策略确定分配给所述应用请求的资源量,所述资源分配策略包括所述标签与分配给所述应用请求的资源量之间的对应关系;所述控制设备指示与所述控制设备耦合的所述计算机的其他组成部件根据所述分配给所述应用请求的资源量,处理所述应用请求。
- 根据权利要求14所述的方法,其特征在于,所述控制设备还包括缓冲区,其中,所述缓冲区包含至少两个队列,其中,每个队列对应一定范围的资源量,并且每个队列的优先级不同;所述控制设备指示与所述控制设备耦合的所述计算机的其他组成部件根据所述分配给所述应用请求的资源量,处理所述应用请求包括:所述控制设备根据所述分配给所述应用请求的资源量,从所述至少两个队列中,选择所述应用请求对应的队列,并将所述应用请求保存在所述应用请求对应的队列中,使得所述组成部件按照所述每个队列的优先级分别处理所述缓冲区中的队列。
- 根据权利要求14所述的方法,其特征在于,所述控制设备还包括处理器和高速缓存器,所述高速缓存器中存储有所述资源分配策略;所述方法还包括:所述处理器从所述高速缓存器中获取所述资源分配策略;所述控制设备根据所述标签以及预先保存的资源分配策略确定分配给所述应用请求的资源量,所述资源分配策略包括所述标签与分配给所述应用请求的资源量之间的对应关系包括:所述处理器根据所述标签以及预先保存的资源分配策略确定分配给所述应用请求的资源量,所述资源分配策略包括所述标签与分配给所述应用请求的资源量之间的对应关系;所述控制设备指示与所述控制设备耦合的所述计算机的其他组成部件根据所述分配给所述应用请求的资源量,处理所述应用请求包括:
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2935114A CA2935114C (en) | 2014-04-30 | 2015-02-10 | Computer, control device, and data processing method |
JP2016553382A JP6475256B2 (ja) | 2014-04-30 | 2015-02-10 | コンピュータ、制御デバイス及びデータ処理方法 |
SG11201605623PA SG11201605623PA (en) | 2014-04-30 | 2015-02-10 | Computer, control device, and data processing method |
EP15785332.6A EP3076296A4 (en) | 2014-04-30 | 2015-02-10 | Computer, control device and data processing method |
KR1020167019031A KR101784900B1 (ko) | 2014-04-30 | 2015-02-10 | 컴퓨터, 제어 장치 그리고 데이터 처리 방법 |
MX2016011157A MX360278B (es) | 2014-04-30 | 2015-02-10 | Computadora, dispositivo de control y metodo de procesamiento de datos. |
AU2015252673A AU2015252673B2 (en) | 2014-04-30 | 2015-02-10 | Computer, control device and data processing method |
BR112016016326-5A BR112016016326B1 (pt) | 2014-04-30 | 2015-02-10 | Computador, dispositivo de controle, e método de processamento de dados |
RU2016134457A RU2651219C2 (ru) | 2014-04-30 | 2015-02-10 | Компьютер, устройство управления и способ обработки данных |
PH12016501374A PH12016501374A1 (en) | 2014-04-30 | 2016-07-12 | Computer, control device, and data processing method |
US15/335,456 US10572309B2 (en) | 2014-04-30 | 2016-10-27 | Computer system, and method for processing multiple application programs |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410182148 | 2014-04-30 | ||
CN201410182148.1 | 2014-04-30 | ||
CN201410682375.0 | 2014-11-24 | ||
CN201410682375.0A CN105094983B (zh) | 2014-04-30 | 2014-11-24 | 计算机,控制设备和数据处理方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/335,456 Continuation US10572309B2 (en) | 2014-04-30 | 2016-10-27 | Computer system, and method for processing multiple application programs |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015165298A1 true WO2015165298A1 (zh) | 2015-11-05 |
Family
ID=54358145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/072672 WO2015165298A1 (zh) | 2014-04-30 | 2015-02-10 | 计算机,控制设备和数据处理方法 |
Country Status (13)
Country | Link |
---|---|
US (1) | US10572309B2 (zh) |
EP (1) | EP3076296A4 (zh) |
JP (1) | JP6475256B2 (zh) |
KR (1) | KR101784900B1 (zh) |
CN (2) | CN111666148A (zh) |
AU (1) | AU2015252673B2 (zh) |
BR (1) | BR112016016326B1 (zh) |
CA (1) | CA2935114C (zh) |
MX (1) | MX360278B (zh) |
PH (1) | PH12016501374A1 (zh) |
RU (1) | RU2651219C2 (zh) |
SG (1) | SG11201605623PA (zh) |
WO (1) | WO2015165298A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980463A (zh) * | 2016-01-18 | 2017-07-25 | 中兴通讯股份有限公司 | 存储系统的服务质量控制方法和装置 |
US10169239B2 (en) | 2016-07-20 | 2019-01-01 | International Business Machines Corporation | Managing a prefetch queue based on priority indications of prefetch requests |
US10521350B2 (en) | 2016-07-20 | 2019-12-31 | International Business Machines Corporation | Determining the effectiveness of prefetch instructions |
US10452395B2 (en) | 2016-07-20 | 2019-10-22 | International Business Machines Corporation | Instruction to query cache residency |
US10621095B2 (en) * | 2016-07-20 | 2020-04-14 | International Business Machines Corporation | Processing data based on cache residency |
CN108123924B (zh) * | 2016-11-30 | 2021-02-12 | 中兴通讯股份有限公司 | 一种资源管理方法及系统 |
US10936490B2 (en) * | 2017-06-27 | 2021-03-02 | Intel Corporation | System and method for per-agent control and quality of service of shared resources in chip multiprocessor platforms |
CN109582600B (zh) * | 2017-09-25 | 2020-12-01 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN109726005B (zh) * | 2017-10-27 | 2023-02-28 | 伊姆西Ip控股有限责任公司 | 用于管理资源的方法、服务器系统和计算机可读介质 |
CN110968418A (zh) * | 2018-09-30 | 2020-04-07 | 北京忆恒创源科技有限公司 | 基于信号-槽的大规模有约束并发任务的调度方法与装置 |
CN109542622A (zh) * | 2018-11-21 | 2019-03-29 | 新华三技术有限公司 | 一种数据处理方法及装置 |
US10601740B1 (en) * | 2019-04-03 | 2020-03-24 | Progressive Casuality Insurance Company | Chatbot artificial intelligence |
PH12019050292A1 (en) * | 2019-12-22 | 2021-11-08 | Samsung Electronics Ltd | Method for scaling gpu in the cloud |
CN114244790B (zh) * | 2022-02-24 | 2022-07-12 | 摩尔线程智能科技(北京)有限责任公司 | PCIe设备与主机设备的通信方法、系统及设备 |
CN114979131B (zh) * | 2022-04-07 | 2024-04-19 | 中国科学院深圳先进技术研究院 | 面向云计算的标签化冯诺依曼体系结构通信方法及装置 |
US20240028420A1 (en) * | 2022-07-22 | 2024-01-25 | Dell Products L.P. | Context driven network slicing based migration of applications and their dependencies |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289385A (zh) * | 2010-06-16 | 2011-12-21 | 富士施乐株式会社 | 信息处理系统、管理设备、处理请求设备和信息处理方法 |
CN102334103A (zh) * | 2009-02-25 | 2012-01-25 | 国际商业机器公司 | 具有对于多个虚拟服务器间的共享资源分配的软件控制的微处理器 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5940612A (en) * | 1995-09-27 | 1999-08-17 | International Business Machines Corporation | System and method for queuing of tasks in a multiprocessing system |
US5787469A (en) | 1996-09-06 | 1998-07-28 | Intel Corporation | System and method for exclusively writing tag during write allocate requests |
US6195724B1 (en) * | 1998-11-16 | 2001-02-27 | Infineon Technologies Ag | Methods and apparatus for prioritization of access to external devices |
US7058947B1 (en) * | 2000-05-02 | 2006-06-06 | Microsoft Corporation | Resource manager architecture utilizing a policy manager |
US6785756B2 (en) * | 2001-05-10 | 2004-08-31 | Oracle International Corporation | Methods and systems for multi-policy resource scheduling |
US7096471B2 (en) * | 2001-06-01 | 2006-08-22 | Texas Instruments Incorporated | Apparatus for resource management in a real-time embedded system |
US20030067874A1 (en) * | 2001-10-10 | 2003-04-10 | See Michael B. | Central policy based traffic management |
US7661130B2 (en) * | 2003-04-12 | 2010-02-09 | Cavium Networks, Inc. | Apparatus and method for allocating resources within a security processing architecture using multiple queuing mechanisms |
JP4071668B2 (ja) | 2003-04-16 | 2008-04-02 | 富士通株式会社 | システムの使用資源を調整する装置および方法 |
US20050016042A1 (en) * | 2003-04-28 | 2005-01-27 | Baratta Adam M. | Motion picture memorabilia and method for promoting motion pictures using same |
US7430741B2 (en) | 2004-01-20 | 2008-09-30 | International Business Machines Corporation | Application-aware system that dynamically partitions and allocates resources on demand |
US7797699B2 (en) * | 2004-09-23 | 2010-09-14 | Intel Corporation | Method and apparatus for scheduling virtual machine access to shared resources |
US7356631B2 (en) * | 2005-01-21 | 2008-04-08 | Himax Technologies, Inc. | Apparatus and method for scheduling requests to source device in a memory access system |
US7380038B2 (en) * | 2005-02-04 | 2008-05-27 | Microsoft Corporation | Priority registers for biasing access to shared resources |
CN100479374C (zh) | 2005-04-25 | 2009-04-15 | 华为技术有限公司 | 网络通信中处理紧急业务的方法 |
GB0524008D0 (en) * | 2005-11-25 | 2006-01-04 | Ibm | Method and system for controlling the processing of requests for web resources |
JP4594877B2 (ja) * | 2006-02-21 | 2010-12-08 | 株式会社日立製作所 | 計算機リソース割当管理方法および計算機リソース割当管理装置 |
CN101438256B (zh) * | 2006-03-07 | 2011-12-21 | 索尼株式会社 | 信息处理设备、信息通信系统、信息处理方法 |
JP2007272868A (ja) | 2006-03-07 | 2007-10-18 | Sony Corp | 情報処理装置、情報通信システム、および情報処理方法、並びにコンピュータ・プログラム |
JP5061544B2 (ja) * | 2006-09-05 | 2012-10-31 | トヨタ自動車株式会社 | 燃料電池 |
CN100459581C (zh) | 2006-09-21 | 2009-02-04 | 电子科技大学 | 一种用于实时混合业务环境的可变参数分组调度方法 |
US8458711B2 (en) * | 2006-09-25 | 2013-06-04 | Intel Corporation | Quality of service implementation for platform resources |
US8065682B2 (en) * | 2007-02-27 | 2011-11-22 | Microsoft Corporation | Enforcing system resource usage limits on query requests based on grouping query requests into workgroups and assigning workload groups to resource pools |
US8886918B2 (en) * | 2007-11-28 | 2014-11-11 | International Business Machines Corporation | Dynamic instruction execution based on transaction priority tagging |
US8396929B2 (en) * | 2008-07-02 | 2013-03-12 | Sap Portals Israel Ltd. | Method and apparatus for distributed application context aware transaction processing |
KR20120024848A (ko) * | 2009-05-26 | 2012-03-14 | 노키아 코포레이션 | 미디어 세션의 전달 방법 및 장치 |
EP2388700A3 (en) | 2010-05-18 | 2013-08-07 | Kaspersky Lab Zao | Systems and methods for policy-based program configuration |
US8560897B2 (en) | 2010-12-07 | 2013-10-15 | International Business Machines Corporation | Hard memory array failure recovery utilizing locking structure |
CN102195882B (zh) * | 2011-05-18 | 2016-04-06 | 深信服网络科技(深圳)有限公司 | 根据数据流应用类型选路的方法及装置 |
CN102958166B (zh) * | 2011-08-29 | 2017-07-21 | 华为技术有限公司 | 一种资源分配方法及资源管理平台 |
JP5884595B2 (ja) * | 2012-03-29 | 2016-03-15 | 富士通株式会社 | メッセージ通信方法,メッセージ通信プログラムおよびコンピュータ |
CN102739770B (zh) * | 2012-04-18 | 2015-06-17 | 上海和辰信息技术有限公司 | 一种基于云计算的资源调度方法及系统 |
-
2014
- 2014-11-24 CN CN202010307634.7A patent/CN111666148A/zh active Pending
- 2014-11-24 CN CN201410682375.0A patent/CN105094983B/zh active Active
-
2015
- 2015-02-10 WO PCT/CN2015/072672 patent/WO2015165298A1/zh active Application Filing
- 2015-02-10 JP JP2016553382A patent/JP6475256B2/ja active Active
- 2015-02-10 EP EP15785332.6A patent/EP3076296A4/en not_active Ceased
- 2015-02-10 RU RU2016134457A patent/RU2651219C2/ru active
- 2015-02-10 SG SG11201605623PA patent/SG11201605623PA/en unknown
- 2015-02-10 MX MX2016011157A patent/MX360278B/es active IP Right Grant
- 2015-02-10 KR KR1020167019031A patent/KR101784900B1/ko active IP Right Grant
- 2015-02-10 AU AU2015252673A patent/AU2015252673B2/en active Active
- 2015-02-10 CA CA2935114A patent/CA2935114C/en active Active
- 2015-02-10 BR BR112016016326-5A patent/BR112016016326B1/pt active IP Right Grant
-
2016
- 2016-07-12 PH PH12016501374A patent/PH12016501374A1/en unknown
- 2016-10-27 US US15/335,456 patent/US10572309B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102334103A (zh) * | 2009-02-25 | 2012-01-25 | 国际商业机器公司 | 具有对于多个虚拟服务器间的共享资源分配的软件控制的微处理器 |
CN102289385A (zh) * | 2010-06-16 | 2011-12-21 | 富士施乐株式会社 | 信息处理系统、管理设备、处理请求设备和信息处理方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3076296A4 * |
Also Published As
Publication number | Publication date |
---|---|
SG11201605623PA (en) | 2016-08-30 |
CA2935114A1 (en) | 2015-11-05 |
BR112016016326A2 (pt) | 2017-08-08 |
US10572309B2 (en) | 2020-02-25 |
KR101784900B1 (ko) | 2017-10-12 |
PH12016501374B1 (en) | 2016-08-15 |
PH12016501374A1 (en) | 2016-08-15 |
CA2935114C (en) | 2020-07-14 |
AU2015252673B2 (en) | 2017-12-14 |
RU2016134457A (ru) | 2018-03-01 |
MX2016011157A (es) | 2016-12-09 |
AU2015252673A1 (en) | 2016-07-28 |
CN105094983A (zh) | 2015-11-25 |
US20170046202A1 (en) | 2017-02-16 |
EP3076296A4 (en) | 2017-01-25 |
RU2016134457A3 (zh) | 2018-03-01 |
CN111666148A (zh) | 2020-09-15 |
CN105094983B (zh) | 2020-04-28 |
RU2651219C2 (ru) | 2018-04-18 |
MX360278B (es) | 2018-10-26 |
KR20160098438A (ko) | 2016-08-18 |
JP6475256B2 (ja) | 2019-02-27 |
EP3076296A1 (en) | 2016-10-05 |
BR112016016326B1 (pt) | 2023-04-11 |
JP2017513096A (ja) | 2017-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015165298A1 (zh) | 计算机,控制设备和数据处理方法 | |
US9678918B2 (en) | Data processing system and data processing method | |
CN107690622B (zh) | 实现硬件加速处理的方法、设备和系统 | |
US9467512B2 (en) | Techniques for remote client access to a storage medium coupled with a server | |
WO2015078219A1 (zh) | 一种信息缓存方法、装置和通信设备 | |
WO2017049945A1 (zh) | 加速器虚拟化的方法、装置及集中资源管理器 | |
US20130262614A1 (en) | Writing message to controller memory space | |
WO2020034729A1 (zh) | 数据处理方法、相关设备及计算机存储介质 | |
US9311044B2 (en) | System and method for supporting efficient buffer usage with a single external memory interface | |
US20240348686A1 (en) | Remote Data Access Method and Apparatus | |
US10838763B2 (en) | Network interface device and host processing device | |
EP4440080A1 (en) | Network node configuration and access request processing method and apparatus | |
US8898353B1 (en) | System and method for supporting virtual host bus adaptor (VHBA) over infiniband (IB) using a single external memory interface | |
US9104637B2 (en) | System and method for managing host bus adaptor (HBA) over infiniband (IB) using a single external memory interface | |
US20240356886A1 (en) | Network Node Configuration Method and Apparatus, and Access Request Processing Method and Apparatus |
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: 15785332 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2935114 Country of ref document: CA |
|
REEP | Request for entry into the european phase |
Ref document number: 2015785332 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2015785332 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12016501374 Country of ref document: PH |
|
ENP | Entry into the national phase |
Ref document number: 20167019031 Country of ref document: KR Kind code of ref document: A |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112016016326 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 2015252673 Country of ref document: AU Date of ref document: 20150210 Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2016553382 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2016134457 Country of ref document: RU Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: MX/A/2016/011157 Country of ref document: MX |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 112016016326 Country of ref document: BR Kind code of ref document: A2 Effective date: 20160714 |