CN105487929B - A kind of method of camera lens shared data management during Cluster Rendering - Google Patents
A kind of method of camera lens shared data management during Cluster Rendering Download PDFInfo
- Publication number
- CN105487929B CN105487929B CN201510810897.9A CN201510810897A CN105487929B CN 105487929 B CN105487929 B CN 105487929B CN 201510810897 A CN201510810897 A CN 201510810897A CN 105487929 B CN105487929 B CN 105487929B
- Authority
- CN
- China
- Prior art keywords
- rendering
- shared data
- camera lens
- data
- slave
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention discloses a kind of method of camera lens shared data management during Cluster Rendering, it is included under Cluster Rendering environment, each rendering unit is divided into a master node and several slave nodes;Master nodes read in camera lens and shared data and its equilibrium are stored in each slave node of rendering unit, and set up shared data management module respectively in each slave node;During rendering, if the shared data required for a rendering engine is stored in the slave nodes belonging to rendering engine, the shared data of rendering engine request returns directly to the rendering engine by shared data management module;If the shared data required for a rendering engine is stored in other slave nodes, RDMA interface is then set between the slave nodes of the shared data required for the slave nodes belonging to rendering engine and storage, and the shared data of rendering engine request is back to rendering engine by RDMA interface.
Description
Technical field
The present invention relates to shared data management method, and in particular to camera lens shared data management during a kind of Cluster Rendering
Method.
Background technology
When the scene of high realism is rendered, the data volume of scene is very big, when parallel rendering is carried out, with access simultaneously
The calculate node of memory node increases, after reaching the responding ability and the High speed network bandwidth upper limit of memory node, data
Access will be as bottleneck, so as to influence to render performance.Additionally, in conventional Rendering algorithms, scene tinting stage is if desired etc.
Can just proceed after corresponding data texturing is ready to, wait pending data to obtain in the corresponding time, processor is actually
In idle waiting state, therefore data access bottleneck will reduce calculate node processor utilization, and reduction renders performance.
During using cluster parallel rendering, traditional management software that renders all is to locate rendering task as common task
Reason, existing to render farm typically using the method distribution computing resource of static deployment, the self-service clouds of such as Renderbus are rendered
Farm, which computing resource utilization rate is low.
Chinese patent (application number:200910013740, patent name:Based on DEADLINE graphic workstation rendering clusters
Elastic construction) in propose the consistent elastic construction based on DEADLINE graphic workstation rendering clusters, support
By task dynamically distributes computing resource, improve resource utilization to a certain degree, but rendering data access bottleneck etc. is not considered
Problem.
Chinese patent (application number:201210431551, patent name:The construction method on farm is rendered based on cloud computing) in
A kind of construction method that farm is rendered based on cloud computing is proposed, supports that rendering server is the dynamic increase and decrease of computing resource, but
The characteristics of also without considering rendering data in itself.
Chinese patent (application number:201310653516, patent name:A kind of flexible render farm Dynamic Deployment System
With method) in refer to the concept of rendering unit, each rendering unit is responsible for processing the rendering task for belonging to a camera lens.
Multiple calculate nodes are constituted a rendering unit and complete rendering for successive frame by the method, are reduced task distribution and are reassigned band
The communications burden come, improves the utilization rate of calculate node.But the patent does not fully take into account rendering unit inside wash with watercolours
Correlation in data that dye task needs etc..
The content of the invention
Mainly under Cluster Rendering environment, rendering between frame task in same camera lens exists shared the present invention
Static geometric data and data texturing characteristic, i.e. data dependence in camera lens between frame task proposes a kind of cluster wash with watercolours
The method of camera lens shared data management during dye.
Wherein, under Cluster Rendering environment, multi-zone supervision strategy is taken computing resource:By multiple independent calculate nodes
One rendering unit of composition, as one base unit for rendering subtask of completion.Rendered according to priority orders Dynamical Deployment
Calculate node quantity in unit, takes rendering task graded dispatching strategy:Each camera lens in user's rendering task is divided
Subtask is rendered into one or more, each renders subtask and is made up of the successive frame in the camera lens, each frame is transferred to render and drawn
Hold up and rendered, referred to as frame task.
To achieve the above object, the present invention uses following technical scheme:
The method of camera lens shared data management during Cluster Rendering, including:
Step (1):Under Cluster Rendering environment, by each rendering unit be divided into a master node and several
Slave nodes, the master processes on master nodes are in communication with each other with the slave processes on slave nodes;
Step (2):Master nodes read in camera lens and shared data and its equilibrium are stored in into each of rendering unit
In slave nodes, and the shared data set up respectively in each slave node for managing the shared data in camera lens is managed
Module;
Step (3):Rendering engine on each slave node starts to render, during rendering, if one renders and draws
Shared data required for holding up is stored in the slave nodes belonging to the rendering engine, then what the rendering engine was asked is total to
Enjoy data and the rendering engine is returned directly to by shared data management module;
If the shared data required for a rendering engine is stored in other slave nodes, in the rendering engine
RDMA interface, the rendering engine are set between the slave nodes of the shared data required for affiliated slave nodes and storage
The shared data of request is back to the rendering engine by RDMA interface.
In the step (1), IB communication connections are also set up between any two slave nodes.
Shared data includes quiet in camera lens data texturing and camera lens in the camera lens that master nodes read in the step (2)
State geometric data.
In the step (2) master nodes according to shared data in camera lens size and type and current rendering unit
In slave nodes number, balancedly shared data in shot segmentation finally determines to be distributed to the mirror of each slave node
Shared data in head.
In the step (3), the connecting object equal with number of threads is rendered is created between any two slave nodes
And MR.
In the step (3), RDMA interface reads data using asynchronous operation, ensures that RDMA interface is returned using simultaneously operating
The data returned can use.
It is described to carry out simultaneously operating on each connecting object being connected with RDMA interface.
In the step (3), during rendering, rendering engine also directly reads appointing for completing to render in disk
The private data of business.
In the step (1), switching connection status is also set up between any two slave nodes.
In the step (3), the rendering engine uses Bleman rendering engines.
Beneficial effects of the present invention are:
(1) present invention be shared data Governance framework design based on the shared data correlation of rendering task between camera lens with
Realize.Internal storage access is switched to by disk access by by data, is possible to alleviate storage access bottleneck to a certain extent, from
And improve rendering efficiency;
(2) data management module supporting location transparency, the data access transparency and the data duplication that the present invention is realized are special
Property, wherein, location transparency refers to that upper level applications need to only give file path, and the interface for calling this module to provide is i.e. readable
Data are taken or write, is stored in internal memory or on disk as data, be transparent for upper level applications;Number
Refer to that upper level applications can be managed with transparent use shared data according to the transparency is accessed, repaiied without carrying out substantial amounts of application code
Change;
(3) present invention can dynamically be adjusted and opened on each node according to the size and the number of slave nodes of shared data
The size of the shared drive warded off, so as to avoid the waste of internal memory, so as to sufficiently using the storage resource of cluster, improve efficiency.
Brief description of the drawings
Fig. 1 is data management shared drive pond of the invention.
Fig. 2 is that local data accesses schematic diagram.
Fig. 3 is strange land data access schematic diagram.
Specific embodiment
The present invention will be further described with embodiment below in conjunction with the accompanying drawings:
Cluster environment of the invention as a example by comprising 60 Linux clusters of calculate node, in the Linux clusters, often
Individual calculate node is 12 cores, by IB network connections.
The cluster by IB network interconnections that the present invention is based on.IB networks (Infiniband) be a high speed low latency,
The internet technique of low CPU overhead, high reliability and enhanced scalability.One key characteristic of IB is can to provide RDMA
(long-range DMA) is supported.IB can not need CPU during two ends (between server or server and storage) data transfer
Intervention.The efficient and scalability of IB causes that it becomes the fields such as high-performance calculation, cloud, web2.0 and database purchase
Optimal performance and high cost performance solution.
MR (Memory Registration) is a kind of permission in the application program addressable program of specified network adapter
The mechanism in space is deposited, this partial memory can be stapled in internal memory to avoid operating system from being exchanged to swapace during registration
In.Each MR is owned by a local key and a distal end key, and local key is used for local HCA and accesses local memory, such as exists
In reception data procedures;Distal end key allows remote processes to access local memory by RDMA.
HCA (Host Channel Adapter), similar to the network interface card in Ethernet, as server access IB networks
One end points, while additionally provide allowing program directly to access HCA and program virtual memory address to the address of physical address map
Mechanism for resolving.
When running the example, rendering unit, data management system and Bleman rendering engines are deployed in cluster
On, the document scene of the rendering task of submission meets Render Man specifications.
Wherein, each rendering unit is divided into a master node and several slave nodes, on master nodes
Master processes are communicated with the slave processes in several calculate nodes, complete the scheduling of task and the transmission of data.
Document scene is stored on file server, each slave nodes receive data from file server during operation
According to.Above-mentioned calculate node is slave nodes.
It is stored in shared data in camera lens is distributed in each slave node of rendering unit, and sets up shared number
The shared data in whole camera lens is managed collectively according to management module.
When the slave nodes in rendering unit need accessing shared data, it is necessary to send data to shared data management
Request, then shared data management does corresponding operating for the request.
The method of camera lens shared data management during Cluster Rendering of the invention, including:
Step (1):Under Cluster Rendering environment, by each rendering unit be divided into a master node and several
Slave nodes, the master processes on master nodes are in communication with each other with the slave processes on slave nodes;
Step (2):Master nodes read in camera lens and shared data and its equilibrium are stored in into each of rendering unit
In slave nodes, and the shared data set up respectively in each slave node for managing the shared data in camera lens is managed
Module;
Step (3):Rendering engine on each slave node starts to render, during rendering, if one renders and draws
Shared data required for holding up is stored in the slave nodes belonging to the rendering engine, then what the rendering engine was asked is total to
Enjoy data and the rendering engine is returned directly to by shared data management module;
If the shared data required for a rendering engine is stored in other slave nodes, in the rendering engine
RDMA interface, the rendering engine are set between the slave nodes of the shared data required for affiliated slave nodes and storage
The shared data of request is back to the rendering engine by setting RDMA interface.
Specifically, the method for camera lens shared data management is during the Cluster Rendering of the invention:
First, start rendering unit, submit rendering task to, rendering unit can log-on data management system;
Data management system is optimized for the shared data read operation in camera lens, is comprised the following steps that:
(1) shared data management system initialization:
Each node opens up shared drive region;Each node creates shared data region, and space is applied in internal memory;Will
The segment space is locked in internal memory;Data structure needed for metadata, data access is initialized;Logical is accessed to remote memory
Believe with connection initialized, including set up between each node IB communication connections, log-on data buffer zone, switch company
Connect state.
(2) master nodes read shared file list:
Rendering unit notifies master nodes loading shared data;Rendering unit can provide shared number to data management system
According to store path, the path parameter that master nodes are provided according to rendering unit reads shared file list, including camera lens line
Static geometry file in reason file and camera lens.
(3) master nodes distribute each slave nodes in a balanced way needs the listed files of loading:
Slave nodes load corresponding shared data according to the listed files of distribution, the internal memory that data storage is initialized
Region, each slave node is only responsible for a part for storage shared data, forms data management shared drive pond as shown in Figure 1;
(4) during being rendered, the rendering engine on each slave node reads file data, including shared
Data file and private data file.For private data, rendering engine can go file to take according to the mode of ordinary magnetic disc file
Read on business device, for shared data, then read by data management system.
(5) shared data file dispersion is stored on each slave node of whole rendering unit, and the access of data can divide
It is two kinds of local IP access and strange land accesses, local data accesses the difference with strange land data access:
If as shown in Fig. 2 the shared data required for a rendering engine is stored in the slave belonging to the rendering engine
In node, such as calculate node A, the slave nodes belonging to the rendering engine that calculate node A is currently running, then described to render
The shared data of engine requests returns directly to the rendering engine by shared data management module, and this process is local IP access.
When the shared data that rendering engine needs is stored on local internal memory, rendering engine sends request of data to shared
Data management module, after shared data management module receives request, first number of the shared file in shared data management module
The address of the shared data of rendering engine request is found in, and it is according to the address of shared data that corresponding shared data is direct
Return to rendering engine.
But when the document scene that engine needs stores shared drive region in other nodes, current node and deposit
Need to carry out remote memory data access for the two processes between the node of file needed for storage, employ the mode reality of RDMA
It is existing, as shown in Figure 3.
In figure 3, calculate node A and calculate node B are slave nodes, now, the rendering engine in calculate node A
Required shared data is stored in calculate node B, then RDMA interface, institute are set between calculate node A and calculate node B
The shared data for stating rendering engine request is back to the rendering engine by RDMA interface, and this process is strange land accesses.
In initial phase, created between each slave node and be equal to the connecting object for rendering number of threads and MR.
Realize accessing remote data using RDMA interface.Using RDMA read data when be it is asynchronous, it is same using RDMA
Step operation ensures that RDMA interface returned data can use.The simultaneously operating of RDMA is carried out on each connecting object.
Although above-mentioned be described with reference to accompanying drawing to specific embodiment of the invention, not to present invention protection model
The limitation enclosed, one of ordinary skill in the art should be understood that on the basis of technical scheme those skilled in the art are not
Need the various modifications made by paying creative work or deformation still within protection scope of the present invention.
Claims (6)
1. the method that camera lens shared data is managed during Cluster Rendering, it is characterised in that including:
Step (1):Under Cluster Rendering environment, each rendering unit is divided into a master node and several slave
Node, the master processes on master nodes are in communication with each other with the slave processes on slave nodes;
Step (2):Master nodes read camera lens in shared data and by its equilibrium be stored in rendering unit each slave section
In point, and set up the shared data management module for managing the shared data in camera lens respectively in each slave node;
Step (3):Rendering engine on each slave node starts to render, during rendering, if a rendering engine institute
The shared data of needs is stored in the slave nodes belonging to the rendering engine, then the shared number of the rendering engine request
The rendering engine is returned directly to according to by shared data management module;
If the shared data required for a rendering engine is stored in other slave nodes, belonging to the rendering engine
Slave nodes and storage required for shared data slave nodes between RDMA interface is set, the rendering engine request
Shared data the rendering engine is back to by RDMA interface;
Shared data includes static several in camera lens data texturing and camera lens in the camera lens that master nodes read in the step (2)
What data;
In the step (2) in size and type and current rendering unit of the master nodes according to shared data in camera lens
The number of slave nodes, balancedly shared data in shot segmentation, finally determines to be distributed in the camera lens of each slave node
Shared data.
2. the method that camera lens shared data is managed during Cluster Rendering as claimed in claim 1, it is characterised in that described
In step (1), IB communication connections are also set up between any two slave nodes.
3. the method that camera lens shared data is managed during Cluster Rendering as claimed in claim 1, it is characterised in that the step
Suddenly in (3), the connecting object and MR equal with number of threads is rendered is created between any two slave nodes.
4. the method that camera lens shared data is managed during Cluster Rendering as claimed in claim 1, it is characterised in that the step
Suddenly in (3), RDMA interface reads data using asynchronous operation, ensures that the data that RDMA interface is returned can use using simultaneously operating;
Simultaneously operating is carried out on each connecting object being connected with RDMA interface.
5. the method that camera lens shared data is managed during Cluster Rendering as claimed in claim 1, it is characterised in that the step
Suddenly in (3), during rendering, rendering engine also directly reads the private data for completing rendering task in disk.
6. the method that camera lens shared data is managed during Cluster Rendering as claimed in claim 1, it is characterised in that described
In step (3), the rendering engine uses Bleman rendering engines.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510810897.9A CN105487929B (en) | 2015-11-19 | 2015-11-19 | A kind of method of camera lens shared data management during Cluster Rendering |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510810897.9A CN105487929B (en) | 2015-11-19 | 2015-11-19 | A kind of method of camera lens shared data management during Cluster Rendering |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105487929A CN105487929A (en) | 2016-04-13 |
CN105487929B true CN105487929B (en) | 2017-06-16 |
Family
ID=55674923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510810897.9A Active CN105487929B (en) | 2015-11-19 | 2015-11-19 | A kind of method of camera lens shared data management during Cluster Rendering |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105487929B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400024B (en) * | 2019-01-03 | 2023-10-10 | 百度在线网络技术(北京)有限公司 | Resource calling method and device in rendering process and rendering engine |
CN111367876B (en) * | 2020-03-04 | 2023-09-19 | 中国科学院成都生物研究所 | Distributed file management method based on memory metadata |
CN114896211B (en) * | 2022-07-15 | 2022-10-04 | 北京蔚领时代科技有限公司 | Method and system for sharing asset file based on cloud rendering application |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475716B (en) * | 2013-09-11 | 2016-10-05 | 北京京东尚科信息技术有限公司 | The method and system of data sharing is realized by shared storage |
CN103617062B (en) * | 2013-12-05 | 2016-09-07 | 山东大学 | The render farm Dynamic Deployment System of a kind of flexibility and method |
CN103986771A (en) * | 2014-05-22 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | High-availability cluster management method independent of shared storage |
CN104580422A (en) * | 2014-12-26 | 2015-04-29 | 赞奇科技发展有限公司 | Cluster rendering node data access method based on shared cache |
-
2015
- 2015-11-19 CN CN201510810897.9A patent/CN105487929B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN105487929A (en) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10325343B1 (en) | Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform | |
US20200201661A1 (en) | Guaranteeing availability of target data to remote initiators via a hybrid source/target credit scheme | |
US10091295B1 (en) | Converged infrastructure implemented with distributed compute elements | |
US10212092B2 (en) | Architectures and methods for processing data in parallel using offload processing modules insertable into servers | |
EP3798835B1 (en) | Method, device, and system for implementing hardware acceleration processing | |
US9977618B2 (en) | Pooling of memory resources across multiple nodes | |
US9250954B2 (en) | Offload processor modules for connection to system memory, and corresponding methods and systems | |
US10852955B2 (en) | Method and system for accessing data objects stored in a storage system using object descriptors allocated by clients | |
US20160162316A1 (en) | Offloading and parallelizing translation table operations | |
CN111309649B (en) | Data transmission and task processing method, device and equipment | |
US10140032B1 (en) | Multi-tier storage system with dynamic power management utilizing configurable data mover modules | |
CN108255598A (en) | The virtual management platform resource distribution system and method for performance guarantee | |
AU2021269201B2 (en) | Utilizing coherently attached interfaces in a network stack framework | |
US20210117333A1 (en) | Providing direct data access between accelerators and storage in a computing environment, wherein the direct data access is independent of host cpu and the host cpu transfers object map identifying object of the data | |
CN104219279A (en) | Modular architecture for extreme-scale distributed processing applications | |
CN105487929B (en) | A kind of method of camera lens shared data management during Cluster Rendering | |
CN109964211A (en) | The technology for virtualizing network equipment queue and memory management for half | |
CN107967165B (en) | Virtual machine offline migration method based on LVM | |
CN106201328B (en) | A kind of method, apparatus and server of the disk space managing memory node | |
US11853807B1 (en) | Cluster scaling based on task state information | |
WO2023151216A1 (en) | Graph data processing method and chip | |
Cohen et al. | Applying Amdahl's Other Law to the data center | |
US11886911B2 (en) | End-to-end quality of service mechanism for storage system using prioritized thread queues | |
Lim et al. | Design of cache backend using remote memory for network file system | |
US20210266361A1 (en) | Nvme-of queue management in host clusters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |