CN114968521A - Distributed rendering method and device - Google Patents

Distributed rendering method and device Download PDF

Info

Publication number
CN114968521A
CN114968521A CN202210557461.3A CN202210557461A CN114968521A CN 114968521 A CN114968521 A CN 114968521A CN 202210557461 A CN202210557461 A CN 202210557461A CN 114968521 A CN114968521 A CN 114968521A
Authority
CN
China
Prior art keywords
rendering
task
tasks
model
rendered
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
CN202210557461.3A
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.)
Meiping Meiwu Shanghai Technology Co ltd
Original Assignee
Meiping Meiwu Shanghai Technology Co ltd
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 Meiping Meiwu Shanghai Technology Co ltd filed Critical Meiping Meiwu Shanghai Technology Co ltd
Priority to CN202210557461.3A priority Critical patent/CN114968521A/en
Publication of CN114968521A publication Critical patent/CN114968521A/en
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Power Sources (AREA)

Abstract

The application provides a distributed rendering method and equipment. According to the method, the calculation power demand information of the rendering tasks is pre-estimated by various factors influencing the total calculation power demand of the rendering tasks according to attributes of the rendering tasks, the calculation power demand of a model to be rendered and the like, the accuracy of the calculation power demand information of the rendering tasks can be improved, and the calculation power demand information of each determined rendering task can accurately reflect the calculation power required by execution of different rendering tasks; based on the computing power demand information of the rendering tasks, performing distributed task scheduling processing on the rendering tasks, and optimizing the execution sequence of the rendering tasks; according to the optimized execution sequence, computing resources are allocated for the rendering tasks, and the computing resources are scheduled to execute the allocated rendering tasks, so that fragmentation of the computing resources can be reduced, idle and waste of the computing resources are reduced, the utilization rate of the computing resources is improved, and the throughput of the rendering tasks is improved.

Description

Distributed rendering method and device
Technical Field
The present application relates to computer technologies, and in particular, to a distributed rendering method and apparatus.
Background
High-definition/ultra-high-definition pictures and more detailed source data need to be displayed in the fields of home decoration, geological exploration and the like, so after a scheme is created, the scheme is generally required to be rendered in order to observe the actual effect. The rendering speed can be improved and the waiting time can be reduced by a distributed rendering mode.
When the traditional distributed rendering scheduling algorithm schedules computing resources on a resource layer, the computing resources are sequentially allocated to rendering tasks according to the submitting sequence of the rendering tasks, so that the utilization rate of the computing resources is low, and the throughput of the rendering tasks is low.
Disclosure of Invention
The application provides a distributed rendering method and equipment, which are used for solving the problems of low utilization rate of computing resources and low throughput of rendering tasks during distributed rendering.
In one aspect, the present application provides a distributed rendering method, including:
acquiring a rendering task to be processed, and determining computing power demand information of the rendering task according to the attribute of the rendering task and the computing power demand of a model to be rendered;
performing distributed task scheduling processing on the rendering tasks according to the computing power demand information of the rendering tasks, and determining the execution sequence of the rendering tasks;
and distributing computing resources for the rendering tasks according to the execution sequence of the rendering tasks, and scheduling the computing resources to execute the distributed rendering tasks to obtain rendering results.
In another aspect, the present application provides a distributed rendering apparatus, including:
the rendering pre-inspection module is used for acquiring a rendering task to be processed and determining computing power demand information of the rendering task according to the attribute of the rendering task and the computing power demand of a model to be rendered;
the task scheduling module is used for performing distributed task scheduling processing on the rendering tasks according to the computing power demand information of the rendering tasks and determining the execution sequence of the rendering tasks;
and the task scheduling module is also used for allocating computing resources to the rendering tasks according to the execution sequence of the rendering tasks, and scheduling the computing resources to execute the allocated rendering tasks to obtain rendering results.
In another aspect, the present application provides an electronic device comprising: a processor, and a memory communicatively coupled to the processor;
the memory stores computer-executable instructions;
the processor executes computer-executable instructions stored in the memory to implement the method described above.
According to the distributed rendering method and the distributed rendering equipment, the computing power demand information of the rendering tasks is pre-estimated according to various factors influencing the overall computing power demand of the rendering tasks, such as the attributes of the rendering tasks, the computing power demand of a model to be rendered and the like, the accuracy of the computing power demand information of the rendering tasks can be improved, and the determined computing power demand information of each rendering task can accurately reflect the size of computing power required by execution of different rendering tasks; based on the computing power demand information of the rendering tasks, performing distributed task scheduling processing on the rendering tasks, and optimizing the execution sequence of the rendering tasks; according to the optimized execution sequence, computing resources are allocated for the rendering tasks, and the computing resources are scheduled to execute the allocated rendering tasks, so that fragmentation of the computing resources can be reduced, idle and waste of the computing resources are reduced, the utilization rate of the computing resources is improved, and the throughput of the rendering tasks is improved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application.
Fig. 1 is a system architecture diagram based on which the distributed rendering method provided in the present application is based;
FIG. 2 is a flowchart of a method for human-computer interaction based on tabular data according to an exemplary embodiment of the present application;
FIG. 3 is a flowchart of a distributed rendering method according to an exemplary embodiment of the present application;
FIG. 4 is a general framework diagram of a distributed rendering provided by an exemplary embodiment of the present application;
FIG. 5 is a flowchart of a method for predicting computing power requirement information of a rendering task according to an exemplary embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of a distributed rendering apparatus according to an exemplary embodiment of the present application;
fig. 7 is a schematic structural diagram of a distributed rendering apparatus according to another exemplary embodiment of the present application;
fig. 8 is a schematic structural diagram of an electronic device according to an example embodiment of the present application.
With the above figures, there are shown specific embodiments of the present application, which will be described in more detail below. These drawings and written description are not intended to limit the scope of the inventive concepts in any manner, but rather to illustrate the inventive concepts to those skilled in the art by reference to specific embodiments.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
The terms referred to in this application are explained first:
distributed rendering: is a network rendering technology capable of distributing rendering of a single frame image to rendering on multiple computers (or multiple CPUs).
Example of calculation: the method is an example for allocating computing resources for tasks, and generally, the computing resources in a resource pool are divided into computing examples with a certain specification, and the computing resources are allocated for the tasks by taking the computing examples as units. In this embodiment, when computing resources are allocated to rendering tasks, one computing instance is allocated to each rendering task.
Aiming at the problems of serious fragmentation of computing resources, low utilization rate of the computing resources, low throughput of rendering tasks and the like when the traditional distributed rendering method is adopted for rendering, the application provides the distributed rendering method, and the computing power demand information of the rendering tasks is determined according to the attributes of the rendering tasks to be processed and the computing power demand of a model to be rendered; performing distributed task scheduling processing on the rendering tasks according to the calculation effort information of the rendering tasks, and determining the execution sequence of the rendering tasks; distributing computing resources for the rendering tasks according to the execution sequence of the rendering tasks, and scheduling the computing resources to execute the distributed rendering tasks to obtain rendering results; according to the attribute of the rendering task and the key factors of the model needing to be rendered, which influence the rendering computing power requirement, the computing power requirement information of the rendering task can be accurately estimated; the rendering tasks are integrated and sequentially arranged according to the computing power demand information based on the tasks, the execution sequence of the rendering tasks is optimized, computing resources are distributed for the rendering tasks and the rendering tasks are executed based on the optimized execution sequence, fragmentation of the computing resources can be reduced, the utilization rate of the computing resources is improved, and the throughput of the rendering tasks is improved.
Illustratively, the distributed rendering method provided by the present application may be applied to the system architecture shown in fig. 1. As shown in fig. 1, the system architecture includes: a terminal and a server.
The server may be a cluster of rendering platforms, or a server cluster deployed in a cloud. The server stores a distributed task scheduling algorithm, and can realize various operation functions of capacity demand estimation of rendering tasks, distributed task scheduling (arrangement execution sequence) of the rendering tasks, allocation of computing resources, execution of the rendering tasks and the like through the operation logic preset in the server, so that rendering results are obtained. Illustratively, the rendering result may be directly provided to the terminal by the server, or may be indirectly provided to the terminal by the server via other devices. For example, the rendering results may be stored on a second server, the second server providing the terminal with a download address, the rendering results downloaded by the second terminal from the second server.
The terminal may specifically be a hardware device having a network communication function, an operation function, and an information display function, and includes, but is not limited to, a smart phone, a tablet computer, a desktop computer, an internet of things device, and the like.
Through communication interaction of the server, the terminal can generate a corresponding rendering task according to a design scheme of a user and submits the rendering task to the server, and after the server acquires the rendering task to be processed submitted by the user, the server determines computing power demand information of the rendering task according to the attribute of the rendering task and the computing power demand of a model to be rendered; performing distributed task scheduling processing on the rendering tasks according to the computing power demand information of the rendering tasks, and determining the execution sequence of the rendering tasks; and distributing the computing resources for the rendering tasks according to the execution sequence of the rendering tasks, and scheduling the computing resources to execute the distributed rendering tasks to obtain a rendering result. The server provides the rendering result directly or indirectly to the terminal.
The distributed rendering method provided by the application can be applied to rendering of three-dimensional scenes, three-dimensional models and the like, and particularly can be applied to the fields of home decoration design, online games and the like which need to render the three-dimensional scenes and the three-dimensional models.
For example, in the field of home decoration design, a user (a home decoration designer) may complete a design scheme using design software on a terminal, the terminal generates rendering scene data according to a camera position and a camera direction of a scene to be rendered determined by the user, and the terminal generates rendering tasks to submit the rendering tasks to a server. And the server allocates computing resources for the rendering task, calls the allocated computing resources to execute the rendering task, obtains a rendering result and provides the rendering result for the terminal. The user can obtain the rendering result through the terminal.
For example, in the field of network games, a user (game scene designer) may use design software on a terminal to complete a design scheme of a game scene, the terminal generates rendering scene data according to a camera position and a camera direction of a scene to be rendered determined by the user, and the rendering task is submitted to a server. And the server allocates computing resources for the rendering task, calls the allocated computing resources to execute the rendering task, obtains a rendering result and provides the rendering result for the terminal. The user can obtain the rendering result through the terminal.
Exemplarily, taking application to the field of online games as an example, in a game running process, when a terminal needs to display a game scene, a request is sent to a server, the server generates a corresponding rendering task according to rendering scene data of the game scene based on the request, the server allocates computing resources for the rendering task, and invokes the allocated computing resources to execute the rendering task, so as to obtain a rendering result, and provides the rendering result to the terminal, and the terminal displays the rendering result.
The following describes the technical solutions of the present application and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
Fig. 2 is a flowchart of a man-machine interaction method based on table data according to an exemplary embodiment of the present application. The form data-based human-computer interaction method provided by the embodiment can be particularly applied to the aforementioned cluster server of the rendering platform. As shown in fig. 2, the method comprises the following specific steps:
step S201, obtaining a plurality of rendering tasks to be processed, and determining the computing power demand information of each rendering task according to the attribute of each rendering task and the computing power demand of the model to be rendered.
The rendering tasks to be processed are the rendering tasks submitted to the server, and the computing power demand information of the rendering tasks is not determined yet.
In this embodiment, for the rendering tasks submitted to the server, before performing distributed task scheduling on the rendering tasks, the computation power requirement information of each rendering task is estimated. The computation power requirement information of the rendering task can represent the magnitude of the computation power required for executing the rendering task, and may be, for example, an estimated value of rendering duration required for executing the rendering task.
The attributes of the rendering task comprise rendering parameters such as resolution, super-resolution rendering, panorama rendering, rendering quality setting, hardware performance base number and the like, and the rendering parameters reflect the rendering quality of the rendering task and are important factors influencing the rendering duration and the required computing power of the rendering task.
Rendering quality settings may include image adoption, image filtering, color mapping, lighting settings, etc., e.g., lighting settings may include natural or light, custom light, single or complex light sources, etc.
The hardware performance cardinality refers to a preset reference of a calculation example specification, the calculation power demand information of each rendering task is estimated based on the calculation example specification of a unified reference, comparability of the calculation power demand information of different rendering tasks is guaranteed, even if the accuracy of the estimated calculation power demand information of each rendering task is not high, the size relation of the calculation power demands of different rendering tasks can be accurately reflected, and the execution sequence of the rendering tasks can be effectively optimized through distributed task scheduling.
The number of the models needing to be rendered in the rendering tasks and the computational power requirement of the rendering of a single model are important factors influencing the computational power requirement of the overall rendering tasks, when the computational power requirement information of the rendering tasks is estimated, the attributes of the rendering tasks, the computational power requirement of the models needing to be rendered and other factors influencing the computational power requirement of the overall rendering tasks are integrated, the estimation of the computational power requirement information of the rendering tasks is achieved, the accuracy of the computational power requirement information of the rendering tasks can be improved, and the determined computational power requirement information of each rendering task can accurately reflect the magnitude of the computational power required by execution of different rendering tasks.
Step S202, distributed task scheduling processing is carried out on a plurality of rendering tasks to be processed according to the computing power demand information of each rendering task, and the execution sequence of the rendering tasks is determined.
After the calculation power demand information of each rendering task is determined, a distributed task scheduling algorithm can be adopted, distributed task scheduling processing is carried out on a plurality of rendering tasks to be processed based on the calculation power demand information of the rendering tasks, the execution sequence of the rendering tasks is arranged and determined, and therefore the execution sequence of the rendering tasks is optimized.
Optionally, when determining the execution order of the rendering tasks, based on the computing power requirement information of the rendering tasks, and in combination with other factors that are generally considered when performing the rendering task order arrangement, such as the association information between the rendering tasks, the distributed task scheduling processing is performed on the rendering tasks to be processed, and the execution order of the rendering tasks is determined.
Illustratively, when a terminal of a user generates a rendering task, one task can be split into a plurality of rendering tasks according to the complexity, rendering parameters and the like of the task, the plurality of rendering tasks have an association relation belonging to the same task requirement, and the terminal submits a plurality of rendering tasks with the association relation to a server. And the server respectively executes each rendering task and feeds the rendering result of each rendering task back to the user terminal. And the user terminal integrates the rendering results of the plurality of rendering tasks to obtain an integral rendering result.
For example, when a user sets rendering parameters, if super-resolution rendering is selected, a plurality of rendering tasks may be generated when a rendering task is generated, and the plurality of rendering tasks belong to subtasks under the same task requirement and have an association relationship.
Optionally, when the execution order of the rendering tasks is determined, distributed task scheduling processing may be performed on the multiple rendering tasks to be processed according to the computation demand information of the rendering tasks and the association information between the rendering tasks, so as to determine the execution order of the rendering tasks. If at least one rendering task of the plurality of rendering tasks having an association relationship has been executed, the rendering tasks having an association relationship with the executed rendering tasks may be appropriately executed in advance to be preferentially executed.
Optionally, when determining the execution order of the rendering tasks, the rendering tasks may be divided into two types based on whether there is an association relationship with the executed rendering tasks, one type of rendering tasks having an association relationship with the executed rendering tasks is arranged before the other type of rendering tasks, and the same type of rendering tasks are sorted according to the computation power requirement information.
Optionally, when determining the execution order of the rendering tasks, the comprehensive score of the rendering tasks may be comprehensively calculated based on whether the rendering tasks have an association relationship with the executed rendering tasks and the calculation requirement information of the rendering tasks, and for the rendering tasks having an association relationship with the executed rendering tasks, the higher the calculation requirement information is, the higher the comprehensive score is; for rendering tasks which do not have an association relation with the executed rendering tasks, the higher the calculation force demand information is, the higher the comprehensive score is; for the rendering tasks with the same computing power demand information, the comprehensive score of the rendering tasks having the association relation with the executed rendering tasks is higher than that of the rendering tasks having no association relation with the executed rendering tasks. And determining the execution sequence of the rendering tasks based on the comprehensive scores of the rendering tasks.
For example, if there is a dependency relationship between some rendering tasks, such as task a depending on task B, the execution order of task B should be ranked before task a when determining the execution order of the rendering tasks.
Step S203, according to the execution sequence of the rendering tasks to be processed, computing resources are allocated to each rendering task, the computing resources are scheduled to execute the allocated rendering tasks, and a rendering result is obtained.
The method comprises the steps of performing distributed task scheduling processing on rendering tasks according to computing power demand information of the rendering tasks, determining an execution sequence of a plurality of rendering tasks to be processed, optimizing the execution sequence of the rendering tasks, sequentially allocating computing resources to each rendering task according to the optimized execution sequence, scheduling the computing resources to execute the allocated rendering tasks, and obtaining rendering results.
Compared with the rendering task submission sequence, the computing resources are distributed to the rendering tasks according to the optimized execution sequence, and the distributed rendering tasks are executed by scheduling the computing resources, so that the idle and waste conditions of the computing resources can be reduced, the distributed rendering efficiency and performance are improved, and the throughput of the rendering tasks is improved.
Illustratively, the computing resource may be divided into a plurality of computing instances according to a preset instance specification. When computing resources are allocated to each rendering task, a computing instance is allocated to each rendering task, and the computing instance is locked, so that the computing instance is monopolized in the process of executing the rendering task.
In the embodiment, the calculation power demand information of the rendering tasks is pre-estimated according to various factors which influence the total calculation power demand of the rendering tasks, such as the attributes of the rendering tasks, the calculation power demand of a model to be rendered and the like, so that the accuracy of the calculation power demand information of the rendering tasks can be improved, and the calculation power demand information of each determined rendering task can accurately reflect the calculation power required by the execution of different rendering tasks; based on the computing power demand information of the rendering tasks, performing distributed task scheduling processing on the rendering tasks, and optimizing the execution sequence of the rendering tasks; according to the optimized execution sequence, computing resources are allocated for the rendering tasks, and the computing resources are scheduled to execute the allocated rendering tasks, so that fragmentation of the computing resources can be reduced, idle and waste of the computing resources are reduced, the utilization rate of the computing resources is improved, and the throughput of the rendering tasks is improved.
Fig. 3 is a flowchart of a distributed rendering method according to an exemplary embodiment of the present application. On the basis of the above method embodiment, in this embodiment, two queues may be used to store rendering tasks, and the first queue is a rendering task queue and is used to store rendering tasks submitted by users according to the order of submission. The second queue is a distributed task scheduling queue and is used for storing rendering tasks to be executed according to the execution sequence of the rendering tasks determined by the distributed task scheduling.
Illustratively, the committed rendering tasks are inserted at the end of the rendering task queue. And the server consumes the rendering tasks in the rendering task queue, determines the calculation power requirement according to the attribute of each rendering task and the calculation power requirement of the model to be rendered, determines the calculation power requirement information of each rendering task, and stores each rendering task and the calculation power requirement information of the rendering task into the task data table. The server can carry out distributed task scheduling on the rendering tasks which are not inserted with the distributed task scheduling queues in the data table at intervals of a first time length, and determine the execution sequence of the rendering tasks which are not inserted with the distributed task scheduling queues; and inserting all or part of the rendering tasks into the distributed task scheduling queue according to the execution sequence. The rendering task inserted into the distributed task scheduling queue enters a waiting state for allocating computing resources and executing.
As shown in fig. 3, the method comprises the following specific steps:
step S301, obtaining a plurality of rendering tasks to be processed from a rendering task queue, determining the computing power requirement according to the attribute of each rendering task and the computing power requirement of a model to be rendered, and determining the computing power requirement information of each rendering task; and storing each rendering task and the computing power requirement information of the rendering task into a task data table.
In this embodiment, the rendering task queue is configured to store the submitted rendering tasks according to the order of submission. The task data table may store rendering task submission time, corresponding function module information, task specification information, task attributes, camera position and direction, rendering scene data information, and the like.
The task specification information can be the data size of a design scheme submitted by a user, and the larger the task specification is, the larger the computational power required by rendering is. The corresponding function module information is used for distinguishing rendering tasks of different function modules. Different functional modules may be modules for implementing different rendering functions in the same rendering platform, or different functional modules refer to different rendering platforms.
And for the rendering tasks submitted to the rendering task queue, the server consumes the rendering tasks in the rendering task queue one by one, and obtains the attribute and rendering scene data of the rendering tasks. According to the position and the direction of the camera, the model in the visual range in the rendering scene data can be determined, and the model required to be rendered for executing the rendering task is obtained. And according to the model to be rendered and rendering parameters in the attributes of the rendering task, performing calculation force demand determination processing on the rendering task to estimate calculation force demand information of the rendering task.
After the calculation power requirement information of each rendering task is determined, the rendering tasks and the calculation power requirement information of the rendering tasks are stored in a task data table.
Optionally, the calculation power requirement information of the rendering task may be stored as an attribute of the rendering task, so that the calculation power requirement information of the rendering task may be conveniently obtained when the attribute of the rendering task is subsequently obtained.
And S302, performing distributed task scheduling processing on the first rendering tasks, which are not inserted into the distributed task scheduling queue, in the data table according to the computing power demand information of each first rendering task at intervals of a first time length, and determining the execution sequence of the first rendering tasks.
Wherein the first rendering task refers to a rendering task that has not been added to the distributed task scheduling queue.
In this embodiment, at a first interval, for all first rendering tasks that are not added to the distributed task scheduling queue in the task data table, distributed task scheduling processing is performed once according to the computing power demand information of the first rendering tasks, and the execution sequence of the first rendering tasks is scheduled and determined.
For example, the computation power requirement information of the first rendering task may be a rendering predicted time length of the first rendering task. When the distributed task scheduling processing is performed on the first rendering task according to the computing power demand information of the first rendering task, any one of the existing distributed task scheduling algorithms based on the required time length of the task can be adopted to implement the distributed task scheduling algorithm for improving the task throughput, and details are not repeated here.
By carrying out distributed task scheduling processing on the rendering tasks which are not inserted into the distributed task scheduling queue according to the computing power demand information of the rendering tasks, the rendering tasks with smaller computing power demands can be processed preferentially when the remaining computing resources are insufficient, fragmentation of the computing resources can be reduced, the utilization rate of the computing resources is improved, and therefore the throughput of the rendering tasks is improved.
In addition, the first duration may be set and adjusted according to the needs of the actual application scenario, and is not specifically limited herein.
Step S303, according to the execution sequence of the first rendering tasks to be processed, inserting the first rendering tasks of a first quantity into the distributed task scheduling queue in sequence according to the execution sequence, wherein the first quantity is determined according to the quantity of the computing resources in the idle state in the cluster at present.
After distributed task scheduling processing is carried out and the execution sequence of all rendering tasks which are not added into a distributed task scheduling queue is determined, the first N (TOPN) rendering tasks are sequentially inserted into the distributed task scheduling queue according to the execution sequence of the rendering tasks. When the distributed task scheduling processing is carried out subsequently, the rendering tasks which are inserted into the distributed task scheduling queue do not need to be processed, and the distributed task scheduling processing is carried out on all the rendering tasks which are not inserted into the distributed task scheduling queue.
Wherein N is a first number. The first amount may be determined according to the number of computing resources in the cluster that are currently in an idle state. Illustratively, the first amount may be equal to the amount of computing resources in the cluster that are currently in an idle state.
In addition, the first number may be increased or decreased by a certain number on the basis of the number of the computing resources currently in the idle state in the cluster, and the first number may be set and adjusted according to the needs of the actual application scenario, which is not specifically limited herein.
Optionally, for the rendering tasks inserted into the distributed scheduling queue, the rendering tasks inserted into the distributed scheduling queue are marked in the task data table to distinguish from the rendering tasks that have not been added to the distributed scheduling queue.
Optionally, when determining the execution order of a plurality of rendering tasks (such as the first rendering task), based on the computation demand information of the rendering tasks, and in combination with other factors that are usually considered when performing the rendering task order arrangement, such as association information between the rendering tasks, the distributed task scheduling processing is performed on the rendering tasks to be processed, and the execution order of the rendering tasks is determined.
Exemplarily, when a terminal of a user generates a rendering task, one task may be split into multiple rendering tasks according to complexity of the task, rendering parameters and the like, the multiple rendering tasks have an association relationship belonging to the same task requirement, and the terminal submits the multiple rendering tasks having the association relationship to a server. And the server respectively executes each rendering task and feeds the rendering result of each rendering task back to the user terminal. And the user terminal integrates the rendering results of the plurality of rendering tasks to obtain an integral rendering result.
For example, when a user sets rendering parameters, if super-resolution rendering is selected, a plurality of rendering tasks may be generated when a rendering task is generated, and the plurality of rendering tasks belong to subtasks under the same task requirement and have an association relationship.
Optionally, when the execution order of the rendering tasks is determined, distributed task scheduling processing may be performed on the multiple rendering tasks to be processed according to the computation demand information of the rendering tasks and the association information between the rendering tasks, so as to determine the execution order of the rendering tasks. If at least one rendering task of the plurality of rendering tasks having an association relationship has been executed, the rendering tasks having an association relationship with the executed rendering tasks may be appropriately executed in advance to be preferentially executed.
Optionally, when determining the execution order of the rendering tasks, the rendering tasks may be divided into two types based on whether there is an association relationship with the executed rendering tasks, one type of rendering tasks having an association relationship with the executed rendering tasks is arranged before the other type of rendering tasks, and the same type of rendering tasks are sorted according to the computation power requirement information.
Optionally, when determining the execution order of the plurality of rendering tasks, the comprehensive score of the rendering tasks may be comprehensively calculated based on whether the rendering tasks have an association relationship with the executed rendering tasks and the calculation requirement information of the rendering tasks, and for the rendering tasks having an association relationship with the executed rendering tasks, the higher the calculation requirement information is, the higher the comprehensive score is; for rendering tasks which do not have an association relation with the executed rendering tasks, the higher the calculation force demand information is, the higher the comprehensive score is; for the rendering tasks with the same computing power demand information, the comprehensive score of the rendering tasks having the association relation with the executed rendering tasks is higher than that of the rendering tasks having no association relation with the executed rendering tasks. And determining the execution sequence of the rendering tasks based on the comprehensive scores of the rendering tasks.
For example, if there is a dependency relationship between some rendering tasks, such as task a depending on task B, the execution order of task B should be ranked before task a when determining the execution order of the rendering tasks.
Step S304.
In this embodiment, for the rendering tasks that have been inserted into the distributed task scheduling queue, the server sequentially allocates the computing resources, schedules the computing resources to obtain rendering-related resources, such as rendering scene data and model data, of the allocated rendering tasks, and executes the allocated rendering tasks to obtain rendering results.
Specifically, the server sequentially obtains one rendering task from the distributed task scheduling queue, uses the currently obtained rendering task as a target rendering task, locks and allocates computing resources for the target rendering task, and at this time, the computing resources enter a non-idle state. And the server schedules the distributed computing resources to execute the target rendering task to obtain a rendering result of the target rendering task.
Illustratively, the process of allocating computing resources for a target rendering task includes:
judging whether a calculation example in an idle state exists at present; if the current computing instance in the idle state exists, distributing the computing instance in the idle state for the target rendering task; and if the computing instance in the idle state does not exist currently, judging whether the computing instance in the idle state exists again at intervals of a second time length, and distributing the computing instance in the idle state to the target rendering task until the computing instance in the idle state exists.
In this embodiment, the submitted rendering task is inserted to the end of the rendering task queue by setting the rendering task queue and the distributed task scheduling queue. And the server consumes the rendering tasks in the rendering task queue, determines the calculation power requirement according to the attribute of each rendering task and the calculation power requirement of the model to be rendered, determines the calculation power requirement information of each rendering task, and stores each rendering task and the calculation power requirement information of the rendering task into the task data table. The server performs distributed task scheduling on the rendering tasks which are not inserted into the distributed task scheduling queue in the data table at intervals of a first time length, and determines the execution sequence of the rendering tasks which are not inserted into the distributed task scheduling queue; and inserting all or part of the rendering tasks into the distributed task scheduling queue according to the execution sequence. The server sequentially obtains one rendering task from the distributed task scheduling queue, takes the currently obtained rendering task as a target rendering task, allocates computing resources for the target rendering task, and schedules the allocated computing resources to execute the target rendering task to obtain a rendering result of the target rendering task.
In an optional implementation manner, if it is determined that there is no computing resource in an idle state currently, and the cluster satisfies the computing resource capacity expansion condition, the server may send a capacity expansion request to the computing platform, so as to add one or more computing resources in an idle state in the cluster, so that capacity expansion of the computing resource for executing the rendering task is already achieved.
In this embodiment, the time for capacity expansion may be preset. Illustratively, the capacity expansion process may be performed at a fixed time per day. For example, according to the number of the rendering tasks waiting in the distributed task scheduling queue, even if there is a computing resource in an idle state at present, when the number of the rendering tasks waiting in the distributed task scheduling queue reaches a threshold value of the number of the waiting tasks, the capacity expansion processing may be performed.
Optionally, a capacity expansion manner of the computing resource may be:
if the current time is in a rendering peak period, sending a first capacity expansion request to the computing platform, wherein the first capacity expansion request is used for indicating the computing platform to expand the computing resources of the cluster until the number of the computing resources is equal to the upper limit of the number of the computing resources of the cluster; and if the current moment is not in the rendering peak period, sending a second capacity expansion request to the computing platform, wherein the second capacity expansion request is used for indicating the computing platform to expand the computing resources of the cluster until the number of the computing resources is equal to a second number.
The upper limit of the number of computing resources of the cluster refers to a maximum number of computing resources (i.e., computing instances) allowed to be created in the cluster of the rendering platform for executing the rendering task, and may be determined according to a hardware configuration of the cluster.
The second quantity is smaller than the upper limit of the quantity of the computing resources, is the quantity of the computing resources with a guaranteed bottom, can be evaluated and determined according to the quantity of the rendering tasks in the off-peak period in the actual application scene, and the time delay requirement and the throughput requirement of the rendering task execution can be usually met by using the second quantity of the computing resources to execute the rendering tasks.
In addition, the rendering peak period may be set and adjusted according to the needs of the actual application scenario, and is not specifically limited herein.
In the capacity expansion mode, the quantity of the calculated computing resources is expanded to a second quantity which is basically enough at the bottom at one time in the non-rendering peak period, and the quantity of the calculated computing resources is expanded to the upper limit of the quantity of the computing resources of the cluster at one time in the rendering peak period, so that the number of times of applying for capacity expansion can be greatly reduced, the time cost of capacity expansion is reduced, the efficiency of rendering tasks is prevented from being influenced by capacity expansion, and the total rendering efficiency and throughput are improved.
Optionally, another way of expanding the capacity of the computing resource may be:
and sending a third capacity expansion request to the computing platform according to the number of the rendering tasks to be rendered in the distributed task scheduling queue, wherein the first capacity expansion request is used for indicating the computing platform to increase a third number of computing resources in the cluster, and the third number is determined according to the number of the rendering tasks to be rendered.
Illustratively, the third number may be equal to the number of rendering tasks to be rendered in the distributed task scheduling queue, and when performing capacity expansion, the corresponding number of computing resources are once expanded according to the number of rendering tasks to be rendered, so that the number of times of applying capacity expansion can be reduced to a certain extent, the time cost of capacity expansion is reduced, the efficiency of rendering tasks is prevented from being affected by capacity expansion, and the overall rendering efficiency and throughput are improved.
For example, the third number may be determined according to the number of rendering tasks to be currently rendered, and may be increased or decreased by a certain number based on the number of rendering tasks to be currently rendered.
For example, a number interval of rendering tasks to be rendered may be set, where different number intervals correspond to different expansion numbers. And during capacity expansion, determining the corresponding capacity expansion quantity according to the quantity interval of the quantity of the current rendering tasks to be rendered, and taking the corresponding capacity expansion quantity as a third quantity.
For example, a number interval of rendering tasks to be rendered may be set, where different number intervals correspond to different expansion ratios. During capacity expansion, according to a quantity interval in which the quantity of the current rendering tasks to be rendered is located, determining a corresponding capacity expansion ratio, taking the product of the upper limit of the quantity of the computing resources of the cluster and the corresponding capacity expansion ratio as the target quantity of the computing resources after capacity expansion, and determining that the third quantity is the difference value between the target quantity and the quantity of the current computing resources in the cluster.
For example, when the number of rendering tasks to be rendered in the distributed task scheduling queue is greater than or equal to the waiting task number threshold, a third capacity expansion request may be sent to the computing platform according to the number of rendering tasks to be rendered in the distributed task scheduling queue.
In the capacity expansion mode, the quantity of the calculation resources for capacity expansion is dynamically adjusted according to the quantity of the rendering tasks waiting in the distributed task scheduling queue, the capacity expansion of the calculation resources can be carried out according to the quantity of the rendering tasks waiting in the distributed task scheduling queue, the number of times of applying for capacity expansion can be reduced to a certain extent, the time cost of capacity expansion is reduced, the influence of capacity expansion on the efficiency of the rendering tasks is avoided, and meanwhile, the occupation of unnecessary calculation resources in a cluster is saved.
Optionally, another way of expanding the capacity of the computing resource may be:
and sending a fourth capacity expansion request to the computing platform, wherein the first capacity expansion request is used for indicating the computing platform to increase one computing resource in the cluster.
For example, an Application Programming Interface (API) provided by the computing platform and used for expanding a computing resource may be referred to as a capacity expansion API, and the server sends a fourth capacity expansion request to the computing platform by calling the capacity expansion API, so that the computing platform adds a computing resource in the cluster.
When it needs to be described, in the embodiment, no matter what expansion manner is adopted during the expansion, the specification of the computing resource that is increased by expansion is determined according to the specification of the computing instance that executes the rendering task in the current application scene, so that the requirement for executing the rendering task can be met. For example, the computational resource that is increased in capacity may be a fixed specification of computational resource.
In an optional implementation manner of this embodiment, the rendering tasks are sequentially acquired from the distributed task scheduling queue, and when the computing resources are allocated to the currently acquired target rendering task, the rendering task that exceeds the specification limit or the waiting duration exceeds the configured waiting duration threshold is abandoned.
Specifically, rendering tasks are sequentially acquired from a distributed task scheduling queue; and if the data volume of the scene data of the currently acquired rendering task is determined to be less than or equal to the data volume threshold value and the waiting time of the currently acquired rendering task is determined to be less than or equal to the waiting time threshold value, allocating computing resources for the currently acquired target rendering task.
If the data volume of the scene data of the currently acquired rendering task is determined to be larger than the data volume threshold, or the waiting time of the currently acquired rendering task is determined to be larger than the waiting time threshold, the currently acquired rendering task is abandoned, that is, the currently acquired rendering task is not subjected to subsequent processing, including the allocation and execution of computing resources.
The specification of the rendering task may be a data size of scene data of the rendering task. The rendering task that exceeds the specification limit may be a rendering task in which the data amount of the scene data is less than or equal to a data amount threshold. The data amount threshold may be determined according to an actual data amount or an estimated data amount of scene data of a rendering task in a current application scene, and is not specifically limited herein.
The waiting time of the rendering task refers to the time from the rendering task submitting time to the current time. The data of the rendering task stored in the task data table may include a submission time of the rendering task, and the waiting time of the rendering task may be determined based on the submission time of the rendering task and the current time. The waiting duration threshold may be set and adjusted according to the needs of the actual application scenario, which is not specifically limited herein.
In practical application, when the specification of the rendering task exceeds the specification limit, the rendering task is not considered to be the rendering task meeting the requirements of the current application scene, and the rendering task is abandoned. For example, the current application scenario is rendering of a design scheme of a common household, and if a user submits a design scheme of a large mall, the specification of the design scheme of the large mall exceeds the specification limit of the design scheme of the common household, and the design scheme of the large mall is not rendered.
Optionally, to further reduce unnecessary processing, when consuming a rendering task in the rendering task queue, it may be determined whether a data amount of scene data of the rendering task is greater than a data amount threshold; and if the data volume of the scene data of the rendering task is larger than the data volume threshold value, the calculation power demand information of the rendering task does not need to be estimated, and the subsequent processing of the rendering task is abandoned. And if the data volume of the scene data of the rendering task is less than or equal to the data volume threshold value, the computing power demand information of the rendering task is stored in a task data table.
In this embodiment, by setting the specification limit and/or the waiting time threshold of the rendering task, and abandoning the execution of the rendering task whose execution specification exceeds the specification limit and whose waiting time exceeds the waiting time threshold, unnecessary rendering processing can be reduced, and the overall throughput of distributed rendering can be improved.
Fig. 4 is a general framework diagram of a distributed rendering according to this embodiment, and as shown in fig. 4, the distributed rendering framework includes four modules, namely, a rendering task, a statistical database, a rendering preview, a task scheduling, and elastic expansion. The statistical database stores the final rendering time of all rendering tasks, including detailed rendering parameters, reference rendering time and weight of a single model, and the like. The weights of the various models may be updated as a fit based on data stored in the statistical database. And for the submitted rendering task, determining the calculation force demand information of the rendering task through rendering pre-inspection according to the rendering parameters of the rendering model, the weight of the rendering model required and the reference rendering duration. When the task scheduling is carried out, distributed task scheduling is carried out according to the computing power demand information of the rendering tasks, the execution sequence of the rendering tasks is determined, and the rendering tasks are reasonably distributed to the required computing examples. In addition, statistical data such as time consumed by the rendering task can be recorded in the statistical database. When the idle computing resources are insufficient, elastic capacity expansion can be performed to increase the number of computing instances for executing the rendering task, and the situation that the rendering task cannot be executed due to insufficient computing instances is avoided.
In the embodiment, by pre-estimating the computing power demand information of the rendering task, flexibly performing computing resource capacity expansion and combining distributed task scheduling, balance between computing performance and rendering cost of a large-scale rendering task is realized, the contradiction between computing resources and rendering demands can be really solved, the problems of uneven computing resource distribution and idle resource waste are solved, and the overall efficiency and throughput of distributed rendering are improved.
Fig. 5 is a flowchart of a method for predicting computing power requirement information of a rendering task according to an exemplary embodiment of the present application. On the basis of any of the above method embodiments, as shown in fig. 5, for any rendering task, the computation power requirement information of the rendering task is determined according to the attributes of the rendering task and the computation power requirement of the model to be rendered, and the method may specifically be implemented by the following steps:
and S500, for each rendering task, acquiring the attribute of the rendering task and rendering scene data.
The attributes of the rendering task comprise rendering parameters such as resolution, super-resolution rendering, panorama rendering, rendering quality setting, hardware performance base number and the like, and the rendering parameters reflect the rendering quality of the rendering task and are important factors influencing the rendering duration and the required computing power of the rendering task. In addition, the attribute of the rendering task may further include information such as a rendering time.
Rendering quality settings may include image adoption, image filtering, color mapping, lighting settings, etc., e.g., lighting settings may include natural or light, custom light, single or complex light sources, etc.
The hardware performance cardinality refers to a preset reference of a calculation example specification, the calculation power demand information of each rendering task is estimated based on the calculation example specification of a unified reference, comparability of the calculation power demand information of different rendering tasks is guaranteed, even if the accuracy of the estimated calculation power demand information of each rendering task is not high, the size relation of the calculation power demands of different rendering tasks can be accurately reflected, and the execution sequence of the rendering tasks can be effectively optimized through distributed task scheduling.
The rendering scene data is data of a three-dimensional scene to be rendered in the rendering task, and is generated according to a design scheme of the three-dimensional scene and the specified position and direction of the camera. The design scheme comprises a plurality of models added into the scene, wherein the models refer to three-dimensional models formed by one or more objects in the three-dimensional scene. For example, for a home design, models of sofas, tables, beds, ceiling lights, etc. may be added to the room.
Through the following steps S501-S503, the weight and the reference rendering duration of the model to be rendered in the rendering task are obtained according to the rendering scene data of the rendering task. Wherein a higher weight of the model to be rendered indicates a higher computational effort required to render the model.
Step S501, determining a model to be rendered contained in the rendering task according to rendering scene data of the rendering task.
In the step, firstly, all models included in the current rendering task are obtained aiming at the current rendering task, and the model to be rendered is obtained.
And S502, acquiring the weight of the model to be rendered and the reference rendering duration from the statistical database.
In this embodiment, the weight and the reference rendering duration of each model may be predetermined, and the weight and the reference rendering duration of each model may be stored in the statistical database, and when performing the distributed rendering processing of the rendering task, the weight and the reference rendering duration of the model to be rendered may be directly obtained from the statistical database.
Illustratively, when a model is submitted to the rendering platform, the server of the rendering platform determines the weight of the model and the reference rendering duration, and stores the weight and the reference rendering duration in the statistical database.
In this step, if the weight and/or the reference rendering duration of a certain model to be rendered are not stored in the statistical database, the server of the rendering platform may determine the weight and/or the reference rendering duration of the model to be rendered in real time and store the determined weight and/or the reference rendering duration into the statistical database.
Specifically, the server may determine the weight of the model according to the attribute information of the model, and store the weight of the model in the statistical database. The weight of the model can reflect the complexity or quality of the model rendering, and the larger the weight is, the higher the complexity or quality of the model rendering is, and the higher the calculation power required by the model rendering is.
Optionally, the weight of the model may be estimated and determined by combining a statistical method according to a core principle of the global illumination renderer.
For example, the weight of the model may be determined according to the number of exposed surfaces of the model, the material of the model, and other attribute information that affects the complexity or quality of the model rendering.
Further, the server can render the model to be rendered based on the configured fast rendering quality standard, determine the reference rendering duration of the model to be rendered, and store the reference rendering duration of the model to be rendered in the statistical database.
The fast rendering quality standard is a lower quality standard, based on the low quality standard, a calculation example with a specific specification is adopted, the rendering duration of fast rendering on the model is used as the reference rendering duration of the model, although the real rendering duration of the model cannot be accurately estimated, the rendering duration of each model to be rendered is estimated based on the same quality standard and the calculation example with the same specification, and as the reference rendering duration of the model, the relationship between the length of the rendering duration required by different models can be accurately embodied, namely the calculation power requirement required by the rendering of different models can be accurately determined.
In addition, the fast rendering quality standard and the specific specification of the calculation example may be set and adjusted according to actual needs, and are not specifically limited herein. For example, the specific specification of the computing instance may be determined according to the specification of the computing instance for performing the rendering task in the current rendering platform, and is not specifically limited herein, for example, the specific specification of the computing instance may be consistent with or close to the specification of the computing instance for performing the rendering task in the current rendering platform.
Optionally, when a certain amount of data exists, the weight of each model may be inferred based on the core principle of the global illumination renderer according to the actual rendering duration, and the weight of each model is updated by combining a statistical method.
In the embodiment, the weight and the reference rendering duration of the model are persistently stored in the statistical database, and the weight and the reference rendering duration of the same model are directly read from the statistical database when the weight and the reference rendering duration of the same model are required to be acquired subsequently, so that the overall efficiency and the throughput of distributed rendering can be improved.
In an optional implementation manner, after the computing resources are allocated to the rendering tasks according to the execution sequence of the rendering tasks, the computing resources are scheduled to execute the allocated rendering tasks, and the rendering result is obtained, the server may further store the actual rendering duration of each rendering task. Illustratively, the actual rendering duration of the rendering task may be stored in a statistics database.
Every long time interval, calculating the actual rendering duration of each model in the rendering task in a reverse-deducing manner according to the actual rendering duration of each rendering task executed in the time interval and the weight of the model in the rendering task; and updating the weight and the reference rendering duration of each model in the statistical database according to the actual rendering duration of each model so as to improve the accuracy of the weight and the reference rendering duration of the model.
Illustratively, the actual rendering duration of the model may be inferred based on the actual rendering durations of the plurality of rendering tasks, and the weight of the model.
For each model, for example, if the actual rendering duration of the model is greater than the reference rendering duration, the weight of the model may be increased, and if the actual rendering duration of the model is less than the reference rendering duration, the weight of the model may be decreased.
For example, for each model, the reference rendering duration of the model in the statistical database may be updated according to the actual rendering duration of the model deduced in a reverse manner, so as to improve the accuracy of the reference rendering duration of the model.
Step S503, determining whether the model to be rendered appears in the visual range of the camera according to the position and the direction of the camera in the rendered scene data, and adjusting the weight of the model to be rendered according to whether the model to be rendered appears in the visual range of the camera.
In practical application, the rendering task may include a plurality of models, the models in the rendering task may wholly or partially appear in a visual range of the rendering scene, and for the models appearing in the visual range, the weight of the models appearing in the visual range may be relatively increased by adjusting the weight of the models, so that the accuracy of the weight of the models may be improved.
In the step, for the current rendering task, according to the position and the direction of the camera in the rendering scene data of the rendering task, whether each model to be rendered in the rendering task appears in the visual range of the camera is determined, the weight of the model appearing in the visual range is increased, and/or the weight of the model not appearing in the visual range is reduced.
For example, a first coefficient for increasing the weight of the model in the visible range, which is greater than 1, may be set, and in this step, the weight of the model in the visible range is multiplied by the first coefficient to increase the weight of the model in the visible range.
For example, a second coefficient for reducing the weight of the model not appearing in the visible range, which is smaller than 1, may be set, and the weight of the model not appearing in the visible range may be reduced by multiplying the weight of the model not appearing in the visible range by the second coefficient.
For example, a third coefficient for increasing the weight of the model in the visible range and a fourth coefficient for decreasing the weight of the model not appearing in the visible range may be set at the same time, the third coefficient being greater than 1, and the fourth coefficient being smaller than 1. In this step, the weight of the model appearing in the visible range is multiplied by the third coefficient, and the weight of the model not appearing in the visible range is multiplied by the fourth coefficient, thereby increasing the weight of the model appearing in the visible range while decreasing the weight of the model not appearing in the visible range.
And step S504, determining calculation power demand information corresponding to the rendering parameters according to the rendering parameters in the attributes of the rendering tasks.
In this embodiment, the rendering parameters in the attributes of the rendering task are important factors that affect the overall computational power requirement of the rendering task, and when the computational power requirement information of the rendering task is estimated, the computational power requirement information corresponding to the rendering parameters can be determined according to the rendering parameters in the attributes of the rendering task. For example, the computation power demand information corresponding to the rendering parameters may be rendering predicted time lengths corresponding to the rendering parameters.
Illustratively, the rendering parameters may include resolution size, whether super-resolution rendering is performed, whether panorama rendering is performed, rendering quality setting, hardware performance base number, and the like, and the rendering parameters embody rendering quality of the rendering task and are important factors influencing rendering duration and required computing power of the rendering task.
Rendering quality settings may include image adoption, image filtering, color mapping, lighting settings, etc., e.g., lighting settings may include natural or light, custom light, single or complex light sources, etc.
The hardware performance cardinality refers to a preset reference of a calculation example specification, the calculation power demand information of each rendering task is estimated based on the calculation example specification of a unified reference, comparability of the calculation power demand information of different rendering tasks is guaranteed, even if the accuracy of the estimated calculation power demand information of each rendering task is not high, the size relation of the calculation power demands of different rendering tasks can be accurately reflected, and the execution sequence of the rendering tasks can be effectively optimized through distributed task scheduling.
In addition, in this step, the computation demand information corresponding to the rendering parameters is determined specifically according to which rendering parameters of the rendering task are, and one or more rendering parameters having a large influence on the rendering quality may be selected according to the degree of influence of each rendering parameter on the rendering quality in the actual application scene, which is not specifically limited here.
Illustratively, each rendering parameter has a corresponding coefficient, the coefficients of different rendering parameters may be different, and the computation demand information corresponding to the rendering parameters is determined by performing weighted summation on each rendering parameter according to the coefficient corresponding to each rendering parameter.
The coefficient corresponding to the rendering parameter reflects the severity of the influence of the rendering parameter on the rendering quality, and the larger the corresponding coefficient is, the higher the severity of the influence of the rendering parameter on the rendering quality is, and the larger the influence on the calculation force requirement required by rendering is.
The coefficients corresponding to the rendering parameters can be estimated and configured according to the core principle of the global illumination renderer by combining a statistical method. When a certain amount of data exists, the coefficient corresponding to each rendering parameter can be reversely deduced according to the actual rendering duration, and the coefficient corresponding to each rendering parameter is updated in a fitting manner.
And S505, determining the calculation power demand information of the rendering task according to the weight and the reference rendering duration of the model to be rendered and the calculation power demand information corresponding to the rendering parameters.
After determining the weight and the reference rendering time length of the model to be rendered in the rendering task and the calculation force demand information corresponding to the rendering parameters, carrying out weighted summation on the reference rendering time length of the model to be rendered according to the weight of the model to be rendered to obtain the calculation force demand information corresponding to the model; and weighting and summing the calculation power demand information corresponding to the model and the calculation power demand information corresponding to the rendering parameters to obtain the calculation power demand information of the rendering tasks, and providing a reference for the calculation power demand required by the rendering tasks when the rendering tasks are arranged in sequence.
The computation force demand information corresponding to the model and the weight information of the computation force demand information corresponding to the rendering parameter may be configured and adjusted according to an actual application scenario and experience, which is not specifically limited herein.
In the embodiment, when the computing power demand information of the rendering task is estimated, by accumulating the reference rendering durations of all models of the rendering task and the computing power demand information corresponding to the rendering parameters, and setting weights between different models and weight information between the models and the rendering parameters, various factors influencing the overall computing power demand of the rendering task, such as the rendering parameters in the attributes of the rendering task and the computing power demand of the model to be rendered, can be integrated, the estimation of the computing power demand information of the rendering task is realized, the accuracy of the computing power demand information of the rendering task can be improved, and the determined computing power demand information of each rendering task can accurately reflect the computing power required for executing different rendering tasks.
Fig. 6 is a schematic structural diagram of a distributed rendering apparatus according to an exemplary embodiment of the present application. The distributed rendering device provided by the embodiment of the application can execute the processing flow provided by the embodiment of the distributed rendering method. As shown in fig. 6, the distributed rendering apparatus 60 includes: a render preview module 61 and a task scheduling module 62.
Specifically, the rendering preview module 61 is configured to obtain a rendering task to be processed, and determine the computation power requirement information of the rendering task according to the attribute of the rendering task and the computation power requirement of the model to be rendered.
And the task scheduling module 62 is configured to perform distributed task scheduling processing on the rendering tasks according to the computing power requirement information of the rendering tasks, and determine an execution sequence of the rendering tasks.
The task scheduling module 62 is further configured to allocate computing resources to the rendering tasks according to the execution sequence of the rendering tasks, and schedule the computing resources to execute the allocated rendering tasks, so as to obtain rendering results.
The apparatus provided in the embodiment of the present application may be specifically configured to execute the scheme provided in the embodiment of the method corresponding to fig. 2, and specific functions and technical effects that can be achieved are not described herein again.
In the embodiment, the calculation power demand information of the rendering tasks is pre-estimated according to various factors which influence the total calculation power demand of the rendering tasks, such as the attributes of the rendering tasks, the calculation power demand of a model to be rendered and the like, so that the accuracy of the calculation power demand information of the rendering tasks can be improved, and the calculation power demand information of each determined rendering task can accurately reflect the calculation power required by the execution of different rendering tasks; based on the computing power demand information of the rendering tasks, performing distributed task scheduling processing on the rendering tasks, and optimizing the execution sequence of the rendering tasks; according to the optimized execution sequence, computing resources are allocated for the rendering tasks, and the computing resources are scheduled to execute the allocated rendering tasks, so that fragmentation of the computing resources can be reduced, idle and waste of the computing resources are reduced, the utilization rate of the computing resources is improved, and the throughput of the rendering tasks is improved.
In an optional embodiment, when obtaining the rendering task to be processed and determining the computation power requirement information of the rendering task according to the attributes of the rendering task and the computation power requirement of the model to be rendered, the rendering preview module is further configured to:
acquiring rendering tasks to be processed from the rendering task queue, determining the computing power requirement according to the attribute of each rendering task and the computing power requirement of the model to be rendered, and determining the computing power requirement information of each rendering task; and storing each rendering task and the computing power requirement information of the rendering task into a task data table.
In an optional embodiment, when performing the computation power requirement determination process according to the attribute of each rendering task and the computation power requirement of the model to be rendered, and determining the computation power requirement information of each rendering task, the rendering preview module is further configured to:
for each rendering task, acquiring the weight and the reference rendering duration of a model to be rendered in the rendering task according to rendering scene data of the rendering task, wherein the larger the weight of the model to be rendered is, the higher the computational power required by the rendering model is; determining computing power demand information corresponding to rendering parameters according to the rendering parameters in the attributes of the rendering tasks; and determining the calculation power demand information of the rendering task according to the weight and the reference rendering duration of the model to be rendered and the calculation power demand information corresponding to the rendering parameters.
In an optional embodiment, the rendering scene data includes a camera position and a camera direction in the scene to be rendered corresponding to the rendering task, and attribute information of a model in the scene to be rendered. When the weight of the model to be rendered in the rendering task and the reference rendering duration are obtained according to the rendering scene data of the rendering task, the rendering pre-check module is further configured to:
determining a model to be rendered contained in the rendering task according to rendering scene data of the rendering task; acquiring the weight and the reference rendering duration of the model to be rendered from a statistical database; and determining whether the model to be rendered appears in the visual range of the camera according to the position and the direction of the camera in the rendered scene data, and adjusting the weight of the model to be rendered according to whether the model to be rendered appears in the visual range of the camera.
In an alternative embodiment, as shown in fig. 7, the distributed rendering apparatus 70 may further include: a data processing module 63 configured to: before the weight of the model to be rendered and the reference rendering duration are obtained from the statistical database, the weight of the model to be rendered is determined according to the attribute information of the model to be rendered, and the weight of the model to be rendered is stored in the statistical database; rendering the model to be rendered based on the configured fast rendering quality standard, determining the reference rendering time length of the model to be rendered, and storing the reference rendering time length of the model to be rendered into a statistical database.
In an optional embodiment, after allocating computing resources for rendering tasks according to the execution order of the rendering tasks and scheduling the computing resources to execute the allocated rendering tasks, the data processing module 63 is further configured to: storing the actual rendering duration of the rendering task; calculating the actual rendering time of each model in the rendering task according to the actual rendering time of the rendering task and the weight of the model in the rendering task; and updating the weight and the reference rendering duration of each model in the statistical database according to the actual rendering duration of each model.
In an optional embodiment, when the calculation power demand information of the rendering task is determined according to the weight of the model to be rendered, the reference rendering duration, and the calculation power demand information corresponding to the rendering parameter, the rendering preview module is further configured to:
according to the weight of the model to be rendered, carrying out weighted summation on the reference rendering time length of the model to be rendered to obtain the calculation force demand information corresponding to the model; and weighting and summing the calculation power demand information corresponding to the model and the calculation power demand information corresponding to the rendering parameters to obtain the calculation power demand information of the rendering task.
In an optional embodiment, when performing distributed task scheduling processing on rendering tasks according to the computing power requirement information of the rendering tasks and determining the execution order of the rendering tasks, the task scheduling module is further configured to:
and performing distributed task scheduling processing on the first rendering task, which is not inserted into the distributed task scheduling queue, in the data table according to the computing power demand information of the first rendering task every interval of the first duration, and determining the execution sequence of the first rendering task.
In an optional embodiment, at every interval of the first duration, for a first rendering task into which a distributed task scheduling queue is not inserted in the data table, the distributed task scheduling processing is performed on the first rendering task according to the computing power demand information of the first rendering task, and after the execution sequence of the first rendering task is determined, the task scheduling module is further configured to:
according to the execution sequence of a plurality of rendering tasks to be processed, sequentially inserting a first number of rendering tasks into a distributed task scheduling queue according to the execution sequence, wherein the first number is determined according to the number of computing resources in an idle state in a cluster at present.
In an optional embodiment, when the computing resources are allocated to the rendering tasks according to the execution order of the rendering tasks, and the computing resources are scheduled to execute the allocated rendering tasks, and a rendering result is obtained, the task scheduling module is further configured to:
and sequentially acquiring the rendering tasks from the distributed task scheduling queue, distributing computing resources for the currently acquired target rendering task, and scheduling the computing resources to execute the distributed rendering task to obtain a rendering result.
In an alternative embodiment, as shown in fig. 7, the distributed rendering apparatus 70 may further include: a flexible expansion module 64.
The elastic expansion module 64 is configured to: before distributing computing resources for a currently acquired target rendering task, if it is determined that no computing resource in an idle state exists currently and a cluster meets a computing resource capacity expansion condition, sending a capacity expansion request to a computing platform so as to add one or more computing resources in the idle state in the cluster.
In an optional embodiment, the flexible expansion module 64 is further configured to:
if the current time is in a rendering peak period, sending a first capacity expansion request to the computing platform, wherein the first capacity expansion request is used for indicating the computing platform to expand the computing resources of the cluster until the number of the computing resources is equal to the upper limit of the number of the computing resources of the cluster; if the current moment is not in the rendering peak period, sending a second capacity expansion request to the computing platform, wherein the second capacity expansion request is used for indicating the computing platform to expand the computing resources of the cluster until the number of the computing resources is equal to a second number, and the second number is smaller than the upper limit of the number of the computing resources;
or sending a third capacity expansion request to the computing platform according to the number of rendering tasks to be rendered in the distributed task scheduling queue, wherein the first capacity expansion request is used for indicating the computing platform to increase a third number of computing resources in the cluster, and the third number is determined according to the number of rendering tasks to be rendered;
or sending a fourth capacity expansion request to the computing platform, where the first capacity expansion request is used to instruct the computing platform to add one computing resource in the cluster.
In an optional embodiment, when the rendering tasks are sequentially acquired from the distributed task scheduling queue and the computing resources are allocated to the currently acquired target rendering task, the task scheduling module is further configured to:
sequentially acquiring rendering tasks from a distributed task scheduling queue; if the data volume of the scene data of the currently acquired rendering task is determined to be smaller than or equal to the data volume threshold value and the waiting time of the currently acquired rendering task is determined to be smaller than or equal to the waiting time threshold value, allocating computing resources for the currently acquired target rendering task; and if the data volume of the scene data of the currently acquired rendering task is determined to be larger than the data volume threshold value, or the waiting time of the currently acquired rendering task is determined to be larger than the waiting time threshold value, the currently acquired rendering task is abandoned.
The apparatus provided in the embodiment of the present application may be specifically configured to execute the scheme provided in any one of the method embodiments, and specific functions and technical effects that can be achieved are not described herein again.
In the embodiment, by pre-estimating the computing power demand information of the rendering task, flexibly performing computing resource capacity expansion and combining distributed task scheduling, balance between computing performance and rendering cost of a large-scale rendering task is realized, the contradiction between computing resources and rendering demands can be really solved, the problems of uneven computing resource distribution and idle resource waste are solved, and the overall efficiency and throughput of distributed rendering are improved.
Fig. 8 is a schematic structural diagram of an electronic device according to an example embodiment of the present application. As shown in fig. 8, the electronic apparatus 80 includes: a processor 801, and a memory 802 communicatively coupled to the processor 801, the memory 802 storing computer-executable instructions.
The processor executes the computer execution instructions stored in the memory to implement the scheme provided by any of the above method embodiments, and the specific functions and the technical effects that can be achieved are not described herein again.
The embodiment of the present application further provides a computer-readable storage medium, where computer-executable instructions are stored in the computer-readable storage medium, and when the computer-executable instructions are executed by a processor, the computer-executable instructions are used to implement the solutions provided in any of the above method embodiments, and specific functions and technical effects that can be achieved are not described herein again.
An embodiment of the present application further provides a computer program product, where the computer program product includes: the computer program is stored in a readable storage medium, at least one processor of the electronic device can read the computer program from the readable storage medium, and the at least one processor executes the computer program to enable the electronic device to execute the scheme provided by any one of the above method embodiments, and specific functions and achievable technical effects are not described herein again.
In addition, in some of the flows described in the above embodiments and the drawings, a plurality of operations are included in a certain order, but it should be clearly understood that the operations may be executed out of the order presented herein or in parallel, and only for distinguishing between different operations, and the sequence number itself does not represent any execution order. Additionally, the flows may include more or fewer operations, and the operations may be performed sequentially or in parallel. It should be noted that, the descriptions of "first", "second", etc. in this document are used for distinguishing different messages, devices, modules, etc., and do not represent a sequential order, nor limit the types of "first" and "second" to be different. The meaning of "a plurality" is two or more unless specifically limited otherwise.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
It will be understood that the present application is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (14)

1. A distributed rendering method, comprising:
acquiring a plurality of rendering tasks to be processed, and determining the computing power demand information of each rendering task according to the attribute of each rendering task and the computing power demand of a model to be rendered;
performing distributed task scheduling processing on the rendering tasks according to the computing power demand information of each rendering task, and determining the execution sequence of the rendering tasks;
and distributing computing resources for each rendering task according to the execution sequence of the rendering tasks, and scheduling the computing resources to execute the distributed rendering tasks to obtain a rendering result.
2. The method according to claim 1, wherein the obtaining a plurality of rendering tasks to be processed and determining the computation power requirement information of each rendering task according to the attributes of each rendering task and the computation power requirement of a model to be rendered comprises:
acquiring a plurality of rendering tasks to be processed from a rendering task queue, determining the computing power requirement according to the attribute of each rendering task and the computing power requirement of a model to be rendered, and determining the computing power requirement information of each rendering task;
and storing each rendering task and the computing power requirement information of the rendering task into a task data table.
3. The method according to claim 2, wherein the performing a computation power requirement determination process according to the attributes of each rendering task and the computation power requirement of the model to be rendered, and determining the computation power requirement information of each rendering task comprises:
for each rendering task, acquiring the weight and the reference rendering duration of a model to be rendered in the rendering task according to rendering scene data of the rendering task, wherein the larger the weight of the model to be rendered is, the higher the computational power required by the rendering model is;
determining computing power demand information corresponding to the rendering parameters according to the rendering parameters in the attributes of the rendering tasks;
and determining the computational power demand information of the rendering task according to the weight and the reference rendering duration of the model to be rendered and the computational power demand information corresponding to the rendering parameters.
4. The method according to claim 3, wherein the obtaining of the weight and the reference rendering duration of the model to be rendered in the rendering task according to the rendering scene data of the rendering task comprises:
determining a model to be rendered contained in the rendering task according to rendering scene data of the rendering task;
acquiring the weight and the reference rendering duration of the model to be rendered from a statistical database;
and determining whether the model to be rendered appears in the visual range of the camera according to the position and the direction of the camera in the rendered scene data, and adjusting the weight of the model to be rendered according to whether the model to be rendered appears in the visual range of the camera.
5. The method according to claim 4, wherein before the obtaining the weight and the reference rendering duration of the model to be rendered from the statistical database, the method further comprises:
determining the weight of the model to be rendered according to the attribute information of the model to be rendered, and storing the weight of the model to be rendered in the statistical database;
rendering the model to be rendered based on the configured fast rendering quality standard, determining the reference rendering duration of the model to be rendered, and storing the reference rendering duration of the model to be rendered into the statistical database.
6. The method of claim 5, wherein the allocating computing resources to each rendering task according to the execution order of the rendering tasks, and scheduling the computing resources to execute the allocated rendering tasks, and after obtaining the rendering result, further comprises:
storing the actual rendering time length of each rendering task;
for each rendering task, calculating the actual rendering time length of each model in the rendering task according to the actual rendering time length of the rendering task and the weight of the model in the rendering task;
and updating the weight and the reference rendering duration of each model in the statistical database according to the actual rendering duration of each model.
7. The method according to claim 3, wherein the determining the computation power demand information of the rendering task according to the weight and the reference rendering duration of the model to be rendered and the computation power demand information corresponding to the rendering parameters comprises:
according to the weight of the model to be rendered, carrying out weighted summation on the reference rendering duration of the model to be rendered to obtain the calculation force demand information corresponding to the model;
and weighting and summing the calculation demand information corresponding to the model and the calculation demand information corresponding to the rendering parameters to obtain the calculation demand information of the rendering task.
8. The method according to claim 2, wherein the performing distributed task scheduling processing on the plurality of rendering tasks according to the computing power requirement information of each rendering task, and determining the execution sequence of the plurality of rendering tasks comprises:
and performing distributed task scheduling processing on a first rendering task, for which a distributed task scheduling queue is not inserted, in the data table at every interval of a first duration, according to the computing power demand information of the first rendering task, and determining the execution sequence of the first rendering task.
9. The method according to claim 8, wherein, for a first rendering task that has not yet been inserted into a distributed task scheduling queue in the data table at a first time interval, performing distributed task scheduling processing on the first rendering task according to the computational power requirement information of each of the first rendering tasks, and after determining the execution order of the first rendering tasks, the method further includes:
and according to the execution sequence of the plurality of rendering tasks, sequentially inserting a first number of the rendering tasks into a distributed task scheduling queue according to the execution sequence, wherein the first number is determined according to the number of the computing resources in an idle state in the cluster at present.
10. The method of claim 9, wherein the allocating computing resources to each rendering task according to the execution order of the rendering tasks and scheduling the computing resources to execute the allocated rendering tasks to obtain rendering results comprises:
and sequentially acquiring rendering tasks from the distributed task scheduling queue, distributing computing resources for the currently acquired rendering tasks, and scheduling the computing resources to execute the distributed rendering tasks to obtain rendering results.
11. The method of claim 10, wherein before allocating computing resources for the currently fetched rendering task, further comprising:
if it is determined that the computing resources in the idle state do not exist currently and the cluster meets the computing resource capacity expansion condition, sending a capacity expansion request to the computing platform to add one or more computing resources in the idle state in the cluster.
12. The method of claim 11, wherein sending a capacity expansion request to a computing platform comprises:
if the current time is in a rendering peak period, sending a first capacity expansion request to the computing platform, wherein the first capacity expansion request is used for indicating the computing platform to expand the computing resources of the cluster until the number of the computing resources is equal to the upper limit of the number of the computing resources of the cluster; if the current time is not in a rendering peak period, sending a second capacity expansion request to the computing platform, where the second capacity expansion request is used to instruct the computing platform to expand the computing resources of the cluster until the number of the computing resources is equal to a second number, and the second number is smaller than the upper limit of the number of the computing resources;
alternatively, the first and second electrodes may be,
sending a third capacity expansion request to the computing platform according to the number of rendering tasks to be rendered in the distributed task scheduling queue, where the first capacity expansion request is used to instruct the computing platform to increase a third number of computing resources in the cluster, where the third number is determined according to the number of rendering tasks to be rendered;
alternatively, the first and second electrodes may be,
sending a fourth capacity expansion request to the computing platform, where the first capacity expansion request is used to indicate that the computing platform adds one computing resource to the cluster.
13. The method of claim 9, wherein sequentially fetching rendering tasks from the distributed task scheduling queue and allocating computing resources for the currently fetched rendering tasks comprises:
sequentially acquiring rendering tasks from the distributed task scheduling queue;
if the data volume of the scene data of the currently acquired rendering task is determined to be smaller than or equal to a data volume threshold value, and the waiting time of the currently acquired rendering task is determined to be smaller than or equal to a waiting time threshold value, allocating computing resources for the currently acquired rendering task;
and if the data volume of the scene data of the currently acquired rendering task is determined to be larger than the data volume threshold value, or the waiting time of the currently acquired rendering task is determined to be larger than the waiting time threshold value, giving up executing the currently acquired rendering task.
14. An electronic device, comprising: a processor, and a memory communicatively coupled to the processor;
the memory stores computer-executable instructions;
the processor executes computer-executable instructions stored by the memory to implement the method of any of claims 1-13.
CN202210557461.3A 2022-05-20 2022-05-20 Distributed rendering method and device Pending CN114968521A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210557461.3A CN114968521A (en) 2022-05-20 2022-05-20 Distributed rendering method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210557461.3A CN114968521A (en) 2022-05-20 2022-05-20 Distributed rendering method and device

Publications (1)

Publication Number Publication Date
CN114968521A true CN114968521A (en) 2022-08-30

Family

ID=82984620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210557461.3A Pending CN114968521A (en) 2022-05-20 2022-05-20 Distributed rendering method and device

Country Status (1)

Country Link
CN (1) CN114968521A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115865518A (en) * 2023-01-30 2023-03-28 天云融创数据科技(北京)有限公司 Cloud platform data processing method and system based on big data
CN115858177A (en) * 2023-02-08 2023-03-28 成都数联云算科技有限公司 Rendering machine resource allocation method, device, equipment and medium
CN116828215A (en) * 2023-08-30 2023-09-29 湖南马栏山视频先进技术研究院有限公司 Video rendering method and system for reducing local computing power load
CN116932230A (en) * 2023-09-15 2023-10-24 湖南马栏山视频先进技术研究院有限公司 Video rendering method based on dynamic task scheduling

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115865518A (en) * 2023-01-30 2023-03-28 天云融创数据科技(北京)有限公司 Cloud platform data processing method and system based on big data
CN115865518B (en) * 2023-01-30 2023-05-16 天云融创数据科技(北京)有限公司 Cloud platform data processing method and system based on big data
CN115858177A (en) * 2023-02-08 2023-03-28 成都数联云算科技有限公司 Rendering machine resource allocation method, device, equipment and medium
CN115858177B (en) * 2023-02-08 2023-10-24 成都数联云算科技有限公司 Method, device, equipment and medium for distributing resources of rendering machine
CN116828215A (en) * 2023-08-30 2023-09-29 湖南马栏山视频先进技术研究院有限公司 Video rendering method and system for reducing local computing power load
CN116828215B (en) * 2023-08-30 2023-11-14 湖南马栏山视频先进技术研究院有限公司 Video rendering method and system for reducing local computing power load
CN116932230A (en) * 2023-09-15 2023-10-24 湖南马栏山视频先进技术研究院有限公司 Video rendering method based on dynamic task scheduling
CN116932230B (en) * 2023-09-15 2023-12-08 湖南马栏山视频先进技术研究院有限公司 Video rendering method based on dynamic task scheduling

Similar Documents

Publication Publication Date Title
CN114968521A (en) Distributed rendering method and device
CN107688492B (en) Resource control method and device and cluster resource management system
CN103927225A (en) Multi-core framework Internet information processing and optimizing method
CN114610474B (en) Multi-strategy job scheduling method and system under heterogeneous supercomputing environment
CN112905326B (en) Task processing method and device
CN111506434B (en) Task processing method and device and computer readable storage medium
CN110795226B (en) Method for processing task using computer system, electronic device and storage medium
CN111813523A (en) Duration pre-estimation model generation method, system resource scheduling method, device, electronic equipment and storage medium
CN112148454A (en) Edge computing method supporting serial and parallel and electronic equipment
CN109117244B (en) Method for implementing virtual machine resource application queuing mechanism
CN115543615A (en) Resource allocation method and device, electronic equipment and storage medium
CN112486642A (en) Resource scheduling method and device, electronic equipment and computer readable storage medium
CN112486788A (en) Workload evaluation method and device, electronic equipment and readable storage medium
CN116048721A (en) Task allocation method and device for GPU cluster, electronic equipment and medium
CN115686805A (en) GPU resource sharing method and device, and GPU resource sharing scheduling method and device
CN114721818A (en) Kubernetes cluster-based GPU time-sharing method and system
CN109358964B (en) Server cluster resource scheduling method
JP2001318798A (en) Parallel object task engine, and parallel processing method
CN111724469A (en) Loading method and display method of three-dimensional model, vehicle and storage medium
CN116915869A (en) Cloud edge cooperation-based time delay sensitive intelligent service quick response method
CN104731662B (en) A kind of resource allocation methods of variable concurrent job
CN113742059B (en) Task allocation method, device, computer equipment and storage medium
CN112156453B (en) Example adaptive adjustment method, apparatus, computer readable storage medium and device
CN114896070A (en) GPU resource allocation method for deep learning task
CN114489978A (en) Resource scheduling method, device, equipment and storage medium

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