CN116909711A - Multi-user scientific computing program optimization method and system oriented to WEB environment - Google Patents

Multi-user scientific computing program optimization method and system oriented to WEB environment Download PDF

Info

Publication number
CN116909711A
CN116909711A CN202310948757.2A CN202310948757A CN116909711A CN 116909711 A CN116909711 A CN 116909711A CN 202310948757 A CN202310948757 A CN 202310948757A CN 116909711 A CN116909711 A CN 116909711A
Authority
CN
China
Prior art keywords
program
execution
web
segment
scientific computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310948757.2A
Other languages
Chinese (zh)
Inventor
杜立新
张超
郭晨
吴迪
黄林显
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Jinan
Original Assignee
University of Jinan
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 University of Jinan filed Critical University of Jinan
Priority to CN202310948757.2A priority Critical patent/CN116909711A/en
Publication of CN116909711A publication Critical patent/CN116909711A/en
Pending legal-status Critical Current

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention belongs to the technical field of scientific computing programs, and provides a multi-user scientific computing program optimization method and system oriented to a WEB environment, wherein the optimization method comprises the following steps: dividing a scientific calculation program into program segments, and auditing and determining the number of executable parallel for each program segment; executing an "intercept-control-forwarder" program on the input/output of each program segment; the host machine side performs scheduling execution strategy according to the parallel execution quantity of the program segments, executes a 'to-be-executed request queue' for each program segment, and the WEB side queues requests exceeding the parallel execution quantity of the program segments. A complex scientific calculation program is divided into a plurality of program segments, and an interception-control-transponder program is designed, so that the complex scientific calculation program can be calculated in an original environment, and can also enable input and output to be WEB-typed, and data analysis results are displayed in a WEB form. The invention optimizes the concurrent access and queuing strategy of the program, realizes that the scientific computing program can support the concurrent multi-user access program in the WEB environment, and avoids the exhaustion of resources of a scientific computing host machine due to the increase of the concurrent access quantity.

Description

Multi-user scientific computing program optimization method and system oriented to WEB environment
Technical Field
The invention belongs to the technical field of scientific computing programs, and particularly relates to an optimization method and system of a multi-user scientific computing program in a WEB environment.
Background
The statements in this section merely provide background information related to the present disclosure and may not necessarily constitute prior art.
There are a large number of scientific computing programs in various industries in society, such as molecular structure simulation, water resource simulation, power load prediction, and the like. Traditionally, a similar scientific computing program (hereinafter referred to as a program) is often used by a single machine in a private environment after design and development of scientific researchers are completed, and the program is characterized in that:
(1) A program often consists of a number of successive calculation steps, the result of the former step being the input of the latter step.
(2) The complete running of the program is often longer, less minutes and more days.
(3) The interface of the program is typically a command line or Windows form.
In the past, because the Internet, mobile computing, and cloud computing have not been popular, such programs have tended to flow in a closed manner within a professional community. The whole society is in the time of high networking and big data of the Internet, and each industry generates a large amount of data every day, and analysis results of the data are published on the Internet in real time. The WEB is used as a main interaction form between Internet users, and if the data and the data analysis result are not displayed in the WEB form, the acceptance of the users is difficult to obtain. Conventional scientific computing programs are difficult to directly deploy and run on the Internet, and mainly have the following problems:
(1) Program input and output do not support WEB.
(2) Concurrent access is not supported by the program (WEB access requests are concurrent, and multiple users can access a WEB site simultaneously).
(3) The redesign and development of programs under WEB is impractical, and many algorithms require specific programming languages, running environments, which do not necessarily support WEB.
Disclosure of Invention
In order to solve the technical problems in the background art, the invention provides an optimization method and an optimization system for a multi-user scientific computing program in a WEB environment, which are used for optimizing the multi-user scientific computing program in the WEB environment through the input/output WEB of the program, concurrent access and queuing strategies of the optimization program.
In order to achieve the above purpose, the present invention adopts the following technical scheme:
the first aspect of the present invention provides a method for optimizing a multi-user scientific computing program in a WEB environment, which includes:
dividing a scientific calculation program into program segments, and auditing and determining the number of executable parallel for each program segment;
executing an "intercept-control-forwarder" program on the input/output of each program segment;
the host machine side performs scheduling execution strategy according to the parallel execution quantity of the program segments, executes a 'to-be-executed request queue' for each program segment, and the WEB side queues requests exceeding the parallel execution quantity of the program segments.
As an alternative embodiment, the scientific calculation program P is divided into P 1 ,P 2 ,…,P n The sequentially executed program segments are expressed as: p = ordered set { P 1 ,P 2 ,……,P n -wherein n is ≡1; p (P) i The output of (2) is P i+1 I= {1,2, … …, n-1}.
As an alternative embodiment, the number of concurrent executions is determined by analysis one by one, and the minimum number of executable parallel of the whole scientific calculation program is determined by the program segment with the minimum number of parallel executions.
As an alternative implementation manner, a controller program is deployed on a host machine running a scientific calculation program, and an input-output interceptor is deployed on a program segment;
during the running process of the scientific calculation program: controller program calling program segment P i The output interceptor intercepts the output data and forwards the intercepted output data to the WEB end or the cache, and the controller program calls the next program segment P i+1 All input data is intercepted by the input interceptor of (1) when the program segment P is i+1 P before execution begins under controller program schedule i+1 The input interceptor will be from P i The program segment P is acquired from the output interceptor i Output data of the program segment P, and request data outside the WEB side i The output data of the WEB side and the external request data are transmitted to the program section P together i+1 And executed.
As an alternative embodiment, each program segment is configured with a set of said input-output interceptors, and said controller program is configured with only one, controls all input-output interceptors and invokes execution of each program segment.
As an alternative implementation manner, the scheduling execution policy is a global priority scheduling policy, the host schedules according to the number of execution queues, and when the execution request is executed in all program segments, the host enters a new request after the execution queue is free.
As an alternative implementation manner, the scheduling execution policy is a program segment priority scheduling policy, and is a dynamic change policy, specifically: execution request is in program segment P 1 Execution of P 1 After execution, the method enters the subsequent program segment to execute without waiting for all the program segments to execute, and when the program segment P 1 Idle, the controller continues to place execution requests.
A second aspect of the present invention provides an optimization system for a multi-user scientific computing program in a WEB-oriented environment, including:
a program division module configured to: dividing a scientific calculation program into program segments, and auditing and determining the number of executable parallel for each program segment;
a request execution module configured to: executing an "intercept-control-forwarder" program on the input/output of each program segment;
a schedule execution module configured to: the host machine side performs scheduling execution strategy according to the parallel execution quantity of the program segments, executes a 'to-be-executed request queue' for each program segment, and the WEB side queues requests exceeding the parallel execution quantity of the program segments.
A third aspect of the present invention provides a computer readable storage medium having stored thereon a computer program which when executed by a processor implements a method of optimizing a multi-user scientific computing program in a WEB-oriented environment as described above.
A fourth aspect of the present invention provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements a method for optimizing a multi-user scientific computing program in a WEB-oriented environment as described above when the processor executes the program.
Compared with the prior art, the invention has the beneficial effects that:
the invention optimizes and reforms the traditional scientific calculation program, divides a complex scientific calculation program into a plurality of program segments, and designs an interception-control-transponder program, so that the computer can calculate under the original environment, and can WEB input and output, and realize the display of data and the result of data analysis in a WEB form.
The invention optimizes the concurrent access and queuing strategy of the program, realizes that the scientific computing program can support the concurrent multi-user access program in the WEB environment, and avoids the exhaustion of resources of a scientific computing host machine due to the increase of the concurrent access quantity.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the invention.
Fig. 1 is a schematic diagram of a general structure of a source code of a scientific computing program according to a first embodiment of the present invention:
FIG. 2 is a block diagram of a program segment I/O "intercept-control-repeater" architecture according to a first embodiment of the present invention;
FIG. 3 is a schematic diagram of a concurrent execution control mechanism for a program segment according to a first embodiment of the present invention;
Detailed Description
The invention will be further described with reference to the drawings and examples.
It should be noted that the following detailed description is illustrative and is intended to provide further explanation of the invention. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.
It is noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of exemplary embodiments according to the present invention. As used herein, the singular is also intended to include the plural unless the context clearly indicates otherwise, and furthermore, it is to be understood that the terms "comprises" and/or "comprising" when used in this specification are taken to specify the presence of stated features, steps, operations, devices, components, and/or combinations thereof.
Term interpretation:
(1) Scientific calculation: refers to the application of computers to deal with mathematical calculations encountered in scientific research and engineering. In modern science and engineering, a number of complex mathematical computational problems are often encountered, which are very difficult to solve with general computational tools and are very easy to process with computers.
(2) Scientific calculation program: refers to a scientific computing algorithm implemented in a high-level language of a computer (e.g., java, python, etc.). The method is characterized in that the program execution time is long, the program is designed and developed generally aiming at the problem of the specific professional field, and the program is not developed generally and specially aiming at the WEB environment (generally in a command line or Window form mode).
(3) WEB environment: refers to a software environment that provides input, output, and user interaction in the form of HTTP web pages.
(4) Multi-user in a WEB environment: the WEB background program can be called by a plurality of users through the HTTP WEB page at the same time, instead of only one user at a time sending out an operation command, and the last user can finish the next operation.
Example 1
The embodiment provides an optimization method of a multi-user scientific computing program based on a WEB environment, which comprises the following steps:
dividing a scientific calculation program into program segments, checking and determining the number of executable parallel for each program segment, and if the execution number is 1, only executing one request at the same time for the program segment;
executing an "intercept-control-forwarder" program on the input/output of each program segment;
the host machine side performs scheduling execution strategy according to the parallel execution quantity of the program segments, executes a 'to-be-executed request queue' for each program segment, and the WEB side queues requests exceeding the parallel execution quantity of the program segments.
From the point of view of the logic of the problem to be solved by scientific calculation, a complex big problem is often decomposed into a plurality of small problems, and the small problems can be further subdivided. Big problems include small problems, and there is often either a logical order between small and small problems, namely: the former problem is processed and the latter problem is started. Or there is no logical relationship, namely: which one is in succession has no requirement.
A complete scientific calculation program can be always decomposed into a series of 'program segments' with sequential logic relations, each program segment is provided with an inlet and an outlet, data and parameters are required to be input or read at the inlet, the calculation and the processing of the data and the model are completed in the program segment, and a result is output at the outlet. The input data may be the result of a previous program segment, or may be from an external file or network data stream, the output result may be a network or memory data stream, a file or a return function value in a number, etc.
As shown in fig. 1, the source code of the scientific computing program can be divided into the following structural forms, the input data k1 is processed by the program segment m to form the output data k2, the data k2 is simultaneously used as the input data of the program segment m+1 and other input data k3 together are used as the input of the program segment m+1, and so on. Formally described as: the scientific calculation program P can be divided into P 1 ,P 2 ,…,P n The program segments are executed sequentially, namely: p=orderedSet { P 1 ,P 2 ,……,P n N is 1 or more, and if n is 1, the program P itself is not divided, where P i The output of (2) is P i+1 I= {1,2, … …, n-1}.
The computing resources owned by different scientific computing programs are different, whether different program segments can be parallel or not is also different, some program segment logics can be exclusive, and the global can only have 1 request to be executed; some program segments may have limited concurrent execution requests; some program segments may be theoretically not limited to parallel times, and are actually limited only by the software and hardware environment. According to the program logic of different program segments, the concurrent execution quantity of each program segment is determined one by one through manual analysis, and the manual analysis generally needs to read scientific calculation source codes, and the concurrent quantity is determined according to the resource consumption condition of the source codes. For example, if the program segment p uses an exclusive resource (e.g., an instrument, a printer, etc.), the concurrency number of the program segment p is 1, and multiple execution instances are not allowed. For the case of not involving exclusive resources, such as program segment q, each instance execution needs to consume 4GB of memory, the CPU is exclusive to 1 core, and for a computer with 8 cores and 64GB of memory, the maximum concurrent execution number is 8 (consumption of 32GB of memory, full CPU), but in consideration of the resource consumption of the operating system and other programs, the concurrent number is preferably set to not more than 4. That is, what the concurrency of a particular program segment is in a particular computer environment should be determined manually by a technician based on the program segment resource occupancy, the computing resource provided by the system, and by comprehensive consideration of the computer system load, etc.
The minimum number of executable programs in parallel for the whole scientific computing program is determined by the program segment with the minimum number of parallel executions, in other words, the program segment with the minimum degree of parallelism is the parallel "bottleneck" of the whole program. If the non-Web scientific calculation program has long execution time, the whole program is a program segment if the program segment is not divided and the input and the output of the program segment are intercepted according to the program segment, the whole program execution process cannot be displayed and executed on Web, and the modification and optimization of the program in the Web environment cannot be performed. For example, a program execution takes 20 minutes, and if the program segments are not partitioned (it is understood that the source code is partitioned into modules (e.g., a function source code may itself be a block of code)), execution on the Web is not possible at all, and 20 minutes has long resulted in a timeout of the Web page. Therefore, the program segments are divided, the input and the output of each program segment are connected with the Web, the execution time is short, and the Web itself can be ensured not to be disconnected overtime.
The computer system operated by the scientific calculation program is very different and can be a mainframe or a PC server or a personal computer, the scientific calculation program provided by the invention is used for optimizing in a WEB environment, the program is not transplanted to the WEB for execution, the scientific calculation program is divided into a plurality of program segments by the method, each program segment is executed in the original computing environment, each program segment in the scientific calculation program is provided with a set of input and output interceptors, but the controller program is only provided with one program, and all the input and output interceptors are controlled and the execution of each program segment is called. The optimized method of the invention is not one-time execution of all program segments of a program, but a controller program for 'control' is designed separately, and the execution of each program segment is executed under the control of the controller program, in other words, after the controller program on the host machine sends out an execution instruction, the specific program segment is executed, and the controller program can call a specific program segment P in advance i The output interceptor intercepts the output data and forwards the intercepted output data to the WEB end or the cache, and the controller program calls the next program segment P i+1 All input data is intercepted by the input interceptor of (a) and the next program segment P i+1 Before beginning execution under controller program schedule, program segment P i+1 The input interceptor of (2) will be from segment P i Acquiring program segment P in output interceptor of (2) i Output data of the program segment P, and request data outside the WEB side i The output data of the WEB side and the external request data are transmitted to the program section P together i+1 And then executed. The purpose of this mechanism is to design: (1) Solving the problems thatParallel execution of program segments (2) enables input/output data to be read locally and modified to be suitable for Web input (3) a user can monitor detailed execution of a scientific algorithm through a browser. Therefore, each program segment of the whole scientific calculation program can be executed in parallel, input and output are adapted to the Web environment as required, and the whole algorithm execution process, input and output data are conveniently displayed in a Web form.
The invention provides two program section concurrent execution scheduling strategies, namely, the WEB end controller controls the total access request quantity to queue the requests, the host end controller carries out scheduling execution strategies according to the program section concurrent execution quantity, executes a 'request queue to be executed' for each program section, and the WEB end controller queues the requests exceeding the program section concurrent execution quantity. The two scheduling strategies comprise a global priority scheduling strategy and a program section priority scheduling strategy, and specifically comprise the following steps: under the global priority scheduling strategy, the host controller strictly schedules according to the number of the execution queues, and a new request can be entered only when the execution request is executed in all program segments and the empty position of the execution queue is available; the program segment priority scheduling strategy is a dynamic change strategy, namely: execution request is in program segment P 1 Execution of P 1 After execution, the method enters the subsequent program segment to execute without waiting for all the program segments to execute, and when the program segment P 1 Idle, the controller continues to place execution requests. The invention optimizes the concurrent access and queuing strategy of the program, can upgrade and optimize the traditional scientific computing program into the program capable of supporting concurrent multi-user access in the WEB environment, and avoids the exhaustion of resources of a scientific computing host machine due to the increase of the number of concurrent accesses.
The segment priority scheduling policy is illustrated as follows: table 1 the first behavior corresponds to the sequence number of segments and the second behavior corresponds to the number of concurrent executions.
TABLE 1 program segment priority scheduling examples
1 2 3 4 5 6 7 8 9 10
5 3 7 3 4 2 5 6 5 5
When the entire execution queue is empty, since program segment 1 can execute 5 requests concurrently, there can obviously be 5 execution requests entering at the same time, but when entering program segment 2, there are 2 waiting, and program segment 3 can obviously satisfy all of these 5 requests. Over time, until a certain moment, the requests of the program segment 1 have been completely executed, the existing queue 5 requests have been distributed to the program segments after 2 for execution, at this time, since the program segment 1 is idle, the controller may continue to put execution requests (up to 5) and so on, without waiting for all the program segments to be executed. The starting points of the two strategy consideration of the global priority and the program section priority are different, the current algorithm execution request is preferably considered by the global priority strategy to ensure completion, the calculation resources can be properly wasted, and the method belongs to the field of high reliability of the resource utilization rate; the program segment priority is to consider the maximization of the effective utilization of the computing resources of the scientific computing host, if the concurrent quantity of the program segments is set manually, the computing resources are possibly exhausted, the system is crashed, and the high reliability stability of the resource utilization rate is relatively poor compared with the global strategy.
Example two
The embodiment provides an optimization system of a multi-user scientific computing program in a WEB environment, which specifically comprises the following modules:
a program division module configured to: dividing a scientific calculation program into program segments, and auditing and determining the number of executable parallel for each program segment;
a request execution module configured to: executing an "intercept-control-forwarder" program on the input/output of each program segment;
a schedule execution module configured to: the host machine side performs scheduling execution strategy according to the parallel execution quantity of the program segments, executes a 'to-be-executed request queue' for each program segment, and the WEB side queues requests exceeding the parallel execution quantity of the program segments.
It should be noted that, each module in the embodiment corresponds to the method in the first embodiment one by one, and the implementation process is the same, which is not described here again.
Example III
The present embodiment provides a computer readable storage medium, on which a computer program is stored, which when executed by a processor, implements an optimization method for a multi-user scientific computing program in a WEB environment as described in the foregoing embodiment.
Example IV
The embodiment provides a computer device, which comprises a memory, a processor and a computer program stored in the memory and capable of running on the processor, wherein the processor realizes the optimization method of the multi-user scientific computing program in the WEB environment when executing the program.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, magnetic disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Those skilled in the art will appreciate that implementing all or part of the above-described methods in accordance with the embodiments may be accomplished by way of a computer program stored on a computer readable storage medium, which when executed may comprise the steps of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), or the like.
The above description is only of the preferred embodiments of the present invention and is not intended to limit the present invention, but various modifications and variations can be made to the present invention by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. The optimization method of the multi-user scientific computing program in the WEB environment is characterized by comprising the following steps of:
dividing a scientific calculation program into program segments, and auditing and determining the number of executable parallel for each program segment;
executing an "intercept-control-forwarder" program on the input/output of each program segment;
the host machine side performs scheduling execution strategy according to the parallel execution quantity of the program segments, executes a 'to-be-executed request queue' for each program segment, and the WEB side queues requests exceeding the parallel execution quantity of the program segments.
2. The optimization method of multi-user scientific computing program in WEB environment according to claim 1, wherein the scientific computing program P is divided into P 1 ,P 2 ,…,P n The sequentially executed program segments are expressed as: p = ordered set { P 1 ,P 2 ,……,P n -wherein n is ≡1; p (P) i The output of (2) is P i+1 I= {1,2, … …, n-1}.
3. The optimization method of multi-user scientific computing program in WEB-oriented environment according to claim 1, wherein the concurrent execution number is determined one by one through analysis, and the minimum number of parallel executables of the whole scientific computing program is determined by the program segment with the minimum number of parallel executables.
4. The optimization method of multi-user scientific computing program in WEB environment according to claim 1, wherein a controller program is deployed on a host computer operated by the scientific computing program, and an input-output interceptor is deployed on a program segment;
during the running process of the scientific calculation program: controller program calling program segment P i The output interceptor intercepts the output data and forwards the intercepted output data to the WEB end or the cache, and the controller program calls the next program segment P i+1 All input data is intercepted by the input interceptor of (1) when the program segment P is i+1 P before execution begins under controller program schedule i+1 The input interceptor will be from P i The program segment P is acquired from the output interceptor i Output data of the program segment P, and request data outside the WEB side i The output data of the WEB side and the external request data are transmitted to the program section P together i+1 And executed.
5. The optimization method of multi-user scientific computing program in WEB environment according to claim 4, wherein each program section is configured with one set of input/output interceptors, and the controller program is configured with only one set of input/output interceptors to control all input/output interceptors and call execution of each program section.
6. The optimization method of multi-user scientific computing program in WEB environment according to claim 1, wherein the scheduling execution strategy is global priority scheduling strategy, the host machine schedules according to the number of execution queues, and when execution of the execution request is completed in all program segments, the execution queue is free from position and enters a new request.
7. The optimization method of a multi-user scientific computing program in a WEB environment according to claim 1, wherein the scheduling execution policy is a program segment priority scheduling policy, and is a dynamic change policy, specifically: execution request is in program segment P 1 Execution of P 1 After execution, the method enters the subsequent program segment to execute without waiting for all the program segments to execute, and when the program segment P 1 Idle, the controller continues to place execution requests.
8. An optimization system for a multi-user scientific computing program in a WEB environment is characterized by comprising:
a program division module configured to: dividing a scientific calculation program into program segments, and auditing and determining the number of executable parallel for each program segment;
a request execution module configured to: executing an "intercept-control-forwarder" program on the input/output of each program segment;
a schedule execution module configured to: the host machine side performs scheduling execution strategy according to the parallel execution quantity of the program segments, executes a 'to-be-executed request queue' for each program segment, and the WEB side queues requests exceeding the parallel execution quantity of the program segments.
9. A computer readable storage medium having stored thereon a computer program, which when executed by a processor implements a method for optimizing a multi-user scientific computing program in a WEB-oriented environment according to any of claims 1-7.
10. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements a method for optimizing a multi-user scientific computing program in a WEB-oriented environment as claimed in any one of claims 1-7 when executing the program.
CN202310948757.2A 2023-07-28 2023-07-28 Multi-user scientific computing program optimization method and system oriented to WEB environment Pending CN116909711A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310948757.2A CN116909711A (en) 2023-07-28 2023-07-28 Multi-user scientific computing program optimization method and system oriented to WEB environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310948757.2A CN116909711A (en) 2023-07-28 2023-07-28 Multi-user scientific computing program optimization method and system oriented to WEB environment

Publications (1)

Publication Number Publication Date
CN116909711A true CN116909711A (en) 2023-10-20

Family

ID=88356421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310948757.2A Pending CN116909711A (en) 2023-07-28 2023-07-28 Multi-user scientific computing program optimization method and system oriented to WEB environment

Country Status (1)

Country Link
CN (1) CN116909711A (en)

Similar Documents

Publication Publication Date Title
US11379272B2 (en) Autoscaling using file access or cache usage for cluster machines
Ousterhout et al. Monotasks: Architecting for performance clarity in data analytics frameworks
US10042886B2 (en) Distributed resource-aware task scheduling with replicated data placement in parallel database clusters
US8914805B2 (en) Rescheduling workload in a hybrid computing environment
US9798830B2 (en) Stream data multiprocessing method
Boyer et al. Load balancing in a changing world: dealing with heterogeneity and performance variability
US20120324454A1 (en) Control Flow Graph Driven Operating System
EP2446357A1 (en) High-throughput computing in a hybrid computing environment
US9471387B2 (en) Scheduling in job execution
Mashayekhi et al. Execution templates: Caching control plane decisions for strong scaling of data analytics
US10318261B2 (en) Execution of complex recursive algorithms
CN114217966A (en) Deep learning model dynamic batch processing scheduling method and system based on resource adjustment
CN115373835A (en) Task resource adjusting method and device for Flink cluster and electronic equipment
Shao et al. Stage delay scheduling: Speeding up dag-style data analytics jobs with resource interleaving
Li et al. Efficient algorithms for task mapping on heterogeneous CPU/GPU platforms for fast completion time
US9329872B2 (en) Method and apparatus for the definition and generation of configurable, high performance low-power embedded microprocessor cores
KR20130051076A (en) Method and apparatus for scheduling application program
US10592473B2 (en) Method for improving energy efficiency of map-reduce system and apparatus thereof
CN104503820B (en) A kind of Hadoop optimization methods based on asynchronous starting
WO2013165460A1 (en) Control flow graph driven operating system
CN116909711A (en) Multi-user scientific computing program optimization method and system oriented to WEB environment
US9015719B2 (en) Scheduling of tasks to be performed by a non-coherent device
US20220100512A1 (en) Deterministic replay of a multi-threaded trace on a multi-threaded processor
CN111679859B (en) Automatic parallel MPI-I/O acceleration method for I/O intensive high-performance application
Sirowy et al. Online SystemC emulation acceleration

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination