Control device, control device operation method, control device operation program, and physical property prediction system
The control device calculates job scores based on compound information to optimize hardware resource allocation and processing order, addressing inefficiencies in conventional scaling methods by prioritizing small and large job sets, thus enhancing the prediction system's performance in drug discovery.
Patent Information
- Application Number
- PCT/JP2024/016299
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-16
- Filing Date
- 2024-04-25
- Publication Date
- 2024-12-19
AI Technical Summary
Conventional scaling methods for physical property prediction systems, such as those used in drug discovery, fail to appropriately control hardware resources due to varying loads based on molecular weight, leading to inefficient processing times and resource allocation.
A control device and method that calculates a job score based on compound information, using a processor to determine the scale of hardware resources and prioritize processing orders through separate queues for small and large job sets, ensuring more accurate resource allocation and reduced waiting times.
This approach allows for more precise control of hardware resources, reducing variations in processing times and improving efficiency by considering the molecular weight of compounds and their predicted loads, particularly effective in drug discovery where load differences can be significant.
Smart Images

Figure JP2024016299_19122024_PF_FP_ABST
Abstract
Description
Control device, control device operation method, control device operation program, and physical property prediction system
[0001] The present disclosure relates to a control device, an operating method for the control device, an operating program for the control device, and a physical property prediction system.
[0002] A property prediction device that predicts the physical properties of a compound is known (see, for example, Japanese Patent No. 7219374). The property prediction device described in Japanese Patent No. 7219374 is a server that accepts requests from client terminals of multiple users via a network and returns prediction results to each of the requesting client terminals. A system in which a server provides application services to client terminals via a network in this way is also called a cloud system.
[0003] Like computer systems in many fields, physical property prediction systems are classified into two types: an installation type in which a prediction program is installed on each computer, and a cloud system as described in Japanese Patent No. 7219374. While an installation type allows one user to occupy hardware resources, a cloud system allows multiple users to share the hardware resources. Therefore, in a cloud system, the load on hardware resources fluctuates significantly depending on the usage status and processing requests of each user.
[0004] For example, when a property prediction system is used in drug discovery, the target of property prediction is a compound that will be a candidate for the drug. In the drug development process, the number of compounds that require prediction varies greatly at each phase of the development process. In the early phase of drug development, the number of compounds that require prediction reaches hundreds of thousands, whereas in the final phase, this number decreases to around a few dozen. Therefore, depending on the phase that each user is responsible for, the number of compounds to be predicted included in the user's request varies greatly from user to user. Furthermore, when it comes to prediction methods for compound properties, prediction methods that use machine learning models and prediction methods that use molecular simulations such as molecular dynamics simulations place a large difference in the load on hardware resources, so the load varies greatly depending on which prediction method the user selects.
[0005] A common technology for computer systems is scaling, which controls the scale of hardware resources in real time in response to such load fluctuations on hardware resources. For example, scaling involves changing the number of prediction processing servers that execute prediction processing depending on the number of prediction processing requests.
[0006] However, conventional scaling was performed only according to the number of prediction processes, so in compound property prediction, it was sometimes not possible to appropriately scale hardware resources according to the actual load.
[0007] This is because, when predicting the physical properties of compounds, even when processing a single compound, the load on hardware resources varies greatly depending on the molecular weight of the compound being predicted. For example, the molecular weight of a compound can differ by several tens of times between low-molecular-weight compounds and high-molecular-weight compounds. A difference of several tens of times in the molecular weight of the compound being predicted means that even if the number of prediction processes is the same, the load will differ by several tens of times. As a result, simply scaling according to the number of processes may not be sufficient to achieve appropriate control.
[0008] The technology disclosed herein provides a control device, a control device operating method, a control device operating program, and a property prediction system that enable appropriate control when predicting the physical properties of compounds, compared to when scaling hardware resources based solely on the number of cases.
[0009] A control device according to the disclosed technology includes a processor, which receives a request for a prediction process to predict the physical properties of a compound, the request including compound information for identifying the compound to be predicted, derives a job score, which is an evaluation value of the load of the job corresponding to the received request, based on the compound information, and controls the scale of hardware resources for executing multiple unprocessed jobs based on the job score.
[0010] The processor may obtain the correlation from a storage in which correlations between compound information and loads are stored in advance, and derive the job score.
[0011] The hardware resources are servers that execute the prediction process, and the processor may determine the number of servers to be allocated to the prediction process as a scale.
[0012] When the processor receives a request from a first user and then receives a request from a second user different from the first user, and if the series of jobs corresponding to the successive requests from the first user is a large job set with a load exceeding a predetermined threshold, and the series of jobs corresponding to the successive requests from the second user is a small job set with a load below the threshold, the processor may perform sequence control to prioritize the processing order of the small job set of the second user over part of the large job set of the first user.
[0013] The load may be the number of jobs or the job score.
[0014] The processor sets two queues capable of parallel processing as queues into which unprocessed jobs are registered: a small-scale queue into which small-scale job sets are registered, and a large-scale queue into which large-scale job sets are registered; and in sequence control, the processor may register some of the large-scale job sets of the first user, up to a threshold, in the small-scale queue, and the remainder exceeding the threshold in the large-scale queue, while registering the small-scale job sets of the second user in the small-scale queue.
[0015] The small queue and the large queue may each be allocated separate hardware resources.
[0016] The processor may indicate the waiting time for the job to complete.
[0017] A method for operating a control device according to the disclosed technology is a method for operating a control device equipped with a processor, in which the processor receives a request for a prediction process that predicts the physical properties of a compound, the request including compound information for identifying the compound to be predicted, derives a job score, which is an evaluation value of the load of the job corresponding to the received request, based on the compound information, and controls the scale of hardware resources for executing multiple unprocessed jobs based on the job score.
[0018] The operating program of the control device according to the technology of the present disclosure is an operating program for causing a computer to function as a control device, and causes the computer to execute the following processes: a prediction process for predicting the physical properties of a compound, receiving a request for the prediction process including compound information for identifying the compound to be predicted; a process for deriving a job score, which is an evaluation value of the load of the job corresponding to the received request, based on the compound information; and a process for controlling the scale of hardware resources for executing multiple unprocessed jobs based on the job score.
[0019] A physical property prediction system according to the technique of the present disclosure includes the control device and a prediction processing device as a hardware resource that executes the prediction processing.
[0020] Another control device according to the technology of the present disclosure includes a processor, which receives a request for a prediction process to predict the physical properties of a compound, and after receiving a request from a first user, receives a request from a second user different from the first user. If the series of jobs corresponding to the consecutive requests from the first user is a large-scale job set with a load exceeding a predetermined threshold, and the series of jobs corresponding to the consecutive requests from the second user is a small-scale job set with a load below the threshold, the processor performs sequence control to prioritize the processing order of the second user's small-scale job set over a portion of the first user's large-scale job set.
[0021] In another control device, the load may be the number of jobs per compound, or a job score that is an evaluation value of the magnitude of the load determined according to the compound.
[0022] In another control device, a processor sets two queues capable of parallel processing as queues into which unprocessed jobs are registered: a small-scale queue into which small-scale job sets are registered, and a large-scale queue into which large-scale job sets are registered; and in sequence control, the processor registers some of the large-scale job sets of a first user, up to a threshold, in the small-scale queue, and registers the remainder that exceed the threshold in the large-scale queue, while registering the small-scale job sets of a second user in the small-scale queue.
[0023] In other controllers, the small queue and the large queue may each be allocated separate hardware resources.
[0024] In another control system, the processor may indicate the waiting time for the job to be completed.
[0025] Another method of operating a control device according to the technology of the present disclosure is a method of operating a control device having a processor, in which the processor receives a request for a prediction process to predict the physical properties of a compound, and after receiving a request from a first user, receives a request from a second user different from the first user, and if the series of jobs corresponding to the consecutive requests from the first user are a large-scale job set with a load exceeding a predetermined threshold, and the series of jobs corresponding to the consecutive requests from the second user are a small-scale job set with a load below the threshold, performs sequence control to prioritize the processing order of the second user's small-scale job set over a portion of the first user's large-scale job set.
[0026] Another operating program of a control device related to the technology of the present disclosure is an operating program for causing a computer to function as a control device, and causes the computer to perform the following processes: a process of accepting a request for a prediction process for predicting the physical properties of a compound; and a process of performing sequence control that prioritizes the processing order of a small job set of the second user over a portion of the large job set of the first user if, after accepting a request from a first user, a request from a second user different from the first user is accepted, and if the series of jobs corresponding to the consecutive requests from the first user is a large job set with a load exceeding a predetermined threshold and the series of jobs corresponding to the consecutive requests from the second user is a small job set with a load below the threshold.
[0027] Another physical property prediction system according to the technique of the present disclosure includes the another control device and a prediction processing device that executes prediction processing.
[0028] According to the present disclosure, in predicting the physical properties of compounds, more appropriate control of hardware resources is possible than when scaling is performed based only on the number of cases.
[0029] 18 is a diagram illustrating an overview of a control device of a compound prediction system. FIG. 19 is a block diagram illustrating an example of the hardware configuration of the control device. FIG. 19 is a diagram illustrating an example of each process executed by a processor. FIG. 19 is a diagram illustrating an example of a request reception process. FIG. 20 is a diagram illustrating an example of a job score derivation process and a scaling process. FIG. 21 is a flowchart illustrating an overall processing procedure of the control device. FIG. 22 is a diagram illustrating a comparative example. FIG. 23 is a diagram illustrating types and molecular weights of pharmaceuticals. FIG. 24 is a diagram illustrating an example of each process executed by a processor of a second embodiment. FIG. 25 is a diagram illustrating an example of a request reception process of a second embodiment. FIG. 26 is a diagram illustrating another example of a job assignment process. FIG. 27 is a flowchart illustrating an overall processing procedure of the control device of the second embodiment. FIG. 28 is a flowchart illustrating an example of a job assignment process. FIG. 29 is a diagram illustrating an example of an allocation of hardware resources to each queue. FIG. 29 is a diagram illustrating the relationship between each phase of the drug discovery development process and the number of candidate substances. FIG. 29 is a diagram illustrating an example of allocating one hardware resource to two queues. FIG. 21 is an example illustrating an example of a job processing order for the case of FIG. 17. FIG. 21 is a diagram illustrating an example in which a threshold value is used as a job score.
[0030] 1, a property prediction system 11 is a device that predicts the properties of compounds and outputs the prediction results. The property prediction system 11 is a server-based system that distributes prediction results in response to a prediction processing request from a client terminal 12, and is also called a cloud system. The property prediction system 11 and the client terminal 12 can communicate with each other via a network 14. The network 14 is a communication network such as a LAN (Local Area Network) or a WAN (Wide Area Network).
[0031] The client terminal 12 is operated by a user 13, such as a researcher who evaluates the physical properties of a compound. The client terminal 12 is, for example, a personal computer. When distinguishing between user "A" 13 and user "B" 13, the users 13 are referred to as 13A and 13B, respectively, but when no distinction is necessary, they are collectively referred to as users 13.
[0032] The physical property prediction system 11 is used, for example, in research and development of drug discovery. In research and development of drug discovery, it is important to evaluate absorption, distribution, metabolism, excretion, and toxicity as physical properties of compounds that are candidate substances for pharmaceuticals. The physical property prediction system 11 is used, for example, to predict toxicity among these physical properties. Note that other physical properties may be predicted, or multiple types of physical properties may be predicted.
[0033] Access to the property prediction system 11 from the client terminal 12 is performed, for example, via a general-purpose browser. When the URL (Uniform Resource Locator) of the property prediction system 11 is entered into the browser, the property prediction system 11 transmits an operation screen of the property prediction system 11 to the client terminal 12 via the browser's communication function. The user 13 inputs information about the compound to be predicted through the operation screen displayed on the browser. When the send button is operated, a prediction processing request including the input compound information is transmitted from the client terminal 12 to the property prediction system 11. The compound information is information for identifying the compound to be predicted, and is, for example, data selected from the structural formula, composition formula, and amino acid sequence of the compound.
[0034] In some cases, the user 13 can select a prediction processing method, such as a prediction method using a machine learning model or a prediction method using a molecular simulation such as a molecular dynamics simulation. In this case, the prediction method selected by the user 13 is input via the operation screen and is transmitted to the property prediction system 11 together with a prediction processing request.
[0035] A prediction processing request to the property prediction system 11 can include one or more compounds to be predicted. The client terminal 12 can send prediction processing requests for one compound at a time, or can send prediction processing requests for multiple compounds in a batch. FIG. 1 shows an example in which a user 13A inputs multiple compounds, such as A1, A2, ..., as prediction targets into the client terminal 12, and the client terminal 12 sends prediction processing requests for the multiple input compounds in a batch. A user 13B inputs multiple compounds, such as B1, B2, ..., as prediction targets into the client terminal 12, and the client terminal 12 sends prediction processing requests for the multiple input compounds in a batch. A prediction processing request is an example of a "request" related to the technology of the present disclosure.
[0036] The property prediction system 11 includes a control device 21 and multiple prediction processing servers 22. The prediction processing server 22 is an example of a "prediction processing device" according to the technology of the present disclosure. The control device 21 and the prediction processing server 22 are communicatively connected via a LAN, for example. The prediction processing server 22 executes a prediction process to predict the properties of a compound and outputs the prediction results. The prediction processing server 22 is, for example, a computer installed with a prediction processing program that predicts the properties of a compound based on compound information. The prediction processing program includes a program that uses a machine learning model as well as a program that executes molecular simulation. The prediction processing server 22 constitutes hardware resources 23 for executing jobs. Each of the multiple prediction processing servers 22 may be configured as a physically independent computer, or may be multiple virtual servers configured virtually by installing multiple operating systems (OS) on a single computer.
[0037] The control device 21 accepts prediction processing requests from the client terminal 12 and distributes the prediction results output by the prediction processing server 22 to the requesting client terminal 12. As will be described later, the control device 21 also has a function of controlling the scale of the hardware resources 23, and changes the scale of the hardware resources 23 in real time depending on the processing status, etc.
[0038] 2, the computer constituting the control device 21 includes a processor 41, a memory 42, a storage 43, a communication unit 44, a display 46, and an input device 47. These are interconnected via a bus line 48. The processor 41 is, for example, a CPU (Central Processing Unit).
[0039] The storage 43 is a hard disk drive built into the computer constituting the control device 21 or connected via a cable or network. Alternatively, the storage 43 is a disk array consisting of multiple hard disk drives. Note that a solid state drive may be used instead of a hard disk drive. The storage 43 stores control programs such as an operating system, various application programs including an operating program 49, and various data associated with these programs. The various data includes reference information 49A that the operating program 49 references to execute processing.
[0040] The memory 42 is a work memory for the processor 41, which is made up of a CPU, to execute processing. The processor 41 loads programs stored in the storage 43 into the memory 42 and executes processing in accordance with the programs, thereby providing overall control of each part of the computer. The operating program 49 is an application program for causing the computer to function as the control device 21, and is an example of an "operating program for a control device" according to the technology of the present disclosure.
[0041] The communication unit 44 is a network interface that controls the transmission of various information via a network. For example, communication with the client terminal 12 and the prediction processing server 22 is performed via the communication unit 44. The display 46 displays various screens for operating the control device 21. The control device 21 accepts input of operation instructions from the input device 47 via the various screens.
[0042] As shown in FIG. 3, when the processor 41 executes the operating program 49, the processor 41 executes a request acceptance process, a job score derivation process, a scaling process, and a waiting time presentation process.
[0043] The request reception process is a process of receiving a prediction processing request from the client terminal 12. As shown in Fig. 4, when the processor 41 receives a prediction processing request, it registers the received prediction processing request in the job queue 56 as a job for each compound. A job 61 is a unit for which the prediction processing server 22 executes processing, and the job queue 56 is a queue for waiting unprocessed jobs. In this example, one job 61 is a process for predicting the properties of one compound, and the number of jobs 61 matches the number of compounds to be predicted.
[0044] Jobs corresponding to received predicted processing requests are registered in the job queue 56 in the order in which the predicted processing requests were received. The jobs 61 registered in the job queue 56 are read out of the job queue 56 and executed by the predictive processing server 22 in the order in which they were registered or in the order in which the predicted processing requests were received.
[0045] 4 illustrates an example in which a predicted processing request from user 13A was received earlier than a predicted processing request from user 13B. In the job queue 56, jobs 61 (shown as B1, B2, ...) of user 13B are registered after jobs 61 (shown as A1, A2, ...) of user 13A.
[0046] As shown in FIG. 5 , the processor 41 derives a job score based on compound information in the job score derivation process. The job score is an evaluation value of the magnitude of the load of a job 61 corresponding to a received prediction processing request. The load of the job 61 is the load of calculation processing (hereinafter referred to as calculation load) borne by the prediction processing server 22 when executing the prediction processing, and is an example of the "load" according to the technology of the present disclosure. There is a correlation between the calculation load of the prediction processing and the molecular weight of the compound, in that the calculation load increases as the molecular weight increases. The reference information 49A includes a load function 57, which is an example of such a correlation. The load function 57 may be in the form of an arithmetic expression or table data.
[0047] In the job score derivation process, the processor 41 extracts a molecular weight from the compound information of the compound to be predicted in the job 61 and derives a computational load corresponding to the extracted molecular weight by referring to the load function 57. The processor 41 then records the derived computational load as a job score in the memory 42, the storage 43, or the like. The processor 41 derives a job score for each job 61. In the example shown in FIG. 5 , for example, the job score of the job 61 for compound A1 of the user 13A is "500," and the job score of the job 61 for compound A2 is "20." Furthermore, the job score of the job 61 for compound B1 of the user 13B is "1000," and the job score of the job 61 for compound B2 is "20." Thus, even in a prediction process that predicts the physical properties of a single compound, the job score varies depending on the molecular weight of the compound. In this way, the processor 41 obtains the load function 57, which is an example of the correlation between compound information and computational load, from the storage 43, which pre-stores the load function 57, and derives the job score.
[0048] Furthermore, even for the same molecular weight, the computational load varies depending on whether the prediction method uses a machine learning model or a molecular simulation. Therefore, a load function 57 may be set for each prediction method. In this case, for example, the processor 41 reads the prediction method selected by the user 13 from the prediction processing request, and derives the job score by using different load functions 57 depending on the selected prediction method.
[0049] In the scaling process, the processor 41 adds up the job scores of the unprocessed jobs 61 registered in the job queue 56. In the example shown in FIG. 5 , the total job score is "500" + "20" + "1000" + "20" = "1540." The processor 41 then controls the scale of the hardware resources 23 based on the total value. The scale is, for example, the number of prediction processing servers 22 assigned to prediction processing, and the processor 41 determines the number of prediction processing servers 22 appropriate for the total job score. The processing capacity of each prediction processing server 22 is determined by its specifications, and the processing capacity is, for example, the processing time per unit job score. The overall processing capacity of the hardware resources 23 increases when the number of prediction processing servers 22 is increased, and decreases when the number is reduced.
[0050] When the number of prediction processing servers 22 is constant, as the total value of the job scores increases, the calculation load borne by one prediction processing server 22 in the hardware resources 23 increases. This results in a longer processing time until all unprocessed jobs 61 are completed. Furthermore, when the total value of the job scores is small, if there are too many prediction processing servers 22, the hardware resources 23 will be over-specified. As an example, the processor 41 determines the number of prediction processing servers 22 based on the total value of the job scores so that the calculation load borne by one prediction processing server 22 does not exceed a preset range.
[0051] The processor 41 records the determined number of prediction processing servers 22 in the resource setting information 58. In the resource setting information 58, for example, identification information of the allocated prediction processing servers 22 and the like are recorded.
[0052] In the waiting time presentation process, the processor 41 calculates the processing time of the unprocessed jobs 61 based on the total value of the job scores of the unprocessed jobs 61 registered in the job queue 56 and the processing capacity according to the scale of the hardware resources 23. Then, the processor 41 calculates the waiting time for each user 13 based on the processing time of the unprocessed jobs 61. Since the jobs 61 are executed in the order registered in the job queue 56, naturally, the waiting time of a user 13 who received the jobs later in the order will be longer than that of a user 13 who received the jobs earlier in the order. In the examples shown in FIGS. 4 and 5 , the waiting time of user 13B is longer than that of user 13A. Naturally, when calculating the waiting time of user 13B, the processor 41 takes into account the processing time of the job 61 of user 13A, who received the jobs earlier than user 13B.
[0053] The processor 41 distributes the calculated waiting time to the client terminal 12 of the requesting user 13. In this way, the processor 41 presents to each user 13 the waiting time until the job 61 is completed.
[0054] The operation of the above configuration will be described with reference to the flowchart shown in Fig. 6. As shown in Fig. 6, when the physical property prediction system 11 is started, the processor 41 waits for a prediction processing request in step ST1000. If the processor 41 receives a prediction processing request (Y in step ST1000), the processor 41 proceeds to step ST2000.
[0055] In step ST2000, the processor 41 executes the request reception process as shown in Fig. 4. In the request reception process, the processor 41 registers the received prediction processing request in the job queue 56 as a job 61 for each compound.
[0056] In step ST3000, the processor 41 executes the job score derivation process as shown in Fig. 5. In the job score derivation process, the processor 41 derives the total value of the job scores of the unprocessed jobs 61 based on the compound information and the load function 57 included in the prediction process request.
[0057] In step ST4000, the processor 41 executes scaling processing as shown in Fig. 5. In the scaling processing, the processor 41 controls the scale of the hardware resources 23 by determining the number of prediction processing servers 22 based on the total value of the job scores.
[0058] In step ST5000, the processor 41 executes a waiting time presentation process. The processor 41 calculates a waiting time for each user 13 based on the job scores of the unprocessed jobs 61, the processing capacity of the hardware resources 23, and the order in which the jobs 61 for each user 13 were received, and presents the calculated waiting time to the user 13.
[0059] The processor 41 repeats the processes from step ST1000 to step ST5000 until the operation of the property prediction system 11 is completed (step ST6000).
[0060] As described above, in the control device 21 according to the technology of the present disclosure, the processor 41 receives a request for a prediction process that predicts the physical properties of a compound, the request including compound information for identifying the compound to be predicted, derives a job score that is an evaluation value of the load of the job 61 corresponding to the received request based on the compound information, and controls, based on the job score, the scaling of the hardware resources 23 for executing multiple unprocessed jobs 61. Therefore, in compound property prediction, more appropriate control is possible than when scaling of the hardware resources is performed based only on the number of jobs.
[0061] For example, as in the comparative example shown in FIG. 7 , when scaling processing is performed based only on the number of jobs 61 without using job scores, differences in load among compounds are not taken into account. When there are four unprocessed jobs 61, the number of prediction processing servers 22 is determined based on the number of jobs 61, without taking into account differences in load among the jobs 61. In contrast, according to the technology disclosed herein, even when the same number of jobs 61 are received, the processor 41 performs scaling processing while taking into account differences in load among compounds, such as differences in load due to the molecular weight of the compounds. Therefore, it is possible to appropriately scale the hardware resources 23 in accordance with the actual load. As a result, it is possible to reduce variations in processing time due to differences in load among compounds in the unprocessed jobs 61.
[0062] As shown in Figure 8, there are various types of pharmaceuticals, including small molecule pharmaceuticals, many of which have a molecular weight of less than 500, as well as medium molecule pharmaceuticals or antibody pharmaceuticals, whose molecular weights range from 500 to 20,000. When comparing the molecular weights of small molecule pharmaceuticals and antibody pharmaceuticals, the difference can be as much as 40 times or more. As shown by the load function 57, the difference in molecular weight manifests as a difference in the computational load of the prediction process, and the difference in load for a single job 61 can be as much as 40 times or more. In recent years, drug discovery of medium molecule pharmaceuticals or antibody pharmaceuticals has become popular, and this trend is expected to continue in the future. Therefore, the technology disclosed herein, which focuses on compound information and scales hardware resources, is particularly effective in these fields.
[0063] In the above embodiment, the processor 41 obtains the correlation between compound information and load (for example, the load function 57) from the storage 43, which stores the correlation in advance, to derive the job score. Therefore, processing can be completed in a shorter time than when the correlation is calculated each time.
[0064] In the above embodiment, the hardware resources 23 are prediction processing servers 22 (an example of a server according to the technology of the present disclosure) that execute prediction processing, and the processor 41 determines the number of prediction processing servers 22 to be allocated to the prediction processing as the scale. In scaling processing of the hardware resources 23, changing the number of prediction processing servers 22 is common, and therefore this method is easier to implement than other methods.
[0065] [Second embodiment] The control device 21 of the second embodiment shown in Figures 9 to 15 is configured in such a way that, when a user 13 makes a relatively large number of large-scale prediction processing requests and then another user 13 makes a relatively small number of small-scale prediction processing requests, under certain conditions, the control device 21 gives priority to processing the small-scale prediction processing requests before all of the large-scale prediction processing requests are completed.
[0066] 9, in the second embodiment, the processor 41 executes a job allocation process in the request reception process. Since the second embodiment is similar to the first embodiment except for the job allocation process, a description of the process other than the job allocation process will be omitted.
[0067] As shown in FIG. 10 , consider an example in which a user 13A makes consecutive prediction processing requests for 10,000 compounds, followed by a successive prediction processing request for 10 compounds from another user 13B. User 13A is an example of a "first user," and user 13B is an example of a "second user." The processor 41 registers the user 13A's prediction processing requests for 10,000 compounds and the user 13B's prediction processing requests for 10 compounds as compound-based jobs 61 in the job queue 56 in the order in which they are received. Hereinafter, a series of jobs 61 corresponding to consecutive requests will also be referred to as a job set 62. Furthermore, when distinguishing between the job sets 62 of user 13A and user 13B, the series of jobs 61 of user 13A will be referred to as job set 62A, and the series of jobs 61 of user 13B will be referred to as job set 62B.
[0068] Here, a continuous request typically refers to a request in which a single user 13 specifies multiple compounds to be predicted and then collectively requests prediction processing for the specified multiple compounds, as shown in FIG. 10 . Alternatively, a continuous request may also include multiple separate requests for prediction processing, each specifying one or more compounds as prediction targets, sent within a predetermined time range. The time range recognized as a continuous request may be specified as within 5 or 10 minutes, or multiple requests sent within a period in which the user 13 is logged into the system may be considered continuous requests. In other words, a series of jobs 61 or a job set 62 is a group of multiple jobs 61 that meet the conditions for recognizing such a continuous request.
[0069] 11 , the processor 41 of the control device 21 of the second embodiment executes a job allocation process to allocate job sets 62A and 62B registered in the job queue 56. As shown in Fig. 11 , as an example, the processor 41 sets two queues, a small-scale queue 66 and a large-scale queue 67, in addition to the job queue 56, as queues in which unprocessed jobs 61 are registered. In this example, the job queue 56 is a primary queue in which jobs are registered before the job allocation process, and the small-scale queue 66 and the large-scale queue 67 are secondary queues in which jobs are registered after the job allocation process.
[0070] The small-scale queue 66 is a queue in which small-scale job sets are registered, and the large-scale queue 67 is a queue in which large-scale job sets are registered. The small-scale job sets are queues in which job sets 62 with loads equal to or less than a preset threshold are registered. Small-scale job sets also include cases in which there is only one job 61. The large-scale queue 67 is a queue in which job sets 62 with loads exceeding a preset threshold are registered.
[0071] The load is, for example, the number of jobs 61, and the threshold is, for example, 100. A job set 62A consisting of 10,000 jobs 61 of a user 13A shown in Figure 10 is an example of a large-scale job set, and a job set 62B consisting of 10 jobs 61 of a user 13B is an example of a small-scale job set. In other words, a limit is placed on the load of a job set 62 that can be registered in the small-scale queue 66.
[0072] As shown in FIG. 11 , the processor 41 executes a job allocation process to allocate jobs 61 registered in the job queue 56, which is a primary queue, to a small-scale queue 66 and a large-scale queue 67. In the example shown in FIG. 11 , a job set 62A1 for a user 13A and a job set 62B for a user 13B are registered in the small-scale queue 66. The job set 62A1 is part of the job set 62A containing 10,000 jobs 61 for the user 13A shown in FIG. 10 , and specifically includes a series of 100 jobs 61. The job set 62B also includes a series of 10 jobs 61 for the user 13B shown in FIG. 10. In this way, the maximum number of jobs 61 that can be processed consecutively in the small-scale queue 66 is 100, with the same user 13 as the request source.
[0073] 11, a job set 62A2 including 9,900 jobs 61 requested by user 13A is registered in large-scale queue 67. Job set 62A2 is the remainder of job set 62A (including 10,000 jobs 61) shown in FIG. 10 , excluding job set 62A1 (including 100 jobs 61) registered in small-scale queue 66.
[0074] In this way, the processor 41 executes the job allocation process, and allocates the jobs 61 registered in the job queue 56 shown in FIG. 10 to the small-scale queue 66 and the large-scale queue 67. As a result, small-scale job sets, which are job sets 62 each having a threshold of 100 or less, are registered in the small-scale queue 66. For large-scale job sets that exceed the threshold, such as the job set 62A of the user 13A, the processor 41 registers a part of the large-scale job set, job set 62A1, whose upper limit is the threshold, in the small-scale queue 66. Then, the processor 41 registers the remaining job set 62A2 that exceeds the threshold in the large-scale queue 67. On the other hand, the processor 41 registers the job set 62B, which is a small-scale job set of the user 13B, in the small-scale queue 66 in the processing order after the job set 62A1 of the user 13A.
[0075] 12 , if the job set 62A of the user 13A includes 200 jobs 61 instead of 10,000, the remaining job set 62A, excluding the 100 jobs 61 registered in the small-scale queue 66, is a job set 62A3 including 100 jobs 61. In this case, the job set 62A3 is also below the threshold and is therefore registered in the small-scale queue 66. For example, if there is a job set 62 below the threshold of one or more users 13 whose acceptance order is lower than that of the user 13A, such as the job set 62B of the user 13B, the remaining job set 62A3 will be registered in the small-scale queue 66 after the job set 62A1 of the user 13A whose acceptance order is lower than that of the user 13A, and then the job set 62A3 of the user 13A will be registered.
[0076] In this way, the processor 41 performs sequence control that prioritizes the processing order of the job set 62B corresponding to the small-scale job set of the user 13B over the job set 62A2 that is part of the job set 62A corresponding to the large-scale job set of the user 13A.
[0077] Furthermore, the small-scale queue 66 and the large-scale queue 67 can perform parallel processing of prediction processes. For example, one prediction processing server 22 can sequentially execute the unprocessed jobs 61 registered in the small-scale queue 66, and another prediction processing server 22 can sequentially execute the unprocessed jobs 61 registered in the large-scale queue 67, regardless of the progress status of the small-scale queue 66.
[0078] The processing procedure of the second embodiment can be summarized in the flowcharts shown in Figures 13 and 14. The flowchart shown in Figure 13 shows the overall processing procedure, and differs from the flowchart of the first embodiment shown in Figure 6 in that it includes a job allocation process in step ST2100. As shown in Figure 13, in step ST2000, the processor 41 registers the prediction processing request received as shown in Figure 10 in the job queue 56 as a job 61 for each compound, and then executes the job allocation process in step ST2100.
[0079] Then, in step ST2100, the processor 41 executes the process shown in FIG. 14 . In step ST2110, the processor 41 determines whether the job set 62 registered in the job queue 56 is a large-scale job set based on the threshold value. If the job set 62 is equal to or less than the threshold value, the processor 41 determines that the job set 62 is a small-scale job set (N in step ST2110) and proceeds to step ST2160. Then, in step ST2160, the processor 41 registers the registered job set 62 in the small-scale queue 66. On the other hand, if the job set 62 exceeds the threshold value, the processor 41 determines that the job set 62 is a large-scale job set (Y in step ST2110) and proceeds to step ST2120. In this example, the threshold value is the number of jobs, so as shown in FIG. 10 , if the number of jobs 61 is 10,000, as in the case of job set 62A of user 13A, it is determined to be a large-scale job set. Then, when the number of jobs 61 is 10, such as in the job set 62B of the user 13B, it is determined to be a small-scale job set.
[0080] In step ST2120, the processor 41 registers in the small-scale queue 66 a partial job set 62A1, which is a part of large-scale job sets such as the job set 62A of the user 13A and has an upper limit equal to the threshold.
[0081] In step ST2130, the processor 41 determines whether the remaining job sets 62, excluding some of the job sets 62 registered in the small queue 66, are large job sets exceeding the threshold. If the remaining job sets 62 are large job sets exceeding the threshold of 100, such as job set 62A2 shown in FIG. 11 (Y in step ST2130), the processor 41 proceeds to step ST2140 and registers the remaining job set 62A2 in the large queue 67. On the other hand, if the remaining job sets 62 are small job sets not exceeding the threshold of 100, such as job set 62A3 shown in FIG. 12 (N in step ST2130), the processor 41 proceeds to step ST2150 and registers the remaining job sets 62A2 in the small queue 66.
[0082] In step ST2150, the processor 41 registers the remaining small-scale job sets that were part of the large-scale job set, such as job set 62A3, after the job sets 62 of one or more other users 13. As an example, as shown in FIG. 12, the processor 41 registers the job set 62A3 of user 13A after the job set 62B of user 13B.
[0083] In this way, in the control device 21, the job sets 62 registered in the small-scale queue 66 and the large-scale queue 67 are subjected to prediction processing as shown in FIG.
[0084] 15, a small-scale hardware resource 23A is assigned to the small-scale queue 66, and a large-scale hardware resource 23B is assigned to the large-scale queue 67. One or more prediction processing servers 22 are assigned to each of the hardware resources 23A and 23B. The jobs 61 registered in the small-scale queue 66 are processed by the small-scale hardware resource 23A in the order in which they were registered. In this way, the jobs 61 registered in the small-scale queue 66 and the large-scale queue 67 are processed in parallel.
[0085] Job set 62B, which is a small-scale job set of user 13B, has a later order of receipt of a prediction processing request than job set 62A, which is a large-scale job set of user 13A. However, job set 62B of user 13B is registered in small-scale queue 66 after job set 62A1, which corresponds to a small-scale job set that is part of job set 62A of user 13A. The small-scale queue 66 and large-scale queue 67, in which job set 62A2, which corresponds to the remaining large-scale job set of user 13A, is registered, are processed in parallel. Therefore, processing of job set 62B of user 13B begins without waiting for the completion of job set 62A2 of user 13A, which is registered in large-scale queue 67.
[0086] In the second embodiment, the waiting time presentation process is executed in the same manner as in the first embodiment, so that each user 13 can check the waiting time until the job 61 of each user 13 is completed.
[0087] As described above, when the control device 21 of the second embodiment receives a request from user 13A (an example of a first user) and then receives a request from another user 13B (an example of a second user), if the series of jobs corresponding to the successive requests from user 13A is a large job set with a load exceeding a preset threshold, and the series of jobs corresponding to the successive requests from user 13B is a small job set with a load below the threshold, the control device 21 performs sequence control to prioritize the processing order of user 13B's small job set over part of user 13A's large job set.
[0088] Therefore, even if a large-scale prediction processing request is submitted to the physical property prediction system 11, the smaller prediction processing requests submitted thereafter will not have to wait until all of the larger prediction processing requests that were accepted first are completed.
[0089] A user 13 making a large-scale predictive processing request anticipates that the processing will take some time, given the scale of the request. On the other hand, a user 13 making a small-scale predictive processing request tends to expect that the processing will not take much time, given the small scale of the request. Therefore, a user 13 making a small-scale predictive processing request may feel a greater psychological burden from a long wait time than a user 13 making a large-scale predictive processing request. Therefore, the control device 21 of the present disclosure performs order control to prioritize the processing order of a small-scale predictive processing request under certain conditions when a large-scale predictive processing request competes with a small-scale predictive processing request, so that the wait time is commensurate with the scale of the user 13's predictive processing request. This prevents a user 13 making a small-scale predictive processing request from waiting too long, thereby reducing the psychological burden.
[0090] As shown in FIG. 16 , in the drug development process, the number of candidate substances, which are compounds for which physical properties are predicted, is highest in the early phase of the development process and decreases as the phase progresses to the middle or final phase. In a cloud system shared by multiple users 13, such as the property prediction system 11, there are users 13 responsible for the early phase and users 13 responsible for the middle or final phase. Users 13 responsible for the early phase often submit large-scale prediction processing requests, such as user 13A, while users 13 responsible for the middle or final phase often submit smaller prediction processing requests. In the early phase, the number of compounds that become drug candidate substances can reach, for example, hundreds of thousands. As the physical properties of these hundreds of thousands of compounds are evaluated, the candidate substances are narrowed down in the middle and final phases. Therefore, there is likely to be a large difference between the scale of prediction processing requests made by users 13 responsible for the early phase and those made by users 13 responsible for the middle and final phases.
[0091] A technology that has the effect of reducing the waiting time of a user 13 who submits a small-scale prediction processing request, such as the control device 21 of the second embodiment of the present disclosure, is particularly effective in cases where the number of compounds to be predicted varies greatly depending on the user 13, as shown in the drug discovery field as an example.
[0092] Furthermore, in the second embodiment, the processor 41 sets a small-scale queue 66 and a large-scale queue 67 that can be processed in parallel, and in order control, the processor registers a portion of the large-scale job set of the user 13A, up to a threshold, in the small-scale queue 66, and registers the remainder that exceeds the threshold in the large-scale queue 67, while registering the small-scale job set of the user 13B in the small-scale queue 66. In this way, order control is performed by setting two queues that can be processed in parallel, and therefore processing is simpler than when order control is performed using a single queue.
[0093] 15, in the second embodiment, separate hardware resources 23A and 23B are assigned to the small-scale queue 66 and the large-scale queue 67. Therefore, it is easier to reduce the processing time compared to when jobs 61 registered in the two queues, the small-scale queue 66 and the large-scale queue 67, are processed by a single hardware resource 23.
[0094] 17 , it is not necessary to allocate separate hardware resources 23 to the small-scale queue 66 and the large-scale queue 67, and a single hardware resource 23 may be used. In this case, as shown in FIG. 18 as an example, the hardware resource 23 executes prediction processing in the order of a job set 62A1 of a user 13A registered in the small-scale queue 66, a job set 62B of a user 13B, and a job set 62A2 of a user 13A registered in the large-scale queue 67. Even in this case, it is possible to perform order control that prioritizes the processing order of the small-scale job set of user 13B.
[0095] (Variant example 2 of the second embodiment) In the above example, the threshold for determining whether a job set is a small-scale job set or a large-scale job set is the number of cases, but instead of the number of cases, the job score described in the first embodiment may be used as the threshold.
[0096] As shown in FIG. 19, the processor 41 derives job scores for the job set 62A of the user 13A and the job set 62B of the user 13B, compares the derived job scores with a threshold value, and performs job allocation processing for the small-scale job set and the large-scale job set.
[0097] The job score derivation process in the first embodiment is performed to control the scale of the hardware resources 23. On the other hand, the job score derivation process in the second modification of the second embodiment is performed for the purpose of job allocation processing according to the load. In this way, the job score derivation process in the second modification of the second embodiment has a different purpose from the job score derivation process in the first embodiment. In this example, in order to perform the job score derivation process in the job allocation processing, the processor 41 derives the job score by referring to the load function 57 in the job allocation processing.
[0098] In the example of FIG. 19 , for example, the threshold value for the job allocation process is "100,000." The job score of job set 62A of user 13A is "5,100,000," for example, and the job set is determined to be a large-scale job set that exceeds the threshold. The processor 41 registers job set 62A1, which is part of job set 62A and has a job score of "100,000" that is below the threshold, in the small-scale queue 66. The processor 41 then registers the remaining job set 62A2, which has a job score of "5,000,000," in the large-scale queue 67. Furthermore, the job score of job set 62B of user 13B is "50,000," and the processor 41 determines that job set 62B is a small-scale job set and registers it in the small-scale queue 66.
[0099] As shown in FIG. 19 , in the small-scale queue 66, in terms of the number of jobs, the job set 62A1 of user 13A has 100 jobs, which is 10 times the 10 jobs of job set 62B of user 13B. However, when compared based on the job score, which is a load that takes into account the molecular weight of the compound, the job set 62A1 has 100,000 jobs, which is twice the 50,000 jobs of job set 62B. In this way, by using the job score as a threshold, the load on the hardware resource 23 can be more accurately estimated. Because the load on the hardware resource 23 is related to the waiting time, the waiting time presented to the user 13 can be made closer to the waiting time that corresponds to the actual load.
[0100] In addition, in the above embodiment, an example was described in which the control device 21 was configured as an independent device separate from the prediction processing server 22, but it is also possible for the functions of the control device 21 to be built into one or more prediction processing servers 22.
[0101] Furthermore, the second embodiment is a combination of the scaling process and job allocation process of the first embodiment, but it is also possible to perform only the job allocation process without performing the scaling process.
[0102] (Additional Notes) The above description of the present disclosure also makes it possible to understand the following additional notes.
[0103] [Supplementary Item 1] A control device comprising a processor, wherein the processor receives a request for a prediction process for predicting the physical properties of a compound, the request including compound information for identifying the compound to be predicted, derives a job score that is an evaluation value of the magnitude of the load of the job corresponding to the received request based on the compound information, and controls a scale of hardware resources for executing multiple unprocessed jobs based on the job score. [Supplementary Item 2] The control device according to Supplementary Item 1, wherein the processor obtains a correlation between the compound information and the load from storage in which the correlation is stored in advance, and derives the job score. [Supplementary Item 3] The control device according to Supplementary Item 1 or Supplementary Item 2, wherein the hardware resources are servers that execute the prediction process, and the processor determines the number of servers to be allocated to the prediction process as the scale. [Supplementary Item 4] The control device according to any one of Supplementary Items 1 to 3, wherein, when the processor receives a request from a second user different from the first user after receiving a request from a first user, if a series of jobs corresponding to the consecutive requests from the first user is a large-scale job set with a load exceeding a preset threshold and a series of jobs corresponding to the consecutive requests from the second user is a small-scale job set with a load equal to or less than the threshold, the processor performs order control that prioritizes the processing order of a small-scale job set of the second user over a part of the large-scale job set of the first user. [Supplementary Item 5] The control device according to Supplementary Item 4, wherein the load is the number of jobs or a job score. [Supplementary Item 6] The processor sets two queues capable of parallel processing as queues into which unprocessed jobs are registered, a small-scale queue into which small-scale job sets are registered, and a large-scale queue into which large-scale job sets are registered; and in the sequence control, the processor registers a portion of the large-scale job sets of a first user up to a threshold in the small-scale queue, and registers the remainder exceeding the threshold in the large-scale queue, while registering the small-scale job sets of a second user in the small-scale queue.[Supplementary Item 7] The control device according to Supplementary Item 6, wherein separate hardware resources are allocated to the small-scale queue and the large-scale queue. [Supplementary Item 8] The control device according to any one of Supplementary Items 1 to 7, wherein the processor presents a waiting time until the job is completed. [Supplementary Item 9] A method for operating a control device having a processor, wherein the processor receives a prediction processing request for predicting the physical properties of a compound, the request including compound information for identifying the compound to be predicted, derives a job score that is an evaluation value of the load of the job corresponding to the received request based on the compound information, and controls the scale of hardware resources for executing multiple unprocessed jobs based on the job score. [Supplementary Item 10] An operating program for causing a computer to function as a control device, the operating program causing the computer to execute the following processes: receiving a request for a prediction process to predict the physical properties of a compound, the request including compound information for identifying the compound to be predicted, deriving a job score that is an evaluation value of the load of a job corresponding to the received request based on the compound information, and controlling the scale of hardware resources for executing a plurality of unprocessed jobs based on the job score. [Supplementary Item 11] A property prediction system comprising: the control device according to any one of Supplementary Items 1 to 10; and a prediction processing device as a hardware resource that executes the prediction process. [Supplementary Item 12] A control device comprising a processor, the processor receiving a request for a prediction process for predicting physical properties of a compound, and when, after receiving a request from a first user, the processor receives a request from a second user different from the first user, if a series of jobs corresponding to the successive requests from the first user is a large-scale job set with a load exceeding a preset threshold and a series of jobs corresponding to the successive requests from the second user is a small-scale job set with a load equal to or less than the threshold, performing sequence control to prioritize the processing sequence of a small-scale job set of the second user over a part of the large-scale job set of the first user.[Supplementary Item 13] The control device according to Supplementary Item 12, wherein the load is the number of jobs per compound, or a job score that is an evaluation value of the magnitude of the load determined according to the compound. [Supplementary Item 14] The processor sets two queues capable of parallel processing as queues to which unprocessed jobs are registered, a small-scale queue to which small-scale job sets are registered, and a large-scale queue to which large-scale job sets are registered, and in the order control, the processor registers a portion of the large-scale job sets of the first user up to a threshold in the small-scale queue, and registers the remainder that exceed the threshold in the large-scale queue, while registering the small-scale job sets of the second user in the small-scale queue. [Supplementary Item 15] The control device according to Supplementary Item 14, wherein separate hardware resources are allocated to the small-scale queue and the large-scale queue. [Supplementary Item 16] The control device according to any one of Supplementary Item 12 to Supplementary Item 14, wherein the processor presents a waiting time until the job is completed. [Supplementary Item 17] A method for operating a control device having a processor, wherein the processor receives a request for a prediction process that predicts physical properties of a compound, and when, after receiving a request from a first user, the processor receives a request from a second user different from the first user, if the series of jobs corresponding to the consecutive requests from the first user is a large-scale job set with a load exceeding a preset threshold and the series of jobs corresponding to the consecutive requests from the second user is a small-scale job set with a load equal to or less than the threshold, performs sequence control that prioritizes the processing order of the small-scale job set of the second user over a part of the large-scale job set of the first user.[Supplementary Item 18] An operating program for a control device that causes a computer to function as a control device, the operating program causing a computer to execute the following steps: accepting a request for a prediction process that predicts the properties of a compound, and when, after accepting a request from a first user, a request from a second user different from the first user is accepted, if the series of jobs corresponding to the consecutive requests from the first user is a large-scale job set with a load exceeding a preset threshold and the series of jobs corresponding to the consecutive requests from the second user is a small-scale job set with a load equal to or less than the threshold, executing order control that prioritizes the processing order of a small-scale job set of the second user over a part of the large-scale job set of the first user. [Supplementary Item 19] A property prediction system comprising the control device according to any one of Supplementary Items 12 to 16, and a prediction processing device that executes prediction processing.
[0104] In the above embodiment, the hardware structure of the processor 41 that executes various processes such as request acceptance processing, job score derivation processing, scaling processing, waiting time presentation processing, and job allocation processing may be any of the following processors: The various processors include a CPU, which is a general-purpose processor that executes software (programs) and functions as various processing units, as well as dedicated electrical circuits, such as a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacture, such as an FPGA (Field-Programmable Gate Array), and an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing specific processing.
[0105] The various processes described above may be executed by one of these various processors, or may be executed by a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Furthermore, multiple processing units may be configured by a single processor. An example of configuring multiple processing units by a single processor is a system-on-chip (SOC), in which a processor is used to realize the functions of an entire system including multiple processing units on a single IC (Integrated Circuit) chip.
[0106] In this way, the various processing units are configured as hardware structures using one or more of the various processors described above.
[0107] Furthermore, more specifically, the hardware structure of these various processors can be an electric circuit that combines circuit elements such as semiconductor elements.
[0108] In addition to the operating program, the technology of the present disclosure also extends to a computer-readable storage medium (such as a USB memory or a DVD (Digital Versatile Disc)-ROM (Read Only Memory)) that non-temporarily stores the operating program.
[0109] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[0110] In this specification, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed by connecting them with "and / or."
[0111] The disclosure of Japanese Patent Application No. 2023-099652, filed on June 16, 2023, is incorporated herein by reference in its entirety. In addition, all documents, patent applications, and technical standards described herein are incorporated herein by reference to the same extent as if each individual document, patent application, and technical standard was specifically and individually indicated to be incorporated by reference.
Claims
1. A control device comprising a processor, which receives a request for a prediction process to predict the physical properties of a compound, the request including compound information for identifying the compound to be predicted, derives a job score, which is an evaluation value of the load of a job corresponding to the received request, based on the compound information, and controls the scale of hardware resources for executing multiple unprocessed jobs based on the job score.
2. The control device according to claim 1, wherein the processor acquires the correlation between the compound information and the load from a storage in which the correlation is stored in advance, and derives the job score.
3. The control device according to claim 1, wherein the hardware resource is a server that executes the prediction process, and the processor determines the number of the servers to be assigned to the prediction process as the scale.
4. The control device of claim 1, wherein, when the processor receives a request from a first user and then receives a request from a second user different from the first user, and if a series of jobs corresponding to successive requests from the first user is a large job set with a load exceeding a preset threshold and a series of jobs corresponding to successive requests from the second user is a small job set with a load equal to or less than the threshold, the processor performs sequence control to prioritize the processing order of a small job set of the second user over a portion of the large job set of the first user.
5. The control device according to claim 4, wherein the load is the number of jobs or the job score.
6. The control device according to claim 4, wherein the processor sets two queues capable of parallel processing as queues in which unprocessed jobs are registered, a small-scale queue in which the small-scale job sets are registered, and a large-scale queue in which the large-scale job sets are registered; and in the sequence control, the processor registers a portion of the large-scale job sets of the first user, up to the threshold, in the small-scale queue, and registers the remainder that exceeds the threshold in the large-scale queue, while registering the small-scale job sets of the second user in the small-scale queue.
7. The control device according to claim 6, wherein the small queue and the large queue are each assigned separate hardware resources.
8. The control device according to claim 1, wherein the processor presents a waiting time until the job is completed.
9. A method for operating a control device having a processor, the processor receiving a request for a prediction process to predict the physical properties of a compound, the request including compound information for identifying the compound to be predicted, deriving a job score, which is an evaluation value of the magnitude of the load of a job corresponding to the received request, based on the compound information, and controlling the scale of hardware resources for executing multiple unprocessed jobs based on the job score.
10. An operating program for causing a computer to function as a control device, the operating program for the control device causing the computer to execute the following processes: receiving a request for a prediction process for predicting the physical properties of a compound, the request including compound information for identifying the compound to be predicted; deriving a job score, which is an evaluation value of the load of the job corresponding to the received request, based on the compound information; and controlling the scale of hardware resources for executing multiple unprocessed jobs based on the job score.
11. A property prediction system comprising: a control device according to claim 1; and a prediction processing device as the hardware resource for executing the prediction processing.
12. A control device comprising a processor, which receives a request for a prediction process to predict physical properties of a compound, and when a request is received from a second user different from the first user after receiving a request from a first user, and when a series of jobs corresponding to the successive requests from the first user is a large-scale job set with a load exceeding a predetermined threshold and a series of jobs corresponding to the successive requests from the second user is a small-scale job set with a load equal to or less than the threshold, performs sequence control to prioritize the processing order of the small-scale job set of the second user over a portion of the large-scale job set of the first user.
13. The control device according to claim 12, wherein the load is the number of jobs for each compound, or a job score that is an evaluation value of the magnitude of the load determined according to the compound.
14. The control device described in claim 12, wherein the processor sets two queues capable of parallel processing as queues in which unprocessed jobs are registered, a small-scale queue in which the small-scale job sets are registered, and a large-scale queue in which the large-scale job sets are registered; and in the sequence control, the processor registers a portion of the large-scale job sets of the first user, up to the threshold, in the small-scale queue, and registers the remainder that exceeds the threshold in the large-scale queue, while registering the small-scale job sets of the second user in the small-scale queue.
15. The control device of claim 14, wherein the small queue and the large queue are each assigned separate hardware resources.
16. The control device according to claim 12, wherein the processor indicates a waiting time until the job is completed.
17. A method of operating a control device having a processor, wherein the processor receives a request for a prediction process to predict the physical properties of a compound, and when a request is received from a second user different from the first user after receiving a request from a first user, if a series of jobs corresponding to the successive requests from the first user is a large-scale job set with a load exceeding a predetermined threshold and a series of jobs corresponding to the successive requests from the second user is a small-scale job set with a load equal to or less than the threshold, performs sequence control to prioritize the processing order of the small-scale job set of the second user over a portion of the large-scale job set of the first user.
18. An operating program for a control device that causes a computer to function as a control device, comprising: a process for accepting a request for a prediction process for predicting the physical properties of a compound; and a process for performing sequence control that prioritizes the processing order of a small-scale job set of the second user over a portion of the large-scale job set of the first user when a request from a first user is accepted followed by a request from a second user different from the first user, if a series of jobs corresponding to successive requests from the first user is a large-scale job set with a load exceeding a predetermined threshold and a series of jobs corresponding to successive requests from the second user is a small-scale job set with a load equal to or less than the threshold.
19. A physical property prediction system comprising: a control device according to claim 12; and a prediction processing device that executes the prediction processing.
Citation Information
Patent Citations
Seat system
JP2023099652A
Physical property prediction device, physical property prediction method, and program
JP7219374B1
Information processor and information processing system and information processing method
JP2019117605A
Chemical material search method, chemical material search device, and chemical material search program
JP2021077159A
