WO2015067032A1 - 一种优化的调度方法及管理设备 - Google Patents

一种优化的调度方法及管理设备 Download PDF

Info

Publication number
WO2015067032A1
WO2015067032A1 PCT/CN2014/078227 CN2014078227W WO2015067032A1 WO 2015067032 A1 WO2015067032 A1 WO 2015067032A1 CN 2014078227 W CN2014078227 W CN 2014078227W WO 2015067032 A1 WO2015067032 A1 WO 2015067032A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
processing device
program
processed
correlation coefficient
Prior art date
Application number
PCT/CN2014/078227
Other languages
English (en)
French (fr)
Inventor
刘红霞
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2015067032A1 publication Critical patent/WO2015067032A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/5033Allocation 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 data affinity

Definitions

  • the present invention relates to the field of information processing, and in particular, to an optimized scheduling method and management device.
  • a distributed processing system a parallel processing system, and a virtualization system
  • the system executes the to-be-processed program, first, according to the state of the computing resources on each server in the system, it is determined which server to execute the to-be-processed program to execute. Then, the to-be-processed program is dispatched to the determined server, and finally, the to-be-processed program is executed, and the to-be-processed program accesses/transmits the data to be processed through the network at the time of execution.
  • the inventor has found that at least the following problems exist in the prior art: Since the system uses local shared storage, all data is randomly or according to certain rules before being distributed to the system. On each server, the to-be-processed program and the data to be processed by the to-be-processed program are likely not to be on the same server, so the server to which the to-be-processed program is scheduled needs to transmit a large amount of data through the network, which not only increases network traffic, It also extends the processing time of the pending program.
  • Embodiments of the present invention provide an optimized scheduling method and management device for reducing Network traffic, reducing the processing time of the pending program.
  • an embodiment of the present invention provides an optimized scheduling method, including: acquiring a first to-be-processed program and a correlation coefficient between a stored program to be processed and data required by the to-be-processed program a correlation coefficient between the N data required by the first to-be-processed program; the N is an integer not less than 0; and determining M first among the L processing devices according to the computing resources of each processing device Processing device; wherein, L is a total number of processing devices, and M is an integer greater than Q and not greater than L; and obtaining, in the correlation coefficient between the stored data and the processing device, obtaining the first to-be-processed program An association coefficient between the N data and the M first processing devices; wherein the association between the data and the processing device refers to an association relationship between the data and a processing device that stores the data; Determining an association coefficient between the N data required by the first to-be-processed program and the M first processing devices, and determining each of the N data from the M first processing
  • the method further includes: determining, according to the data attribute parameter of each of the N data required by the first to-be-processed program, the first to-be-processed program and a correlation coefficient between the N data required by the first to-be-processed program, and updating a correlation coefficient between the stored to-be-processed program and data required by the to-be-processed program; according to the attribute parameter of the processing device, Determining an available correlation coefficient between the N data required by the first to-be-processed program and the L processing devices, and updating the correlation coefficient between the stored data and the processing device.
  • the data attribute parameter of each of the N data required according to the first to-be-processed program Determining a correlation coefficient between the first data to be processed and the N data required by the first to-be-processed program, and updating the stored program to be processed
  • the correlation coefficient between the data required to be processed by the processing program includes: N data required for the first to-be-processed program according to a data attribute parameter of each of the N data required by the first to-be-processed program Sorting, sequentially setting each of the N data required by the sorted first to-be-processed program, setting a correlation coefficient thereof with the first to-be-processed program, and updating the stored to-be-processed program and the to-be-processed
  • the correlation coefficient between the data required by the processing program wherein, the size relationship between the correlation coefficients of each of the data settings after the sorting corresponds to the size relationship between the data attribute parameters of each of the
  • the biometric coefficient includes: determining, according to the attribute parameter of the processing device, the required requirement of the first to-be-processed program Each of the N data, a storage state in each of the L processing devices; and when determining that the storage state of the first data in the first processing device is stored, setting the first data and The correlation coefficient between the first processing device is an effective value; and when it is determined that the storage state of the first data in the first processing device is not stored, setting the first data and the first processing device The correlation coefficient is an invalid value, and the correlation coefficient between the stored data and the processing device is updated; wherein the first data is any one of N data required by the first to-be-processed program Transactions; the first processing apparatus is a processing apparatus according to any one L of said one processing device.
  • the method further includes: sorting the at least one first processing device according to the attribute parameter of the processing device, and sequentially resetting the processing device for each of the sorted at least one first processing device a correlation coefficient between the first data, and updating the correlation coefficient between the stored data and the processing device; wherein, the first processing device is a process in which the correlation coefficient with the first data is a valid value a device; a size relationship between the correlation coefficients reset by the at least one first processing device, corresponding to a size relationship between the attribute parameters of the at least one first processing device.
  • the attribute parameter of the processing device includes: the data is in a storage state of the processing device, or the data is in The storage state of the processing device and the computing power of the processing device.
  • the required N according to the first to-be-processed program And determining, by the M first processing devices, the candidate target processing device corresponding to each of the N datas, according to the correlation coefficient between the data and the M first processing devices: The correlation coefficient between the N data required by the first to-be-processed program and the M first processing devices, and the N required by the first to-be-processed program from the M first processing devices One of the data, the processing device corresponding to the maximum value of the correlation coefficient among the correlation coefficients of the M first processing devices is selected; and the processing device corresponding to the maximum value of the correlation coefficient is determined as the Alternative target processing device for data.
  • the method further includes: a correlation coefficient between the N data required by the first to-be-processed program and the first to-be-processed program, and the first to-be-processed program Obtaining the correlation coefficient between each of the required N data and its corresponding candidate target processing device, and obtaining the availability of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program
  • the determining the target processing device in the candidate target processing device corresponding to each of the N data includes: preparing the data corresponding to each of the N data required by the first to-be-processed program The availability factor of the target processing device is selected, and the candidate target processing device corresponding to the maximum value of the availability coefficient is determined as the target processing device.
  • an embodiment of the present invention provides a management device, including: an obtaining unit, a determining unit, and a sending unit, where the acquiring unit is configured to be used in a stored program to be processed. And obtaining, by the correlation coefficient between the data required by the to-be-processed program, a correlation coefficient between the N data required by the first to-be-processed program and the first to-be-processed program; the N is not less than 0
  • the determining unit is configured to determine, according to the computing resources of each processing device, M first processing devices among the L processing devices; wherein, L is a total number of processing devices, and M is greater than 0 is not greater than the integer of L; the obtaining unit is further configured to acquire N data and the M number required by the first to-be-processed program in the association between the stored data and the processing device a correlation coefficient between the processing devices; wherein the association between the data and the processing device refers to an association relationship between the data and a processing device that stores the data; the
  • the method further includes: a control unit, where the determining unit is further configured to: according to a data attribute parameter of each of the N data required by the first to-be-processed program, Determining a correlation coefficient between the first data to be processed and the N data required by the first to-be-processed program; the control unit, configured to update the stored data between the to-be-processed program and the to-be-processed program.
  • the determining unit is further configured to determine, according to an attribute parameter of the processing device, an association coefficient between the N data required by the first to-be-processed program and the L processing devices; Used to update the association between the stored data and the processing device.
  • the determining unit is specifically configured to use each of the N data required according to the first to-be-processed program a data attribute parameter of the data, sorting N data required by the first to-be-processed program, and sequentially setting each of the N data required by the first processed program to be sorted, and setting the first to Processing a correlation coefficient between the programs; wherein, the size relationship between the correlation coefficients of each of the data settings after the sorting corresponds to a size relationship between the data attribute parameters of each of the data.
  • the determining unit is specifically configured to determine, according to an attribute parameter of the processing device, the first Each of the N data required by the to-be-processed program, the storage state in each of the L processing devices; the determining unit, specifically for determining the storage of the first data in the first processing device When the state is stored, the correlation coefficient between the first data and the first processing device is set to be a valid value; when it is determined that the storage state of the first data in the first processing device is not stored, The correlation coefficient between the first data and the first processing device is an invalid value; wherein, the first data is any one of N data required by the first to-be-processed program; The processing device is any one of the L processing devices.
  • the determining unit is specifically configured to perform, according to an attribute parameter of the processing device, at least one first processing Sorting, sequentially updating, to each of the at least one first processing device after sorting, a correlation coefficient between the first data processing device and the first data, and updating the stored data between the processing device and the processing device a correlation coefficient, wherein the first processing device is a processing device whose correlation coefficient with the first data is an effective value; and a size relationship between correlation coefficients reset by the at least one first processing device Corresponding to the size relationship between the attribute parameters of the at least one first processing device.
  • the first to the fourth possible implementation manners of the second aspect in the fifth possible implementation manner of the second aspect, The correlation coefficient between the N data required by the processing program and the M first processing devices, from the M first processing devices, sequentially to the N data required by the first to-be-processed program One of the data, the processing device corresponding to the maximum value of the correlation coefficient among the correlation coefficients of the M first processing devices is selected; and the processing device corresponding to the maximum value of the correlation coefficient is determined as the preparation of the data Select the target processing device.
  • the acquiring unit is further configured to a correlation coefficient between the N data required by the processing program and the first to-be-processed program, and between each of the N data required by the first to-be-processed program and its corresponding candidate target processing device Correlation coefficient, obtaining the first to-be The availability coefficient of the candidate target processing device corresponding to each of the N data required by the program; the determining unit is specifically configured to correspond to each of the N data required by the first to-be-processed program The candidate target processing device's availability factor determines the candidate target processing device corresponding to the maximum availability coefficient as the target processing device.
  • an embodiment of the present invention provides a management device, including: a processor, a transmitter, and a processor, configured to: correlate between a stored program to be processed and data required by the to-be-processed program a coefficient of correlation between the first data to be processed and the N data required by the first to-be-processed program; the N is an integer not less than 0; the processor is further configured to a processing resource of the processing device, determining M first processing devices among the L processing devices; wherein, L is a total number of processing devices, and M is an integer greater than 0 and not greater than L; And an algorithm for obtaining, in an association coefficient between the stored data and the processing device, an association coefficient between the N data required by the first to-be-processed program and the M first processing devices; wherein, the data is The association between the processing device and the processing device refers to the association between the data and the processing device storing the data.
  • the processor is further configured to: use N data and a required data according to the first to-be-processed program.
  • An association coefficient between the M first processing devices determining an candidate target processing device corresponding to each of the N data from the M first processing devices; the processor is further configured to Determining a target processing device in the candidate target processing device corresponding to each of the N data; the transmitter, configured to send the first to-be-processed program to the target processing device.
  • the processor is further configured to determine, according to a data attribute parameter of each of the N data required by the first to-be-processed program, the first to-be-processed program a correlation coefficient between the N data required by the first to-be-processed program; the processor, further configured to update a correlation coefficient between the stored to-be-processed program and data required by the to-be-processed program; The processor is further configured to determine, according to an attribute parameter of the processing device, an association coefficient between the N data required by the first to-be-processed program and the L processing devices; the processor is further configured to update the stored The correlation coefficient between the data and the processing device.
  • the processor is specifically configured to use each of the N data required according to the first to-be-processed program a data attribute parameter of the data, sorting N data required by the first to-be-processed program, and sequentially setting each of the N data required by the first processed program to be sorted, and setting the first to Processing a correlation coefficient between the programs; wherein, the size relationship between the correlation coefficients of each of the data settings after the sorting corresponds to a size relationship between the data attribute parameters of each of the data.
  • the processor is configured to determine, according to an attribute parameter of the processing device, the first a storage state in each of the L processing devices, and a processor, configured to determine the storage of the first data in the first processing device
  • the correlation coefficient between the first data and the first processing device is set to be a valid value; when it is determined that the storage state of the first data in the first processing device is not stored, The correlation coefficient between the first data and the first processing device is an invalid value; wherein, the first data is any one of N data required by the first to-be-processed program;
  • the processing device is any one of the L processing devices.
  • the processor is configured to perform, according to an attribute parameter of the processing device, at least one first processing Sorting, sequentially updating, for each of the sorted at least one first processing device, a correlation coefficient between the first data and the first data, and updating the stored data and the processing device a correlation coefficient, where the first processing device is a processing device whose correlation coefficient with the first data is a valid value; and a size relationship between the correlation coefficients reset by the at least one first processing device Corresponding to the size relationship between the attribute parameters of the at least one first processing device.
  • the first to the fourth possible implementation manners of the third aspect in a fifth possible implementation manner of the third aspect, Correlating coefficient between the N data required by the processing program and the M first processing devices, from the M first processing devices, sequentially to the N data required by the first to-be-processed program a data, selecting a processing device corresponding to the maximum value of the correlation coefficient among the correlation coefficients of the M first processing devices; The processing device corresponding to the maximum value of the joint coefficient is determined as an alternative target processing device of the data.
  • An embodiment of the present invention provides an optimized scheduling method and a management device.
  • the management device first acquires a first to-be-processed program and a correlation coefficient between a stored program to be processed and a data required by the to-be-processed program. Determining the correlation coefficient between the N data required by the first to-be-processed program, and then determining M first processing devices among the L processing devices according to the computing resources of each processing device, and in the stored data and Obtaining, in the correlation coefficient between the devices, the correlation coefficient between the N data required by the first to-be-processed program and the M first processing devices, and then according to the N required by the first to-be-processed program An association coefficient between the data and the M first processing devices, determining, from the M first processing devices, an candidate target processing device corresponding to each of the N data, and finally from the N The target processing device is selected from the candidate target processing devices, and the first to-be-processed program is scheduled to be executed by the target processing device.
  • the scheduling of the to-be-processed program is performed in a processing device that has the highest availability of data required by the to-be-processed program, which reduces data that the to-be-processed program needs to transmit from the network, thereby reducing network traffic.
  • the processing time of the pending program is shortened.
  • FIG. 1 is a schematic flowchart of an optimized scheduling method according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of another optimized scheduling method according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of functions of a management device according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram of functions of another management device according to an embodiment of the present invention
  • An embodiment of the present invention provides an optimized scheduling method, as shown in FIG. 1 , including:
  • N is an integer not less than 0.
  • the correlation coefficient between each to-be-processed program and the data stored on each processing device is already stored in the management device.
  • the management device performs the first pending processing according to the first to-be-processed program.
  • the program knows the data to be used by the first to-be-processed program, and then finds the first to-be-processed program and the correlation coefficient among the correlation coefficients between the respective processing programs and the data stored on each processing device.
  • a correlation coefficient between N data required for the first to-be-processed program is already stored in the management device.
  • the first to-be-processed program is one of all to-be-processed programs.
  • the first to-be-processed program is the processing program currently being scheduled.
  • each pending program is created by the management device before scheduling, and the management device determines the location according to the established policy when creating the processing program.
  • the correlation between the processing program and the data stored in each processing device may be such that the correlation coefficient between the processing device and the stored data is greater.
  • each pending program must be created by the management device before scheduling, and each pending program can be called repeatedly after the management device is created.
  • each processing device can process both programs and data.
  • L is the total number of processing devices
  • M is an integer greater than 0 and not greater than L.
  • the management device needs to first determine that the devices of all the L processing devices have the ability to process the to-be-processed program.
  • the management device determines which processing devices are capable of processing the first pending program based on the computing resources of each of the total of the L processing devices.
  • the M first processing devices are all processing devices capable of processing the first to-be-processed program from the L processing devices. Therefore, the value of the number M of selected first processing devices must be a positive integer not greater than the value of the total number L of processing devices.
  • the method of the management device selecting the processing device capable of processing the to-be-processed program is the same as the prior art. Specifically, because the processing complexity of each to-be-processed program is different, some processing devices can process the to-be-processed program, and some devices cannot process the to-be-processed program, so it is necessary to determine a processing device capable of processing the to-be-processed program. .
  • the management device determines an association coefficient between each data and the L storage devices according to a preset policy, and then associates each data with each processing device.
  • the coefficient of sex is stored.
  • the management device After determining the N data required by the first to-be-processed program and the M processing devices capable of processing the first to-be-processed program, the management device needs to associate the already stored data with the processing device. Among the coefficients, the correlation coefficient between each of the N data required by the first to-be-processed program and each of the M first processing devices is found.
  • the management device will find the correlation coefficient between the data and the processing device.
  • the data of each of the N data can find the correlation coefficient between the data and the M processing devices corresponding to the data.
  • the management device can obtain the correlation between the first to-be-processed program and the stored data and the correlation between the stored data and the processing device, and obtain the first to-be-processed program between the processing device and the processing device after considering the data storage location. relationship.
  • the correlation coefficient between the data and the processing device indicates an association relationship between the data and each processing device, and the greater the correlation coefficient between the data and the processing device, the data and the processing are indicated. The greater the correlation between devices.
  • the first to-be-waited from the M first processing devices Processing one of the N data required by the program, selecting a processing device corresponding to the maximum value of the correlation coefficient among the correlation coefficients of the M first processing devices, and corresponding the maximum value of the correlation coefficient Processing device determined to be the data Alternative target processing device.
  • the management device needs to select from among the M correlation coefficients between the data and the M processing devices.
  • the processing device corresponding to the maximum correlation coefficient is used as an alternative target processing device for the data.
  • the alternative target processing device corresponding to each data required by the first to-be-processed program is the processing device having the greatest relevance to the data among the M first processing devices.
  • the management device will determine N candidate target processing devices, and each of the N data required by the first to-be-processed program corresponds to an candidate target processing device. .
  • the determined candidate target processing device corresponding to the data corresponds to another data.
  • the devices may be the same or different. That is to say, in the N candidate target processing devices, there may be a case where the candidate target processing devices corresponding to the plurality of data are the same processing device.
  • the management device determines that the target processing device among the N candidate target processing devices can be classified into two cases according to different factors considered when determining the target processing device.
  • an candidate target processing device is arbitrarily selected as the target processing device.
  • the selection of each target processing device has considered the association between the data required by the first to-be-processed program and the processing device. Therefore, the method of arbitrarily selecting one processing device as the target processing device from the N candidate target processing devices at this time is compared with the location selection of the data storage required for the to-be-processed program and the to-be-processed program. The method of target processing equipment has been greatly optimized.
  • the target processing device is determined in the candidate target processing device corresponding to each of the N data, according to the first to-be-processed program and the N required by the first to-be-processed program a correlation coefficient between the data, and an association coefficient between each of the N data required by the first to-be-processed program and its corresponding candidate target processing device, to obtain the first pending program required The availability factor of the candidate target processing device for each of the N data. Then, the candidate target processing device corresponding to the maximum value of the availability coefficient is determined as the target processing device according to the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program.
  • the management device is configured according to a correlation coefficient between the N data required by the first to-be-processed program and the first to-be-processed program, and each of N data required by the first to-be-processed program.
  • the correlation coefficient between the data and the corresponding candidate target processing device may be calculated by a certain algorithm to calculate the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program. Then, according to the availability coefficient of the candidate target processing device corresponding to each of the N data required to calculate the first to-be-processed program, the candidate target processing device corresponding to the maximum value of the availability coefficient is determined as the final target processing. device.
  • the management device calculates the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program, and may be the first to be processed. a correlation coefficient between the program and the N data required by the first to-be-processed program, plus each of the N data required by the first to-be-processed program and its corresponding candidate target processing device The sum of the correlation coefficients, the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program.
  • the correlation coefficient between the N data required by the first to-be-processed program and the first to-be-processed program may be multiplied by a weighting coefficient
  • the N required by the first to-be-processed program may be The correlation coefficient between each data in the data and its corresponding candidate target processing device is multiplied by another weighting coefficient, and then summed, and the obtained value is used as each of the N data required by the first to-be-processed program.
  • the availability factor of the candidate target processing device corresponding to the data is not limited in the present invention.
  • the target processing device is selected, which comprehensively considers the first to-be-processed program and a correlation between the N data required by the first to-be-processed program, and an association between each of the N data required by the first to-be-processed program and its corresponding candidate target processing device, and
  • the target processing device is selected, so the target processing device is a processing device that is optimal in considering the data storage location with the first to-be-processed program.
  • the process of sending the first to-be-processed program to the target processing device is a process in which the first to-be-processed program performs scheduling.
  • process of scheduling the first to-be-processed program is the same as the method of scheduling the first to-be-processed program to the processing device in the prior art, and is not described herein.
  • the first to-be-processed program needs to be executed on the target device, and at this time, in addition to being stored on the to-be-processed device.
  • other data required by the first to-be-processed program still needs to be called through the internal network.
  • An embodiment of the present invention provides an optimized scheduling method.
  • the management device first acquires a first to-be-processed program and the first in a correlation coefficient between a stored program to be processed and data required by the to-be-processed program. a correlation coefficient between the N data required by the processing program, and then determining M first processing devices among the L processing devices according to the computing resources of each processing device, and the stored data and processing devices Obtaining an association coefficient between the N data required by the first to-be-processed program and the M first processing devices, and then according to the N data required by the first to-be-processed program An association coefficient between the M first processing devices, determining, from the M first processing devices, an candidate target processing device corresponding to each of the N data, and finally from the N devices Selecting a target processing device from the target processing device, scheduling the first to-be-processed program to be executed by the target processing device.
  • the to-be-processed program is scheduled to be executed in the processing device with the highest availability of data required by the to-be-processed program, which reduces the data that the to-be-processed program needs to transmit from the network, thereby reducing network traffic and shortening the pending program. Processing time.
  • An embodiment of the present invention provides an optimized scheduling method, as shown in FIG. 2, including:
  • the management device creates the first to-be-processed program
  • the data required by the first to-be-processed program is given, so that when the first to-be-processed program needs to be scheduled, it is only necessary to determine which program needs to be processed.
  • a pending program can know the data required by the program to be processed.
  • the management device only sets the correlation coefficient between the first to-be-processed program and the data required by the first to-be-processed program, and does not set the correlation coefficient between the first to-be-processed program and other data, thereby Reduce the amount of computation of the algorithm. Further, the management device may sort the N data required by the first to-be-processed program according to the data attribute parameter of each of the N data required by the first to-be-processed program, and sequentially sort the first data.
  • the size relationship between the correlation coefficients set by each of the N data required by the sorted first to-be-processed program, and the data of each of the N data required by the first to-be-processed program The size relationship between attribute parameters corresponds.
  • the data attribute parameter includes: at least one of a data access frequency, a data read/write ratio, and a data priority.
  • the data attribute parameter may further include other information that can be used to determine the correlation coefficient between the data and the to-be-processed program, which is not limited by the present invention.
  • the management device may calculate the access frequency of each data according to the historical accumulation times of each of the N data required by the first to-be-processed program, and then According to each data visit Asking the size of the frequency, sorting the N data required by the first to-be-processed program, and then setting a correlation coefficient between the data of the N data having the largest access frequency value and the first to-be-processed program The first to-be-processed program and the first to-be-processed program are required
  • the data required by the first to-be-processed program is data A and data B
  • the data A history record has been accessed 1000 times
  • the data B history record has been accessed 2,000 times
  • the management device can be based on the data A.
  • the access frequency of the data A is set to 1 000
  • the access frequency of the data B is set to 2000
  • the data A and B are arranged in descending order according to the access frequency of the data, and the resulting arrangement is arranged.
  • the order is data ⁇ data A
  • the correlation coefficient between the first to-be-processed program and the data B having the largest access frequency value is set as the maximum value 1 among all the correlation coefficients, and the first to-be-processed
  • the correlation coefficient between the program and the data A with the second highest access frequency is set to the next largest value of all the correlation coefficients 0.9.
  • the management device can determine each of the N data required for the to-be-processed program according to the processing mode (read operation or write operation) of the data to be processed by the to-be-processed program.
  • the ratio at which the data is called in the processing manner, and then, according to the ratio of each data, the N data required to be processed by the processing program is sorted, and then the N data is called in the processing manner.
  • the correlation coefficient between the largest ratio data and the first to-be-processed program is set to a maximum value among the correlation coefficients between the first data to be processed by the first to-be-processed program and the first to-be-processed program.
  • a correlation coefficient between the N-th data and the first to-be-processed program that is called in the processing mode is set to N data required by the first to-be-processed program and the first to-be-processed program The second largest value among the correlation coefficients, according to this rule, until the correlation coefficient between the first pending program and the N data required by the first pending program is determined.
  • the first to-be-processed program needs to perform a read operation on the data
  • the data required by the first to-be-processed program is data A and data B
  • the data A history record is called 1 000 times, wherein the read operation 9 00 times, the data B history record has been called 2000 times, of which 1 500 times of read operations
  • the management device can be based on
  • the total number of times called in the data A and B history records is divided by the number of read operations, and the read ratio of the data A is 0. 9.
  • the read ratio of the data B is 0.75, and then the reading according to the data A, B. Proportion, the data A, B are arranged in descending order, and the resulting order is data, data B.
  • the correlation coefficient between the first pending program and the data A with the largest read ratio is set to be all relevant.
  • the maximum value of the coefficient of the coefficient is 0.9, and the correlation coefficient between the first to-be-processed program and the data B having the largest reading ratio is set to the next largest value of all the correlation coefficients of 0.75.
  • the management device may determine the priority of the data according to the required degree of the required data of the first to-be-processed program, and then, according to the priority of the data, the first Sorting N data required by the processing program, and then setting a correlation coefficient between the data having the highest priority value of the data in the N data and the first to-be-processed program as the first to-be-processed program a maximum value among the correlation coefficients between the N data required by the first to-be-processed program, a correlation coefficient between the data having the second highest priority value of the data in the N data and the first to-be-processed program And setting a second largest value among the correlation coefficients between the first to-be-processed program and the N data required by the first to-be-processed program, according to the rule, until determining the first to-be-processed program and the first The correlation coefficient between the N data required for the program to be processed.
  • the data required by the first to-be-processed program is data A and data B
  • the priority value of data A is set to 0.
  • the priority value of the data B is set to 0. 2
  • the data A, B are sorted in descending order
  • the obtained sorting order is data, data B, and then, according to the sorting order
  • the correlation coefficient between the first to-be-processed program and the data A having the highest priority value is set as the maximum value among all the correlation coefficients. 0. 8.
  • the first to-be-processed program and the data B with the highest priority value are interposed.
  • the correlation coefficient is set to the next largest value of all the correlation coefficients of 0.2.
  • the management device may set the first coefficient for each of the N data required by the first to-be-processed program according to the access frequency of the data, specifically For example, when the data attribute parameter is the access frequency of the data, the process of managing the correlation coefficient between the system setting data and the first to-be-processed program, and processing the required data according to the to-be-processed program may be referred to ( Read or write operation) Set each of the N data required for the first pending program
  • the second coefficient specifically, may refer to a process of managing the correlation coefficient between the system setting data and the first to-be-processed program when the data attribute parameter is the read/write ratio of the data, and then the first coefficient of each data Multiplying the second coefficient to obtain a correlation coefficient between the first to-be-processed program and the data.
  • the first to-be-processed program needs to perform a read operation on the data, and the required data is data A and data B.
  • the number of times of access to the history of the data A is 1,000, wherein the read operation is 900 times, and the number of times of the history B of the data B is 900, wherein the read operation 450 times, the data A is
  • the first coefficient of the data B is set to 0.9. 5 ⁇
  • the second coefficient of the data B is set to 0.5.
  • the management device may set the first coefficient for each of the N data required by the first to-be-processed program according to the access frequency of the data, the specific Referring to the process of managing the correlation coefficient between the system setting data and the first to-be-processed program when the data attribute parameter is the access frequency of the data, and then setting the priority of the different data according to the first to-be-processed program.
  • the second coefficient may refer to a process of managing the correlation coefficient between the system setting data and the first to-be-processed program when the data attribute parameter is the priority of the data, and then the first coefficient and the first coefficient of each data
  • the two coefficients are multiplied to obtain a correlation coefficient between the first to-be-processed program and the data.
  • the first to-be-processed program needs to perform a read operation on the data, and the required data is data A and data B, wherein 80% of the required data comes from the data A, and 20% comes from the history of the data B data A.
  • the number of times of the data B is set to 0.
  • the first coefficient of the data B is set to 1, and the first coefficient of the data B is set to 0.9.
  • the second coefficient of the data B is set to 0. 2
  • the second coefficient of the data B is set to 0.2.
  • the first coefficient of the data A is multiplied by the second coefficient to obtain a correlation coefficient between the data A and the first to-be-processed program, which is 0.8, multiplying the first coefficient of the data B by the second coefficient.
  • the correlation coefficient between the data B and the first to-be-processed program is 0. 18.
  • the management device can process the required data according to the processing procedure (read operation or write operation) of the program to be N required by the first to-be-processed program.
  • the first coefficient is set for each data in the data.
  • the process of managing the correlation coefficient between the system setting data and the first to-be-processed program when the data attribute parameter is the read/write ratio of the data may be referred to, and then Setting a second coefficient according to a required degree of different data by the first to-be-processed program, specifically, referring to a correlation between the management system setting data and the first to-be-processed program when the data attribute parameter is the priority of the data.
  • the process of coefficients and then multiplying the first coefficient by the second coefficient of each data to obtain a correlation coefficient between the first to-be-processed program and the data.
  • the first to-be-processed program needs to read data A and data B, 80% of the required data comes from data A, 20% comes from data B, and data A history is called 1 000 times, of which read operation 900 times, the data B history record has been called 2000 times, wherein the read operation 1500 times, the first coefficient of the data A can be set to 0. 9, the first coefficient of the data B is set to 0.75. 2 ⁇ The second coefficient of the data B is set to 0. 2; Finally, multiplying the first coefficient of the data A by the second coefficient to obtain a correlation coefficient between the data A and the first to-be-processed program is 0. 72, multiplying the first coefficient of the data B by the second coefficient The correlation coefficient between the data B and the first to-be-processed program is 0.15.
  • the management device may be each of the N data required by the first to-be-processed program according to the access frequency of the data.
  • Setting a first coefficient specifically, referring to a process of managing a correlation coefficient between the system setting data and the first to-be-processed program when the data attribute parameter is an access frequency of the data, and then according to the first to-be-processed program pair
  • the second coefficient is set according to the degree of demand of different data.
  • the process of managing the correlation coefficient between the system setting data and the first to-be-processed program when the data attribute parameter is the required degree of data may be referred to, and then, Setting the third coefficient according to the priority of the first to-be-processed program for different data, specifically, referring to the correlation between the management system setting data and the first to-be-processed program when the data attribute parameter is the priority of the data a process of the coefficient of the coefficient, and then multiplying the first coefficient by the second coefficient for each data to obtain the first pending The correlation coefficient between the program and the data.
  • the access frequency of the data is mainly considered, and the read-write ratio and priority of the data are considered secondly, then the first coefficient of the data can be multiplied by the weighted value. 0. 6.
  • the second coefficient of the data is multiplied by the weighted value of 0.2.
  • the third coefficient of the data is multiplied by the weighted value of 0.2, and the value obtained by multiplying each data by the weighted value is determined.
  • the correlation coefficient between the data and the first pending program For example, the first to-be-processed program needs to perform a read operation on the required data A and data B.
  • the history of the data A has been accessed 1000 times, wherein the read operation is performed 900 times, and the data required by the first to-be-processed program is required. 80% comes from data A; data B has been accessed 2000 times in the history, of which 1500 reads, and 20% of the data required for the first pending program comes from data A. Then the management device can first data A The first coefficient of the data B is set to 0. Then, the first coefficient of the data B is set to 1. Then, the second coefficient of the data A is set to 0.9. The second coefficient of the data B is set to 0.75; The third coefficient of the data A is set to 0.8. The third coefficient of the data B is set to 0.2. Finally, the first coefficient of the data A is finally multiplied by 0.6.
  • the second coefficient of the data A is multiplied by 0. 2
  • the third coefficient of the data A is multiplied by 0.2
  • the correlation coefficient between the data A and the first pending program is calculated to be 0.88.
  • the data A and the first pending program can be calculated.
  • the correlation coefficient is 0.79.
  • the values that are important to the processing program are generally copied into multiple copies and stored in different processing devices.
  • the correlation coefficient between all copies of the same data and the first pending program may be set to be the same, or may be according to data integrity, and/or data reading.
  • the write ratio sets the correlation coefficient between the different copies of the same data and the first pending program to be different.
  • the management device creates more than one pending program, and each time a new pending program is created, the data attribute parameter of each of the N data required by the first to-be-processed program is required. Determining a correlation coefficient between the to-be-processed program and the data required by the to-be-processed program, and storing the determined correlation coefficient, that is, updating between the stored pending program and the data required by the to-be-processed program Correlation coefficient. That is to say, the management device stores the correlation relationship between each pending program and the data required by each pending program.
  • the N may be greater than 0 or 0.
  • the N being greater than 0 indicates that the first to-be-processed program is associated with the already stored data, and at this time, the correlation coefficient between the stored to-be-processed program and the data required by the to-be-processed program may be obtained.
  • the N is 0, indicating that the first to-be-processed program is not associated with or has not been associated with the already stored data, that is, there is no data association between the first to-be-processed program and all processing devices.
  • the management device may set a correlation coefficient between the first to-be-processed program and data stored in each processing device to zero.
  • the management device when the management device creates the to-be-processed program, it determines the location where the data required by the to-be-processed program is stored, and then determines the N data and all the L processes required by the to-be-processed program according to the attribute parameter of the processing device. The correlation coefficient between devices.
  • the attribute parameters of the processing device include: a data storage state of the processing device.
  • the management device may determine, according to the attribute parameter of the processing device, each of the N data required by the first to-be-processed program, the storage state in each of the L processing devices, and then determine Setting a correlation coefficient between the first data and the first processing device to be a valid value when the storage state of the first data in the first processing device is stored; determining that the first data is in the first processing When the storage state in the device is not stored, setting the correlation coefficient between the first data and the first processing device to be an invalid value.
  • the data required by the first to-be-processed program is data A and data B
  • the processing device capable of processing the to-be-processed program is the processing device a and the processing device b.
  • the correlation coefficient between the data A and the processing device a can be set to 1
  • the correlation coefficient between the data A and the processing device b can be set to 0
  • the data B and the processing device a The correlation coefficient between the two can be set to 0, and the correlation coefficient between the data B and the processing device b can be set to 1.
  • the attribute parameters of the processing device include: a storage state of the data in the processing device and a computing capability of the processing device.
  • the management device may sort, according to the attribute parameter of the processing device, a processing device that has a correlation coefficient with the first data as a valid value, and sequentially associate the sorted with the first data. - each processing device in the processing device having a significant value, resetting the correlation coefficient between the first data and the first data. For example, if the management device determines that the data has been stored and processed, according to the SPEC of each processing device, it is an integer (integer performance evaluation test) i nt (integer) Type) The values are sorted by the processing device, which in turn determines the correlation coefficient between the data and the processing device.
  • the data required by the first to-be-processed program is data A and data B, wherein the data A is stored in the processing device 1, and the SPEC in t value of the processing device 1 is 800, and the data B is stored in the processing device.
  • the processing device 1 has a SPEC int value of 500.
  • the management device sorts the processing device in descending order according to the SPEC int value of the processing device 1 and the processing device 1, and obtains the ranking as the processing device 1, the processing device 2, and then sequentially sets the correlation coefficient between the data A and the processing device 1 according to the sorting. 5 ⁇
  • the correlation coefficient between the data B and the processing device 2 is 0. 5.
  • attribute parameter of the processing device may further include other information that can be used to determine the correlation coefficient between the data and the to-be-processed program, which is not limited by the present invention.
  • this step is performed to determine the correlation coefficient between the N data and the L processing devices required by the first to-be-processed program, and the determination is determined.
  • the correlation coefficient is stored, that is, the relationship between the stored data and the processing device is updated.
  • step 1 01 For details, refer to step 1 01, and details are not described herein again.
  • 204. Determine, according to computing resources of each processing device, M first processing devices among the L processing devices.
  • step 1 02 For details, refer to step 1 02, and details are not described herein again.
  • step 1 03 For details, refer to step 1 03, and details are not described herein again.
  • step 1 04 For details, refer to step 1 04, and details are not described herein.
  • step 1 05 For details, refer to step 1 05, and details are not described herein again.
  • step 1 06 For details, refer to step 1 06, and details are not described herein.
  • An embodiment of the present invention provides an optimized scheduling method.
  • the management device first acquires a first to-be-processed program and the first in a correlation coefficient between a stored program to be processed and data required by the to-be-processed program. a correlation coefficient between the N data required by the processing program, and then determining M first processing devices among the L processing devices according to the computing resources of each processing device, and the stored data and processing devices Obtaining an association coefficient between the N data required by the first to-be-processed program and the M first processing devices, and then according to the N data required by the first to-be-processed program An association coefficient between the M first processing devices, determining, from the M first processing devices, an candidate target processing device corresponding to each of the N data, and finally from the N devices Selecting a target processing device from the target processing device, scheduling the first to-be-processed program to be executed by the target processing device.
  • the program to be processed is scheduled to be executed in the processing device with the highest availability of data required by the to-be-processed program, and the data to be transmitted from the network by the to-be-processed program is reduced. This reduces network traffic and reduces the processing time of the pending program.
  • the embodiment of the present invention provides a function diagram of a management device.
  • the management device includes: an obtaining unit 301, a determining unit 302, and a sending unit 303.
  • the obtaining unit 301 is configured to acquire, in a correlation coefficient between the stored to-be-processed program and data required by the to-be-processed program, a N required by the first to-be-processed program and the first to-be-processed program Correlation coefficient between data.
  • N is an integer not less than 0.
  • the correlation coefficient between each to-be-processed program and the data stored on each processing device is already stored in the management device.
  • the management device performs the first pending processing according to the first to-be-processed program.
  • the program knows the data to be used by the first to-be-processed program, and then the obtaining unit 301 searches the correlation coefficient between the respective processing programs and the data stored on each processing device according to the a correlation coefficient between the first pending program and the N data required by the first pending program.
  • the first to-be-processed program is one of all to-be-processed programs.
  • the first to-be-processed program is the processing program currently being scheduled.
  • each to-be-processed program is first created by the management device before the scheduling is performed.
  • the determining unit 302 determines that the processing program is stored in each processing device according to the predetermined policy.
  • the correlation between the data may be represented by a correlation coefficient, and the greater the correlation between the processing device and the stored data, the processing device and the stored data The correlation coefficient between them is also larger.
  • each pending program must be created by the management device before scheduling, and each pending program can be called repeatedly after the management device is created.
  • each processing device can process both programs and data.
  • the determining unit 302 is further configured to calculate, according to computing resources of each processing device,
  • M first processing devices are determined.
  • L is the total number of processing devices
  • M is an integer greater than 0 and not greater than L.
  • the determining unit 302 needs to first determine that the devices of the all L processing devices are capable of processing the to-be-processed program.
  • the determining unit 3 02 determines which processing devices are capable of processing the first pending program based on the computing resources of each of the total L processing devices.
  • the M first processing devices are all processing devices that are determined from the L processing devices and are capable of processing the first to-be-processed program. Therefore, the value of the number M of selected first processing devices must be a positive integer not greater than the value of the total number L of processing devices.
  • the method by which the determining unit 302 selects a processing device capable of processing the to-be-processed program is the same as the prior art. Specifically, because the processing complexity of each to-be-processed program is different, some processing devices can process the to-be-processed program, and some devices cannot process the to-be-processed program, so it is necessary to determine a processing device capable of processing the to-be-processed program. . And a correlation coefficient between the N data required by the first to-be-processed program and the M first processing devices.
  • the association between the data and the processing device refers to an association relationship between the data and a processing device that stores the data.
  • the determining unit 302 determines an association coefficient between each data and the L storage devices according to a preset policy, and then processes each data with each processing.
  • the association between the devices' f-factors is stored.
  • the obtaining unit 30 1 needs to be between the already stored data and the processing device. In the correlation coefficient, find the first pending program A correlation coefficient between each of the required N data and each of the M first processing devices.
  • the obtaining unit 301 finds the correlation coefficient between the data and the processing device.
  • the data of each of the N data required by the first to-be-processed program can find the correlation coefficient between the M and the processing devices corresponding to the data.
  • the obtaining unit 301 can obtain, according to the correlation between the first to-be-processed program and the stored data and the correlation between the stored data and the processing device, the first to-be-processed program is considered between the data storage location and the processing device. Relationship.
  • the correlation coefficient between the data and the processing device indicates an association relationship between the data and each processing device, and the greater the correlation coefficient between the data and the processing device, the data and the processing are indicated. The greater the correlation between devices.
  • the determining unit 302 is further configured to determine, according to the correlation coefficient between the N data required by the first to-be-processed program and the M first processing devices, from the M first processing devices An alternate target processing device corresponding to each of the N data.
  • the determining unit 302 is specifically configured to: according to the correlation coefficient between the N data required by the first to-be-processed program and the M first processing devices, sequentially from the M first processing devices Selecting, from one of the N data required by the first to-be-processed program, a processing device corresponding to a maximum value of the correlation coefficient among the M first processing devices; and associating the association
  • the processing device corresponding to the maximum of the coefficient of significance is determined as an alternative target processing device for the data.
  • the determining unit 302 needs to select an association between the data and the M correlation coefficients between the M processing devices.
  • the processing device corresponding to the maximum value of the coefficient of elasticity is used as an alternative target processing device for the data. It should be noted that the candidate target processing device corresponding to each data required by the first to-be-processed program is the processing device having the greatest relevance to the data among the M first processing devices.
  • the determining unit 302 will determine
  • each of the N data required by the first to-be-processed program corresponds to an alternate target processing device.
  • the determined candidate target processing device corresponding to the data corresponds to another data.
  • the devices may be the same or different. That is to say, in the N candidate target processing devices, there may be a case where the candidate target processing devices corresponding to the plurality of data are the same processing device.
  • the determining unit 302 is further configured to determine, in the candidate target processing device corresponding to each of the N data, the target processing device.
  • the determining unit 302 determines, in the N candidate target processing devices, that the target processing device can be divided into two cases according to different factors considered when determining the target processing device.
  • the determining unit 302 is specifically configured to determine, in the candidate target processing device corresponding to each of the N data, an candidate target processing device as the target processing device.
  • each target processing device is selected to have considered the association between the data required by the first to-be-processed program and the processing device. Therefore, at this time, the determining unit 302 arbitrarily selects a processing device from the N candidate target processing devices as a target processing device, compared to considering data storage required by the to-be-processed program and the to-be-processed program. The situation in the location has been greatly optimized.
  • the obtaining unit 301 is configured according to the first to-be-processed program. a correlation coefficient between the N data required by the first to-be-processed program, and N data required by the first to-be-processed program And obtaining, by the correlation coefficient between each of the data and the corresponding candidate target processing device, an availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program.
  • the determining unit 302 determines the candidate target processing device corresponding to the maximum value of the availability coefficient as the target according to the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program. Processing equipment.
  • the determining unit 302 is configured according to a correlation coefficient between the N data required by the first to-be-processed program and the first to-be-processed program, and each of N data required by the first to-be-processed program.
  • the correlation coefficient between a data and its corresponding candidate target processing device, and the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program may be calculated by a certain algorithm . Then, according to the availability coefficient of the candidate target processing device corresponding to each of the N data required to calculate the first to-be-processed program, the candidate target processing device corresponding to the maximum value of the availability coefficient is determined as the final target processing. device.
  • the determining unit 302 calculates the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program by using a certain algorithm, which may be a correlation coefficient between the N data required by the processing program and the first to-be-processed program plus each of the N data required by the first to-be-processed program and its corresponding candidate target processing device The sum of the correlation coefficients, the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program.
  • a certain algorithm which may be a correlation coefficient between the N data required by the processing program and the first to-be-processed program plus each of the N data required by the first to-be-processed program and its corresponding candidate target processing device.
  • the correlation coefficient between the N data required by the first to-be-processed program and the first to-be-processed program may be multiplied by a weighting coefficient
  • the N data required by the first to-be-processed program may be The correlation coefficient between each of the data and its corresponding candidate target processing device is multiplied by another weighting coefficient, and then the sum is obtained as the value of each of the N data required by the first to-be-processed program.
  • the availability factor of the candidate target processing device corresponding to the data is not limited thereto.
  • the target processing device is selected. Considering the correlation between the N data required by the first to-be-processed program and the first to-be-processed program, and the corresponding data of each of the N data required by the first to-be-processed program
  • the candidate target processes the association between the devices and selects the target processing device, so the target processing device is the processing device that is optimal in considering the data storage location with the first pending program.
  • the sending unit 303 is configured to send the first to-be-processed program to the target processing device.
  • the process in which the sending unit 303 sends the first to-be-processed program to the target processing device is a process in which the first to-be-processed program performs scheduling.
  • process of scheduling the first to-be-processed program is the same as the method of scheduling the first to-be-processed program to the processing device in the prior art, and is not described herein.
  • the first to-be-processed program needs to be executed on the target device, and at this time, in addition to being stored on the to-be-processed device.
  • other data required by the first to-be-processed program still needs to be called through the internal network.
  • the foregoing management device further includes: a control unit 304.
  • the determining unit 302 is further configured to determine, according to the data attribute parameter of each of the N data required by the first to-be-processed program, N data required by the first to-be-processed program and the first to-be-processed program Correlation coefficient between.
  • the management device gives the data required by the to-be-processed program when the program to be processed is created.
  • the data required for the program to be processed can be known.
  • the determining unit 302 only sets the correlation coefficient between the to-be-processed program and the data required by the to-be-processed program, and does not set the correlation coefficient between the to-be-processed program and other data, thereby reducing the algorithm. Calculated amount.
  • the data attribute parameters include: the access frequency of the data, the number According to the ratio of reading and writing, at least one of the priority of the data.
  • the data attribute parameter may further include other information that can be used to determine the correlation coefficient between the data and the to-be-processed program, which is not limited by the present invention.
  • the determining unit 302 is specifically configured to sort the N data required by the first to-be-processed program according to the data attribute parameter of each of the N data required by the first to-be-processed program, and sequentially sort the data.
  • the first data to be processed by the first to-be-processed program requires a correlation coefficient between the data and the first to-be-processed program.
  • the size relationship between the correlation coefficients of each of the data settings after the sorting corresponds to the size relationship between the data attribute parameters of each of the data.
  • the determining unit 302 may set the correlation coefficient between all copies of the same data and the first pending program to be the same, or according to the integrity of the data, and / or the read/write ratio of the data sets the correlation coefficient between the different copies of the same data and the first pending program to be different.
  • the management device creates more than one pending program, and each time the new pending program is created, the determining unit 302 needs each data of the N data required according to the first to-be-processed program.
  • the data attribute parameter determines a correlation coefficient between the to-be-processed program and the data required by the to-be-processed program.
  • the management device stores the correlation relationship between each pending program and the data required for each to-be-processed program.
  • the N may be greater than 0 or may be 0.
  • the N is greater than 0, indicating that the first to-be-processed program is associated with the already stored data.
  • the obtaining unit 301 may correlate between the stored to-be-processed program and the data required by the to-be-processed program. And a correlation coefficient between the N data required by the first to-be-processed program and the first to-be-processed program.
  • the N is 0, indicating that the first to-be-processed program is not associated with or has not been associated with the already stored data, that is, there is no data association between the first to-be-processed program and all processing devices.
  • the management device may store the first to-be-processed program with each of the processing devices The correlation coefficient between the data is set to zero.
  • the control unit 304 is configured to update a correlation coefficient between the stored program to be processed and data required by the to-be-processed program.
  • control unit 304 stores the correlation coefficient determined by the determining unit 302, that is, updates the correlation coefficient between the stored program to be processed and the data required by the program to be processed.
  • the determining unit 302 is further configured to determine, according to an attribute parameter of the processing device, an association coefficient between the N data required by the first to-be-processed program and the L processing devices.
  • the management device determines the location of the data storage required by the to-be-processed program when the program to be processed is created, and then the determining unit 302 determines the N data required by the to-be-processed program according to the attribute parameter of the processing device.
  • the correlation coefficient between all L processing devices is to be noted.
  • the attribute parameters of the processing device include: a data storage state of the processing device.
  • the determining unit 302 is specifically configured to determine, according to an attribute parameter of the processing device, a storage state in each of the L processing devices in each of the N data required by the first to-be-processed program.
  • the determining unit 302 is configured to: when determining that the storage state of the first data in the first processing device is stored, setting an association coefficient between the first data and the first processing device to an effective value . And determining that the correlation coefficient between the first data and the first processing device is an invalid value when it is determined that the storage state of the first data in the first processing device is not stored.
  • the first data is any one of N data required by the first to-be-processed program.
  • the first processing device is any one of the L processing devices.
  • the attribute parameters of the processing device include: a storage state of the data in the processing device and a computing capability of the processing device.
  • the determining unit 302 is configured to: sort, according to the attribute parameter of the processing device, the at least one first processing device, and sequentially reset each of the sorted at least one first processing device a correlation coefficient with the first data, and updating the correlation coefficient between the stored data and the processing device.
  • said A processing device is a processing device whose correlation coefficient with the first data is an effective value.
  • the size relationship between the correlation coefficients reset by the at least one first processing device corresponds to a size relationship between the attribute parameters of the at least one first processing device.
  • attribute parameter of the processing device may further include other information that can be used to determine the correlation coefficient between the data and the to-be-processed program, which is not limited by the present invention.
  • the determining unit 302 performs this step to determine the correlation between the N data required by the first to-be-processed program and the L processing devices. coefficient.
  • the control unit 304 is further configured to update a correlation coefficient between the stored data and the processing device.
  • control unit 304 stores the correlation coefficient determined by the determining unit 302, that is, the correlation coefficient between the updated stored data and the processing device.
  • An embodiment of the present invention provides a management device.
  • the acquiring unit 301 acquires a first to-be-processed program and the first one in a correlation coefficient between a stored to-be-processed program and data required by the to-be-processed program.
  • the correlation coefficient between the N data required by the to-be-processed program, and then the determining unit 302 determines M first processing devices among the L processing devices according to the computing resources of each processing device, and the obtaining unit 301 is already stored.
  • An association coefficient between the N data required by the program and the M first processing devices, and an candidate target processing device corresponding to each of the N data is determined from the M first processing devices And finally selecting a target processing device from the N candidate target processing devices, and scheduling the first to-be-processed program to be executed by the target processing device. Therefore, the scheduling of the to-be-processed program is performed in a processing device that has the highest availability of data required by the to-be-processed program, which reduces data that the to-be-processed program needs to transmit from the network, thereby reducing network traffic. The processing time of the pending program is shortened.
  • the embodiment of the present invention provides a schematic structural diagram of a management device.
  • the management device includes: a processor 501, a transmitter 502, and a memory. 5 0 3.
  • the processor 510 is configured to acquire, in a correlation coefficient between the stored to-be-processed program and data required by the to-be-processed program, the first to-be-processed program and the first to-be-processed program Correlation coefficient between N data.
  • N is an integer not less than 0.
  • a correlation coefficient between each to-be-processed program and data stored on each processing device is already stored in the memory 503, and when the first to-be-processed program needs to be processed, the management device according to the first The to-be-processed program knows the data to be used by the first to-be-processed program, and then the processor 501 calculates the correlation coefficient between the respective processing programs and the data stored on each processing device according to the search. And a correlation coefficient between the first data to be processed and the N data required by the first to-be-processed program.
  • the first to-be-processed program is one of all to-be-processed programs.
  • the first to-be-processed program is the processing program currently being scheduled.
  • each to-be-processed program is first created by the management device before the scheduling is performed.
  • the processor 5 01 determines the processing program and each processing device according to the established policy.
  • the correlation between stored data At this time, the correlation relationship between the processing program and the data stored in each processing device may be represented by a correlation coefficient, and the greater the correlation between the processing device and the stored data, the processing device and the stored data The correlation coefficient between them is also larger.
  • each pending program must be created by the management device before scheduling, and each pending program can be called repeatedly after the management device is created.
  • each processing device can process both programs and data.
  • the processor 5 0 1 is also used to calculate resources according to each processing device, in L M first processing devices are determined in the processing devices.
  • L is the total number of processing devices
  • M is an integer greater than 0 and not greater than L.
  • the processor 510 needs to first determine that the devices of the all of the L processing devices are capable of processing the to-be-processed program. It is determined which processing devices are capable of processing the first pending program based on the computing resources of each of the total of the L processing devices.
  • the M first processing devices are all processing devices that are determined from the L processing devices and are capable of processing the first to-be-processed program. Therefore, the value of the number M of selected first processing devices must be a positive integer not greater than the value of the total number L of processing devices.
  • the processor 506 selects a processing device capable of processing the to-be-processed program in the same manner as the prior art. Specifically, because the processing complexity of each to-be-processed program is different, some processing devices can process the to-be-processed program, and some devices cannot process the to-be-processed program, so it is necessary to determine a processing device capable of processing the to-be-processed program. .
  • the processor 510 is further configured to acquire N data required by the first to-be-processed program and the M first processing devices in the correlation coefficient between the data stored in the memory 503 and the processing device. The correlation coefficient between.
  • the association between the data and the processing device refers to an association relationship between the data and a processing device that stores the data.
  • the processor 510 determines the correlation coefficient between each data and the L storage devices according to a preset policy, and then each data is The correlation between each processing device is stored. After determining the N data required by the first to-be-processed program and the M processing devices capable of processing the first to-be-processed program, the processor 5 0 1 needs to be between the already stored data and the processing device. Among the correlation coefficients, the correlation coefficient between each of the N data required by the first to-be-processed program and each of the M first processing devices is found.
  • the processor 5 0 1 will find out the number of ⁇ ⁇ ⁇ According to the correlation coefficient with the processing device.
  • the data of each of the N data required by the first to-be-processed program can find the correlation coefficient between the M processing devices corresponding to the data.
  • the processor 510 can obtain the first pending program after considering the data storage location and the processing device according to the correlation between the first to-be-processed program and the stored data and the association between the stored data and the processing device. The relationship between.
  • the correlation coefficient between the data and the processing device indicates an association relationship between the data and each processing device, and the greater the correlation coefficient between the data and the processing device, the data and the processing are indicated. The greater the correlation between devices.
  • the processor 510 is further configured to determine, according to the correlation coefficient between the N data required by the first to-be-processed program and the M first processing devices, from the M first processing devices An alternative target processing device corresponding to each of the N data.
  • the processor 510 is specifically configured to: according to the correlation coefficient between the N data required by the first to-be-processed program and the M first processing devices, from the M first processing devices, And sequentially selecting, from one of the N data required by the first to-be-processed program, a processing device corresponding to a maximum value of the correlation coefficient among the M first processing devices; and The processing device corresponding to the correlation coefficient maximum value is determined as an alternative target processing device of the data.
  • the processor 015 needs to select the M correlation coefficients between the data and the M processing devices.
  • the processing device corresponding to the maximum correlation coefficient is used as an alternative target processing device for the data.
  • the alternative target processing device corresponding to each data required by the first to-be-processed program is the processing device having the greatest relevance to the data among the M first processing devices.
  • each of the N data required by the first to-be-processed program corresponds to an alternate target processing device.
  • the determined candidate target processing device corresponding to the data corresponds to another data.
  • the devices may be the same or different. That is to say, in the N candidate target processing devices, there may be a case where the candidate target processing devices corresponding to the plurality of data are the same processing device.
  • the processor 510 is further configured to determine, in the alternative target processing device corresponding to each of the N data, a target processing device.
  • the processor 401 determines that the target processing device among the N candidate target processing devices can be divided into two cases according to different factors considered when determining the target processing device.
  • the processor 510 is specifically configured to determine, in the candidate target processing device corresponding to each of the N data, an candidate target processing device as the target processing device.
  • each target processing device is selected to have considered the association between the data required by the first to-be-processed program and the processing device. Therefore, at this time, the processor 501 arbitrarily selects a processing device from the N candidate target processing devices as a target processing device, compared to considering data storage required by the to-be-processed program and the to-be-processed program. The situation in the location has been greatly optimized.
  • the processor 510 is specifically configured to: before the target processing device is determined in the candidate target processing device corresponding to each of the N data, according to the first to-be-processed program and the first a correlation coefficient between N data required by the to-be-processed program, and an association coefficient between each of the N data required by the first to-be-processed program and its corresponding candidate target processing device, The availability factor of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program. Then, according to the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program, the maximum corresponding to the availability coefficient The target processing device is determined to be the target processing device.
  • the processor 510 according to the correlation coefficient between the N data required by the first to-be-processed program and the first to-be-processed program, and the N data required by the first to-be-processed program
  • the correlation coefficient between each of the data and the corresponding candidate target processing device may be calculated by a certain algorithm to calculate an alternative target processing device corresponding to each of the N data required by the first to-be-processed program. Usability factor. Then, according to the availability coefficient of the candidate target processing device corresponding to each of the N data required to calculate the first to-be-processed program, the candidate target processing device corresponding to the maximum value of the availability coefficient is determined as the final target processing. device.
  • the processor 501 calculates a availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program by using a certain algorithm, which may be a correlation coefficient between a to-be-processed program and N data required by the first to-be-processed program plus each of the N data required by the first to-be-processed program and an alternate target processing device corresponding thereto The sum of the correlation coefficients between the two, as the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program.
  • a certain algorithm which may be a correlation coefficient between a to-be-processed program and N data required by the first to-be-processed program plus each of the N data required by the first to-be-processed program and an alternate target processing device corresponding thereto The sum of the correlation coefficients between the two, as the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program
  • the correlation coefficient between the N data required by the first to-be-processed program and the first to-be-processed program may be multiplied by a weighting coefficient
  • the N data required by the first to-be-processed program may be The correlation coefficient between each of the data and its corresponding candidate target processing device is multiplied by another weighting coefficient, and then the sum is obtained as the value of each of the N data required by the first to-be-processed program.
  • the availability factor of the candidate target processing device corresponding to the data is not limited thereto.
  • selecting the target processing device according to the availability coefficient of the candidate target processing device corresponding to each of the N data required by the first to-be-processed program comprehensively considers the first to-be-processed program and the Determining the correlation between the N data required by the first to-be-processed program, and the correlation between each of the N data required by the first to-be-processed program and its corresponding candidate target processing device, and selecting The target processing device is out, so the target processing device is a processing device that is optimal in considering the data storage location with the first to-be-processed program.
  • the transmitter 502 is configured to send the first to-be-processed program to the target processing device.
  • the process in which the transmitter 502 sends the first to-be-processed program to the target processing device is a process in which the first to-be-processed program performs scheduling.
  • process of scheduling the first to-be-processed program is the same as the method of scheduling the first to-be-processed program to the processing device in the prior art, and is not described herein.
  • the first to-be-processed program needs to be executed on the target device, and at this time, in addition to being stored on the to-be-processed device.
  • other data required by the first to-be-processed program still needs to be called through the internal network.
  • processor 510 is further configured to determine, according to the data attribute parameter of each of the N data required by the first to-be-processed program, the first to-be-processed program and the first to-be-processed program A correlation coefficient between N data is required.
  • the management device gives the data required by the to-be-processed program when the program to be processed is created.
  • the data required for the program to be processed can be known.
  • the processor 510 only sets the correlation coefficient between the to-be-processed program and the data required by the to-be-processed program, and does not set the correlation coefficient between the to-be-processed program and other data, thereby reducing the algorithm. The amount of calculation.
  • the data attribute parameter includes: at least one of a data access frequency, a data read/write ratio, and a data priority.
  • the data attribute parameter may further include other information that can be used to determine the correlation coefficient between the data and the to-be-processed program, which is not limited by the present invention.
  • the processor 510 is specifically configured to sort, according to the data attribute parameter of each of the N data required by the first to-be-processed program, the N data required by the first to-be-processed program, and sequentially sort the data.
  • Each of the N data required by the first first to-be-processed program sets a correlation coefficient between the data and the first to-be-processed program. Among them, sorted
  • the size relationship between the correlation coefficients of each of the data settings corresponds to the size relationship between the data attribute parameters of each of the data.
  • the processor 501 may set the correlation coefficient between all copies of the same data and the first to-be-processed program to be the same, or according to data integrity, and / or the read/write ratio of the data sets the correlation coefficient between the different copies of the same data and the first pending program to be different.
  • the management device creates more than one pending program, and each time the new pending program is created, the processor 501 needs each data of the N data required according to the first to-be-processed program.
  • the data attribute parameter determines a correlation coefficient between the to-be-processed program and the data required by the to-be-processed program.
  • the memory 503 stores the correlation relationship between each of the to-be-processed programs and the data required for each of the to-be-processed programs.
  • the N may be greater than 0 or 0.
  • the N is greater than 0, indicating that the first to-be-processed program is associated with the already stored data.
  • the processor 501 may be between the to-be-processed program stored in the memory 503 and the data required by the to-be-processed program.
  • a correlation coefficient between the first data to be processed and the N data required by the first to-be-processed program is obtained.
  • the N is 0, indicating that the first to-be-processed program is not associated with or has not been associated with the already stored data, that is, there is no data association between the first to-be-processed program and all processing devices.
  • the management device may set a correlation coefficient between the first to-be-processed program and data stored in each processing device to zero.
  • the processor 501 is configured to update a correlation coefficient between the stored to-be-processed program and data required by the to-be-processed program.
  • the processor 501 stores the determined correlation coefficient to the memory 503, that is, updates the correlation coefficient between the stored program to be processed and the data required by the program to be processed.
  • the processor 510 is further configured to determine, according to an attribute parameter of the processing device, an association coefficient between the N data required by the first to-be-processed program and the L processing devices.
  • the management device when the management device creates the to-be-processed program, it determines the location where the data required by the to-be-processed program is stored, and then the processor 510 determines the N data required by the to-be-processed program according to the attribute parameter of the processing device. Correlation coefficient with all L processing devices.
  • the attribute parameters of the processing device include: a data storage state of the processing device.
  • the processor 510 is specifically configured to determine, according to an attribute parameter of the processing device, each of the N data required by the first to-be-processed program, and a storage state in each of the L processing devices.
  • the processor 510 is configured to: when determining that the storage state of the first data in the first processing device is stored, setting an association coefficient between the first data and the first processing device to be effective value. And determining that the correlation coefficient between the first data and the first processing device is an invalid value when it is determined that the storage state of the first data in the first processing device is not stored.
  • the first data is any one of N data required by the first to-be-processed program.
  • the first processing device is any one of the L processing devices.
  • the attribute parameters of the processing device include: a storage state of the data in the processing device and a computing capability of the processing device.
  • the processor 510 is configured to: sort, according to the attribute parameter of the processing device, the at least one first processing device, and sequentially, to each of the at least one first processing device that is sorted, A correlation coefficient with the first data is set, and an association coefficient between the stored data and the processing device is updated.
  • the first processing device is a processing device whose correlation coefficient with the first data is an effective value.
  • the size relationship between the correlation coefficients reset by the at least one first processing device corresponds to a size relationship between the attribute parameters of the at least one first processing device.
  • the attribute parameter of the processing device may further include other information that can be used to determine the correlation coefficient between the data and the to-be-processed program, which is not limited by the present invention. It should be noted that, when the management device creates a to-be-processed program, the processor 510 performs this step to determine the association between the N data required by the first to-be-processed program and the L processing devices. Coefficient of coefficient.
  • the processor 501 is further configured to update a correlation coefficient between the stored data and the processing device.
  • the processor 510 is configured to store the determined correlation coefficient to the memory 503, that is, update the correlation coefficient between the stored data and the processing device.
  • the embodiment of the present invention provides a management device.
  • the processor 5 0 1 obtains the first to-be-reserved coefficient between the to-be-processed program stored in the memory 503 and the data required by the to-be-processed program.
  • the processor 5 0 1 determines M first processes among the L processing devices according to the computing resources of each processing device And obtaining, in the correlation coefficient between the data stored in the memory 503 and the processing device, the correlation coefficient between the N data required by the first to-be-processed program and the M first processing devices, The processor 510 determines the N pieces from the M first processing devices according to the correlation coefficient between the N data required by the first to-be-processed program and the M first processing devices. An candidate target processing device corresponding to each data in the data, finally selecting a target processing device from the N candidate target processing devices, and scheduling the first to-be-processed program to the target processing device .
  • the scheduling of the to-be-processed program is performed in a processing device that has the highest availability of data required by the to-be-processed program, which reduces data that the to-be-processed program needs to transmit from the network, thereby reducing network traffic.
  • the processing time of the pending program is shortened.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • 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, It can be electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as the units may or may not be physical units, and 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 embodiment of the present embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be physically included 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 hardware plus software functional units.
  • the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
  • the above software functional unit is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform part of the steps of the method of the various embodiments of the present invention.
  • the foregoing storage medium includes: a USB flash drive, a mobile hard disk, a solid state disk (SSD disk), and a read-only memory (Read-Only Memory, referred to as
  • R0M Random Access Memory
  • RAM Random Access Memory
  • disk or optical disk etc., which can store program code or data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种优化的调度方法及管理设备,涉及信息处理领域,用于降低网络流量,缩短待处理程序的处理时间。所述方法,包括:获取第一待处理程序与第一待处理程序所需的N个数据间的相关性系数;根据每一个处理设备的计算资源,在L个处理设备中确定出M个第一处理设备;获取第一待处理程序所需的N个数据与M个第一处理设备间的关联性系数;根据所述第一待处理程序所需的N个数据与M个第一处理设备间的关联性系数,从M个第一处理设备中确定出所述N个数据中每一个数据对应的备选目标处理设备;在备选目标处理设备中确定出目标处理设备;将所述第一待处理程序发送至所述目标处理设备。本发明实施例适用于任务调度的场景。

Description

一种优化的调度方法及管理设备 本申请要求于 2013 年 11 月 08 日提交中国专利局、 申请号为 201310557049.2 , 发明名称为 "一种优化的调度方法及管理设备" 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域
本发明涉及信息处理领域,尤其涉及一种优化的调度方法及管理 设备。
背景技术
随着高性能低成本服务器的发展和软件技术的快速发展,计算存 储合一的分布式处理系统、 并行处理系统和虚拟化系统也随之发展, 这些系统不使用外置的 SAN (Storage Area Ne twork,存储区域网 络) /NAS (Network Attached Storage,网络附属存储)等存储设备, 而是通过系统中的 DAS (Direct Attached Storage, 直接附加存储) 将本地存储资源组成共享存储资源提供给系统中所有服务器使用。
在分布式处理系统、 并行处理系统和虚拟化系统中, 系统在执行 待处理程序之前, 首先, 根据系统中各服务器上计算资源的状态, 确定出该待处理程序将调度到哪一个服务器执行, 然后, 将该待处 理程序调度到确定出的服务器上, 最后, 执行该待处理程序, 待处 理程序在执行时通过网络访问 /传输所需要处理的数据。
在实现上述待处理程序调度的过程中,发明人发现现有技术中至 少存在如下问题: 由于系统釆用本地共享存储时, 所有数据在待处 理程序到来之前已经随机或按照一定规则分配至系统中的各个服务 器上, 该待处理程序和该待处理程序需要处理的数据很有可能不在 同一服务器上, 所以该待处理程序所调度到的服务器需要通过网络 传输大量的数据, 不仅增加了网络流量, 还延长了待处理程序处理 的时间。
发明内容
本发明的实施例提供一种优化的调度方法及管理设备,用以降低 网络流量, 缩短待处理程序的处理时间。
为达到上述目的, 本发明的实施例釆用如下技术方案:
第一方面, 本发明实施例提供了一种优化的调度方法, 包括: 在 已存储的待处理程序与所述待处理程序所需的数据间的相关性系数 中, 获取第一待处理程序与所述第一待处理程序所需的 N 个数据间 的相关性系数; 所述 N为不小于 0 的整数; 根据每一个处理设备的 计算资源, 在 L个处理设备中确定出 M个第一处理设备; 其中, 所 述 L是处理设备的总个数, M是大于 Q不大于 L的整数; 在已存储的 数据与处理设备间的关联性系数中, 获取第一待处理程序所需的 N 个数据与所述 M 个第一处理设备间的关联性系数; 其中, 所述数据 与处理设备间的关联性是指所述数据与存储所述数据的处理设备间 的关联关系; 根据所述第一待处理程序所需的 N个数据与所述 M个 第一处理设备间的关联性系数, 从所述 M 个第一处理设备中确定出 所述 N个数据中每一个数据对应的备选目标处理设备; 在所述 N个 数据中每一个数据对应的备选目标处理设备中确定出目标处理设 备; 将所述第一待处理程序发送至所述目标处理设备。
在第一方面的第一种可能的实现方式中,在所述在已存储的待处 理程序与所述待处理程序所需的数据间的相关性系数中, 获取第一 待处理程序与所述第一待处理程序所需的 N 个数据间的相关性系数 之前, 还包括: 根据所述第一待处理程序所需 N 个数据中每一个数 据的数据属性参数, 确定第一待处理程序与所述第一待处理程序所 需 N 个数据间的相关性系数, 并更新在已存储的待处理程序与所述 待处理程序所需的数据间的相关性系数; 根据处理设备的属性参数, 确定所述第一待处理程序所需 N个数据与 L个处理设备间的可用关 联性系数, 并更新已存储的数据与处理设备间的关联性系数。 结合第一方面的第一种可能的实现方式, 在第一方面的第二种 可能的实现方式中, 所述根据所述第一待处理程序所需 N 个数据中 每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理 程序所需 N个数据间的相关性系数,并更新已存储的待处理程序与所 述待处理程序所需的数据间的相关性系数包括:根据所述第一待处理 程序所需 N个数据中每一个数据的数据属性参数,对所述第一待处理 程序所需 N个数据排序,依次对排序后的第一待处理程序所需 N个数 据中每一个数据,设置其与所述第一待处理程序间的相关性系数, 并 更新已存储的待处理程序与所述待处理程序所需的数据间的相关性 系数; 其中, 排序后的所述每一个数据设置的相关性系数间的大小关 系, 与所述每一个数据的数据属性参数间的大小关系相对应。 结合第一方面的第一或第二种可能的实现方式, 在第一方面的 第三种可能的实现方式中, 所述数据属性参数包括: 数据的访问频 率, 数据的读写比例, 数据的优先级中的至少一项。
结合第一方面的第一至三任一种可能的实现方式,在第一方面的 第四种可能的实现方式中, 所述根据处理设备的属性参数, 确定所述 第一待处理程序所需 N个数据与 L个处理设备间的关联性系数, 并更 新已存储的数据与处理设备间的关联' )·生系数包括: 根据处理设备的属 性参数, 确定所述第一待处理程序所需 N个数据中每一个数据, 在 L 个处理设备中每个处理设备中的存储状态; 在确定出第一数据在第一 处理设备中的存储状态为已存储时, 设置所述第一数据与所述第一处 理设备间的关联性系数为有效值; 在确定出第一数据在第一处理设备 中的存储状态为未存储时, 设置所述第一数据与所述第一处理设备间 的关联性系数为无效值, 并更新已存储的数据与处理设备间的关联性 系数; 其中, 所述第一数据是所述第一待处理程序所需 N个数据中的 任一个数据; 所述第一处理设备是所述 L个处理设备中的任一个处理 设备。 结合第一方面的第四种可能的实现方式, 在第一方面的第五种 可能的实现方式中, 在所述设置所述第一数据与所述第一处理设备 间的关联性系数为有效值之后, 还包括: 根据所述处理设备的属性参 数, 对至少一个第一处理设备进行排序,依次对排序后的所述至少一 个第一处理设备中的每一个处理设备,重设其与所述第一数据间的相 关性系数, 并更新已存储的数据与处理设备间的关联性系数; 其中, 所述第一处理设备是与所述第一数据的关联性系数为有效值的处理 设备; 所述至少一个第一处理设备重设的相关性系数间的大小关系, 跟与所述至少一个第一处理设备的属性参数间的大小关系相对应。 结合第一方面的第四或第五种可能的实现方式, 在第一方面的 第六种可能的实现方式中, 所述处理设备的属性参数包括: 数据在 处理设备的存储状态, 或数据在处理设备的存储状态及处理设备的 计算能力。
结合第一方面或第一方面的第一至第六任一种可能的实现方式, 在第一方面的第七种可能的实现方式中, 所述根据所述第一待处理 程序所需的 N个数据与所述 M个第一处理设备间的关联性系数, 从 所述 M个第一处理设备中确定出所述 N个数据中每一个数据对应的 备选目标处理设备包括: 根据所述第一待处理程序所需的 N 个数据 与所述 M个第一处理设备间的关联性系数, 从所述 M个第一处理设 备中, 依次对所述第一待处理程序所需的 N 个数据中的一个数据, 选出其与 M 个第一处理设备的关联性系数中, 关联性系数最大值对 应的处理设备; 并将所述关联性系数最大值对应的处理设备确定为 所述数据的备选目标处理设备。
结合第一方面或第一方面的第一至第七任一种可能的实现方式, 在第一方面的第八种可能的实现方式中, 在所述 N 个数据中每一个 数据对应的备选目标处理设备中确定出目标处理设备之前还包括: 根据所述第一待处理程序与所述第一待处理程序所需的 N 个数据间 的相关性系数, 及所述第一待处理程序所需的 N 个数据中每一个数 据与其对应的备选目标处理设备间的关联性系数, 获取所述第一待 处理程序所需的 N 个数据中每一个数据对应的备选目标处理设备的 可用性系数; 所述在所述 N 个数据中每一个数据对应的备选目标处 理设备中确定出目标处理设备包括: 根据所述第一待处理程序所需 的 N 个数据中每一个数据对应的备选目标处理设备的可用性系数, 将可用性系数最大值对应的备选目标处理设备确定为目标处理设 备。
第二方面,本发明实施例提供了一种管理设备, 包括: 获取单元, 确定单元, 发送单元; 所述获取单元, 用于在已存储的待处理程序 与所述待处理程序所需的数据间的相关性系数中, 获取第一待处理 程序与所述第一待处理程序所需的 N个数据间的相关性系数; 所述 N 为不小于 0 的整数; 所述确定单元, 用于根据每一个处理设备的计 算资源, 在 L个处理设备中确定出 M个第一处理设备; 其中, 所述 L 是处理设备的总个数, M是大于 0不大于 L的整数; 所述获取单元, 还用于在已存储的数据与处理设备间的关联' f生系数中, 获取第一待 处理程序所需的 N个数据与所述 M个第一处理设备间的关联性系数; 其中, 所述数据与处理设备间的关联性是指所述数据与存储所述数 据的处理设备间的关联关系; 所述确定单元, 还用于根据所述第一 待处理程序所需的 N个数据与所述 M个第一处理设备间的关联性系 数, 从所述 M个第一处理设备中确定出所述 N个数据中每一个数据 对应的备选目标处理设备; 所述确定单元, 还用于在所述 N 个数据 中每一个数据对应的备选目标处理设备中确定出目标处理设备; 所 述发送单元, 用于将所述第一待处理程序发送至所述目标处理设备。
在第二方面的第一种可能的实现方式中, 还包括: 控制单元; 所 述确定单元, 还用于根据所述第一待处理程序所需 N 个数据中每一 个数据的数据属性参数, 确定第一待处理程序与所述第一待处理程 序所需 N 个数据间的相关性系数; 所述控制单元, 用于更新已存储 的待处理程序与所述待处理程序所需的数据间的相关性系数; 所述 确定单元, 还用于根据处理设备的属性参数, 确定所述第一待处理 程序所需 N个数据与 L个处理设备间的关联性系数; 所述控制单元, 还用于更新已存储的数据与处理设备间的关联' f生系数。
结合第二方面的第一种可能的实现方式, 在第二方面的第二种 可能的实现方式中, 所述确定单元, 具体用于根据所述第一待处理 程序所需 N个数据中每一个数据的数据属性参数,对所述第一待处理 程序所需 N个数据排序,依次对排序后的第一待处理程序所需 N个数 据中每一个数据,设置其与所述第一待处理程序间的相关性系数; 其 中, 排序后的所述每一个数据设置的相关性系数间的大小关系, 与所 述每一个数据的数据属性参数间的大小关系相对应。 结合第二方面的第一或第二种可能的实现方式, 在第二方面的 第三种可能的实现方式中, 所述确定单元, 具体用于根据处理设备 的属性参数, 确定所述第一待处理程序所需 N个数据中每一个数据, 在 L个处理设备中每个处理设备中的存储状态; 所述确定单元, 具体 用于在确定出第一数据在第一处理设备中的存储状态为已存储时,设 置所述第一数据与所述第一处理设备间的关联性系数为有效值;在确 定出第一数据在第一处理设备中的存储状态为未存储时,设置所述第 一数据与所述第一处理设备间的关联性系数为无效值; 其中, 所述第 一数据是所述第一待处理程序所需 N个数据中的任一个数据;所述第 一处理设备是所述 L个处理设备中的任一个处理设备。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可 能的实现方式中, 所述确定单元, 具体用于根据所述处理设备的属性 参数, 对至少一个第一处理设备进行排序, 依次对排序后的所述至少 一个第一处理设备中的每一个处理设备,重设其与所述第一数据间的 相关性系数,并更新已存储的数据与处理设备间的关联性系数;其中, 所述第一处理设备是与所述第一数据的关联性系数为有效值的处理 设备; 所述至少一个第一处理设备重设的相关性系数间的大小关系, 跟与所述至少一个第一处理设备的属性参数间的大小关系相对应。
结合第二方面或第二方面的第一至第四任一种可能的实现方 式, 在第二方面的第五种可能的实现方式中, 所述确定单元, 具体 用于根据所述第一待处理程序所需的 N个数据与所述 M个第一处理 设备间的关联性系数, 从所述 M个第一处理设备中, 依次对所述第 一待处理程序所需的 N个数据中的一个数据, 选出其与 M个第一处 理设备的关联性系数中, 关联性系数最大值对应的处理设备; 并将 所述关联性系数最大值对应的处理设备确定为所述数据的备选目标 处理设备。
结合第二方面或第二方面的第一至第五任一种可能的实现方式, 在第二方面的第六种可能的实现方式中, 所述获取单元, 还用于根 据所述第一待处理程序与所述第一待处理程序所需的 N 个数据间的 相关性系数, 及所述第一待处理程序所需的 N 个数据中每一个数据 与其对应的备选目标处理设备间的关联性系数, 获取所述第一待处 理程序所需的 N 个数据中每一个数据对应的备选目标处理设备的可 用性系数; 所述确定单元, 具体用于根据所述第一待处理程序所需 的 N 个数据中每一个数据对应的备选目标处理设备的可用性系数, 将可用性系数最大值对应的备选目标处理设备确定为目标处理设 备。
第三方面, 本发明实施例提供了一种管理设备, 包括: 处理器, 发送器; 所述处理器, 用于在已存储的待处理程序与所述待处理程 序所需的数据间的相关性系数中, 获取第一待处理程序与所述第一 待处理程序所需的 N个数据间的相关性系数; 所述 N为不小于 0的 整数; 所述处理器, 还用于根据每一个处理设备的计算资源, 在 L 个处理设备中确定出 M个第一处理设备; 其中, 所述 L是处理设备 的总个数, M是大于 0不大于 L的整数; 所述处理器, 还用于在已存 储的数据与处理设备间的关联性系数中, 获取第一待处理程序所需 的 N个数据与所述 M个第一处理设备间的关联性系数; 其中, 所述 数据与处理设备间的关联性是指所述数据与存储所述数据的处理设 备间的关联关系; 所述处理器, 还用于根据所述第一待处理程序所 需的 N个数据与所述 M个第一处理设备间的关联性系数, 从所述 M 个第一处理设备中确定出所述 N 个数据中每一个数据对应的备选目 标处理设备; 所述处理器, 还用于在所述 N 个数据中每一个数据对 应的备选目标处理设备中确定出目标处理设备; 所述发送器, 用于 将所述第一待处理程序发送至所述目标处理设备。
在第三方面的第一种可能的实现方式中, 所述处理器, 还用于根 据所述第一待处理程序所需 N个数据中每一个数据的数据属性参数, 确定第一待处理程序与所述第一待处理程序所需 N 个数据间的相关 性系数; 所述处理器, 还用于更新已存储的待处理程序与所述待处 理程序所需的数据间的相关性系数; 所述处理器, 还用于根据处理 设备的属性参数, 确定所述第一待处理程序所需 N个数据与 L个处 理设备间的关联性系数; 所述处理器, 还用于更新已存储的数据与 处理设备间的关联性系数。 结合第三方面的第一种可能的实现方式, 在第三方面的第二种 可能的实现方式中, 所述处理器, 具体用于根据所述第一待处理程 序所需 N个数据中每一个数据的数据属性参数,对所述第一待处理程 序所需 N个数据排序,依次对排序后的第一待处理程序所需 N个数据 中每一个数据,设置其与所述第一待处理程序间的相关性系数;其中, 排序后的所述每一个数据设置的相关性系数间的大小关系,与所述每 一个数据的数据属性参数间的大小关系相对应。 结合第三方面的第一或第二种可能的实现方式, 在第三方面的 第三种可能的实现方式中, 所述处理器, 具体用于根据处理设备的 属性参数, 确定所述第一待处理程序所需 N个数据中每一个数据, 在 L个处理设备中每个处理设备中的存储状态; 所述处理器, 具体用于 在确定出第一数据在第一处理设备中的存储状态为已存储时,设置所 述第一数据与所述第一处理设备间的关联性系数为有效值;在确定出 第一数据在第一处理设备中的存储状态为未存储时,设置所述第一数 据与所述第一处理设备间的关联性系数为无效值; 其中, 所述第一数 据是所述第一待处理程序所需 N个数据中的任一个数据;所述第一处 理设备是所述 L个处理设备中的任一个处理设备。 结合第三方面的第三种可能的实现方式,在第三方面的第四种可 能的实现方式中, 所述处理器, 具体用于根据所述处理设备的属性参 数, 对至少一个第一处理设备进行排序,依次对排序后的所述至少一 个第一处理设备中的每一个处理设备,重设其与所述第一数据间的相 关性系数, 并更新已存储的数据与处理设备间的关联性系数; 其中, 所述第一处理设备是与所述第一数据的关联性系数为有效值的处理 设备; 所述至少一个第一处理设备重设的相关性系数间的大小关系, 跟与所述至少一个第一处理设备的属性参数间的大小关系相对应。
结合第三方面或第三方面的第一至第四任一种可能的实现方式, 在第三方面的第五种可能的实现方式中, 所述处理器, 具体用于根 据所述第一待处理程序所需的 N个数据与所述 M个第一处理设备间 的关联性系数, 从所述 M 个第一处理设备中, 依次对所述第一待处 理程序所需的 N个数据中的一个数据, 选出其与 M个第一处理设备 的关联性系数中, 关联性系数最大值对应的处理设备; 并将所述关 联性系数最大值对应的处理设备确定为所述数据的备选目标处理设 备。
结合第三方面或第三方面的第一至第五任一种可能的实现方式, 在第三方面的第六种可能的实现方式中, 所述处理器, 还用于根据 所述第一待处理程序与所述第一待处理程序所需的 N 个数据间的相 关性系数, 及所述第一待处理程序所需的 N 个数据中每一个数据与 其对应的备选目标处理设备间的关联性系数, 获取所述第一待处理 程序所需的 N 个数据中每一个数据对应的备选目标处理设备的可用 性系数; 所述处理器, 具体用于根据所述第一待处理程序所需的 N 个数据中每一个数据对应的备选目标处理设备的可用性系数, 将可 用性系数最大值对应的备选目标处理设备确定为目标处理设备。
本发明实施例提供一种优化的调度方法及管理设备,管理设备首 先在已存储的待处理程序与所述待处理程序所需的数据间的相关性 系数中, 获取第一待处理程序与所述第一待处理程序所需的 N 个数 据间的相关性系数, 然后根据每一个处理设备的计算资源, 在 L 个 处理设备中确定出 M 个第一处理设备, 并且在已存储的数据与处理 设备间的关联性系数中, 获取第一待处理程序所需的 N 个数据与所 述 M 个第一处理设备间的关联性系数, 接着根据所述第一待处理程 序所需的 N个数据与所述 M个第一处理设备间的关联性系数, 从所 述 M个第一处理设备中确定出所述 N个数据中每一个数据对应的备 选目标处理设备, 最终从所述 N 个备选目标处理设备中选择目标处 理设备, 将所述第一待处理程序调度到目标处理设备执行。 从而实 现了将所述待处理程序调度到了与所述待处理程序所需的数据的可 用性最大的处理设备中执行, 减少了该待处理程序需要从网络中传 输的数据, 进而降低了网络流量, 缩短了待处理程序的处理时间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或 现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下 面描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术 人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获 得其他的附图。
图 1为本发明实施例提供的一种优化的调度方法的流程示意图; 图 2 为本发明实施例提供的另一种优化的调度方法的流程示意 图;
图 3为本发明实施例提供的一种管理设备的功能示意图; 图 4为本发明实施例提供的另一种管理设备的功能示意图; 图 5为本发明实施例提供的一种管理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方 案进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一 部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领 域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实 施例, 都属于本发明保护的范围。
本发明实施例提供了一种优化的调度方法, 如图 1所示, 包括:
1 01、 在已存储的待处理程序与所述待处理程序所需的数据间的 相关性系数中,获取第一待处理程序与所述第一待处理程序所需的 N 个数据间的相关性系数。
其中, 所述 N为不小于 0的整数。
具体的,管理设备中已经存储了各个待处理程序与每一个处理设 备上存储的数据之间的相关性系数, 在第一待处理程序需要进行处 理时, 管理设备会根据所述第一待处理程序知道所述第一待处理程 序需要使用的数据, 然后在已经存储了各个处理程序与每一个处理 设备上存储的数据之间的相关性系数中, 查找出所述第一待处理程 序与所述第一待处理程序所需的 N个数据间的相关性系数。
需要说明的是, 所述第一待处理程序是所有待处理程序中的一 个。 所述第一待处理程序就是当前正要进行调度的处理程序。
需要说明的是,每一个待处理程序在进行调度之前会先由管理设 备进行创建, 管理设备在创建处理程序时会按照既定策略确定该处 处理程序与每一个处理设备中所存储的数据之间的相关性关系可以 么该处理设备与该存储数据之间的相关性系数也就越大。
需要说明的是,每一个待处理程序在进行调度之前必须经过管理 设备创建, 每一个待处理程序在管理设备进行创建之后可以反复被 调用。
需要说明的是, 在待处理程序进行调度之前, 每一个处理设备上 存储的数据已经随机或按照一定规则存储在各个处理设备中。
需要说明的是, 每一个处理设备既可以处理程序, 也可以存储数 据。
1 02、 根据每一个处理设备的计算资源, 在 L个处理设备中确定 出 M个第一处理设备。
其中,所述 L是处理设备的总个数, M是大于 0不大于 L的整数。 具体的,管理设备需要先判断所述所有 L个处理设备中的那些设 备能够有处理该待处理程序的能力。 管理设备根据总的 L 个处理设 备中每一个处理设备的计算资源, 确定哪些处理设备能够处理所述 第一待处理程序。
需要说明的是,所述 M个第一处理设备就是从 L个处理设备中能 够处理所述第一待处理程序的所有处理设备。 所以, 选取出的第一 处理设备的个数 M的值一定是不大于所述处理设备的总个数 L 的值 的正整数。
需要说明的是,管理设备选择能够处理该待处理程序的处理设备 的方法与现有技术相同。 具体的, 由于每一个待处理程序的处理复 杂度的不同, 有的处理设备可以处理该待处理程序, 有的设备不能 处理该待处理程序, 所以需要判断出能够处理该待处理程序的处理 设备。
1 0 3、 在已存储的数据与处理设备间的关联性系数中, 获取第一 待处理程序所需的 N个数据与所述 M个第一处理设备间的关联性系 数。
具体的, 管理设备在进行数据存储时, 会根据预先设定的策略确 定出每一个数据与所述 L 个存储设备之间的关联性系数, 然后将每 一个数据与每一个处理设备间的关联性系数存储下来。 当确定出所 述第一待处理程序所需的 N 个数据和所述能够处理所述第一待处理 程序的 M 个处理设备之后, 管理设备需要在已经存储的数据与处理 设备间的关联性系数中, 查找出第一待处理程序所需的 N 个数据中 每一个数据与所述 M 个第一处理设备中每一个处理设备之间的关联 性系数。
也就是说, 管理设备在执行此步骤之后, 会查找出 Ν χ Μ个数据 与处理设备之间的关联性系数。 其中, 所述 N 个数据中每一个数据 都能查找出该数据相对应的与所述 M个处理设备之间的关联性系数。 此时, 管理设备就可以根据第一待处理程序与存储数据的相关性和 存储数据与处理设备之间的关联性, 得出第一待处理程序在考虑数 据存储位置后与处理设备之间的关系。
需要说明的是,所述数据与处理设备间的关联性系数表示所述数 据与各处理设备间的关联关系, 所述数据与处理设备间的关联性系 数越大, 则表示该数据与该处理设备之间的关联性越大。
需要说明的是, 所述第一待处理程序所需的数据个数 N的值, 与 能够处理所述第一待处理程序的所述第一处理设备个数 M 的值之间 没有关系。
1 04、 根据所述第一待处理程序所需的 N个数据与所述 M个第一 处理设备间的关联性系数,从所述 M个第一处理设备中确定出所述 N 个数据中每一个数据对应的备选目标处理设备。
进一步的,根据所述第一待处理程序所需的 N个数据与所述 M个 第一处理设备间的关联性系数, 从所述 M 个第一处理设备中, 依次 对所述第一待处理程序所需的 N 个数据中的一个数据, 选出其与 M 个第一处理设备的关联性系数中, 关联性系数最大值对应的处理设 备, 并将所述关联性系数最大值对应的处理设备确定为所述数据的 备选目标处理设备。
也就是说,对于所述第一待处理程序所需的 N个数据中的每一个 数据来说, 管理设备需要从该数据与所述 M个处理设备之间的 M个 关联性系数中, 选取关联性系数最大值对应的处理设备作为该数据 的备选目标处理设备。
需要说明的是,所述第一待处理程序所需的每一个数据对应的备 选目标处理设备是所述 M 个第一处理设备中与该数据关联性最大的 处理设备。
需要说明的是, 在执行本步骤之后, 管理设备将会确定出来 N个 备选目标处理设备, 所述第一待处理程序所需的 N 个数据中的每一 个数据对应一个备选目标处理设备。
需要说明的是,对于所述第一待处理程序所需的 N个数据中的不 同的数据来说, 所确定出的该数据对应的备选目标处理设备与另一 数据对应的备选目标处理设备可能相同, 也可能不同。 也就是说, 所述 N 个备选目标处理设备中可能会有多个数据对应的备选目标处 理设备是同一处理设备的情况。
1 05、 在所述 N个数据中每一个数据对应的备选目标处理设备中 确定出目标处理设备。
具体的, 根据确定目标处理设备时考虑的因素不同, 管理设备在 所述 N 个备选目标处理设备中确定出出目标处理设备可以分为两种 情况。
第一种情况,在所述 N个数据中每一个数据对应的备选目标处理 设备中, 任意选取一个备选目标处理设备确定为目标处理设备。
需要说明的是, 在已经确定出的 N个备选目标处理设备中, 每一 个目标处理设备的选定已经考虑了所述第一待处理程序所需的数据 与所述处理设备之间的关联性, 所以, 此时从所述 N 个备选目标处 理设备任意选出一个处理设备为目标处理设备的方法, 相比于不考 虑待处理程序与所述待处理程序所需数据存储的位置选目标处理设 备的方法来说已经有很大优化。 第二种情况,在所述 N个数据中每一个数据对应的备选目标处理 设备中确定出目标处理设备之前, 根据所述第一待处理程序与所述 第一待处理程序所需的 N 个数据间的相关性系数, 及所述第一待处 理程序所需的 N 个数据中每一个数据与其对应的备选目标处理设备 间的关联性系数, 获取所述第一待处理程序所需的 N 个数据中每一 个数据对应的备选目标处理设备的可用性系数。 然后, 根据所述第 一待处理程序所需的 N 个数据中每一个数据对应的备选目标处理设 备的可用性系数, 将可用性系数最大值对应的备选目标处理设备确 定为目标处理设备。
具体的,管理设备根据所述第一待处理程序与所述第一待处理程 序所需的 N个数据间的相关性系数,及所述第一待处理程序所需的 N 个数据中每一个数据与其对应的备选目标处理设备间的关联性系 数, 可以通过一定的算法计算出所述第一待处理程序所需的 N 个数 据中每一个数据对应的备选目标处理设备的可用性系数。 然后根据 计算出第一待处理程序所需的 N 个数据中每一个数据对应的备选目 标处理设备的可用性系数进行排序, 将可用性系数最大值对应的备 选目标处理设备确定为最终的目标处理设备。
需要说明的是,管理设备通过一定的算法计算出所述第一待处理 程序所需的 N 个数据中每一个数据对应的备选目标处理设备的可用 性系数, 可以为将所述第一待处理程序与所述第一待处理程序所需 的 N个数据间的相关性系数, 加上所述第一待处理程序所需的 N个 数据中每一个数据与其对应的备选目标处理设备间的关联性系数之 和, 作为所述第一待处理程序所需的 N 个数据中每一个数据对应的 备选目标处理设备的可用性系数。 或者, 也可以为将所述第一待处 理程序与所述第一待处理程序所需的 N 个数据间的相关性系数乘以 一个加权系数, 所述第一待处理程序所需的 N 个数据中每一个数据 与其对应的备选目标处理设备间的关联性系数乘以另一个加权系 数, 然后作和, 得出的值作为所述第一待处理程序所需的 N 个数据 中每一个数据对应的备选目标处理设备的可用性系数。 或者是其他 的算法, 本发明对此不作限制。
需要说明的是,根据所述第一待处理程序所需的 N个数据中每一 个数据对应的备选目标处理设备的可用性系数选择目标处理设备, 是综合考虑了所述第一待处理程序与所述第一待处理程序所需的 N 个数据间的相关性, 及所述第一待处理程序所需的 N 个数据中每一 个数据与其对应的备选目标处理设备间的关联性, 而选择出的目标 处理设备, 所以所述目标处理设备是与所述第一待处理程序在考虑 数据存储位置来说最优的处理设备。
1 06、 将所述第一待处理程序发送至所述目标处理设备。
需要说明的是,将所述第一待处理程序发送至所述目标处理设备 的过程, 就是所述第一待处理程序进行调度的过程。
需要说明的是,所述第一待处理程序进行调度的过程和现有技术 中将第一待处理程序调度到处理设备的方法相同, 在此不再说明。
需要说明的是,将所述第一待处理程序调度到所述目标处理设备 后, 所述第一待处理程序需要在所述目标设备上执行, 此时, 除了 所述待处理设备上存储的所述第一待处理程序所需的数据外, 所述 第一待处理程序所需的其他数据仍然需要通过系通过内部的网络进 行调用。
本发明实施例提供了一种优化的调度方法,管理设备首先在已存 储的待处理程序与所述待处理程序所需的数据间的相关性系数中, 获取第一待处理程序与所述第一待处理程序所需的 N 个数据间的相 关性系数, 然后根据每一个处理设备的计算资源, 在 L 个处理设备 中确定出 M 个第一处理设备, 并且在已存储的数据与处理设备间的 关联性系数中, 获取第一待处理程序所需的 N个数据与所述 M个第 一处理设备间的关联性系数,接着根据所述第一待处理程序所需的 N 个数据与所述 M个第一处理设备间的关联性系数, 从所述 M个第一 处理设备中确定出所述 N 个数据中每一个数据对应的备选目标处理 设备, 最终从所述 N 个备选目标处理设备中选择目标处理设备, 将 所述第一待处理程序调度到目标处理设备执行。 从而实现了将所述 待处理程序调度到了与所述待处理程序所需的数据的可用性最大的 处理设备中执行, 减少了该待处理程序需要从网络中传输的数据, 进而降低了网络流量, 缩短了待处理程序的处理时间。
本发明实施例提供了一种优化的调度方法, 如图 2所示, 包括:
2 0 1、 根据所述第一待处理程序所需 N个数据中每一个数据的数 据属性参数, 确定第一待处理程序与所述第一待处理程序所需 N 个 数据间的相关性系数, 并更新在已存储的待处理程序与所述待处理 程序所需的数据间的相关性系数。
需要说明的是,管理设备在创建第一待处理程序时会给定所述第 一待处理程序所需的数据, 以便在第一待处理程序需要进行调度时 只要判断出所需要处理的程序为哪一个待处理程序, 就可以知道所 述待处理程序所需的数据。
需要说明的是,管理设备仅设置第一待处理程序与所述第一待处 理程序所需数据间的相关性系数, 而不设置第一待处理程序与其他 数据间的相关性系数, 从而可以降低算法的计算量。 进一步的, 管理设备可以根据所述第一待处理程序所需 N 个数 据中每一个数据的数据属性参数,对所述第一待处理程序所需 N个数 据排序, 依次对排序后的第一待处理程序所需 N 个数据中每一个数 据,设置其与所述第一待处理程序间的相关性系数, 并更新已存储的 待处理程序与所述待处理程序所需的数据间的相关性系数。 其中, 所 述排序后的第一待处理程序所需 N 个数据中每一个数据设置的相关 性系数间的大小关系,与所述第一待处理程序所需 N个数据中每一个 数据的数据属性参数间的大小关系相对应。
可选的, 所述数据属性参数包括: 数据的访问频率, 数据的读写 比例, 数据的优先级中的至少一项。
需要说明的是,所述数据属性参数还可以包括其他能用来确定数 据与待处理程序间的相关性系数的其他信息, 本发明对此不做限制。
具体的, 在数据属性参数为数据的访问频率时, 管理设备可以 根据所述第一待处理程序所需 N个数据中的每一个数据被访问的历 史积累次数算出每一个数据的访问频率, 然后根据每一个数据的访 问频率的大小, 对所述第一待处理程序所需的 N个数据进行排序, 接着,将所述 N个数据中访问频率值最大的数据与第一待处理程序间 的相关性系数设为所述第一待处理程序与所述第一待处理程序所需
N个数据间的相关性系数中的最大值, 将所述 N个数据中访问频率值 次大的数据与第一待处理程序间的相关性系数设为所述第一待处理 程序与所述第一待处理程序所需 N 个数据间的相关性系数中的次大 值,依照此规律, 直至确定出第一待处理程序与所述第一待处理程序 所需 N 个数据间的相关性系数。 例如, 所述第一待处理程序所需的 数据为数据 A与数据 B, 数据 A历史记录中被访问过 1 000次, 数据 B历史记录中被访问过 2 000次, 管理设备可以根据数据 A与数据 B 历史记录中的访问次数, 将所述数据 A的访问频率设置为 1 000, 数 据 B的访问频率设置为 2000, 然后根据数据的访问频率将数据 A、 B 降序排列, 得出的排列顺序为数据 ^ 数据 A,接着, 将根据排列顺 序, 将第一待处理程序与访问频率值最大的数据 B间的相关性系数 设为所有相关性系数中的最大值 1, 将第一待处理程序与访问频率 值次大的数据 A 间的相关性系数设为所有相关性系数中的次大值 0. 9。 或者, 在数据属性参数为数据的读写比例时, 管理设备可以根 据待处理程序处理所需数据的处理方式(读操作或写操作), 确定出 待处理程序所需 N个数据中的每一个数据以该处理方式被调用的比 例, 然后, 根据每一个数据以该处理方式被调用的比例对待处理程 序所需 N个数据进行排序, 接着, 将所述 N个数据中以该处理方式 被调用的比例最大的数据与第一待处理程序间的相关性系数设为所 述第一待处理程序与所述第一待处理程序所需 N 个数据间的相关性 系数中的最大值, 将所述 N 个数据中以该处理方式被调用的比例次 大的数据与第一待处理程序间的相关性系数设为所述第一待处理程 序与所述第一待处理程序所需 N个数据间的相关性系数中的次大值, 依照此规律,直至确定出第一待处理程序与所述第一待处理程序所需 N个数据间的相关性系数。 例如, 所述第一待处理程序需要对数据进 行读操作, 所述第一待处理程序所需的数据为数据 A与数据 B, 数 据 A历史记录中被调用过 1 000次, 其中读操作 9 00次, 数据 B历史 记录中被调用过 2000次, 其中读操作 1 5 00次, 管理设备可以根据 数据 A、 B历史记录中被调用的总次数与读操作的次数相除, 得出数 据 A的读比例为 0. 9, 数据 B的读比例为 0. 75, 然后根据数据 A、 B 的读比例, 将数据 A、 B降序排列, 得出的排列顺序为数据 、 数据 B,接着, 将根据排列顺序, 将第一待处理程序与读比例最大的数据 A间的相关性系数设为所有相关性系数中的最大值 0. 9,将第一待处 理程序与读比例次大的数据 B间的相关性系数设为所有相关性系数 中的次大值 0. 75。 或者, 在数据属性参数为数据的优先级时, 管理设备可以根据 第一待处理程序对其所需数据的需求程度大小, 确定出数据的优先 级, 然后, 根据数据的优先级对所述第一待处理程序所需的 N个数 据进行排序, 接着, 将所述 N 个数据中数据的优先级值最大的数据 与第一待处理程序间的相关性系数设为所述第一待处理程序与所述 第一待处理程序所需 N个数据间的相关性系数中的最大值, 将所述 N 个数据中数据的优先级值次大的数据与第一待处理程序间的相关性 系数设为所述第一待处理程序与所述第一待处理程序所需 N 个数据 间的相关性系数中的次大值, 依照此规律, 直至确定出第一待处理程 序与所述第一待处理程序所需 N个数据间的相关性系数。 例如, 第一 待处理程序所需的数据为数据 A与数据 B,所需数据的 80%来自数据 A, 所需数据的 20%来自数据 B, 则将数据 A的优先级值设为 0. 8, 数据 B的优先级值设为 0. 2, 然后根据数据 A、 B的优先级值, 将数 据 A、 B降序排列, 得出的排列顺序为数据 、 数据 B,接着, 将根据 排列顺序, 将第一待处理程序与优先级值最大的数据 A 间的相关性 系数设为所有相关性系数中的最大值 0. 8, 将第一待处理程序与优 先级值次大的数据 B间的相关性系数设为所有相关性系数中的次大 值 0. 2。
或者, 在数据属性参数为数据的访问频率和数据的读写比例时, 管理设备可以根据数据的访问频率为第一待处理程序所需 N 个数据 中的每一个数据设定第一系数, 具体的, 可参考在数据属性参数为 数据的访问频率时,管理系统设置数据与所述第一待处理程序间的相 关 ' f生系数的过程, 再根据待处理程序处理所需数据的处理方式(读操 作或写操作) 为第一待处理程序所需 N 个数据中的每一个数据设定 第二系数, 具体的, 可参考在数据属性参数为数据的读写比例时, 管理系统设置数据与所述第一待处理程序间的相关性系数的过程, 继 而每一数据的将第一系数与第二系数相乘得出第一待处理程序与该 数据的相关性系数。 例如, 第一待处理程序需要对数据进行读操作, 并且所需的数据为数据 A与数据 B。数据 A的历史记录中被访问的次 数为 1 000次, 其中, 读操作 900次, 数据 B的历史记录中被访问的 次数为 900次, 其中, 读操作 450次, 则将所述数据 A的第一系数 设为 1 ; 则将所述数据 B的第一系数设为 0. 9。 接着, 将数据 A的第 二系数设为 0. 9 ; 数据 B将数据 B的第二系数设为 0. 5。 最后, 将数 据 A的第一系数与第二系数相乘得出数据 A与第一待处理程序之间 的相关性系数, 为 0. 9, 将数据 B的第一系数与第二系数相乘得出数 据 B与第一待处理程序之间的相关性系数, 为 0. 45。
或者, 在数据属性参数为数据的访问频率和数据的优先级时, 管 理设备可以根据数据的访问频率为第一待处理程序所需 N 个数据中 的每一个数据设定第一系数, 具体的, 可参考在数据属性参数为数 据的访问频率时,管理系统设置数据与所述第一待处理程序间的相关 性系数的过程,再根据第一待处理程序对不同数据的优先级设定第二 系数, 具体的, 可参考在数据属性参数为数据的优先级时, 管理系 统设置数据与所述第一待处理程序间的相关性系数的过程, 继而每一 数据的将第一系数与第二系数相乘得出第一待处理程序与该数据的 相关性系数。 例如, 第一待处理程序需要对数据进行读操作, 并且 所需的数据为数据 A与数据 B, 其中, 所需数据的 80%来自数据 A, 20%来自数据 B数据 A的历史记录中被访问的次数为 1000次,数据 B 的历史记录中被访问的次数为 900次, 则将所述数据 A 的第一系数 设为 1, 将所述数据 B的第一系数设为 0. 9。 接着, 将数据 A的第二 系数设为 0. 8, 将数据 B的第二系数设为 0. 2。 最后, 将数据 A的第 一系数与第二系数相乘得出数据 A 与第一待处理程序之间的相关性 系数, 为 0. 8, 将数据 B的第一系数与第二系数相乘得出数据 B与第 一待处理程序之间的相关性系数, 为 0. 18。 或者, 在数据属性参数为数据的读写比例和数据的优先级时, 管 理设备可以根据待处理程序处理所需数据的处理方式 (读操作或写 操作) 为第一待处理程序所需 N 个数据中的每一个数据设定第一系 数, 具体的, 可参考在数据属性参数为数据的读写比例时, 管理系 统设置数据与所述第一待处理程序间的相关性系数的过程, 再根据第 一待处理程序对不同数据的需求程度设定第二系数, 具体的, 可参 考在数据属性参数为数据的优先级时,管理系统设置数据与所述第一 待处理程序间的相关性系数的过程,继而每一数据的将第一系数与第 二系数相乘得出第一待处理程序与该数据的相关性系数。 例如, 第 一待处理程序需要对数据 A与数据 B进行读操作,其所需数据的 80% 来自数据 A, 20%来自数据 B, 数据 A历史记录中被调用过 1 000次, 其中读操作 900次, 数据 B历史记录中被调用过 2000次, 其中读操 作 1500次, 则可以将数据 A的第一系数设为 0. 9, 数据 B的第一系 数设为 0. 75。 接着, 则可以将数据 A的第二系数设为 0. 8;将数据 B 的第二系数设为 0. 2。 最后, 将数据 A的第一系数与第二系数相乘得 出数据 A与第一待处理程序之间的相关性系数, 为 0. 72, 将数据 B 的第一系数与第二系数相乘得出数据 B 与第一待处理程序之间的相 关性系数, 为 0. 15。
或者, 在数据属性参数为数据的访问频率、 数据的读写比例和数 据的优先级时, 首先, 管理设备可以根据数据的访问频率为第一待 处理程序所需 N 个数据中的每一个数据设定第一系数, 具体的, 可 参考在数据属性参数为数据的访问频率时,管理系统设置数据与所述 第一待处理程序间的相关性系数的过程,再根据第一待处理程序对不 同数据的需求程度设定第二系数, 具体的, 可参考在数据属性参数 为数据的需求程度时,管理系统设置数据与所述第一待处理程序间的 相关性系数的过程, 接着, 可以根据第一待处理程序对不同数据的优 先级, 设定第三系数, 具体的, 可参考在数据属性参数为数据的优 先级时, 管理系统设置数据与所述第一待处理程序间的相关性系数的 过程, 继而每一数据的将第一系数与第二系数相乘得出第一待处理 程序与该数据的相关性系数。 最后, 在生成数据与第一待处理程序 间的相关性系数时, 主要考虑数据的访问频率, 次要考虑数据的读 写比例和优先级, 那么就可以将数据的第一系数乘以加权值 0. 6, 数 据的第二系数乘以加权值 0. 2, 数据的第三系数乘以加权值 0. 2, 再 将各数据乘以加权值后的数值相加得出的值为确定出的该数据与第 一待处理程序间的相关性系数。 例如, 第一待处理程序需要对所需 的数据 A与数据 B进行读操作, 数据 A的历史记录中被访问过 1000 次, 其中, 读操作 900次, 且第一待处理程序所需的数据 80%来自数 据 A; 数据 B的历史记录中被访问过 2000次,其中,读操作 1500次, 且第一待处理程序所需的数据 20%来自数据 A.那么管理设备就可以 首先将数据 A的第一系数设为 0. 9,数据 B的第一系数设为 1 ; 然后, 将数据 A的第二系数设为 0. 9, 数据 B的第二系数设为 0. 75 ; 接着, 将数据 A的第三系数设为 0. 8, 数据 B的第三系数设为 0. 2 ; 最终将 数据 A的第第一系数乘以 0. 6加上数据 A的第二系数乘以 0. 2再加 上数据 A的第三系数乘以 0. 2,算出数据 A与第一待处理程序间的相 关性系数为 0. 88, 同样的方法, 可以算出数据 A与第一待处理程序 间的相关性系数为 0. 79。
需要说明的是, 为了确保执行任务的可靠性, 一般会将对待处理 程序来说比较重要的值拷贝为多个副本存放在不同的处理设备中。 当一个数据有多个副本时, 可以将同一个数据的所有副本与所述第 一待处理程序之间的相关性系数设置成相同的, 也可以按照数据的 完整性, 和 /或数据的读写比例将所述同一个数据的不同副本与所述 第一待处理程序之间的相关性系数设置成不相同的。
需要说明的是, 管理设备创建的待处理程序不止一个, 在每次创 建新的待处理程序时,都需要根据所述第一待处理程序所需 N个数据 中每一个数据的数据属性参数,确定待处理程序与所述待处理程序所 需数据间的相关性系数, 并将确定下来的相关性系数存储下来, 即 更新在已存储的待处理程序与所述待处理程序所需的数据间的相关 性系数。 也就是说,管理设备会存储每一个待处理程序与每一个待处理程 序所需数据间的相关性关系。
需要说明的是, 所述 N可以大于 0, 也可以为 0。 所述 N大于 0 表示所述第一待处理程序与已经存储的数据有关联, 此时, 可以在 已存储的待处理程序与所述待处理程序所需的数据间的相关性系数 中, 获取第一待处理程序与所述第一待处理程序所需的 N 个数据间 的相关性系数。 所述 N为 0表示所述第一待处理程序与已经存储的 数据没有关联或没有设置关联关系, 也就是说, 所述第一待处理程 序与所有处理设备之间没有数据上的关联, 此时, 管理设备可以将 所述第一待处理程序与每一个处理设备中所存储的数据之间的相关 性系数设置为 0。
2 02、 根据处理设备的属性参数, 确定所述第一待处理程序所需 N个数据与 L个处理设备间的关联性系数,并更新已存储的数据与处 理设备间的关联性系数。
需要说明的是,管理设备在创建待处理程序时会确定该待处理程 序所需数据存放的位置, 然后根据处理设备的属性参数确定所述待 处理程序所需 N个数据与所有的 L个处理设备间的关联性系数。
可选的, 所述处理设备的属性参数包括: 数据在处理设备的存储 状态。
具体的, 管理设备可以根据处理设备的属性参数, 确定所述第一 待处理程序所需 N个数据中每一个数据,在 L个处理设备中每个处理 设备中的存储状态, 然后, 在确定出第一数据在第一处理设备中的存 储状态为已存储时,设置所述第一数据与所述第一处理设备间的关联 性系数为有效值;在确定出第一数据在第一处理设备中的存储状态为 未存储时,设置所述第一数据与所述第一处理设备间的关联性系数为 无效值。 例如, 第一待处理程序所需的数据为数据 A与数据 B,能够 处理该待处理程序的处理设备为处理设备 a 与处理设备 b, 首先, 确定出数据 A存储于处理设备 a中, 数据 B存储于处理设备 b中, 然后, 将数据 A与处理设备 a间的关联性系数可以设置为 1, 数据 A 与处理设备 b间的关联性系数可以设置为 0 ,将数据 B与处理设备 a 间的关联性系数可以设置为 0, 数据 B与处理设备 b间的关联性系 数可以设置为 1。
进一步的, 所述处理设备的属性参数包括: 数据在处理设备的存 储状态及处理设备的计算能力。
具体的, 管理设备可以根据所述处理设备的属性参数, 对与所述 第一数据的关联性系数为有效值的处理设备进行排序, 依次对排序后 的与所述第一数据的关联' )·生系数为有效值的处理设备中的每一个处 理设备, 重设其与所述第一数据间的相关性系数。 例如, 管理设备在 确定数据已经存储与处理设备的情况下, 根据每个处理设备的 SPEC ( t he S tanda rd Per f ormance Eva l ua t i on Cor pora t i on标准性能评 估测试) i nt (整数类型) 值对处理设备进行排序, 继而确定出数据 与处理设备间的关联性系数。 例如, 第一待处理程序所需的数据为 数据 A与数据 B, 其中, 所述数据 A存储于处理设备 1中, 处理设备 1 的 SPEC in t值为 800, 所述数据 B存储于处理设备 1 中, 处理设 备 1的 SPEC i n t值为 500。 管理设备根据处理设备 1与处理设备 1 的 SPEC i n t值对处理设备进行降序排列, 得出排序为处理设备 1、 处理设备 2, 然后根据排序, 依次将数据 A与处理设备 1间的关联性 系数为 0. 8, 数据 B与处理设备 2间的关联性系数为 0. 5。
需要说明的是,所述处理设备的属性参数还可以包括其他能用来 确定数据与待处理程序间的相关性系数的其他信息, 本发明对此不 作限制。
需要说明的是, 管理设备在每创建一个待处理程序时, 都会执行 一遍此步骤, 来确定所述第一待处理程序所需 N个数据与 L个处理 设备间的关联性系数, 并将确定下来的关联性系数存储下来, 即更 新已存储的数据与处理设备间的关联' f生系数。
203、 在已存储的待处理程序与所述待处理程序所需的数据间的 相关性系数中,获取第一待处理程序与所述第一待处理程序所需的 N 个数据间的相关性系数。
具体的, 可参考步骤 1 01, 在此不再赘述。 204、 根据每一个处理设备的计算资源, 在 L个处理设备中确定 出 M个第一处理设备。
具体的, 可参考步骤 1 02, 在此不再赘述。
205、 在已存储的数据与处理设备间的关联性系数中, 获取第一 待处理程序所需的 N个数据与所述 M个第一处理设备间的关联性系 数。
具体的, 可参考步骤 1 03, 在此不再赘述。
206、 根据所述第一待处理程序所需的 N个数据与所述 M个第一 处理设备间的关联性系数,从所述 M个第一处理设备中确定出所述 N 个数据中每一个数据对应的备选目标处理设备。
具体的, 可参考步骤 1 04, 在此不再赘述。
207、 在所述 N个数据中每一个数据对应的备选目标处理设备中 确定出目标处理设备。
具体的, 可参考步骤 1 05, 在此不再赘述。
208、 将所述第一待处理程序发送至所述目标处理设备。
具体的, 可参考步骤 1 06, 在此不再赘述。
本发明实施例提供了一种优化的调度方法,管理设备首先在已存 储的待处理程序与所述待处理程序所需的数据间的相关性系数中, 获取第一待处理程序与所述第一待处理程序所需的 N 个数据间的相 关性系数, 然后根据每一个处理设备的计算资源, 在 L 个处理设备 中确定出 M 个第一处理设备, 并且在已存储的数据与处理设备间的 关联性系数中, 获取第一待处理程序所需的 N个数据与所述 M个第 一处理设备间的关联性系数,接着根据所述第一待处理程序所需的 N 个数据与所述 M个第一处理设备间的关联性系数, 从所述 M个第一 处理设备中确定出所述 N 个数据中每一个数据对应的备选目标处理 设备, 最终从所述 N 个备选目标处理设备中选择目标处理设备, 将 所述第一待处理程序调度到目标处理设备执行。 从而实现了将所述 待处理程序调度到了与所述待处理程序所需的数据的可用性最大的 处理设备中执行, 减少了该待处理程序需要从网络中传输的数据, 进而降低了网络流量, 缩短了待处理程序的处理时间。
如图 3所示,本发明实施例提供了一种管理设备的功能示意图, 参考图 3所示, 该管理设备包括: 获取单元 301, 确定单元 302, 发 送单元 303。
所述获取单元 301, 用于在已存储的待处理程序与所述待处理程 序所需的数据间的相关性系数中, 获取第一待处理程序与所述第一 待处理程序所需的 N个数据间的相关性系数。
其中, 所述 N为不小于 0的整数。
具体的,管理设备中已经存储了各个待处理程序与每一个处理设 备上存储的数据之间的相关性系数, 在第一待处理程序需要进行处 理时, 管理设备会根据所述第一待处理程序知道所述第一待处理程 序需要使用的数据, 然后所述获取单元 301 在已经存储了各个处理 程序与每一个处理设备上存储的数据之间的相关性系数中根据所述 查找出所述第一待处理程序与所述第一待处理程序所需的 N 个数据 间的相关性系数。
需要说明的是, 所述第一待处理程序是所有待处理程序中的一 个。 所述第一待处理程序就是当前正要进行调度的处理程序。
需要说明的是,每一个待处理程序在进行调度之前会先由管理设 备进行创建, 管理设备在创建处理程序时所述确定单元 302 会按照 既定策略确定该处理程序与每一个处理设备中所存储的数据之间的 相关性关系。 此时, 处理程序与每一个处理设备中所存储的数据之 间的相关性关系可以用相关性系数表示, 处理设备与存储的数据之 间的相关性越大, 那么该处理设备与该存储数据之间的相关性系数 也就越大。
需要说明的是,每一个待处理程序在进行调度之前必须经过管理 设备创建, 每一个待处理程序在管理设备进行创建之后可以反复被 调用。
需要说明的是, 在待处理程序进行调度之前, 每一个处理设备上 存储的数据已经随机或按照一定规则存储在各个处理设备中。 需要说明的是, 每一个处理设备既可以处理程序, 也可以存储数 据。
所述确定单元 3 02, 还用于根据每一个处理设备的计算资源, 在
L个处理设备中确定出 M个第一处理设备。
其中,所述 L是处理设备的总个数, M是大于 0不大于 L的整数。 具体的,确定单元 302需要先判断所述所有 L个处理设备中的那 些设备能够有处理该待处理程序的能力。 确定单元 3 02 根据总的 L 个处理设备中每一个处理设备的计算资源来确定哪些处理设备能够 处理所述第一待处理程序。
需要说明的是,所述 M个第一处理设备就是从 L个处理设备中确 定出来的能够处理所述第一待处理程序的所有处理设备。 所以, 选 取出的第一处理设备的个数 M 的值一定是不大于所述处理设备的总 个数 L的值的正整数。
需要说明的是,确定单元 302选择能够处理该待处理程序的处理 设备的方法与现有技术相同。 具体的, 由于每一个待处理程序的处 理复杂度的不同, 有的处理设备可以处理该待处理程序, 有的设备 不能处理该待处理程序, 所以需要判断出能够处理该待处理程序的 处理设备。 性系数中, 获取第一待处理程序所需的 N个数据与所述 M个第一处 理设备间的关联性系数。
其中,所述数据与处理设备间的关联性是指所述数据与存储所述 数据的处理设备间的关联关系。
具体的, 管理设备在进行数据存储时, 确定单元 3 02会根据预先 设定的策略确定出每一个数据与所述 L 个存储设备之间的关联性系 数, 然后将每一个数据与每一个处理设备间的关联' f生系数存储下来。 当确定出所述第一待处理程序所需的 N 个数据和所述能够处理所述 第一待处理程序的 M个处理设备之后, 获取单元 30 1 需要在已经存 储的数据与处理设备间的关联性系数中, 查找出第一待处理程序所 需的 N个数据中每一个数据与所述 M个第一处理设备中每一个处理 设备之间的关联性系数。
也就是说, 获取单元 301在执行此步骤之后, 会查找出 Ν χ Μ个 数据与处理设备之间的关联性系数。 其中, 所述第一待处理程序所 需的 N个数据中每一个数据都能查找出该数据相对应的与所述 M个 处理设备之间的关联性系数。 此时, 获取单元 301 就可以根据第一 待处理程序与存储数据的相关性和存储数据与处理设备之间的关联 性, 得出第一待处理程序在考虑数据存储位置后与处理设备之间的 关系。
需要说明的是,所述数据与处理设备间的关联性系数表示所述数 据与各处理设备间的关联关系, 所述数据与处理设备间的关联性系 数越大, 则表示该数据与该处理设备之间的关联性越大。
需要说明的是,所述第一待处理程序所需的数据个数 N的值与能 够处理所述第一待处理程序的所述第一处理设备个数 M 的值之间没 有任何关系。
所述确定单元 302, 还用于根据所述第一待处理程序所需的 N个 数据与所述 M个第一处理设备间的关联性系数, 从所述 M个第一处 理设备中确定出所述 N 个数据中每一个数据对应的备选目标处理设 备。
所述确定单元 302, 具体用于根据所述第一待处理程序所需的 N 个数据与所述 M个第一处理设备间的关联性系数, 从所述 M个第一 处理设备中, 依次对所述第一待处理程序所需的 N 个数据中的一个 数据, 选出其与 M 个第一处理设备的关联性系数中, 关联性系数最 大值对应的处理设备; 并将所述关联性系数最大值对应的处理设备 确定为所述数据的备选目标处理设备。
也就是说,对于所述第一待处理程序所需的 N个数据中的每一个 数据来说,确定单元 302需要从该数据与所述 M个处理设备之间的 M 个关联性系数选取关联性系数最大值对应的处理设备作为该数据的 备选目标处理设备。 需要说明的是,所述第一待处理程序所需的每一个数据对应的备 选目标处理设备是所述 M 个第一处理设备中与该数据关联性最大的 处理设备。
需要说明的是, 在执行本步骤之后, 确定单元 302将会确定出来
N个备选目标处理设备,所述第一待处理程序所需的 N个数据中的每 一个数据对应一个备选目标处理设备。
需要说明的是,对于所述第一待处理程序所需的 N个数据中的不 同的数据来说, 所确定出的该数据对应的备选目标处理设备与另一 数据对应的备选目标处理设备可能相同, 也可能不同。 也就是说, 所述 N 个备选目标处理设备中可能会有多个数据对应的备选目标处 理设备是同一处理设备的情况。
所述确定单元 302, 还用于在所述 N个数据中每一个数据对应的 备选目标处理设备中确定出目标处理设备。
具体的, 根据确定目标处理设备时考虑的因素不同, 确定单元 302在所述 N个备选目标处理设备中确定出出目标处理设备可以分为 两种情况。
第一种情况,确定单元 302具体用于在所述 N个数据中每一个数 据对应的备选目标处理设备中, 任意选取一个备选目标处理设备确 定为目标处理设备。
需要说明的是, 在已经确定出的 N个备选目标处理设备中, 每一 个目标处理设备选定是已经考虑了所述第一待处理程序所需的数据 与所述处理设备之间的关联性, 所以, 此时确定单元 302 从所述 N 个备选目标处理设备任意选出一个处理设备为目标处理设备的方 法, 相比于考虑待处理程序与所述待处理程序所需数据存储的位置 的情况来说已经有很大优化。
第二种情况,确定单元 302具体用于在所述 N个数据中每一个数 据对应的备选目标处理设备中确定出目标处理设备之前, 所述获取 单元 301 根据所述第一待处理程序与所述第一待处理程序所需的 N 个数据间的相关性系数, 及所述第一待处理程序所需的 N 个数据中 每一个数据与其对应的备选目标处理设备间的关联性系数, 获取所 述第一待处理程序所需的 N 个数据中每一个数据对应的备选目标处 理设备的可用性系数。 然后, 确定单元 3 02 根据所述第一待处理程 序所需的 N 个数据中每一个数据对应的备选目标处理设备的可用性 系数, 将可用性系数最大值对应的备选目标处理设备确定为目标处 理设备。
具体的,确定单元 302根据所述第一待处理程序与所述第一待处 理程序所需的 N 个数据间的相关性系数, 及所述第一待处理程序所 需的 N 个数据中每一个数据与其对应的备选目标处理设备间的关联 性系数, 可以通过一定的算法计算出所述第一待处理程序所需的 N 个数据中每一个数据对应的备选目标处理设备的可用性系数。 然后 根据计算出第一待处理程序所需的 N 个数据中每一个数据对应的备 选目标处理设备的可用性系数进行排序, 将可用性系数最大值对应 的备选目标处理设备确定为最终的目标处理设备。
需要说明的是,确定单元 302通过一定的算法计算出所述第一待 处理程序所需的 N 个数据中每一个数据对应的备选目标处理设备的 可用性系数, 可以为将所述第一待处理程序与所述第一待处理程序 所需的 N 个数据间的相关性系数加上所述第一待处理程序所需的 N 个数据中每一个数据与其对应的备选目标处理设备间的关联性系数 之和, 作为所述第一待处理程序所需的 N 个数据中每一个数据对应 的备选目标处理设备的可用性系数。 或者也可以为将所述第一待处 理程序与所述第一待处理程序所需的 N 个数据间的相关性系数乘以 一个加权系数, 所述第一待处理程序所需的 N 个数据中每一个数据 与其对应的备选目标处理设备间的关联性系数乘以另一个加权系 数, 然后将作和, 得出的值作为所述第一待处理程序所需的 N 个数 据中每一个数据对应的备选目标处理设备的可用性系数。 或者是其 他的算法, 本发明对此不作限制。
需要说明的是,根据所述第一待处理程序所需的 N个数据中每一 个数据对应的备选目标处理设备的可用性系数选择目标处理设备是 综合考虑了所述第一待处理程序与所述第一待处理程序所需的 N 个 数据间的相关性, 及所述第一待处理程序所需的 N 个数据中每一个 数据与其对应的备选目标处理设备间的关联性, 而选择出的目标处 理设备, 所以所述目标处理设备是与所述第一待处理程序在考虑数 据存储位置来说最优的处理设备。
所述发送单元 303, 用于将所述第一待处理程序发送至所述目标 处理设备。
需要说明的是,所述发送单元 303将所述第一待处理程序发送至 所述目标处理设备的过程就是所述第一待处理程序进行调度的过 程。
需要说明的是,所述第一待处理程序进行调度的过程和现有技术 中将第一待处理程序调度到处理设备的方法相同, 在此不再说明。
需要说明的是,将所述第一待处理程序调度到所述目标处理设备 后, 所述第一待处理程序需要在所述目标设备上执行, 此时, 除了 所述待处理设备上存储的所述第一待处理程序所需的数据外, 所述 第一待处理程序所需的其他数据仍然需要通过系通过内部的网络进 行调用。
进一步的, 上述管理设备, 如图 4所示, 还包括: 控制单元 304。 所述确定单元 302, 还用于根据所述第一待处理程序所需 N个数 据中每一个数据的数据属性参数, 确定第一待处理程序与所述第一 待处理程序所需 N个数据间的相关性系数。
需要说明的是,管理设备在进行待处理程序创建时会给定所述待 处理程序所需的数据。 以便在第一待处理程序需要进行调度时只要 判断出所需要处理的程序为哪一个待处理程序, 就可以知道所述待 处理程序所需的数据。
需要说明的是,所述确定单元 302仅设置待处理程序与所述待处 理程序所需数据间的相关性系数, 而不设置待处理程序与其他数据 间的相关性系数, 从而可以降低算法的计算量。
需要说明的是, 所述数据属性参数包括: 数据的访问频率, 数 据的读写比例, 数据的优先级中的至少一项。
需要说明的是,所述数据属性参数还可以包括其他能用来确定数 据与待处理程序间的相关性系数的其他信息, 本发明对此不做限制。
所述确定单元 302, 具体用于根据所述第一待处理程序所需 N个 数据中每一个数据的数据属性参数, 对所述第一待处理程序所需 N 个数据排序,依次对排序后的第一待处理程序所需 N个数据中每一个 数据, 设置其与所述第一待处理程序间的相关性系数。 其中, 排序后 的所述每一个数据设置的相关性系数间的大小关系,与所述每一个数 据的数据属性参数间的大小关系相对应。
需要说明的是, 为了确保执行任务的可靠性, 一般会将对待处理 程序来说比较重要的值拷贝为多个副本存放在不同的处理设备中。 当一个数据有多个副本时, 所述确定单元 302 可以将同一个数据的 所有副本与所述第一待处理程序之间的相关性系数设置成相同的, 也可以按照数据的完整性, 和 /或数据的读写比例将所述同一个数据 的不同副本与所述第一待处理程序之间的相关性系数设置成不相同 的。
需要说明的是, 管理设备创建的待处理程序不止一个, 在每次创 建新的待处理程序时,所述确定单元 302都需要根据所述第一待处理 程序所需 N个数据中每一个数据的数据属性参数,确定待处理程序与 所述待处理程序所需数据间的相关性系数。
也就是说,管理设备会存储每一个待处理程序与每一个待处理程 序所需数据间的相关性关系。
需要说明的是, 所述 N可以大于 0, 也可以为 0。 所述 N大于 0 表示所述第一待处理程序与已经存储的数据有关联, 此时, 所述获 取单元 301 可以在已存储的待处理程序与所述待处理程序所需的数 据间的相关性系数中, 获取第一待处理程序与所述第一待处理程序 所需的 N个数据间的相关性系数。 所述 N为 0表示所述第一待处理 程序与已经存储的数据没有关联或没有设置关联关系, 也就是说, 所述第一待处理程序与所有处理设备之间没有数据上的关联, 此时, 管理设备可以将所述第一待处理程序与每一个处理设备中所存储的 数据之间的相关性系数设置为 0。
所述控制单元 304, 用于更新已存储的待处理程序与所述待处理 程序所需的数据间的相关性系数。
具体的,所述控制单元 304将所述确定单元 302确定下来的相关 性系数存储下来, 即更新在已存储的待处理程序与所述待处理程序 所需的数据间的相关性系数。
所述确定单元 302, 还用于根据处理设备的属性参数, 确定所述 第一待处理程序所需 N个数据与 L个处理设备间的关联性系数。
需要说明的是,管理设备在创建待处理程序时会确定该待处理程 序所需数据存放的位置, 然后所述确定单元 302 根据处理设备的属 性参数确定所述待处理程序所需 N个数据与所有的 L个处理设备间 的关联性系数。
可选的, 所述处理设备的属性参数包括: 数据在处理设备的存储 状态。
所述确定单元 302, 具体用于根据处理设备的属性参数, 确定所 述第一待处理程序所需 N个数据中每一个数据,在 L个处理设备中每 个处理设备中的存储状态。 所述确定单元 302, 具体用于在确定出第一数据在第一处理设备 中的存储状态为已存储时,设置所述第一数据与所述第一处理设备间 的关联性系数为有效值。在确定出第一数据在第一处理设备中的存储 状态为未存储时,设置所述第一数据与所述第一处理设备间的关联性 系数为无效值。 其中, 所述第一数据是所述第一待处理程序所需 N 个数据中的任一个数据。所述第一处理设备是所述 L个处理设备中的 任一个处理设备。
进一步的, 所述处理设备的属性参数包括: 数据在处理设备的存 储状态及处理设备的计算能力。 所述确定单元 302, 具体用于根据所述处理设备的属性参数, 对 至少一个第一处理设备进行排序,依次对排序后的所述至少一个第一 处理设备中的每一个处理设备,重设其与所述第一数据间的相关性系 数, 并更新已存储的数据与处理设备间的关联性系数。 其中, 所述第 一处理设备是与所述第一数据的关联性系数为有效值的处理设备。所 述至少一个第一处理设备重设的相关性系数间的大小关系,跟与所述 至少一个第一处理设备的属性参数间的大小关系相对应。
需要说明的是,所述处理设备的属性参数还可以包括其他能用来 确定数据与待处理程序间的相关性系数的其他信息, 本发明对此不 作限制。
需要说明的是, 管理设备在每创建一个待处理程序时, 所述确定 单元 302 都会执行一遍此步骤, 来确定所述第一待处理程序所需 N 个数据与 L个处理设备间的关联性系数。
所述控制单元 304, 还用于更新已存储的数据与处理设备间的关 联性系数。
具体的,所述控制单元 304存储所述确定单元 302确定下来的关 联性系数, 即为更新已存储的数据与处理设备间的关联性系数。
本发明实施例提供了一种管理设备,首先获取单元 301在已存储 的待处理程序与所述待处理程序所需的数据间的相关性系数中, 获 取第一待处理程序与所述第一待处理程序所需的 N 个数据间的相关 性系数, 然后确定单元 302 根据每一个处理设备的计算资源, 在 L 个处理设备中确定出 M个第一处理设备, 并且获取单元 301 在已存 储的数据与处理设备间的关联性系数中, 获取第一待处理程序所需 的 N个数据与所述 M个第一处理设备间的关联性系数, 接着确定单 元 302根据所述第一待处理程序所需的 N个数据与所述 M个第一处 理设备间的关联性系数, 从所述 M 个第一处理设备中确定出所述 N 个数据中每一个数据对应的备选目标处理设备, 最终从所述 N 个备 选目标处理设备中选择目标处理设备, 将所述第一待处理程序调度 到目标处理设备执行。 从而实现了将所述待处理程序调度到了与所 述待处理程序所需的数据的可用性最大的处理设备中执行, 减少了 该待处理程序需要从网络中传输的数据, 进而降低了网络流量, 缩 短了待处理程序的处理时间。
如图 5所示, 本发明实施例提供了一种管理设备的结构示意图, 参考图 5所示, 该管理设备包括: 处理器 501, 发送器 502, 存储器 5 0 3。
所述处理器 5 01, 用于在已存储的待处理程序与所述待处理程序 所需的数据间的相关性系数中, 获取第一待处理程序与所述第一待 处理程序所需的 N个数据间的相关性系数。
其中, 所述 N为不小于 0的整数。
具体的,存储器 5 0 3中已经存储了各个待处理程序与每一个处理 设备上存储的数据之间的相关性系数, 在第一待处理程序需要进行 处理时, 管理设备会根据所述第一待处理程序知道所述第一待处理 程序需要使用的数据, 然后所述处理器 5 01 在已经存储了各个处理 程序与每一个处理设备上存储的数据之间的相关性系数中根据所述 查找出所述第一待处理程序与所述第一待处理程序所需的 N 个数据 间的相关性系数。
需要说明的是, 所述第一待处理程序是所有待处理程序中的一 个。 所述第一待处理程序就是当前正要进行调度的处理程序。
需要说明的是,每一个待处理程序在进行调度之前会先由管理设 备进行创建, 管理设备在创建处理程序时所述处理器 5 01 会按照既 定策略确定该处理程序与每一个处理设备中所存储的数据之间的相 关性关系。 此时, 处理程序与每一个处理设备中所存储的数据之间 的相关性关系可以用相关性系数表示, 处理设备与存储的数据之间 的相关性越大, 那么该处理设备与该存储数据之间的相关性系数也 就越大。
需要说明的是,每一个待处理程序在进行调度之前必须经过管理 设备创建, 每一个待处理程序在管理设备进行创建之后可以反复被 调用。
需要说明的是, 在待处理程序进行调度之前, 每一个处理设备上 存储的数据已经随机或按照一定规则存储在各个处理设备中。
需要说明的是, 每一个处理设备既可以处理程序, 也可以存储数 据。
所述处理器 5 0 1, 还用于根据每一个处理设备的计算资源, 在 L 个处理设备中确定出 M个第一处理设备。
其中,所述 L是处理设备的总个数, M是大于 0不大于 L的整数。 具体的,处理器 5 0 1需要先判断所述所有 L个处理设备中的那些 设备能够有处理该待处理程序的能力。 根据总的 L 个处理设备中每 一个处理设备的计算资源来确定哪些处理设备能够处理所述第一待 处理程序。
需要说明的是,所述 M个第一处理设备就是从 L个处理设备中确 定出来的能够处理所述第一待处理程序的所有处理设备。 所以, 选 取出的第一处理设备的个数 M 的值一定是不大于所述处理设备的总 个数 L的值的正整数。
需要说明的是,处理器 5 0 1选择能够处理该待处理程序的处理设 备的方法与现有技术相同。 具体的, 由于每一个待处理程序的处理 复杂度的不同, 有的处理设备可以处理该待处理程序, 有的设备不 能处理该待处理程序, 所以需要判断出能够处理该待处理程序的处 理设备。
所述处理器 5 01, 还用于在存储器 5 0 3 已存储的数据与处理设备 间的关联性系数中, 获取第一待处理程序所需的 N 个数据与所述 M 个第一处理设备间的关联性系数。
其中,所述数据与处理设备间的关联性是指所述数据与存储所述 数据的处理设备间的关联关系。
具体的, 存储器 5 0 3在进行数据存储时, 处理器 5 0 1会根据预先 设定的策略确定出每一个数据与所述 L 个存储设备之间的关联性系 数, 然后将每一个数据与每一个处理设备间的关联' f生系数存储下来。 当确定出所述第一待处理程序所需的 N 个数据和所述能够处理所述 第一待处理程序的 M个处理设备之后, 处理器 5 0 1 需要在已经存储 的数据与处理设备间的关联性系数中, 查找出第一待处理程序所需 的 N个数据中每一个数据与所述 M个第一处理设备中每一个处理设 备之间的关联性系数。
也就是说, 处理器 5 0 1在执行此步骤之后, 会查找出 Ν χ Μ个数 据与处理设备之间的关联性系数。 其中, 所述第一待处理程序所需 的 N个数据中每一个数据都能查找出该数据相对应的与所述 M个处 理设备之间的关联性系数。 此时, 处理器 5 0 1 就可以根据第一待处 理程序与存储数据的相关性和存储数据与处理设备之间的关联性, 得出第一待处理程序在考虑数据存储位置后与处理设备之间的关 系。
需要说明的是,所述数据与处理设备间的关联性系数表示所述数 据与各处理设备间的关联关系, 所述数据与处理设备间的关联性系 数越大, 则表示该数据与该处理设备之间的关联性越大。
需要说明的是,所述第一待处理程序所需的数据个数 N的值与能 够处理所述第一待处理程序的所述第一处理设备个数 M 的值之间没 有任何关系。
所述处理器 5 01, 还用于根据所述第一待处理程序所需的 N个数 据与所述 M个第一处理设备间的关联性系数, 从所述 M个第一处理 设备中确定出所述 N个数据中每一个数据对应的备选目标处理设备。
所述处理器 5 01, 具体用于根据所述第一待处理程序所需的 N个 数据与所述 M个第一处理设备间的关联性系数, 从所述 M个第一处 理设备中, 依次对所述第一待处理程序所需的 N 个数据中的一个数 据, 选出其与 M 个第一处理设备的关联性系数中, 关联性系数最大 值对应的处理设备; 并将所述关联性系数最大值对应的处理设备确 定为所述数据的备选目标处理设备。
也就是说,对于所述第一待处理程序所需的 N个数据中的每一个 数据来说, 处理器 5 01 需要从该数据与所述 M个处理设备之间的 M 个关联性系数选取关联性系数最大值对应的处理设备作为该数据的 备选目标处理设备。
需要说明的是,所述第一待处理程序所需的每一个数据对应的备 选目标处理设备是所述 M 个第一处理设备中与该数据关联性最大的 处理设备。
需要说明的是, 在执行本步骤之后, 处理器 5 0 1将会确定出来 N 个备选目标处理设备, 所述第一待处理程序所需的 N 个数据中的每 一个数据对应一个备选目标处理设备。
需要说明的是,对于所述第一待处理程序所需的 N个数据中的不 同的数据来说, 所确定出的该数据对应的备选目标处理设备与另一 数据对应的备选目标处理设备可能相同, 也可能不同。 也就是说, 所述 N 个备选目标处理设备中可能会有多个数据对应的备选目标处 理设备是同一处理设备的情况。
所述处理器 5 01, 还用于在所述 N个数据中每一个数据对应的备 选目标处理设备中确定出目标处理设备。
具体的, 根据确定目标处理设备时考虑的因素不同, 处理器 4 01 在所述 N 个备选目标处理设备中确定出出目标处理设备可以分为两 种情况。
第一种情况,处理器 5 01具体用于在所述 N个数据中每一个数据 对应的备选目标处理设备中, 任意选取一个备选目标处理设备确定 为目标处理设备。
需要说明的是, 在已经确定出的 N个备选目标处理设备中, 每一 个目标处理设备选定是已经考虑了所述第一待处理程序所需的数据 与所述处理设备之间的关联性, 所以, 此时处理器 501从所述 N个 备选目标处理设备任意选出一个处理设备为目标处理设备的方法, 相比于考虑待处理程序与所述待处理程序所需数据存储的位置的情 况来说已经有很大优化。
第二种情况,处理器 5 01具体用于在所述 N个数据中每一个数据 对应的备选目标处理设备中确定出目标处理设备之前, 根据所述第 一待处理程序与所述第一待处理程序所需的 N 个数据间的相关性系 数, 及所述第一待处理程序所需的 N 个数据中每一个数据与其对应 的备选目标处理设备间的关联性系数, 获取所述第一待处理程序所 需的 N个数据中每一个数据对应的备选目标处理设备的可用性系数。 然后, 根据所述第一待处理程序所需的 N 个数据中每一个数据对应 的备选目标处理设备的可用性系数, 将可用性系数最大值对应的备 选目标处理设备确定为目标处理设备。
具体的,处理器 5 0 1根据所述第一待处理程序与所述第一待处理 程序所需的 N 个数据间的相关性系数, 及所述第一待处理程序所需 的 N 个数据中每一个数据与其对应的备选目标处理设备间的关联性 系数, 可以通过一定的算法计算出所述第一待处理程序所需的 N 个 数据中每一个数据对应的备选目标处理设备的可用性系数。 然后根 据计算出第一待处理程序所需的 N 个数据中每一个数据对应的备选 目标处理设备的可用性系数进行排序, 将可用性系数最大值对应的 备选目标处理设备确定为最终的目标处理设备。
需要说明的是,处理器 5 0 1通过一定的算法计算出所述第一待处 理程序所需的 N 个数据中每一个数据对应的备选目标处理设备的可 用性系数, 可以为将所述第一待处理程序与所述第一待处理程序所 需的 N个数据间的相关性系数加上所述第一待处理程序所需的 N个 数据中每一个数据与其对应的备选目标处理设备间的关联性系数之 和, 作为所述第一待处理程序所需的 N 个数据中每一个数据对应的 备选目标处理设备的可用性系数。 或者也可以为将所述第一待处理 程序与所述第一待处理程序所需的 N 个数据间的相关性系数乘以一 个加权系数, 所述第一待处理程序所需的 N 个数据中每一个数据与 其对应的备选目标处理设备间的关联性系数乘以另一个加权系数, 然后将作和, 得出的值作为所述第一待处理程序所需的 N 个数据中 每一个数据对应的备选目标处理设备的可用性系数。 或者是其他的 算法, 本发明对此不作限制。
需要说明的是,根据所述第一待处理程序所需的 N个数据中每一 个数据对应的备选目标处理设备的可用性系数选择目标处理设备是 综合考虑了所述第一待处理程序与所述第一待处理程序所需的 N 个 数据间的相关性, 及所述第一待处理程序所需的 N 个数据中每一个 数据与其对应的备选目标处理设备间的关联性, 而选择出的目标处 理设备, 所以所述目标处理设备是与所述第一待处理程序在考虑数 据存储位置来说最优的处理设备。 所述发送器 5 02, 用于将所述第一待处理程序发送至所述目标处 理设备。
需要说明的是,所述发送器 5 02将所述第一待处理程序发送至所 述目标处理设备的过程就是所述第一待处理程序进行调度的过程。
需要说明的是,所述第一待处理程序进行调度的过程和现有技术 中将第一待处理程序调度到处理设备的方法相同, 在此不再说明。
需要说明的是,将所述第一待处理程序调度到所述目标处理设备 后, 所述第一待处理程序需要在所述目标设备上执行, 此时, 除了 所述待处理设备上存储的所述第一待处理程序所需的数据外, 所述 第一待处理程序所需的其他数据仍然需要通过系通过内部的网络进 行调用。
进一步的, 所述处理器 5 01, 还用于根据所述第一待处理程序所 需 N 个数据中每一个数据的数据属性参数, 确定第一待处理程序与 所述第一待处理程序所需 N个数据间的相关性系数。
需要说明的是,管理设备在进行待处理程序创建时会给定所述待 处理程序所需的数据。 以便在第一待处理程序需要进行调度时只要 判断出所需要处理的程序为哪一个待处理程序, 就可以知道所述待 处理程序所需的数据。
需要说明的是,所述处理器 5 01仅设置待处理程序与所述待处理 程序所需数据间的相关性系数, 而不设置待处理程序与其他数据间 的相关性系数, 从而可以降低算法的计算量。
需要说明的是, 所述数据属性参数包括: 数据的访问频率, 数据 的读写比例, 数据的优先级中的至少一项。
需要说明的是,所述数据属性参数还可以包括其他能用来确定数 据与待处理程序间的相关性系数的其他信息, 本发明对此不做限制。 所述处理器 5 01, 具体用于根据所述第一待处理程序所需 N个数 据中每一个数据的数据属性参数,对所述第一待处理程序所需 N个数 据排序, 依次对排序后的第一待处理程序所需 N 个数据中每一个数 据, 设置其与所述第一待处理程序间的相关性系数。 其中, 排序后的 所述每一个数据设置的相关性系数间的大小关系,与所述每一个数据 的数据属性参数间的大小关系相对应。
需要说明的是, 为了确保执行任务的可靠性, 一般会将对待处理 程序来说比较重要的值拷贝为多个副本存放在不同的处理设备中。 当一个数据有多个副本时, 所述处理器 501 可以将同一个数据的所 有副本与所述第一待处理程序之间的相关性系数设置成相同的, 也 可以按照数据的完整性, 和 /或数据的读写比例将所述同一个数据的 不同副本与所述第一待处理程序之间的相关性系数设置成不相同 的。
需要说明的是, 管理设备创建的待处理程序不止一个, 在每次创 建新的待处理程序时,所述处理器 501都需要根据所述第一待处理程 序所需 N个数据中每一个数据的数据属性参数,确定待处理程序与所 述待处理程序所需数据间的相关性系数。
也就是说,存储器 503会存储每一个待处理程序与每一个待处理 程序所需数据间的相关性关系。
需要说明的是, 所述 N可以大于 0, 也可以为 0。 所述 N大于 0 表示所述第一待处理程序与已经存储的数据有关联, 此时, 所述处 理器 501 可以在存储器 503 已存储的待处理程序与所述待处理程序 所需的数据间的相关性系数中, 获取第一待处理程序与所述第一待 处理程序所需的 N个数据间的相关性系数。 所述 N为 0表示所述第 一待处理程序与已经存储的数据没有关联或没有设置关联关系, 也 就是说, 所述第一待处理程序与所有处理设备之间没有数据上的关 联, 此时, 管理设备可以将所述第一待处理程序与每一个处理设备 中所存储的数据之间的相关性系数设置为 0。
所述处理器 501, 用于更新已存储的待处理程序与所述待处理程 序所需的数据间的相关性系数。
具体的,所述处理器 501将确定下来的相关性系数存储至存储器 503, 即更新在已存储的待处理程序与所述待处理程序所需的数据间 的相关性系数。 所述处理器 5 01, 还用于根据处理设备的属性参数, 确定所述第 一待处理程序所需 N个数据与 L个处理设备间的关联性系数。
需要说明的是,管理设备在创建待处理程序时会确定该待处理程 序所需数据存放的位置,然后所述处理器 5 01根据处理设备的属性参 数确定所述待处理程序所需 N个数据与所有的 L个处理设备间的关 联性系数。
可选的, 所述处理设备的属性参数包括: 数据在处理设备的存储 状态。
所述处理器 5 01, 具体用于根据处理设备的属性参数, 确定所述 第一待处理程序所需 N个数据中每一个数据,在 L个处理设备中每个 处理设备中的存储状态。
所述处理器 5 01, 具体用于在确定出第一数据在第一处理设备中 的存储状态为已存储时,设置所述第一数据与所述第一处理设备间的 关联性系数为有效值。在确定出第一数据在第一处理设备中的存储状 态为未存储时,设置所述第一数据与所述第一处理设备间的关联性系 数为无效值。 其中, 所述第一数据是所述第一待处理程序所需 N个数 据中的任一个数据。所述第一处理设备是所述 L个处理设备中的任一 个处理设备。
进一步的, 所述处理设备的属性参数包括: 数据在处理设备的存 储状态及处理设备的计算能力。
所述处理器 5 01, 具体用于根据所述处理设备的属性参数, 对至 少一个第一处理设备进行排序,依次对排序后的所述至少一个第一处 理设备中的每一个处理设备, 重设其与所述第一数据间的相关性系 数, 并更新已存储的数据与处理设备间的关联性系数。 其中, 所述第 一处理设备是与所述第一数据的关联性系数为有效值的处理设备。所 述至少一个第一处理设备重设的相关性系数间的大小关系,跟与所述 至少一个第一处理设备的属性参数间的大小关系相对应。
需要说明的是,所述处理设备的属性参数还可以包括其他能用来 确定数据与待处理程序间的相关性系数的其他信息, 本发明对此不 作限制。 需要说明的是, 管理设备在每创建一个待处理程序时, 所述处理 器 5 01 都会执行一遍此步骤, 来确定所述第一待处理程序所需 N个 数据与 L个处理设备间的关联性系数。
所述处理器 5 01, 还用于更新已存储的数据与处理设备间的关联 性系数。
所述处理器 5 01, 用于将确定下来的关联性系数存储至存储器 5 0 3, 即更新已存储的数据与处理设备间的关联性系数。
本发明实施例提供了一种管理设备, 首先处理器 5 0 1 在存储器 5 0 3 中已存储的待处理程序与所述待处理程序所需的数据间的相关 性系数中, 获取第一待处理程序与所述第一待处理程序所需的 N 个 数据间的相关性系数, 然后处理器 5 0 1 根据每一个处理设备的计算 资源, 在 L个处理设备中确定出 M个第一处理设备, 并且在存储器 5 0 3中已存储的数据与处理设备间的关联性系数中,获取第一待处理 程序所需的 N个数据与所述 M个第一处理设备间的关联性系数, 接 着处理器 5 01根据所述第一待处理程序所需的 N个数据与所述 M个 第一处理设备间的关联性系数, 从所述 M 个第一处理设备中确定出 所述 N个数据中每一个数据对应的备选目标处理设备,最终从所述 N 个备选目标处理设备中选择目标处理设备, 将所述第一待处理程序 调度到目标处理设备执行。 从而实现了将所述待处理程序调度到了 与所述待处理程序所需的数据的可用性最大的处理设备中执行, 减 少了该待处理程序需要从网络中传输的数据, 进而降低了网络流量, 缩短了待处理程序的处理时间。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统, 装置和方法, 可以通过其它的方式实现。 例如, 以上所描述的装置 实施例仅仅是示意性的, 例如, 所述单元的划分, 仅仅为一种逻辑 功能划分, 实际实现时可以有另外的划分方式, 例如多个单元或组 件可以结合或者可以集成到另一个系统, 或一些特征可以忽略, 或 不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦合或通 信连接可以是通过一些接口, 装置或单元的间接耦合或通信连接, 可以是电性, 机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分 开的, 作为单元显示的部件可以是或者也可以不是物理单元, 即可 以位于一个地方, 或者也可以分布到多个网络单元上。 可以根据实 际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理 单元中, 也可以是各个单元单独物理包括, 也可以两个或两个以上 单元集成在一个单元中。 上述集成的单元既可以釆用硬件的形式实 现, 也可以釆用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个 计算机可读取存储介质中。 上述软件功能单元存储在一个存储介质 中, 包括若干指令用以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网络设备等) 执行本发明各个实施例所述方法的部分 步骤。 而前述的存储介质包括: U盘、 移动硬盘、 固态硬盘 (solid state disk, 简称 SSD盘)、 只读存储器 ( Read-Only Memory, 简称
R0M)、 随机存取存储器 ( Random Access Memory, 简称 RAM )、 磁碟 或者光盘等各种可以存储程序代码或数据的介质。
最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述实施例对本发明进行了详细的说明, 本领域的 普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术方 案进行修改, 或者对其中部分技术特征进行等同替换; 而这些修改或 者替换, 并不使相应技术方案的本质脱离本发明各实施例技术方案的
^"神和范围。

Claims

权利要求
1、 一种优化的调度方法, 其特征在于, 包括: 在已存储的待处理程序与所述待处理程序所需的数据间的相关 性系数中,获取第一待处理程序与所述第一待处理程序所需的 N个数 据间的相关性系数; 所述 N为不小于 0的整数;
根据每一个处理设备的计算资源, 在 L 个处理设备中确定出 M 个第一处理设备; 其中, 所述 L是处理设备的总个数, M是大于 0不 大于 L的整数; 在已存储的数据与处理设备间的关联性系数中,获取第一待处理 程序所需的 N个数据与所述 M个第一处理设备间的关联性系数;其中, 所述数据与处理设备间的关联性是指所述数据与存储所述数据的处 理设备间的关联关系;
根据所述第一待处理程序所需的 N个数据与所述 M个第一处理设 备间的关联性系数,从所述 M个第一处理设备中确定出所述 N个数据 中每一个数据对应的备选目标处理设备; 在所述 N 个数据中每一个数据对应的备选目标处理设备中确定 出目标处理设备; 将所述第一待处理程序发送至所述目标处理设备。
2、 根据权利要求 1所述的方法, 其特征在于, 在所述在已存储的待处理程序与所述待处理程序所需的数据间 的相关性系数中,获取第一待处理程序与所述第一待处理程序所需的 N个数据间的相关性系数之前, 还包括: 根据所述第一待处理程序所需 N 个数据中每一个数据的数据属 性参数,确定第一待处理程序与所述第一待处理程序所需 N个数据间 的相关性系数,并更新已存储的待处理程序与所述待处理程序所需的 数据间的相关性系数; 根据处理设备的属性参数,确定所述第一待处理程序所需 N个数 据与 L个处理设备间的关联性系数,并更新已存储的数据与处理设备 间的关联性系数。
3、 根据权利要求 2所述的方法, 其特征在于, 所述根据所述第一待处理程序所需 N 个数据中每一个数据的数 据属性参数,确定第一待处理程序与所述第一待处理程序所需 N个数 据间的相关性系数,并更新已存储的待处理程序与所述待处理程序所 需的数据间的相关性系数包括: 根据所述第一待处理程序所需 N 个数据中每一个数据的数据属 性参数, 对所述第一待处理程序所需 N个数据进行排序,依次对排序 后的第一待处理程序所需 N个数据中每一个数据,设置其与所述第一 待处理程序间的相关性系数,并更新已存储的待处理程序与所述待处 理程序所需的数据间的相关性系数; 其中, 排序后的所述每一个数据 设置的相关性系数间的大小关系,与所述每一个数据的数据属性参数 间的大小关系相对应。
4、 根据权利要求 2或 3所述的方法, 其特征在于, 所述数据属性参数包括: 数据的访问频率, 数据的读写比例, 数 据的优先级中的至少一项。
5、 根据权利要求 2-4任一项所述的方法, 其特征在于, 所述根据处理设备的属性参数, 确定所述第一待处理程序所需 N 个数据与 L个处理设备间的关联性系数,并更新已存储的数据与处理 设备间的关联性系数包括: 根据处理设备的属性参数,确定所述第一待处理程序所需 N个数 据中每一个数据, 在 L个处理设备中每个处理设备中的存储状态; 在确定出第一数据在第一处理设备中的存储状态为已存储时,设 置所述第一数据与所述第一处理设备间的关联性系数为有效值;在确 定出第一数据在第一处理设备中的存储状态为未存储时,设置所述第 一数据与所述第一处理设备间的关联性系数为无效值,并更新已存储 的数据与处理设备间的关联性系数; 其中, 所述第一数据是所述第一 待处理程序所需 N个数据中的任一个数据;所述第一处理设备是所述 L个处理设备中的任一个处理设备。
6、 根据权利要求 5所述的方法, 其特征在于, 在所述设置所述第一数据与所述第一处理设备间的关联性系数 为有效值之后, 还包括: 根据所述处理设备的属性参数,对至少一个第一处理设备进行排 序, 依次对排序后的所述至少一个第一处理设备中的每一个处理设 备, 重设其与所述第一数据间的相关性系数, 并更新已存储的数据与 处理设备间的关联性系数; 其中, 所述第一处理设备是与所述第一数 据的关联性系数为有效值的处理设备;所述至少一个第一处理设备重 设的相关性系数间的大小关系,跟与所述至少一个第一处理设备的属 性参数间的大小关系相对应。
7、 根据权利要求 5或 6所述的方法, 其特征在于, 所述处理设备的属性参数包括: 数据在处理设备的存储状态, 或数据在处理设备的存储状态及处理设备的计算能力。
8、 根据权利要求 1 -7任一项所述的方法, 其特征在于, 所述根据所述第一待处理程序所需的 N个数据与所述 M个第一处 理设备间的关联性系数, 从所述 M 个第一处理设备中确定出所述 N 个数据中每一个数据对应的备选目标处理设备包括:
根据所述第一待处理程序所需的 N个数据与所述 M个第一处理设 备间的关联性系数, 从所述 M个第一处理设备中,依次对所述第一待 处理程序所需的 N个数据中的一个数据,选出其与 M个第一处理设备 的关联性系数中, 关联性系数最大值对应的处理设备; 并将所述关联 性系数最大值对应的处理设备确定为所述数据的备选目标处理设备。
9、 根据权利要求 1 -8任一项所述的方法, 其特征在于, 在所述 N 个数据中每一个数据对应的备选目标处理设备中确定 出目标处理设备之前还包括: 根据所述第一待处理程序与所述第一待处理程序所需的 N 个数 据间的相关性系数,及所述第一待处理程序所需的 N个数据中每一个 处理程序所需的 N 个数据中每一个数据对应的备选目标处理设备的 可用性系数; 所述在所述 N 个数据中每一个数据对应的备选目标处理设备中 确定出目标处理设备包括: 根据所述第一待处理程序所需的 N 个数据中每一个数据对应的 备选目标处理设备的可用性系数,将可用性系数最大值对应的备选目 标处理设备确定为目标处理设备。
1 0、 一种管理设备, 其特征在于, 包括: 获取单元, 确定单元, 发送单元; 所述获取单元,用于在已存储的待处理程序与所述待处理程序所 需的数据间的相关性系数中,获取第一待处理程序与所述第一待处理 程序所需的 N个数据间的相关性系数; 所述 N为不小于 0的整数; 所述确定单元, 用于根据每一个处理设备的计算资源, 在 L个处 理设备中确定出 M个第一处理设备; 其中, 所述 L是处理设备的总个 数, M是大于 0不大于 L的整数;
数中,获取第一待处理程序所需的 N个数据与所述 M个第一处理设备 间的关联性系数; 其中, 所述数据与处理设备间的关联性是指所述数 据与存储所述数据的处理设备间的关联关系; 所述确定单元,还用于根据所述获取单元获取的所述第一待处理 程序所需的 N个数据与所述 M个第一处理设备间的关联性系数,从所 述 M个第一处理设备中确定出所述 N个数据中每一个数据对应的备选 目标处理设备; 所述确定单元,还用于在所述 N个数据中每一个数据对应的备选 目标处理设备中确定出目标处理设备; 所述发送单元,用于将所述第一待处理程序发送至所述确定单元 确定的所述目标处理设备。
1 1、 根据权利要求 1 0所述的管理设备, 其特征在于, 还包括: 控制单元;
所述确定单元,还用于根据所述第一待处理程序所需 N个数据中 每一个数据的数据属性参数,确定第一待处理程序与所述第一待处理 程序所需 N个数据间的相关性系数; 所述控制单元,用于更新已存储的待处理程序与所述待处理程序 所需的数据间的相关性系数; 所述确定单元, 还用于根据处理设备的属性参数, 确定所述第一 待处理程序所需 N个数据与 L个处理设备间的关联性系数; 所述控制单元,还用于更新已存储的数据与处理设备间的关联性 系数。
1 2、 根据权利要求 1 1所述的管理设备, 其特征在于, 所述确定单元,具体用于根据所述第一待处理程序所需 N个数据 中每一个数据的数据属性参数,对所述第一待处理程序所需 N个数据 排序, 依次对排序后的第一待处理程序所需 N个数据中每一个数据, 设置其与所述第一待处理程序间的相关性系数; 其中, 排序后的所述 每一个数据设置的相关性系数间的大小关系,与所述每一个数据的数 据属性参数间的大小关系相对应。
1 3、 根据权利要求 1 1或 1 2所述的管理设备, 其特征在于, 所述确定单元, 具体用于根据处理设备的属性参数, 确定所述第 一待处理程序所需 N个数据中每一个数据,在 L个处理设备中每个处 理设备中的存储状态; 所述确定单元,具体用于在确定出第一数据在第一处理设备中的 存储状态为已存储时,设置所述第一数据与所述第一处理设备间的关 联性系数为有效值;在确定出第一数据在第一处理设备中的存储状态 为未存储时,设置所述第一数据与所述第一处理设备间的关联性系数 为无效值; 其中, 所述第一数据是所述第一待处理程序所需 N个数据 中的任一个数据;所述第一处理设备是所述 L个处理设备中的任一个 处理设备。
14、 根据权利要求 1 3所述的管理设备, 其特征在于, 所述确定单元, 具体用于根据所述处理设备的属性参数, 对至少 一个第一处理设备进行排序,依次对排序后的所述至少一个第一处理 设备中的每一个处理设备, 重设其与所述第一数据间的相关性系数, 并更新已存储的数据与处理设备间的关联性系数; 其中, 所述第一处 理设备是与所述第一数据的关联性系数为有效值的处理设备;所述至 少一个第一处理设备重设的相关性系数间的大小关系,跟与所述至少 一个第一处理设备的属性参数间的大小关系相对应。
1 5、 根据权利要求 1 0- 14任一项所述的管理设备, 其特征在于, 所述确定单元,具体用于根据所述第一待处理程序所需的 N个数 据与所述 M个第一处理设备间的关联性系数,从所述 M个第一处理设 备中, 依次对所述第一待处理程序所需的 N个数据中的一个数据, 选 出其与 M个第一处理设备的关联性系数中,关联性系数最大值对应的 处理设备;并将所述关联性系数最大值对应的处理设备确定为所述数 据的备选目标处理设备。
1 6、 根据权利要求 1 0- 1 5任一项所述的管理设备, 其特征在于, 所述获取单元,还用于根据所述第一待处理程序与所述第一待处 理程序所需的 N个数据间的相关性系数,及所述第一待处理程序所需 系数,获取所述第一待处理程序所需的 N个数据中每一个数据对应的 备选目标处理设备的可用性系数; 所述确定单元,具体用于根据所述获取单元获取的所述第一待处 理程序所需的 N 个数据中每一个数据对应的备选目标处理设备的可 用性系数,将可用性系数最大值对应的备选目标处理设备确定为目标 处理设备。
1 7、 一种管理设备, 其特征在于, 包括: 处理器, 发送器; 所述处理器,用于在已存储的待处理程序与所述待处理程序所需 的数据间的相关性系数中,获取第一待处理程序与所述第一待处理程 序所需的 N个数据间的相关性系数; 所述 N为不小于 0的整数; 所述处理器, 还用于根据每一个处理设备的计算资源, 在 L个处 理设备中确定出 M个第一处理设备; 其中, 所述 L是处理设备的总个 数, M是大于 0不大于 L的整数;
中,获取第一待处理程序所需的 N个数据与所述 M个第一处理设备间 的关联性系数; 其中, 所述数据与处理设备间的关联性是指所述数据 与存储所述数据的处理设备间的关联关系; 所述处理器,还用于根据所述第一待处理程序所需的 N个数据与 所述 M个第一处理设备间的关联性系数,从所述 M个第一处理设备中 确定出所述 N个数据中每一个数据对应的备选目标处理设备; 所述处理器,还用于在所述 N个数据中每一个数据对应的备选目 标处理设备中确定出目标处理设备; 所述发送器,用于将所述第一待处理程序发送至所述目标处理设 备。
1 8、 根据权利要求 1 7所述的管理设备, 其特征在于, 所述处理器,还用于根据所述第一待处理程序所需 N个数据中每 一个数据的数据属性参数,确定第一待处理程序与所述第一待处理程 序所需 N个数据间的相关性系数; 所述处理器,还用于更新已存储的待处理程序与所述待处理程序 所需的数据间的相关性系数;
所述处理器, 还用于根据处理设备的属性参数, 确定所述第一待 处理程序所需 N个数据与 L个处理设备间的关联性系数; 所述处理器,还用于更新已存储的数据与处理设备间的关联性系 数。
1 9、 根据权利要求 1 8所述的管理设备, 其特征在于, 所述处理器,具体用于根据所述第一待处理程序所需 N个数据中 每一个数据的数据属性参数,对所述第一待处理程序所需 N个数据排 序,依次对排序后的第一待处理程序所需 N个数据中每一个数据, 设 置其与所述第一待处理程序间的相关性系数; 其中, 排序后的所述每 一个数据设置的相关性系数间的大小关系,与所述每一个数据的数据 属性参数间的大小关系相对应。
20、 根据权利要求 1 8或 1 9所述的管理设备, 其特征在于, 所述处理器, 具体用于根据处理设备的属性参数, 确定所述第一 待处理程序所需 N个数据中每一个数据,在 L个处理设备中每个处理 设备中的存储状态; 所述处理器,具体用于在确定出第一数据在第一处理设备中的存 储状态为已存储时,设置所述第一数据与所述第一处理设备间的关联 性系数为有效值;在确定出第一数据在第一处理设备中的存储状态为 未存储时,设置所述第一数据与所述第一处理设备间的关联性系数为 无效值; 其中, 所述第一数据是所述第一待处理程序所需 N个数据中 的任一个数据;所述第一处理设备是所述 L个处理设备中的任一个处 理设备。
2 1、 根据权利要求 2 0所述的管理设备, 其特征在于, 所述处理器, 具体用于根据所述处理设备的属性参数, 对至少一 个第一处理设备进行排序,依次对排序后的所述至少一个第一处理设 备中的每一个处理设备, 重设其与所述第一数据间的相关性系数, 并 更新已存储的数据与处理设备间的关联性系数; 其中, 所述第一处理 设备是与所述第一数据的关联性系数为有效值的处理设备;所述至少 一个第一处理设备重设的相关性系数间的大小关系,跟与所述至少一 个第一处理设备的属性参数间的大小关系相对应。
22、 根据权利要求 1 7- 2 1任一项所述的管理设备, 其特征在于, 所述处理器,具体用于根据所述第一待处理程序所需的 N个数据 与所述 M个第一处理设备间的关联性系数,从所述 M个第一处理设备 中,依次对所述第一待处理程序所需的 N个数据中的一个数据, 选出 其与 M个第一处理设备的关联性系数中,关联性系数最大值对应的处 理设备;并将所述关联性系数最大值对应的处理设备确定为所述数据 的备选目标处理设备。
2 3、 根据权利要求 1 7- 22任一项所述的管理设备, 其特征在于, 所述处理器,还用于根据所述第一待处理程序与所述第一待处理 程序所需的 N个数据间的相关性系数,及所述第一待处理程序所需的
N 个数据中每一个数据与其对应的备选目标处理设备间的关联性系 数,获取所述第一待处理程序所需的 N个数据中每一个数据对应的备 选目标处理设备的可用性系数;
所述处理器, 具体用于根据所述第一待处理程序所需的 N个数据中 每一个数据对应的备选目标处理设备的可用性系数, 将可用性系数最 大值对应的备选目标处理设备确定为目标处理设备。
PCT/CN2014/078227 2013-11-08 2014-05-23 一种优化的调度方法及管理设备 WO2015067032A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310557049.2A CN103593240B (zh) 2013-11-08 2013-11-08 一种优化的调度方法及管理设备
CN201310557049.2 2013-11-08

Publications (1)

Publication Number Publication Date
WO2015067032A1 true WO2015067032A1 (zh) 2015-05-14

Family

ID=50083395

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/078227 WO2015067032A1 (zh) 2013-11-08 2014-05-23 一种优化的调度方法及管理设备

Country Status (2)

Country Link
CN (1) CN103593240B (zh)
WO (1) WO2015067032A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593240B (zh) * 2013-11-08 2016-11-23 华为技术有限公司 一种优化的调度方法及管理设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148871A (zh) * 2011-03-18 2011-08-10 浪潮(北京)电子信息产业有限公司 存储资源调度方法和装置
CN102541470A (zh) * 2011-12-21 2012-07-04 成都市华为赛门铁克科技有限公司 数据对象的处理方法及装置
CN102629934A (zh) * 2012-02-28 2012-08-08 北京搜狐新媒体信息技术有限公司 基于分布式存储系统的数据存储方法及装置
CN103593240A (zh) * 2013-11-08 2014-02-19 华为技术有限公司 一种优化的调度方法及管理设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3763247B2 (ja) * 2000-06-07 2006-04-05 日本電気株式会社 モジュール再分割提案装置およびモジュール再分割提案方法、並びに記録媒体
CN102081549A (zh) * 2009-11-30 2011-06-01 财团法人资讯工业策进会 用于数据调度的处理装置及其数据调度方法
CN101834906B (zh) * 2009-12-31 2012-11-21 中国科学院声学研究所 一种分布式任务处理和协作的多尺度服务单元选择方法
US8887169B2 (en) * 2010-09-15 2014-11-11 Empire Technology Development Llc Task assignment in cloud computing environment
US8621479B2 (en) * 2012-01-05 2013-12-31 The Boeing Company System and method for selecting task allocation method based on load balancing and core affinity metrics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148871A (zh) * 2011-03-18 2011-08-10 浪潮(北京)电子信息产业有限公司 存储资源调度方法和装置
CN102541470A (zh) * 2011-12-21 2012-07-04 成都市华为赛门铁克科技有限公司 数据对象的处理方法及装置
CN102629934A (zh) * 2012-02-28 2012-08-08 北京搜狐新媒体信息技术有限公司 基于分布式存储系统的数据存储方法及装置
CN103593240A (zh) * 2013-11-08 2014-02-19 华为技术有限公司 一种优化的调度方法及管理设备

Also Published As

Publication number Publication date
CN103593240A (zh) 2014-02-19
CN103593240B (zh) 2016-11-23

Similar Documents

Publication Publication Date Title
US20200364608A1 (en) Communicating in a federated learning environment
US11650894B2 (en) Content-sensitive container scheduling on clusters
US10229004B2 (en) Data transfer priority levels
US10649828B2 (en) Prioritized data rebuilding in a dispersed storage network
US8315992B1 (en) Affinity based allocation for storage implementations employing deduplicated data stores
US10735545B2 (en) Routing vault access requests in a dispersed storage network
US10877680B2 (en) Data processing method and apparatus
US20170090824A1 (en) Layered queue based coordination of potentially destructive actions in a dispersed storage network memory
US8832218B2 (en) Determining priorities for cached objects to order the transfer of modifications of cached objects based on measured network bandwidth
US10606516B2 (en) Systems and methods for I/O prioritization in NVMe-compliant storage devices
KR102351948B1 (ko) 파일 평판 평가 기법
US9935999B1 (en) File download manager
JP2015001828A (ja) 割当プログラム、割当装置および割当方法
US10817380B2 (en) Implementing affinity and anti-affinity constraints in a bundled application
KR101719500B1 (ko) 캐싱된 플로우들에 기초한 가속
US10606709B1 (en) Method and system for intelligently load balancing database backup operations in information technology environments
US10616134B1 (en) Prioritizing resource hosts for resource placement
US20170353575A1 (en) Caching for unique combination reads in a dispersed storage network
WO2021068350A1 (zh) 资源受限项目调度方法、装置、计算机设备、及存储介质
JP6129290B1 (ja) 分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステム
US8700572B2 (en) Storage system and method for controlling storage system
CN112835511B (zh) 分布式存储集群的数据写入方法、装置、设备和介质
WO2015067032A1 (zh) 一种优化的调度方法及管理设备
US20190056997A1 (en) Chaining computes in a distributed computing system
US8015207B2 (en) Method and apparatus for unstructured data mining and distributed processing

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

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

Country of ref document: EP

Kind code of ref document: A1