CN117555586B - Algorithm application publishing, managing and scoring method - Google Patents

Algorithm application publishing, managing and scoring method Download PDF

Info

Publication number
CN117555586B
CN117555586B CN202410043643.8A CN202410043643A CN117555586B CN 117555586 B CN117555586 B CN 117555586B CN 202410043643 A CN202410043643 A CN 202410043643A CN 117555586 B CN117555586 B CN 117555586B
Authority
CN
China
Prior art keywords
template
job
information
computing
functional
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.)
Active
Application number
CN202410043643.8A
Other languages
Chinese (zh)
Other versions
CN117555586A (en
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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202410043643.8A priority Critical patent/CN117555586B/en
Publication of CN117555586A publication Critical patent/CN117555586A/en
Application granted granted Critical
Publication of CN117555586B publication Critical patent/CN117555586B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The method can be used for responding to a new template request sent by a user, constructing a functional template corresponding to template information according to template information input by the user and algorithm application related to the template information, then responding to a job execution request sent by the user, taking the functional template selected by the user as a target template, constructing a calculation job according to the target template, submitting the calculation job to a calculation cluster for execution, then monitoring the real-time execution condition of the calculation job to obtain job monitoring information, and determining the scores corresponding to the target template according to the job monitoring information of the calculation job, the historical job scores of the target template and the average scores of all the functional templates under the algorithm application types corresponding to the target template.

Description

Algorithm application publishing, managing and scoring method
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method for publishing, managing and scoring algorithm applications.
Background
With the continuous development of machine learning algorithms, various AI algorithms have been gradually applied to solve the scientific and technical problems in various complex scenes, and improve the development efficiency and productivity.
In the prior art, when a technician constructs an algorithm by a cloud platform, the technician often packages one algorithm into one algorithm application, and when the algorithm application is constructed, the technician needs to carry out a large amount of configuration, and after the algorithm application constructed by the technician can be operated by the cloud platform.
However, the computational job requirements from different domains are not completely consistent. If the adaptation is carried out on each field, a large amount of similar algorithm application is generated, management is not facilitated, if the adaptation is not carried out, a large amount of information is required to be filled in each submitting calculation operation, and the problem of inconvenient use of users exists. For so many algorithm applications, the usage varies. Moreover, the algorithm configuration with too few times of use is also easily affected by few extreme cases, so that the scoring is inaccurate, and a scientific and proper scoring mode is also needed to provide guidance for users.
Therefore, providing an algorithm application publishing, managing and scoring method for various computing jobs is a problem to be solved urgently.
Disclosure of Invention
The present disclosure provides an algorithm application publishing, managing and scoring method to partially solve the above-mentioned problems in the prior art.
The technical scheme adopted in the specification is as follows:
the specification provides an algorithm application publishing, managing and scoring method, which comprises the following steps:
responding to a new template request sent by a user, and constructing a functional template corresponding to the template information according to the template information input by the user and the algorithm application type associated with the template information;
responding to a job execution request sent by a user, taking a functional template selected by the user as a target template, constructing a calculation job according to the target template, analyzing the target template, and submitting the calculation job to a calculation cluster for execution;
monitoring the real-time execution condition of the computing job to obtain the resource use information of the computing job obtained by monitoring;
and determining the score corresponding to the target template according to the resource use information of the calculation job, the historical job score of the target template and the average score of all the functional templates under the algorithm application type corresponding to the target template.
Optionally, before constructing the functional template corresponding to the template information according to the template information input by the user and the algorithm application associated with the template information, the method further comprises:
the algorithm application is created according to information of the algorithm application input by a user, wherein the information comprises research directions, names, descriptions and versions of the algorithm application.
Optionally, the template information includes: required resource parameters, images, program code, running scripts, input parameters, configuration parameters, running parameters, output parameters.
Optionally, after constructing the functional template corresponding to the template information according to the template information input by the user and the algorithm application associated with the template information, the method further includes:
after receiving a release request sent by a user aiming at the functional template, setting the state of the functional template into release audit, and sending a release application to personnel with audit authority;
after the personnel with the auditing authority sends the consent message, changing the state of the functional template into published state, and putting the functional template on line;
if the personnel with the auditing authority is determined to send a refusal message, changing the state of the functional template into the state that issuing auditing fails;
And if the offline application is received, the function template is offline, and the state of the function template is changed into offline.
Optionally, parsing the target template and submitting the computing job to a computing cluster for execution, specifically including:
reading template information of a target template from a database, and analyzing the template information into a data format supported by a computing cluster;
applying for a required computing resource to the computing cluster according to template information of the target template, wherein the computing resource comprises at least one of CPU, GPU, NPU and memory resources;
submitting a computing job to a computing cluster, so that the computing cluster executes the computing job according to the template information of the target template;
continuously outputting the calculation job log to the configured log path, and outputting the operation result to the configured result path.
Optionally, monitoring the real-time execution condition of the computing job to obtain the resource usage information of the computing job obtained by monitoring, which specifically includes:
acquiring resource information of the memory and CPU, GPU, NPU used by the computing operation;
acquiring an operation result and log information obtained in the execution stage of the computing job;
and issuing alarm information according to a preset alarm rule, the log information and the operation result.
Optionally, determining the score corresponding to the target template according to the resource usage information of the computing job, the historical job score of the target template and the average score of all the function templates under the algorithm application type corresponding to the target template specifically includes:
determining the score corresponding to the functional template according to the resource use information of the computing job, the historical job score of the functional template corresponding to the computing job and the average score of all the functional templates under the algorithm application type corresponding to the target template through the following formula:
wherein,score corresponding to the target template, +.>For the average score of the target template, +.>Score sample number for the target template, < >>For scoring the number of samples of the top-ranked T-name function template, T is a preset value,/->And (3) average scoring of all the functional templates under the algorithm application type corresponding to the target template.
The present specification provides an algorithm application publishing, managing and scoring apparatus, comprising:
the template construction module is used for responding to a new template request sent by a user, and constructing a functional template corresponding to the template information according to the template information input by the user and the algorithm application type associated with the template information;
The job execution module is used for responding to a job execution request sent by a user, taking the function template selected by the user as a target template, constructing a calculation job according to the target template, analyzing the target template, and submitting the calculation job to a calculation cluster for execution;
the job monitoring module is used for monitoring the real-time execution condition of the computing job to obtain the resource use information of the computing job obtained by monitoring;
and the scoring module is used for determining the score corresponding to the target template according to the resource use information of the calculation job, the historical job score of the target template and the average score of all the functional templates under the algorithm application type corresponding to the target template.
The present specification provides a computer readable storage medium storing a computer program which when executed by a processor implements the algorithm application publishing, managing and scoring method described above.
The present specification provides an electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the algorithm application publishing, managing and scoring methods described above when executing the program.
The above-mentioned at least one technical scheme that this specification adopted can reach following beneficial effect:
from the above method for publishing, managing and grading algorithm application, it can be seen that the service platform can respond to the newly-built template request sent by the user, construct a functional template corresponding to the template information according to the template information input by the user and the algorithm application associated with the template information, then respond to the job execution request sent by the user, take the functional template selected by the user as a target template, construct a calculation job according to the target template, analyze the target template, submit the calculation job to the calculation cluster for execution, monitor the real-time execution condition of the calculation job, obtain the job monitoring information of the calculation job obtained by monitoring, wherein the job monitoring information can include resource usage information, running information and the like, and determine the scores corresponding to the target template according to the job monitoring information of the calculation job, the historical job scores of the target template and the average scores of all the functional templates under the algorithm application types corresponding to the target template.
From the above, the beneficial effects of the invention are as follows:
Firstly, through the relation combination of algorithm application and function templates, multiple types of preconfigured parameter information can be supported for the same algorithm type, various scene requirements are adapted, the use of users is convenient, and the flexibility of algorithm application is improved.
Secondly, the online and offline of the functional templates are required to pass the examination, and the stability of the configuration information of the online functional templates is ensured by using a specially designed functional template state circulation mode.
Thirdly, calculating the score of the template with the function by adopting a Bayesian average algorithm according to the use condition and the operation result of the resource, and effectively eliminating the deviation caused by simply calculating the score of the template on average.
Drawings
The accompanying drawings, which are included to provide a further understanding of the specification, illustrate and explain the exemplary embodiments of the present specification and their description, are not intended to limit the specification unduly. In the drawings:
FIG. 1 is a schematic flow chart of an algorithm application publishing, managing and scoring method provided in the present specification;
FIG. 2 is a schematic diagram of a relationship between an algorithm application and a function template provided in the present specification;
FIG. 3 is a schematic diagram of a functional template publishing and downloading process provided in the present specification;
FIG. 4 is a schematic diagram of an algorithm application publishing, managing and scoring device provided in the present specification;
fig. 5 is a schematic view of the electronic device corresponding to fig. 1 provided in the present specification.
Detailed Description
For the purposes of making the objects, technical solutions and advantages of the present specification more apparent, the technical solutions of the present specification will be clearly and completely described below with reference to specific embodiments of the present specification and corresponding drawings. It will be apparent that the described embodiments are only some, but not all, of the embodiments of the present specification. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are intended to be within the scope of the present disclosure.
The following describes in detail the technical solutions provided by the embodiments of the present specification with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of an algorithm application publishing, managing and scoring method provided in the present specification, specifically including the following steps:
s100: responding to a new template request sent by a user, and constructing a functional template corresponding to the template information according to the template information input by the user and the algorithm application type associated with the template information.
In this specification, a service platform for a user to execute a calculation job is provided, and a calculation job may refer to a program for performing data processing by a certain algorithm in one field.
In this specification, a service platform may maintain a plurality of algorithm applications, and each algorithm application may have a plurality of function templates associated therewith. The function templates under the same algorithm application may have a certain difference in execution logic, but all the function templates can realize the corresponding functions of the algorithm application.
Based on the above, the service platform responds to the new template request sent by the user (through the terminal), and can construct the functional template corresponding to the template information according to the template information input by the user and the algorithm application associated with the template information. The template information may include: required resource parameters, images, program code, running scripts, input parameters, configuration parameters, running parameters, output parameters, etc.
The user may create an algorithm application by inputting algorithm application information, where the algorithm application information may include information such as a research direction, a name, a description, and a version of the algorithm application, and examples of some algorithm applications are given herein, for example, there may be an algorithm application that is "Sharc" and the description of the algorithm application may be "Sharc software is used to calculate excited state power of a multi-sub-molecular system"; for another example, there may be one algorithm application as VASP, which may be described as "Vienna Ab-initio Simulation Package, which is an atomic scale material modeling based on the first principles," and the user may construct a plurality of function templates under one algorithm application, so that the relationship between the algorithm application and the function templates is shown in FIG. 2.
FIG. 2 is a schematic diagram of the relationship between an algorithm application and a function template provided in the present specification.
Under the existing algorithm application, the user can newly build a function template, so that when the user builds a function module, the user needs to select an associated algorithm application, wherein the processes of creating the algorithm application, creating the function template and publishing and downloading the function template can be shown in fig. 3.
Fig. 3 is a schematic diagram of a functional template publishing and offline process provided in the present specification.
After the function template is created, the function template can be in a state to be released, and after the function template is online, a user can create a calculation job according to the function template through a service platform and execute the calculation job.
Before the function template is online, a user can test the function template through the service platform, and can submit calculation jobs based on the created function template under a special test environment to check whether an output result is consistent with an expected result. After the test is passed, the user can apply for issuing the function template.
After receiving a release request sent by a user aiming at a functional template, the service platform sets the state of the functional template to be in release audit, sends a release application to a person with audit authority, and after sending an agreement message by the person with audit authority, can change the state of the functional template to be released and put the functional template on line.
If the personnel with the auditing authority sends the refusal message, the state of the function template can be changed into the state that the issuing auditing is failed; if the user receives the offline application for the function template, the function template may be offline and the status of the function template may be changed to "offline".
Of course, the user can apply for the offline operation to perform the audit in a similar manner according to the mode of issuing the audit, that is, after the user sends the offline application to the functional template, the service platform can send the offline application to the personnel with the audit authority, and after the audit passes, the functional template is offline and the state of the functional template is changed to be "offline".
S102: responding to a job execution request sent by a user, taking a functional template selected by the user as a target template, constructing a calculation job according to the target template, analyzing the target template, and submitting the calculation job to a calculation cluster for execution.
S104: and monitoring the real-time execution condition of the computing job to obtain job monitoring information of the computing job obtained by monitoring, wherein the job monitoring information comprises at least one of resource use information and operation information.
Based on the existing function templates, a user can construct a computing job through a service platform and execute the computing job. The service platform responds to a job execution request sent by a user, can take a function template selected by the user as a target template, constructs a calculation job according to the target template, analyzes the target template, and submits the calculation job to a calculation cluster for execution.
The service platform can read template information of the target template from the database, analyze the template information into a data format supported by the computing cluster, and then apply for the computing resources required by the computing cluster according to the template information of the target template, wherein the computing resources can comprise CPU, GPU, NPU, memory resources and the like. Furthermore, the computing job can be submitted to the computing cluster, so that the computing cluster executes the computing job according to the template information of the target template, continuously outputs a computing job log to a configured log path, and outputs a running result to a configured result path.
The service platform can monitor the real-time execution condition of the submitted computing job to obtain the job monitoring information of the computing job, wherein the job monitoring information comprises resource use information, running information and the like.
Wherein, the monitoring of the computing job by the service platform may include: acquiring CPU, GPU, NPU and memory resource information used by a computing job, acquiring an operation result and log information obtained in an execution stage of the computing job as the operation information, and issuing alarm information according to a preset alarm rule, the log information and the operation result.
The above mentioned alarm rules may be various, for example, a range (generally set to be a reasonable range between 50% and 70%) may be set for each resource usage, and the alarm information may be sent to the user after the alarm rule is maintained below or above the range for a certain period of time. Such as: the alarm information is as follows: CPU utilization is higher than 70% for 1 minute, currently 85%.
For another example, the log information or the running result may include an "ERROR" field or other specific fields set by the user, and if the log information or the running result is matched with the specific field, an alarm may be triggered, and alarm information is sent to the user. And, moreover, the method comprises the steps of. The number of contact springs in a time period may be set here. Such as: 3 calculation jobs failed to schedule within 10 minutes.
S106: and determining the score corresponding to the target template according to the job monitoring information of the calculation job, the historical job score of the target template and the average score of all the functional templates under the algorithm application type corresponding to the target template.
It should be noted that, in the service platform, each function template may be scored, so that the user can determine the use of the function template through the score of the function template, that is, the score of the service platform on the function template may provide the user with a reference for use.
When the service platform scores the function template, not only the resource use condition of the calculation job of the function template itself, but also the scoring of other function templates under the application of the algorithm to which the function template belongs are required to be referred, because the sample size of the calculation job is small when the function template just starts to be used, and if the calculation job of the function template is used for scoring, the calculation job may be unfair.
Therefore, when the calculation workload of a function template is smaller, the influence of the calculation workload of the function template on the self-grading is lower, and when the calculation workload of the function template is larger, the influence of the calculation workload of the function template on the self-grading is higher.
The following description will be given by taking the target template used for constructing the computing job in step S102 as an example, where the score corresponding to the target template can be determined by the resource usage information of the computing job constructed as described above, the historical job score of the target template, and the average score of all the function templates under the algorithm application type corresponding to the target template.
That is, in step S102, the user selects the target template to construct a calculation job, after this calculation job is executed, monitored resource usage information, running information (may include running results and log information), and the like may be obtained, and the calculation job may be scored by the running time of the calculation job in the resource usage information and the running information. The score of the target template can be obtained by combining the calculation job with the history job of the target template (i.e., including all calculation jobs of the target template) and the scores of other templates under the application of the algorithm to which the target template belongs.
The relation between the score of the calculation job and the resource use information and the operation time length are given, the higher the operation time length is, the lower the score of the calculation job can be, for the resource use information, a preset range can be set, when the resource use rate of the calculation job is in the preset range, the score can be higher, and when the resource use rate is out of the preset range, the score can be lower. That is, if the score is determined only by the resource usage rate, the calculated job whose resource usage rate is within the preset range is higher than the calculated job whose resource usage rate is outside the preset range.
Of course, when calculating the score of one calculation job, the above relationship may be satisfied only, but how the score is obtained by the resource usage information and the operation time period is not limited, and a formula for calculating the score of the calculation job by the resource usage information and the operation time period may be artificially set according to actual needs.
The score of the target template may be calculated by the following formula.
Wherein,score corresponding to the target template,/->Calculating an average score for a job under the target template,score sample number for the target template, < >>For scoring the number of samples of the top-ranked T-name function templates, T is a preset value,and (3) average scoring of all the functional templates under the algorithm application type corresponding to the target template.
Determining the score of a functional template in the manner described above may be referred to as "bayesian averaging," in the formulas described above,the (overall average) is the "prior probability", and each new vote is an adjustment factor, so that the overall average is continuously close to the true scoring result of the template. The more samples, the closer the "Bayesian average" of the template is to the arithmetic average, the less impact on the score. Thus, this approach may give a few samples of a functional template to score relatively fairly.
For convenience of description, the execution body for executing the method is described as a service platform, and the execution body of the method may be a server, a computer, a controller, or the like, which is not limited herein. The features of the following examples and embodiments may be combined with each other without any conflict.
In addition, it should be noted that all actions for obtaining signals, information or data in this specification are performed under the condition of conforming to the corresponding policy of data protection regulations where the corresponding device owner is located and obtaining the authorization given by the corresponding device owner.
The above is a method for publishing, managing and scoring one or more algorithm applications in the present specification, and based on the same thought, the present specification further provides a device for publishing, managing and scoring an algorithm application, as shown in fig. 4.
Fig. 4 is a schematic diagram of an algorithm application publishing, managing and scoring device provided in the present specification, including:
the template construction module 401 is configured to respond to a new template request sent by a user, and construct a functional template corresponding to the template information according to template information input by the user and an algorithm application type associated with the template information;
The job execution module 402 is configured to respond to a job execution request sent by a user, take a functional template selected by the user as a target template, construct a calculation job according to the target template, parse the target template, and submit the calculation job to a computing cluster for execution;
the job monitoring module 403 is configured to monitor the real-time execution situation of the computing job, and obtain resource usage information of the computing job obtained by monitoring;
and the scoring module 404 is configured to determine a score corresponding to the target template according to the resource usage information of the computing job, the historical job score of the target template, and the average score of all the functional templates under the algorithm application type corresponding to the target template.
Optionally, before the functional template corresponding to the template information is constructed according to the template information input by the user and the algorithm application associated with the template information, the template construction module 401 is further configured to create the algorithm application according to the algorithm application information input by the user, where the algorithm application information includes a research direction, a name, a description and a version of the algorithm application.
Optionally, the template information includes: required resource parameters, images, program code, running scripts, input parameters, configuration parameters, running parameters, output parameters.
Optionally, after the functional template corresponding to the template information is constructed according to the template information input by the user and the algorithm application associated with the template information, the template construction module 401 is further configured to: after receiving a release request sent by a user aiming at the functional template, setting the state of the functional template into release audit, and sending a release application to personnel with audit authority; after the personnel with the auditing authority sends the consent message, changing the state of the functional template into published state, and putting the functional template on line; if the personnel with the auditing authority is determined to send a refusal message, changing the state of the functional template into the state that issuing auditing fails; and if the offline application sent by the user for the function template is received, the function template is offline, and the state of the function template is changed into offline.
Optionally, the job execution module 402 is specifically configured to read template information of the target template from the database, and parse the template information into a data format supported by the computing cluster; applying for a required computing resource to the computing cluster according to template information of the target template, wherein the computing resource comprises at least one of CPU, GPU, NPU and memory resources; submitting a computing job to a computing cluster, so that the computing cluster executes the computing job according to the template information of the target template; continuously outputting the calculation job log to the configured log path, and outputting the operation result to the configured result path.
Optionally, the job monitoring module 403 is specifically configured to collect CPU, GPU, NPU used by a computing job and resource usage information of a memory, and/or obtain an operation result and log information obtained in an execution stage of the computing job as operation information; and issuing alarm information according to a preset alarm rule, the log information and the operation result.
Optionally, the scoring module 404 is specifically configured to determine the score corresponding to the functional template according to the resource usage information of the computing job, the historical job score of the functional template corresponding to the computing job, and the average score of all the functional templates under the algorithm application type corresponding to the target template by using the following formula:
wherein,score corresponding to the target template, +.>Calculating an average score of the job for the target template,/-for>For the target templateScoring the number of samples, < >>For scoring the number of samples of the top-ranked T-name function template, T is a preset value,/->And (3) average scoring of all the functional templates under the algorithm application type corresponding to the target template.
The present specification also provides a computer readable storage medium storing a computer program operable to perform the above algorithm-based application publishing, management and scoring method.
The present specification also provides a schematic structural diagram of the electronic device shown in fig. 5. At the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile storage, as illustrated in fig. 5, although other hardware required by other services may be included. The processor reads the corresponding computer program from the nonvolatile memory to the memory and then runs the computer program to realize the method for issuing, managing and scoring the algorithm application.
Of course, other implementations, such as logic devices or combinations of hardware and software, are not excluded from the present description, that is, the execution subject of the following processing flows is not limited to each logic unit, but may be hardware or logic devices.
In the 90 s of the 20 th century, improvements to one technology could clearly be distinguished as improvements in hardware (e.g., improvements to circuit structures such as diodes, transistors, switches, etc.) or software (improvements to the process flow). However, with the development of technology, many improvements of the current method flows can be regarded as direct improvements of hardware circuit structures. Designers almost always obtain corresponding hardware circuit structures by programming improved method flows into hardware circuits. Therefore, an improvement of a method flow cannot be said to be realized by a hardware entity module. For example, a programmable logic device (Programmable Logic Device, PLD) (e.g., field programmable gate array (Field Programmable Gate Array, FPGA)) is an integrated circuit whose logic function is determined by the programming of the device by a user. A designer programs to "integrate" a digital system onto a PLD without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Moreover, nowadays, instead of manually manufacturing integrated circuit chips, such programming is mostly implemented by using "logic compiler" software, which is similar to the software compiler used in program development and writing, and the original code before the compiling is also written in a specific programming language, which is called hardware description language (Hardware Description Language, HDL), but not just one of the hdds, but a plurality of kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), lava, lola, myHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog are currently most commonly used. It will also be apparent to those skilled in the art that a hardware circuit implementing the logic method flow can be readily obtained by merely slightly programming the method flow into an integrated circuit using several of the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable logic controllers, and embedded microcontrollers, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, atmel AT91SAM, microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic of the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller in a pure computer readable program code, it is well possible to implement the same functionality by logically programming the method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers, etc. Such a controller may thus be regarded as a kind of hardware component, and means for performing various functions included therein may also be regarded as structures within the hardware component. Or even means for achieving the various functions may be regarded as either software modules implementing the methods or structures within hardware components.
The system, apparatus, module or unit set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having a certain function. One typical implementation is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being functionally divided into various units, respectively. Of course, the functions of each element may be implemented in one or more software and/or hardware elements when implemented in the present specification.
It will be appreciated by those skilled in the art that embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, the present specification may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present description can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
The present description is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the specification. 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.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article or apparatus that comprises the element.
It will be appreciated by those skilled in the art that embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, the present specification may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present description can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
The description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, as relevant to see a section of the description of method embodiments.
The foregoing is merely exemplary of the present disclosure and is not intended to limit the disclosure. Various modifications and alterations to this specification will become apparent to those skilled in the art. Any modifications, equivalent substitutions, improvements, or the like, which are within the spirit and principles of the present description, are intended to be included within the scope of the claims of the present description.

Claims (8)

1. An algorithm application publishing, managing and scoring method, comprising:
responding to a new template request sent by a user, and constructing a functional template corresponding to template information according to the template information input by the user and algorithm application associated with the template information, wherein the template information comprises: required resource parameters, mirror images, program codes, operation scripts, input parameters, configuration parameters, operation parameters and output parameters;
responding to a job execution request sent by a user, taking a functional template selected by the user as a target template, constructing a calculation job according to the target template, reading template information of the target template from a database, and analyzing the template information into a data format supported by a calculation cluster; applying for a required computing resource to the computing cluster according to template information of the target template, wherein the computing resource comprises at least one of CPU, GPU, NPU and memory resources; submitting a computing job to a computing cluster, so that the computing cluster executes the computing job according to the template information of the target template; continuously outputting the calculation job log to a configured log path, and outputting an operation result to a configured result path;
Monitoring the real-time execution condition of the computing job to obtain job monitoring information of the computing job obtained by monitoring, wherein the job monitoring information comprises at least one of resource use information and operation information;
and determining the score corresponding to the target template according to the job monitoring information of the calculation job, the historical job score of the target template and the average score of all the functional templates under the algorithm application type corresponding to the target template.
2. The method of claim 1, wherein prior to constructing the functional template corresponding to the template information based on template information entered by a user and an algorithm application associated with the template information, the method further comprises:
creating algorithm application according to algorithm application information input by a user, wherein the algorithm application information comprises research directions, names, descriptions and versions of the algorithm application.
3. The method of claim 1, wherein after constructing the functional template corresponding to the template information according to the template information input by the user and the algorithm application associated with the template information, the method further comprises:
after receiving a release request sent by a user aiming at the functional template, setting the state of the functional template into release audit, and sending a release application to personnel with audit authority;
After the personnel with the auditing authority sends the consent message, changing the state of the functional template into published state, and putting the functional template on line;
if the personnel with the auditing authority is determined to send a refusal message, changing the state of the functional template into the state that issuing auditing fails;
and if the offline application sent by the user for the function template is received, the function template is offline, and the state of the function template is changed into offline.
4. The method of claim 1, wherein monitoring the real-time execution of the computing job to obtain job monitoring information of the computing job obtained by monitoring, specifically comprises:
collecting CPU, GPU, NPU used by a computing job and resource use information of a memory, and/or obtaining an operation result and log information obtained in an execution stage of the computing job as operation information;
and issuing alarm information according to a preset alarm rule, the log information and the operation result.
5. The method of claim 1, wherein determining the score corresponding to the target template according to the job monitoring information of the computing job, the historical job score of the target template, and the average score of all function templates under the algorithm application type corresponding to the target template, specifically comprises:
Determining the score corresponding to the functional template according to the resource use information of the computing job, the historical job score of the functional template corresponding to the computing job and the average score of all the functional templates under the algorithm application type corresponding to the target template through the following formula:
wherein,score corresponding to the target template, +.>Calculating an average score of the job for the target template,/-for>Score sample number for the target template, < >>For scoring the number of samples of the top-ranked T-name function template, T is a preset value,/->And (3) average scoring of all the functional templates under the algorithm application type corresponding to the target template.
6. An algorithm application publishing, managing and scoring device, comprising:
the template construction module is used for responding to a new template request sent by a user, constructing a functional template corresponding to the template information according to the template information input by the user and the algorithm application type related to the template information, wherein the template information comprises: required resource parameters, mirror images, program codes, operation scripts, input parameters, configuration parameters, operation parameters and output parameters;
the job execution module is used for responding to a job execution request sent by a user, taking the functional template selected by the user as a target template, constructing a calculation job according to the target template, reading template information of the target template from a database, and analyzing the template information into a data format supported by a calculation cluster; applying for a required computing resource to the computing cluster according to template information of the target template, wherein the computing resource comprises at least one of CPU, GPU, NPU and memory resources; submitting a computing job to a computing cluster, so that the computing cluster executes the computing job according to the template information of the target template; continuously outputting the calculation job log to a configured log path, and outputting an operation result to a configured result path;
The job monitoring module is used for monitoring the real-time execution condition of the computing job to obtain the resource use information of the computing job obtained by monitoring;
and the scoring module is used for determining the score corresponding to the target template according to the resource use information of the calculation job, the historical job score of the target template and the average score of all the functional templates under the algorithm application type corresponding to the target template.
7. A computer readable storage medium, characterized in that the storage medium stores a computer program which, when executed by a processor, implements the method of any of the preceding claims 1-5.
8. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the method of any of the preceding claims 1-5 when executing the program.
CN202410043643.8A 2024-01-11 2024-01-11 Algorithm application publishing, managing and scoring method Active CN117555586B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410043643.8A CN117555586B (en) 2024-01-11 2024-01-11 Algorithm application publishing, managing and scoring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410043643.8A CN117555586B (en) 2024-01-11 2024-01-11 Algorithm application publishing, managing and scoring method

Publications (2)

Publication Number Publication Date
CN117555586A CN117555586A (en) 2024-02-13
CN117555586B true CN117555586B (en) 2024-03-22

Family

ID=89815167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410043643.8A Active CN117555586B (en) 2024-01-11 2024-01-11 Algorithm application publishing, managing and scoring method

Country Status (1)

Country Link
CN (1) CN117555586B (en)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130134569A (en) * 2012-05-31 2013-12-10 삼성에스디에스 주식회사 System and method for coinstructing virtual cluster using the exectution history of analysis job
CN104915407A (en) * 2015-06-03 2015-09-16 华中科技大学 Resource scheduling method under Hadoop-based multi-job environment
CN107734035A (en) * 2017-10-17 2018-02-23 华南理工大学 A kind of Virtual Cluster automatic telescopic method under cloud computing environment
CN108846076A (en) * 2018-06-08 2018-11-20 山大地纬软件股份有限公司 The massive multi-source ETL process method and system of supporting interface adaptation
CN109636607A (en) * 2018-12-18 2019-04-16 平安科技(深圳)有限公司 Business data processing method, device and computer equipment based on model deployment
CN114005055A (en) * 2021-10-22 2022-02-01 深圳市商汤科技有限公司 Method, device and equipment for generating algorithm application element and computer readable storage medium
CN114064079A (en) * 2021-11-17 2022-02-18 深圳市商汤科技有限公司 Packing method and device of algorithm application element, equipment and storage medium
CN114372191A (en) * 2020-10-15 2022-04-19 ***通信集团浙江有限公司 Message industry application template recommendation method and device and computing equipment
CN114721833A (en) * 2022-05-17 2022-07-08 中诚华隆计算机技术有限公司 Intelligent cloud coordination method and device based on platform service type
CN115454629A (en) * 2022-08-30 2022-12-09 南方科技大学 AI algorithm and micro-service scheduling method and device based on cloud native technology
CN116088842A (en) * 2023-01-10 2023-05-09 深圳达实智能股份有限公司 AI algorithm engine system and method applied to Internet of things platform
CN116932092A (en) * 2023-09-18 2023-10-24 之江实验室 Method, device, medium and equipment for automatically generating operator calling code
CN117093352A (en) * 2023-10-13 2023-11-21 之江实验室 Template-based computing cluster job scheduling system, method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230123538A1 (en) * 2021-10-18 2023-04-20 Jpmorgan Chase Bank, N.A. System and method for performing last-mile processing automation

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130134569A (en) * 2012-05-31 2013-12-10 삼성에스디에스 주식회사 System and method for coinstructing virtual cluster using the exectution history of analysis job
CN104915407A (en) * 2015-06-03 2015-09-16 华中科技大学 Resource scheduling method under Hadoop-based multi-job environment
CN107734035A (en) * 2017-10-17 2018-02-23 华南理工大学 A kind of Virtual Cluster automatic telescopic method under cloud computing environment
CN108846076A (en) * 2018-06-08 2018-11-20 山大地纬软件股份有限公司 The massive multi-source ETL process method and system of supporting interface adaptation
CN109636607A (en) * 2018-12-18 2019-04-16 平安科技(深圳)有限公司 Business data processing method, device and computer equipment based on model deployment
CN114372191A (en) * 2020-10-15 2022-04-19 ***通信集团浙江有限公司 Message industry application template recommendation method and device and computing equipment
CN114005055A (en) * 2021-10-22 2022-02-01 深圳市商汤科技有限公司 Method, device and equipment for generating algorithm application element and computer readable storage medium
CN114064079A (en) * 2021-11-17 2022-02-18 深圳市商汤科技有限公司 Packing method and device of algorithm application element, equipment and storage medium
CN114721833A (en) * 2022-05-17 2022-07-08 中诚华隆计算机技术有限公司 Intelligent cloud coordination method and device based on platform service type
CN115454629A (en) * 2022-08-30 2022-12-09 南方科技大学 AI algorithm and micro-service scheduling method and device based on cloud native technology
CN116088842A (en) * 2023-01-10 2023-05-09 深圳达实智能股份有限公司 AI algorithm engine system and method applied to Internet of things platform
CN116932092A (en) * 2023-09-18 2023-10-24 之江实验室 Method, device, medium and equipment for automatically generating operator calling code
CN117093352A (en) * 2023-10-13 2023-11-21 之江实验室 Template-based computing cluster job scheduling system, method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Template Matching Advances and Applications in Image Analysis;Hashemi, N.S. 等;arXiv;20161222;全文 *
面向多用户环境的MapReduce集群调度算法研究;陈重韬;;高技术通讯;20170415(第04期);全文 *

Also Published As

Publication number Publication date
CN117555586A (en) 2024-02-13

Similar Documents

Publication Publication Date Title
EP3644186A1 (en) Method, device, and electronic apparatus for detecting indicator abnormality
CN110287229B (en) Data statistical processing method and device
CN112182508A (en) Abnormity monitoring method and device for compliance business indexes
CN116011815A (en) Model training method and device, electronic equipment and storage medium
CN116302898A (en) Task management method and device, storage medium and electronic equipment
CN117555586B (en) Algorithm application publishing, managing and scoring method
CN113760658A (en) Monitoring method, device and equipment
CN116341642B (en) Data processing method and device, storage medium and electronic equipment
CN108470242B (en) Risk management and control method, device and server
CN116257303A (en) Data security processing method and device, storage medium and electronic equipment
CN111967769B (en) Risk identification method, apparatus, device and medium
CN113672660B (en) Data query method, device and equipment
CN116185617A (en) Task processing method and device
CN110263241B (en) Data batch processing method and device
CN111967767A (en) Business risk identification method, device, equipment and medium
CN110704742A (en) Feature extraction method and device
CN112182510B (en) Method, device and equipment for measuring product coverage degree
CN115827880B (en) Business execution method and device based on emotion classification
CN117034262B (en) Abnormality supervision system and abnormality supervision method
CN116109008B (en) Method and device for executing service, storage medium and electronic equipment
CN113411219B (en) Front-end service publishing method, device and equipment
CN117348999B (en) Service execution system and service execution method
CN109615234B (en) Resource change condition determining method and device
CN118051220A (en) Program configuration processing method and device
CN118229294A (en) Wind control method and device, storage medium and electronic equipment

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
GR01 Patent grant
GR01 Patent grant