WO2014137008A1 - 그래픽 자원 공유 시스템 및 방법 - Google Patents

그래픽 자원 공유 시스템 및 방법 Download PDF

Info

Publication number
WO2014137008A1
WO2014137008A1 PCT/KR2013/001861 KR2013001861W WO2014137008A1 WO 2014137008 A1 WO2014137008 A1 WO 2014137008A1 KR 2013001861 W KR2013001861 W KR 2013001861W WO 2014137008 A1 WO2014137008 A1 WO 2014137008A1
Authority
WO
WIPO (PCT)
Prior art keywords
graphic
graphic resource
rendering processing
resource
rendering
Prior art date
Application number
PCT/KR2013/001861
Other languages
English (en)
French (fr)
Inventor
김유석
황훈주
김선래
최현준
Original Assignee
팬터로그 주식회사
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 팬터로그 주식회사 filed Critical 팬터로그 주식회사
Publication of WO2014137008A1 publication Critical patent/WO2014137008A1/ko

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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

Definitions

  • the present invention relates to a resource sharing system for processing graphic resource sharing between a plurality of rendering processing apparatuses and a sharing method thereof.
  • a central processing unit (CPU) on an operating system (OS) is responsible for copying data between input / output (I / O) devices and memory.
  • OS operating system
  • I / O input / output
  • the number of tasks that can be run on the CPU is limited, whereas the CPU cannot process other tasks during data copying, which causes a great waste when performing tasks of an I / O device having a very slow data processing rate. Therefore, in order to maintain the ideal load of the CPU, it is necessary to adjust the tasks that require a lot of general I / O processing and the tasks that need to be performed by the CPU.
  • DMA Direct Memory Access
  • RDMA remote direct memory access
  • Korean Patent No. 946013 name of the invention: a hardware system for processing an RDMA completion process and a method for processing an RDMA completion process
  • a hardware system for processing an RDMA completion process and a method for processing an RDMA completion process includes a RequestOut channel and a ResponseOut channel, a descriptor list for each channel, An update mechanism for updating the message length field of the message descriptor with the sequence number of the last byte of the message each time a channel swap occurs between the RequestOut channel and the ResponseOut channel; An acknowledgment completion system for determining whether the message should be completed by comparing the sequence number of a next to complete message with a last acknowledged sequence number, and performing a completion of a read request.
  • the hardware system is disclosed.
  • the present invention is to solve the above-mentioned problems of the prior art, and to provide a graphic resource sharing system and method capable of integrated management of resources between a plurality of rendering processing systems that are physically separated.
  • a device for managing sharing of graphic resources between a plurality of rendering processing apparatuses wherein the at least one rendering processing apparatus is configured to perform graphics resource rendering on the graphic data.
  • a shared resource register for registering information;
  • a resource request receiving unit receiving a graphic resource request from the rendering processing device;
  • a resource search unit for searching for graphic resource information corresponding to the graphic resource request among the registered graphic resource information, and transmitting a search result according to the search to a rendering device that has transmitted the graphic resource request.
  • the graphic resource information includes a rendering processing apparatus in which a graphic resource according to the graphic resource request is stored and identification information of the graphic resource, and the rendering processing The device obtains a graphic resource according to the graphic resource information from another rendering device according to a remote direct memory access method.
  • the method for managing graphic resource sharing between a plurality of rendering processing apparatuses through a graphic resource sharing managing apparatus includes: (a) receiving a graphic resource request from at least one rendering processing apparatus; (b) searching for graphic resource information according to the graphic resource request among previously registered graphic resource information; And (c) transmitting a search result including graphic resource information or unregistered information corresponding to the graphic resource request to the rendering processing apparatus that has transmitted the graphic resource request according to the search, wherein the graphic resource information is And a rendering processing apparatus storing the graphic resource according to the graphic resource request and identification information of the graphic resource, wherein the rendering processing apparatus is configured to transmit the graphic resource information from another rendering apparatus according to a remote direct memory access method.
  • a rendering processing device sharing a graphics resource with another rendering processing device connected via a network the graphics in accordance with a remote direct memory access (Remote Direct Memory Access) protocol with the other rendering processing device
  • a network interface controller for transmitting and receiving resources
  • a graphics processing unit for rendering the graphic data by obtaining a graphic resource from another rendering processing apparatus or generating a new graphic resource when a rendering processing request for graphic data is generated
  • a graphic memory for storing the generated graphic resource and the rendered graphic data, wherein the graphic processing unit is configured to send a graphic resource to a graphic resource sharing management apparatus connected through the network when the rendering processing request is generated.
  • Send a request receive graphic resource information corresponding to the graphic resource request or unregistered information about the graphic resource from the graphic resource sharing management apparatus, and when the graphic resource information is received, the graphic through the network interface controller Acquire the graphic resource corresponding to the rendering processing request from another rendering processing device according to resource information, and generate a graphic resource newly when the unregistered information is received, wherein the graphic resource information is the rendering in which the graphic resource is stored. wife And a device and identification information of the graphic resources.
  • FIG. 1 is a block diagram showing the configuration of a graphic resource sharing system to which an embodiment of the present invention is applied.
  • FIG. 2 is a block diagram illustrating a graphic resource sharing method between rendering processing apparatuses according to an embodiment of the present invention.
  • FIG. 3 is a block diagram illustrating a configuration of a graphic resource sharing management apparatus according to an embodiment of the present invention.
  • FIG. 4 is a data flowchart illustrating a process of performing a resource sharing process in a graphic resource sharing system according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a graphic resource sharing method according to an embodiment of the present invention.
  • FIG. 1 is a block diagram showing the configuration of a graphic resource sharing system to which an embodiment of the present invention is applied.
  • the graphic resource sharing system 10 includes a plurality of rendering processing apparatuses 100 and a graphic resource sharing management apparatus 200.
  • FIG. 1 illustrates that the rendering processing apparatus 100 and the graphic resource sharing management apparatus 200 are servers connected through a network in an embodiment of the present invention.
  • the rendering processing apparatus 100 may provide the rendered graphic data to a device or a terminal connected through an IP network.
  • FIG. 1 shows that N rendering processing apparatuses 100-1, 100-2,..., 100-n are included in the graphic resource sharing system 10.
  • the plurality of rendering processing apparatuses 100 and the graphic resource sharing management apparatus 200 may be connected to each other through a system area network (SAN).
  • SAN system area network
  • the system area network unlike the existing system architecture (System Architecture), through the network-based system architecture (Network-Based System Architecture) through the components of all systems (for example, CPU, MEM, DISK)
  • SAN system area network
  • System Architecture System Architecture
  • Network-Based System Architecture Network-Based System Architecture
  • the system area network may expand in stages of the system bandwidth and provide data integrity and low-cost fault-tolerance.
  • the rendering processing apparatuses 100 generate a graphic resource for rendering the graphic data, and generate the graphic resource through a remote direct memory access (RDMA) scheme. It is provided to the other rendering processing apparatus 100.
  • RDMA remote direct memory access
  • FIG. 2 is a block diagram illustrating a graphic resource sharing method between rendering processing apparatuses according to an embodiment of the present invention.
  • FIG. 2 the configurations of the first rendering processing apparatus 100-1 and the second rendering processing apparatus 100-2 of the plurality of rendering processing apparatuses 100 are illustrated.
  • the rendering processing apparatus 100 includes the graphics memories 111 and 121 and the graphics processing unit 112, in addition to the basic configuration (for example, the central processing unit and the system memory) constituting the system. And 122) and network interface controllers 113 and 123.
  • the graphics memories 111 and 121 store graphics resources generated by the graphics processing units (GPUs) 112 and 122 and graphics data processed by rendering.
  • GPUs graphics processing units
  • the graphics memories 111 and 121 maintain or delete the graphics resources previously stored and the rendered graphics data under the control of the graphics processing units 112 and 122, and the graphics requested by the graphics processing units 112 and 122 are processed. Detect and provide resources.
  • the graphics processing units (GPUs) 112 and 122 obtain a graphic resource from another rendering processing apparatus 100 or generate a new graphic resource.
  • the graphic processing units 112 and 122 render the graphic data by using the acquired or generated graphic resource.
  • rendering refers to the process of creating an image from a model (or a scene file that is a collection of them).
  • a scene file includes objects of exactly defined language or data structure. Can be. Such an object may include an array, a viewpoint, texture mapping, lighting, and shading information of a figure representing a virtual scene (scene).
  • the data contained in the scene file is rendered, resulting in digital images, raster graphics image files, and so on.
  • the graphic processing units 112 and 122 transmit a graphic resource request to the graphic resource sharing management apparatus 200 connected through the network SAN in order to obtain graphic resources from the other rendering processing apparatus 100, and the graphic Obtain graphic resource information in response to the resource request.
  • the graphic resource information includes identification information of the rendering processing apparatus in which the graphic resource according to the graphic resource request is stored and identification information of the graphic resource.
  • the graphic processing units 112 and 122 request and receive the graphic resource from the other rendering processing apparatus 100 in which the graphic resource is stored, based on the obtained graphic resource information.
  • the graphic processing unit 112 and 122 when the graphic processing unit 112 and 122 receives unregistered information on the graphic resource information according to the graphic resource request from the graphic resource sharing management apparatus 200, the graphic processing unit 112 and 122 newly generates a graphic resource.
  • the graphic processing units 112 and 122 register the graphic resource information for the newly generated graphic resource in the graphic resource sharing management apparatus 200.
  • the graphic resource is a resource for rendering 3D data, and includes texture data, vertex data, and index data.
  • the graphic processing units 112 and 122 receive a delete command or a maintenance command for the newly generated graphic resource from the graphic resource sharing management apparatus 200, and according to the delete command or the maintenance command, the graphic memory 111. Manages the graphic resources stored in the server.
  • the graphics processing units 112 and 122 drive a rendering application that generates a rendering process request and a rendering daemon that performs a rendering process according to the rendering process request.
  • a rendering application and a rendering method through the rendering daemon will be described in detail with reference to FIG. 4.
  • a network interface controller (NIC) 113. 123 processes transmission and reception of graphic resources with another rendering processing apparatus 100 according to a remote direct memory access (RDMA) protocol.
  • RDMA remote direct memory access
  • the second rendering processing apparatus 100-2 requests a graphics resource from the first rendering processing apparatus 100-1.
  • the second rendering processing apparatus 100-2 is in a state of obtaining graphic resource information from the graphic resource sharing management apparatus 200.
  • the configuration of the first rendering processing apparatus 100-1 is referred to as a first graphics memory 111, a first graphics processing unit 112, and a first network interface controller 113
  • the second The configuration of the rendering processing apparatus 100-2 is referred to as a second graphics memory 121, a second graphics processing unit 122, and a second network interface controller 123.
  • the second graphic processing unit 122 of the second rendering processing apparatus 100-2 includes graphics resource information to the first rendering processing apparatus 100-1 through the second network interface controller 123. Send a resource request.
  • the first graphic processing unit 112 of the first rendering processing apparatus 100-1 receives the graphic resource request through the first network interface controller 113 and checks the graphic resource information included in the graphic resource request. To detect the graphic resource previously stored in the first graphic memory 111. The first graphic processing unit 112 transmits the detected graphic resource to the second rendering processing apparatus 100-2 through the first network interface controller 113.
  • the second graphic processing unit 122 of the second rendering processing apparatus 100-2 performs a rendering process using the graphic resource received through the second network interface controller 123.
  • the rendering processing apparatuses access the graphics processing unit via the central processing unit and the system memory, respectively. It can significantly improve the speed of data processing / delivery.
  • FIG. 3 is a block diagram illustrating a configuration of a graphic resource sharing management apparatus according to an embodiment of the present invention.
  • the graphic resource sharing management apparatus 200 may include a shared job register 210, a resource request receiver 220, a resource search unit 230, a shared resource register 240, and a shared job terminator ( 250 and a shared resource manager 260.
  • the shared job registration unit 210 registers a resource sharing job for the corresponding rendering processing device 100 according to the graphic resource request received from any one of the rendering processing devices 100.
  • the resource sharing task refers to a series of tasks including a processing of searching for graphic resource information according to a graphic resource request from the rendering processing apparatus 100 and a process of returning a search result according to the searching process.
  • the resource request receiver 220 receives a graphic resource request from any one of the rendering processing apparatuses 100 and transmits the graphic resource request to the shared task registerer 210 and the resource searcher 230.
  • the resource search unit 230 When the resource search unit 230 receives the graphic resource request from the resource request receiver 220, the resource search unit 230 searches for graphic resource information corresponding to the graphic resource request among the graphic resource information registered in the shared resource register 240. The resource search unit 230 generates a search result according to the search and transmits the graphic resource request to the rendering device that has transmitted the graphic resource request.
  • the search result includes graphic resource information or unregistered information corresponding to the graphic resource request.
  • the shared resource registration unit 240 registers graphic resource information on graphic data rendered by the at least one rendering processing apparatus 100.
  • the shared resource registration unit 240 information about the newly generated graphic resource when the rendering processing apparatus 100 fails to obtain information about the shared graphic resource (that is, the requested graphic resource is not registered). And registers the received graphic resource information as shared graphic resource information.
  • the sharing task terminating unit 250 receives the rendering processing completion according to the search result from the rendering processing apparatus 100, and performs a resource sharing task for the corresponding rendering processing apparatus 100 registered in the sharing task registering unit 210. Terminate.
  • the shared resource management unit 260 deletes or maintains the graphic resource to be newly generated by the rendering processing apparatus 100. Decide The shared resource manager 260 transmits a delete or maintain command to the rendering processing apparatus 100 according to the determination. In this case, the shared resource manager 260 may delete the graphic resource corresponding to the delete command from the shared resource register 240 to increase memory management efficiency.
  • the shared resource manager 260 generates and transmits a search result including unregistered information with respect to the graphic resource request of the rendering processing apparatus 100 by the resource searching unit 230, and immediately or later according to a preset criterion. It is possible to decide whether to delete or maintain the graphic resource.
  • the shared resource management unit 260 transmits a search result including unregistered information by the resource search unit 230, and then determines whether to receive a sharing request (ie, graphic resource request) for the corresponding graphic resource within a predetermined period. Accordingly, maintenance or deletion of the graphic resource may be determined.
  • a sharing request ie, graphic resource request
  • FIG. 4 is a data flowchart illustrating a process of performing a resource sharing process in a graphic resource sharing system according to an embodiment of the present invention.
  • a rendering application running on the graphics processing unit of the rendering processing apparatus 100 generates a rendering processing request (S401), and transmits a rendering processing request to the rendering daemon (S402).
  • the rendering daemon of the rendering processing device 100 transmits a graphic resource request based on the rendering processing request to the graphic resource sharing management device 200 (S403).
  • the rendering processing apparatus 100 and the graphic resource sharing management apparatus 200 may be connected through a SAN.
  • the graphic resource sharing management apparatus 200 that has received the graphic resource request registers a sharing job for the rendering processing apparatus 100 that has transmitted the graphic resource request (S404), and among the registered graphic resource information, The graphic resource information corresponding to the graphic resource request is retrieved (S405).
  • the graphic resource sharing management apparatus 200 transmits a search result including the graphic resource information or the unregistered information corresponding to the graphic resource request to the rendering processing apparatus 100 as the search result (S406).
  • the rendering daemon of the rendering processing apparatus 100 determines whether graphic resource information is included in the received search result (S407).
  • the rendering daemon when the rendering daemon receives the graphic resource information, the rendering daemon requests / acquires the graphic resource from another rendering processing apparatus that stores the graphic resource based on the graphic resource information (S408).
  • the rendering daemon when the rendering daemon does not receive the graphic resource information (that is, when unregistered information is received), the rendering daemon generates a new graphic resource for rendering processing (S409).
  • the rendering daemon After the rendering daemon generates the graphic resource through the step S409, the rendering daemon transmits the graphic resource generation result to the graphic resource sharing management device 200 (S410), and transmits the shared graphic resource to the graphic resource sharing management device 200. Register at (S411).
  • the rendering daemon performs a rendering process using the graphic resources obtained or generated through the above step (S408) (S409) (S412).
  • the rendering daemon matches graphic data generated according to the rendering process with the acquired or generated graphic resources and stores them in the graphic memory (S413).
  • the rendering daemon transmits the rendering processing result to the rendering application (S414), and the rendering application completes the processing of the corresponding rendering processing request (S415).
  • the rendering daemon transmits the rendering processing completion (S416) received from the rendering application to the graphic resource sharing management device 200 (S417).
  • the graphic resource sharing management apparatus 200 terminates the sharing operation which has been registered in advance for the rendering processing apparatus in which the rendering processing is completed (S418).
  • the graphic resource sharing management apparatus 200 determines the deletion or maintenance of the newly generated graphic resources after the step (S406), and sends a deletion or maintenance command for the graphic resources to the rendering processing device 100. Can transmit Then, the rendering daemon of the rendering processing apparatus processes the delete or maintain command for the graphic resource. In addition, the rendering daemon may complete the operation for the rendering processing request after processing the step (S416) or the deletion (or maintenance command).
  • FIG. 5 is a flowchart illustrating a graphic resource sharing method according to an embodiment of the present invention.
  • a graphic resource request is received from at least one rendering processing apparatus 100 (S510).
  • the graphic resource information corresponding to the graphic resource request is searched among the registered graphic resource information (S520).
  • the pre-registered graphic resource information is graphic resource information on graphic data rendered by at least one rendering processing apparatus, and includes a rendering processing apparatus storing graphic resources according to a graphic resource request and identification information of the graphic resource. .
  • a search result including graphic resource information or unregistered information corresponding to the graphic resource request is generated according to the search (S530), and the generated search result is transmitted to the rendering processing apparatus 100 (S540).
  • the rendering processing apparatus 100 receiving the search result acquires a graphic resource according to the graphic resource information from another rendering apparatus according to a remote direct memory access method, or newly based on unregistered information. Creates a graphic resource and performs rendering process.
  • the rendering processing apparatus may determine whether to delete or maintain the graphic resource to be newly generated, and may transmit a delete command or a maintenance command according to the determination to the rendering processing apparatus. .
  • Each device configured in the graphic resource sharing system 10 may be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer.
  • Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer readable media may include both computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

복수의 랜더링 처리 장치 간 그래픽 자원 공유를 관리할 시에, 적어도 하나의 랜더링 처리 장치로부터 그래픽 자원 요청을 수신하고, 기등록된 그래픽 자원 정보 중 그래픽 자원 요청에 따른 그래픽 자원 정보를 검색하고, 검색에 따라 그래픽 자원 요청에 대응하는 그래픽 자원 정보 또는 미등록 정보를 포함하는 검색 결과를 랜더링 처리 장치로 전송하되, 그래픽 자원 정보는 그래픽 자원 요청에 따른 그래픽 자원이 저장된 랜더링 처리 장치 및 그래픽 자원의 식별 정보를 포함하고, 랜더링 처리 장치는 원격 직접 메모리 접속 방식에 따라 다른 랜더링 장치로부터 그래픽 자원 정보에 따른 그래픽 자원을 획득한다.

Description

그래픽 자원 공유 시스템 및 방법
본 발명은 복수의 랜더링 처리 장치 간의 그래픽 자원 공유를 처리하는 자원 공유 시스템 및 그 공유 방법에 관한 것이다.
일반적으로, 운영 시스템(OS) 상의 중앙 처리 유닛(CPU)은 입출력(I/O) 장치와 메모리 사이에서 데이터 복사를 담당한다. 그런데, CPU 상에서 동작할수 있는 작업의 숫자는 한정되어 있는데 반해, CPU는 데이터 복사 중에 다른 작업을 처리할 수 없어 데이터 처리 속도가 매우 느린 I/O 장치의 작업을 수행할 경우 큰 낭비가 발생된다. 따라서, CPU의 이상적인 부하(load)를 유지하기 위해서는, 일반적인 I/O처리가 많이 요구되는 작업과 CPU에 의해서 진행되어야하는 작업들을 조절해야 한다.
이러한 문제점을 해결하기 위해, 종래에는 I/O장치와 주 메모리 사이의 전송을 책임질 별도의 컨트롤러를 구동하는 직접 메모리 접속(Direct Memory Access, DMA) 방식이 제안되었다. 이와 같은 DMA 방식에 따르면, CPU 대신 DMA 컨트롤러가 실제로 작업을 처리하여, CPU를 다른 작업에 할당할 수 있게 된다.
한편, 네트워크 상에서는 다수의 OS들이 각각 수많은 작업을 처리하고 있어, 하나의 시스템에서보다 월등히 많은 데이터 복사가 발생된다. 이에 따라, DMA의 개념을 네트워크로 확장한 원격 직접 메모리 액세스(RDMA, Remote Direct Memory Access) 기법이 제안되었다.
근래에는, 네트워크 상의 다수의 처리 장치들에 분산되어 있는 자원을 공유시키되, 각 처리 장치들이 공유된 자원을 실시간으로 획득 및 처리할 수 있도록 자원 처리 속도를 월등히 증가시킬 수 있는 자원 공유 관리 시스템에 대한 요구가 커지고 있다.
이와 관련하여, 대한민국 등록특허 제 946013호(발명의 명칭: RDMA 완료 프로세스를 처리하는 하드웨어 시스템 및 RDMA 완료 프로세스 처리 방법)는, RequestOut 채널 및 ResponseOut 채널과, 각 채널에 대한 기술자 리스트(descriptor list)와, 상기 RequestOut 채널과 상기 ResponseOut 채널 간에 채널 교환(a channel swap)이 발생할 때마다 상기 메시지 기술자의 메시지 길이 필드를 메시지의 마지막 바이트의 시퀀스 번호로 업데이트하는 업데이트 메커니즘과, RDMA 접속 콘텍스트의 값을 검사하고 다음으로 완료할 메시지(next to complete message)의 시퀀스 번호를 최종 통보된(last acknowledged) 시퀀스 번호와 비교하여 상기 메시지가 완료되어야 하는지를 판단하는 통보(Ack) 완료 시스템, 및 판독 요청의 완료를 수행하는 판독 요청 완료 시스템을 포함하는 RDMA 완료 프로세스를 처리하는 하드웨어 시스템을 개시하고 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 물리적으로 분리되어 있는 다수의 랜더링 처리 시스템 간의 자원을 통합 관리할 수 있는 그래픽 자원 공유 시스템 및 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른 복수의 랜더링 처리 장치 간 그래픽 자원 공유를 관리하는 장치는, 적어도 하나의 랜더링 처리 장치가 랜더링(rendering) 처리한 그래픽 데이터에 대한 그래픽 자원 정보를 등록하는 공유 자원 등록부; 상기 랜더링 처리 장치로부터 그래픽 자원 요청을 수신하는 자원 요청 수신부; 및 상기 등록된 그래픽 자원 정보 중 상기 그래픽 자원 요청에 대응하는 그래픽 자원 정보를 검색하고, 상기 검색에 따른 검색 결과를 상기 그래픽 자원 요청을 전송한 랜더링 장치로 전송하는 자원 검색부를 포함하되, 상기 검색 결과는 상기 그래픽 자원 요청에 대응하는 그래픽 자원 정보 또는 미등록 정보를 포함하고, 상기 그래픽 자원 정보는 상기 그래픽 자원 요청에 따른 그래픽 자원이 저장된 랜더링 처리 장치 및 상기 그래픽 자원의 식별 정보를 포함하고, 상기 랜더링 처리 장치는 원격 직접 메모리 접속(Remote Direct Memory Access) 방식에 따라 다른 랜더링 장치로부터 상기 그래픽 자원 정보에 따른 그래픽 자원을 획득한다.
그리고, 본 발명의 다른 측면에 따른 그래픽 자원 공유 관리 장치를 통한 복수의 랜더링 처리 장치 간 그래픽 자원 공유를 관리하는 방법은, (a) 적어도 하나의 랜더링 처리 장치로부터 그래픽 자원 요청을 수신하는 단계; (b) 기등록된 그래픽 자원 정보 중 상기 그래픽 자원 요청에 따른 그래픽 자원 정보를 검색하는 단계; 및 (c) 상기 검색에 따라 상기 그래픽 자원 요청에 대응하는 그래픽 자원 정보 또는 미등록 정보를 포함하는 검색 결과를 상기 그래픽 자원 요청을 전송한 랜더링 처리 장치로 전송하는 단계를 포함하되, 상기 그래픽 자원 정보는 상기 그래픽 자원 요청에 따른 그래픽 자원이 저장된 랜더링 처리 장치 및 상기 그래픽 자원의 식별 정보를 포함하고, 상기 랜더링 처리 장치는 원격 직접 메모리 접속(Remote Direct Memory Access) 방식에 따라 다른 랜더링 장치로부터 상기 그래픽 자원 정보에 따른 그래픽 자원을 획득한다.
또한, 본 발명의 또 다른 측면에 따른 네트워크를 통해 접속된 다른 랜더링 처리 장치와 그래픽 자원을 공유하는 랜더링 처리 장치는, 상기 다른 랜더링 처리 장치와 원격 직접 메모리 접속(Remote Direct Memory Access) 프로토콜에 따라 그래픽 자원을 송수신하는 네트워크 인터페이스 컨트롤러; 그래픽 데이터에 대한 랜더링(rendering) 처리 요청이 발생되면, 다른 랜더링 처리 장치로부터 그래픽 자원을 획득하거나 신규로 그래픽 자원을 생성하여 상기 그래픽 데이터를 랜더링 처리하는 그래픽 처리 유닛; 및 상기 생성된 그래픽 자원 및 상기 랜더링 처리된 그래픽 데이터를 저장하는 그래픽 메모리를 포함하고, 상기 그래픽 처리 유닛은, 상기 랜더링 처리 요청이 발생되면, 상기 네트워크를 통해 접속된 그래픽 자원 공유 관리 장치로 그래픽 자원 요청을 전송하고, 상기 그래픽 자원 공유 관리 장치로부터 상기 그래픽 자원 요청에 대응된 그래픽 자원 정보 또는 해당 그래픽 자원에 대한 미등록 정보를 수신하며, 상기 그래픽 자원 정보를 수신한 경우 상기 네트워크 인터페이스 컨트롤러를 통해 상기 그래픽 자원 정보에 따른 다른 랜더링 처리 장치로부터 상기 랜더링 처리 요청에 대응된 상기 그래픽 자원을 획득하고, 상기 미등록 정보를 수신한 경우 신규로 그래픽 자원을 생성하되, 상기 그래픽 자원 정보는 상기 해당 그래픽 자원이 저장된 랜더링 처리 장치 및 상기 그래픽 자원의 식별 정보를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 물리적으로 분리된 랜더링 처리 장치 간에도 고속의 실시간 그래픽 자원 공유가 가능하여, 각 랜더링 처리 장치가 자체 시스템 내의 그래픽 자원을 이용하여 그래픽 데이터를 랜더링 처리하는 것과 같은 효과를 얻을 수 있다.
도 1은 본 발명의 일 실시예가 적용되는 그래픽 자원 공유 시스템의 구성을 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 랜더링 처리 장치 간의 그래픽 자원 공유 방법을 설명하기 위한 구성도이다.
도 3은 본 발명의 일 실시예에 따른 그래픽 자원 공유 관리 장치의 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 그래픽 자원 공유 시스템에서 자원 공유 처리를 수행하는 과정을 설명하기 위한 데이터 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 그래픽 자원 공유 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예가 적용되는 그래픽 자원 공유 시스템의 구성을 나타낸 구성도이다.
도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 그래픽 자원 공유 시스템(10)은 복수의 랜더링 처리 장치(100) 및 그래픽 자원 공유 관리 장치(200)를 포함하여 구성된다.
도 1에서는 본 발명의 일 실시예에서 랜더링 처리 장치(100) 및 그래픽 자원 공유 관리 장치(200)가 네트워크를 통해 접속된 서버들인 것을 예로서 나타내었다. 이때, 랜더링 처리 장치(100)는 랜더링 처리한 그래픽 데이터를 IP 네트워크 등을 통해 접속한 디바이스 또는 단말로 제공할 수 있다. 또한, 도 1에서는 그래픽 자원 공유 시스템(10)에 N개의 랜더링 처리 장치(100-1, 100-2, ……100-n)가 포함된 것을 나타내었다.
또한, 복수의 랜더링 처리 장치(100)들과 그래픽 자원 공유 관리 장치(200)는 서로 시스템 에어리어 네트워크(System Area Network, SAN)를 통해 접속될 수 있다.
참고로, 시스템 에어리어 네트워크(SAN)는, 기존의 시스템 아키텍처(System Architecture)와는 달리, 네트워크 기반 시스템 아키텍처(Network-Based System Architecture)를 통해 모든 시스템의 구성 요소(예를 들어, CPU, MEM, DISK, I/O)간에 점대점(Point-to-Point) 방식으로 고속의 대용량 데이터 전송을 제공하는 네트워크이다. 이와 같은, 시스템 에어리어 네트워크는 시스템 대역폭(System Bandwidth)의 단계적 확장이 가능하고, 데이터 무결성(Data Integrity)과 저비용(low-cost)의 내고장성(Fault-Tolerance)을 제공할 수 있다.
또한, 본 발명의 일 실시예에 따른 랜더링 처리 장치(100)들은 그래픽 데이터를 랜더링 처리하기 위해 그래픽 자원을 생성하고, 생성된 그래픽 자원을 원격 직접 메모리 접속(Remote Direct Memory Access, RDMA) 방식을 통해 다른 랜더링 처리 장치(100)로 제공한다.
이에 따라, 본 발명의 일 실시예에 따른 그래픽 자원 공유 시스템(10)에서는 물리적으로 분리된 랜더링 처리 장치 간에도 고속의 실시간 그래픽 자원 공유가 가능하여, 각 랜더링 처리 장치가 자체 시스템 내의 그래픽 자원을 이용하여 그래픽 데이터를 랜더링 처리하는 것과 같은 효과를 얻을 수 있다.
이하, 도 2 내지 도 5를 참조하여 본 발명의 일 실시예에 따른 그래픽 자원 공유 시스템(10)의 구성 및 그래픽 자원 공유 방법에 대해서 상세히 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 랜더링 처리 장치 간의 그래픽 자원 공유 방법을 설명하기 위한 구성도이다.
도 2에서는 복수의 랜더링 처리 장치(100) 중 제 1 랜더링 처리 장치(100-1)와 제 2 랜더링 처리 장치(100-2)의 구성을 나타내었다.
도 2에 도시한 바와 같이, 랜더링 처리 장치(100)는 시스템을 구성하는 기본 구성(예를 들어, 중앙 처리 유닛 및 시스템 메모리 등)과 더불어, 그래픽 메모리(111, 121), 그래픽 처리 유닛(112, 122) 및 네트워크 인터페이스 컨트롤러(113, 123)를 포함하여 구성된다.
그래픽 메모리(GPU Memory)(111, 121)는 그래픽 처리 유닛(GPU)(112, 122)이 생성한 그래픽 자원 및 랜더링 처리한 그래픽 데이터를 저장한다.
그래픽 메모리(111, 121)는 그래픽 처리 유닛(112, 122)의 제어에 따라 기저장되어 있던 그래픽 자원 및 랜더링 처리된 그래픽 데이터를 유지 또는 삭제 처리하며, 그래픽 처리 유닛(112, 122)이 요청한 그래픽 자원을 검출하여 제공한다.
그래픽 처리 유닛(GPU)(112, 122)은 그래픽 데이터에 대한 랜더링(rendering) 처리 요청이 발생되면, 다른 랜더링 처리 장치(100)로부터 그래픽 자원을 획득하거나, 신규로 그래픽 자원을 생성한다. 그리고, 그래픽 처리 유닛(112, 122)은 상기 획득하거나 생성된 그래픽 자원을 이용하여 그래픽 데이터를 랜더링 처리한다.
참고로, 랜더링(Rendering)은 모델(또는 이들을 모아놓은 장면인 씬(scene) 파일)로부터 영상을 만들어내는 과정을 지칭하는 것으로서, 하나의 씬 파일에는 정확히 정의된 언어나 자료 구조로 이루어진 개체들이 포함될 수 있다. 이와 같은 개체는, 가상의 장면(씬)을 표현하는 도형의 배열, 시점, 텍스처 매핑, 조명, 셰이딩 정보가 포함될 수 있다. 또한, 씬 파일에 포함된 자료들은 랜더링 처리되어, 결과물로서 디지털 이미지, 래스터 그래픽스 이미지 파일 등을 만들어낸다.
그래픽 처리 유닛(112, 122)은 다른 랜더링 처리 장치(100)로부터 그래픽 자원을 획득하기 위하여, 네트워크(SAN)를 통해 접속된 그래픽 자원 공유 관리 장치(200)로 그래픽 자원 요청을 전송하고, 상기 그래픽 자원 요청에 대응하여 그래픽 자원 정보를 획득한다. 여기서, 그래픽 자원 정보는 그래픽 자원 요청에 따른 그래픽 자원이 저장된 랜더링 처리 장치의 식별 정보 및 해당 그래픽 자원의 식별 정보를 포함한다.
이때, 그래픽 처리 유닛(112, 122)은 획득한 그래픽 자원 정보에 기초하여, 해당 그래픽 자원이 저장된 다른 랜더링 처리 장치(100)로 그래픽 자원을 요청하여 전달받는다.
반면, 그래픽 처리 유닛(112, 122)은 그래픽 자원 공유 관리 장치(200)로부터 상기 그래픽 자원 요청에 따른 그래픽 자원 정보에 대한 미등록 정보를 수신한 경우, 신규로 그래픽 자원을 생성한다. 그리고, 그래픽 처리 유닛(112, 122)은 신규로 생성된 그래픽 자원에 대한 그래픽 자원 정보를 그래픽 자원 공유 관리 장치(200)에 등록한다.
참고로, 그래픽 자원은 3D 데이터를 랜더링 처리하기 위한 자원으로서, 텍스처 데이터(texture data), 버텍스 데이터(vertex data) 및 인덱스 데이터(index data)를 포함한다.
또한, 그래픽 처리 유닛(112, 122)은 그래픽 자원 공유 관리 장치(200)로부터 상기 신규로 생성된 그래픽 자원에 대한 삭제 명령 또는 유지 명령을 수신하고, 상기 삭제 명령 또는 유지 명령에 따라 그래픽 메모리(111, 121)에 저장된 그래픽 자원을 관리한다.
한편, 그래픽 처리 유닛(112, 122)은, 도 2에 도시한 바와 같이, 랜더링 처리 요청을 발생시키는 랜더링 애플리케이션 및 상기 랜더링 처리 요청에 따른 랜더링 처리를 수행하는 랜더링 데몬을 구동시킨다. 이와 같은, 랜더링 애플리케이션 및 랜더링 데몬을 통한 그래픽 랜더링 처리 방식에 대해서는 하기 도 4를 통해 상세히 설명하도록 한다.
네트워크 인터페이스 컨트롤러(Network Interface Controller, NIC)(113. 123)는 원격 직접 메모리 접속(RDMA) 프로토콜에 따라, 다른 랜더링 처리 장치(100)와의 그래픽 자원의 송수신을 처리한다.
이하, 제 2 랜더링 처리 장치(100-2)가 제 1 랜더링 처리 장치(100-1)로 그래픽 자원을 요청할 경우를 예로 들어, RDMA 방식에 따른 랜더링 처리 장치 간 그래픽 자원 공유 방법에 대해서 설명하도록 한다. 이때, 제 2 랜더링 처리 장치(100-2)는 그래픽 자원 공유 관리 장치(200)로부터 그래픽 자원 정보를 획득한 상태이다.
이하에서는, 설명의 편의상 제 1 랜더링 처리 장치(100-1)의 구성을 제 1 그래픽 메모리(111), 제 1 그래픽 처리 유닛(112) 및 제 1 네트워크 인터페이스 컨트롤러(113)라고 지칭하고, 제 2 랜더링 처리 장치(100-2)의 구성을 제 2 그래픽 메모리(121), 제 2 그래픽 처리 유닛(122) 및 제 2 네트워크 인터페이스 컨트롤러(123)라고 지칭하도록 한다.
먼저, 제 2 랜더링 처리 장치(100-2)의 제 2그래픽 처리 유닛(122)이 제 2 네트워크 인터페이스 컨트롤러(123)를 통해 제 1 랜더링 처리 장치(100-1)로 그래픽 자원 정보를 포함하는 그래픽 자원 요청을 전송한다.
그러면, 제 1 랜더링 처리 장치(100-1)의 제 1 그래픽 처리 유닛(112)은 제 1 네트워크 인터페이스 컨트롤러(113)를 통해 그래픽 자원 요청을 수신하고, 그래픽 자원 요청에 포함된 그래픽 자원 정보를 확인하여 제 1 그래픽 메모리(111)에 기저장되어 있던 해당 그래픽 자원을 검출한다. 그리고, 제 1 그래픽 처리 유닛(112)은 검출된 그래픽 자원을 제 1 네트워크 인터페이스 컨트롤러(113)를 통해 제 2 랜더링 처리 장치(100-2)로 전송한다.
이에 따라, 제 2 랜더링 처리 장치(100-2)의 제 2 그래픽 처리 유닛(122)은 제 2 네트워크 인터페이스 컨트롤러(123)를 통해 수신한 그래픽 자원을 이용하여 랜더링 처리를 수행한다.
이처럼, 물리적으로 분리된 랜더링 처리 장치 간에 RDMA 방식을 통해 그래픽 자원을 공유(예를 들어, 복사(copy))함으로써, 기존에 랜더링 처리 장치들이 각각 중앙 처리 유닛 및 시스템 메모리를 거쳐 그래픽 처리 유닛에 접근하는 방식보다 데이터 처리/전달 속도를 크게 향상 시킬 수 있다.
이하, 도 3을 참조하여 본 발명의 일 실시예에 다른 그래픽 자원 공유 관리 장치(200)의 구성 및 동작에 대해서 상세히 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 그래픽 자원 공유 관리 장치의 구성을 나타낸 블록도이다.
도 3에 도시한 바와 같이, 그래픽 자원 공유 관리 장치(200)는 공유 작업 등록부(210), 자원 요청 수신부(220), 자원 검색부(230), 공유 자원 등록부(240), 공유 작업 종료부(250) 및 공유 자원 관리부(260)을 포함한다.
공유 작업 등록부(210)는 어느 하나의 랜더링 처리 장치(100)로부터 수신된 그래픽 자원 요청에 따라 해당 랜더링 처리 장치(100)에 대한 자원 공유 작업을 등록한다.
참고로, 자원 공유 작업은 랜더링 처리 장치(100)로부터의 그래픽 자원 요청에 따른 그래픽 자원 정보의 검색 처리 및 검색 처리에 따른 검색 결과의 반환 처리를 포함하는 일련의 작업을 의미한다.
자원 요청 수신부(220)는 어느 하나의 랜더링 처리 장치(100)로부터 그래픽 자원 요청을 수신하여, 공유 작업 등록부(210) 및 자원 검색부(230)로 전달한다.
자원 검색부(230)는 자원 요청 수신부(220)로부터 그래픽 자원 요청을 전달받으면, 공유 자원 등록부(240)에 기등록된 그래픽 자원 정보 중 상기 그래픽 자원 요청에 대응하는 그래픽 자원 정보를 검색한다. 그리고, 자원 검색부(230)는 상기 검색에 따른 검색 결과를 생성하여, 그래픽 자원 요청을 전송한 랜더링 장치로 전송한다. 이때, 검색 결과는 상기 그래픽 자원 요청에 대응하는 그래픽 자원 정보 또는 미등록 정보를 포함한다.
공유 자원 등록부(240)는 적어도 하나의 랜더링 처리 장치(100)가 랜더링 처리한 그래픽 데이터에 대한 그래픽 자원 정보를 등록한다.
구체적으로, 공유 자원 등록부(240)는 랜더링 처리 장치(100)가 공유된 그래픽 자원에 대한 정보를 획득하지 못한 경우(즉, 요청한 그래픽 자원이 미등록된 경우)에 신규로 생성한 그래픽 자원에 대한 정보를 수신하고, 수신된 그래픽 자원의 정보를 공유 그래픽 자원 정보로서 등록한다.
공유 작업 종료부(250)는 랜더링 처리 장치(100)로부터 상기 검색 결과에 따른 랜더링 처리 완료를 수신하고, 공유 작업 등록부(210)에 등록되어 있던 해당 랜더링 처리 장치(100)에 대한 자원 공유 작업을 종료 처리한다.
공유 자원 관리부(260)는 랜더링 처리 장치(100)의 그래픽 자원 요청에 대응하는 그래픽 자원이 미동록되어 있는 경우, 해당 랜더링 처리 장치(100)가 신규로 생성할 그래픽 자원에 대한 삭제 또는 유지 여부를 결정한다. 그리고, 공유 자원 관리부(260)는 상기 결정에 따라 삭제 또는 유지 명령을 해당 랜더링 처리 장치(100)로 전송한다. 이때, 공유 자원 관리부(260)는 삭제 명령에 대응된 그래픽 자원을 공유 자원 등록부(240)로부터 삭제 처리하여, 메모리 관리 효율을 높일 수 있다.
한편, 공유 자원 관리부(260)는 자원 검색부(230)가 랜더링 처리 장치(100)의 그래픽 자원 요청에 대해 미등록 정보를 포함하는 검색 결과를 생성 및 전송한 후, 기설정된 기준에 따라 즉시 또는 추후에 해당 그래픽 자원에 대한 삭제 또는 유지 여부를 결정할 수 있다.
예를 들어, 공유 자원 관리부(260)는 자원 검색부(230)가 미등록 정보를 포함한 검색 결과를 전송한 후, 일정 기간 내에 해당 그래픽 자원에 대한 공유 요청(즉, 그래픽 자원 요청)의 수신 여부에 따라, 해당 그래픽 자원에 대한 유지 또는 삭제를 결정할 수 있다.
이하, 도 4를 참조하여 본 발명의 일 실시예에 따른 그래픽 자원 공유 시스템(10)을 통한 그래픽 자원 공유 처리 방식에 대해서 상세히 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 그래픽 자원 공유 시스템에서 자원 공유 처리를 수행하는 과정을 설명하기 위한 데이터 흐름도이다.
먼저, 랜더링 처리 장치(100)의 그래픽 처리 유닛 상에서 구동되는 랜더링 애플리케이션이 랜더링 처리 요청을 발생시켜(S401), 랜더링 데몬으로 랜더링 처리 요청을 전송한다(S402).
그러면, 랜더링 처리 장치(100)의 랜더링 데몬은 랜더링 처리 요청에 기초한 그래픽 자원 요청을 그래픽 자원 공유 관리 장치(200)로 전송한다(S403).
이때, 랜더링 처리 장치(100)와 그래픽 자원 공유 관리 장치(200)는 SAN를 통해 연결될 수 있다.
그런 다음, 그래픽 자원 요청을 수신한 그래픽 자원 공유 관리 장치(200)는, 그래픽 자원 요청을 전송한 랜더링 처리 장치(100)에 대한 공유 작업을 등록하고(S404), 기등록된 그래픽 자원 정보 중 상기 그래픽 자원 요청에 대응하는 그래픽 자원 정보를 검색한다(S405).
그리고, 그래픽 자원 공유 관리 장치(200)는 상기 검색 결과로서 그래픽 자원 요청에 대응된 그래픽 자원 정보 또는 미등록 정보를 포함하는 검색 결과를 랜더링 처리 장치(100)로 전송한다(S406).
그러면, 랜더링 처리 장치(100)의 랜더링 데몬은 수신된 검색 결과에 그래픽 자원 정보가 포함되어 있는지 여부를 판단한다(S407).
이때, 랜더링 데몬은 그래픽 자원 정보를 수신한 경우, 그래픽 자원 정보에 기초하여 해당 그래픽 자원을 저장하고 있는 다른 랜더링 처리 장치로 그래픽 자원을 요청/획득한다(S408).
반면, 랜더링 데몬은 그래픽 자원 정보를 수신하지 못한 경우(즉 미등록 정보를 수신한 경우), 랜더링 처리를 위한 그래픽 자원을 신규로 생성한다(S409).
그리고 랜더링 데몬은 상기 단계 (S409)를 통해 그래픽 자원을 생성한 후, 그래픽 자원 생성 결과를 그래픽 자원 공유 관리 장치(200)로 전달하여(S410), 공유 그래픽 자원을 그래픽 자원 공유 관리 장치(200)에 등록한다(S411).
한편, 랜더링 데몬은 상기 단계 (S408) 및 (S409)를 통해서 획득 또는 생성한 그래픽 자원을 이용하여 랜더링 처리를 수행한다(S412).
그리고, 랜더링 데몬은 랜더링 처리에 따라 생성된 그래픽 데이터 및 상기 획득 또는 생성한 그래픽 자원을 매칭하여 그래픽 메모리에 저장한다(S413).
그런 후, 랜더링 데몬은 랜더링 처리 결과를 랜더링 애플리케이션으로 전송하고(S414), 랜더링 애플리케이션은 해당 랜더링 처리 요청에 대한 처리를 완료시킨다(S415).
그런 다음, 랜더링 데몬은 랜더링 애플리케이션으로부터 수신된 랜더링 처리 완료(S416)를 그래픽 자원 공유 관리 장치(200)로 전달한다(S417).
그러면, 그래픽 자원 공유 관리 장치(200)는 랜더링 처리가 완료된 랜더링 처리 장치에 대해 기등록되어 있던 공유 작업을 종료시킨다(S418).
한편, 그래픽 자원 공유 관리 장치(200)는 상기 단계 (S406) 이후에 신규로 생성된 그래픽 자원에 대한 삭제 또는 유지를 결정하고, 해당 랜더링 처리 장치(100)로 그래픽 자원에 대한 삭제 또는 유지 명령을 전송할 수 있다. 그러면, 랜더링 처리 장치의 랜더링 데몬은, 그래픽 자원에 대한 삭제 또는 유지 명령을 처리한다. 또한, 랜더링 데몬은 상기 단계 (S416) 또는 상기 삭제(또는 유지 명령)을 처리한 이후에 해당 랜더링 처리 요청에 대한 작업을 완료시킬 수 있다.
이하, 도 5를 참조하여 본 발명의 일 실시예에 따른 그래픽 자원 공유 관리 장치(200)를 통한 그래픽 자원 공유 관리 방법에 대해서 설명하도록 한다.
도 5는 본 발명의 일 실시예에 따른 그래픽 자원 공유 방법을 설명하기 위한 순서도이다.
도 5에 도시한 바와 같이, 적어도 하나의 랜더링 처리 장치(100)로부터 그래픽 자원 요청을 수신한다(S510).
그런 다음, 기등록된 그래픽 자원 정보 중 상기 그래픽 자원 요청에 대응되는 그래픽 자원 정보를 검색한다(S520).
이때, 기등록된 그래픽 자원 정보는 적어도 하나의 랜더링 처리 장치가 랜더링 처리한 그래픽 데이터에 대한 그래픽 자원 정보로서, 그래픽 자원 요청에 따른 그래픽 자원이 저장된 랜더링 처리 장치 및 상기 그래픽 자원의 식별 정보를 포함한다.
그런 후, 상기 검색에 따라 그래픽 자원 요청에 대응된 그래픽 자원 정보 또는 미등록 정보를 포함하는 검색 결과를 생성하고(S530), 생성된 검색 결과를 해당 랜더링 처리 장치(100)로 전송한다(S540).
이에 따라, 검색 결과를 수신한 랜더링 처리 장치(100)는 원격 직접 메모리 접속(Remote Direct Memory Access) 방식에 따라 다른 랜더링 장치로부터 상기 그래픽 자원 정보에 따른 그래픽 자원을 획득하거나, 미등록 정보에 따라 신규로 그래픽 자원을 생성하여 랜더링 처리를 수행한다.
한편, 상기 단계 (S540) 이후에, 해당 랜더링 처리 장치가 신규로 생성할 상기 그래픽 자원에 대한 삭제 또는 유지 여부를 결정하고, 상기 결정에 따른 삭제 명령 또는 유지 명령을 해당 랜더링 처리 장치로 전송할 수 있다.
이상에서 설명한 본 발명의 일 실시예에 따른 그래픽 자원 공유 시스템(10)에 구성된 각 장치들은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (14)

  1. 복수의 랜더링 처리 장치 간 그래픽 자원 공유를 관리하는 장치에 있어서,
    적어도 하나의 랜더링 처리 장치가 랜더링(rendering) 처리한 그래픽 데이터에 대한 그래픽 자원 정보를 등록하는 공유 자원 등록부;
    상기 랜더링 처리 장치로부터 그래픽 자원 요청을 수신하는 자원 요청 수신부; 및
    상기 등록된 그래픽 자원 정보 중 상기 그래픽 자원 요청에 대응하는 그래픽 자원 정보를 검색하고, 상기 검색에 따른 검색 결과를 상기 그래픽 자원 요청을 전송한 랜더링 장치로 전송하는 자원 검색부를 포함하되,
    상기 검색 결과는 상기 그래픽 자원 요청에 대응하는 그래픽 자원 정보 또는 미등록 정보를 포함하고,
    상기 그래픽 자원 정보는 상기 그래픽 자원 요청에 따른 그래픽 자원이 저장된 랜더링 처리 장치 및 상기 그래픽 자원의 식별 정보를 포함하고,
    상기 랜더링 처리 장치는 원격 직접 메모리 접속(Remote Direct Memory Access) 방식에 따라 다른 랜더링 장치로부터 상기 그래픽 자원 정보에 따른 그래픽 자원을 획득하는 것인 그래픽 자원 공유 관리 장치.
  2. 제 1 항에 있어서,
    상기 그래픽 자원 요청에 대응하는 그래픽 자원 정보가 미등록된 경우, 상기 그래픽 자원 요청을 전송한 랜더링 처리 장치가 신규로 생성할 상기 그래픽 자원에 대한 삭제 또는 유지 여부를 결정하고, 상기 결정에 따른 삭제 명령 또는 유지 명령을 전송하는 공유 자원 관리부를 더 포함하는 그래픽 자원 공유 관리 장치.
  3. 제 1 항에 있어서,
    상기 복수의 랜더링 처리 장치와 시스템 에어리어 네트워크(System Area Network)를 통해 접속되는 그래픽 자원 공유 관리 장치.
  4. 제 1 항에 있어서,
    상기 수신된 그래픽 자원 요청에 따라 상기 랜더링 처리 장치에 대한 자원 공유 작업을 등록하는 공유 작업 등록부; 및
    상기 랜더링 처리 장치로부터 상기 검색 결과에 따른 랜더링 처리 완료를 수신하면, 상기 등록된 자원 공유 작업을 종료하는 공유 작업 종료부를 더 포함하되,
    상기 자원 공유 작업은,
    상기 그래픽 자원 요청에 따른 상기 그래픽 자원 정보의 검색 처리 및 상기 검색 처리에 따른 검색 결과의 반환 처리를 포함하는 것인 그래픽 자원 공유 장치.
  5. 그래픽 자원 공유 관리 장치를 통한 복수의 랜더링 처리 장치 간 그래픽 자원 공유를 관리하는 방법에 있어서,
    (a) 적어도 하나의 랜더링 처리 장치로부터 그래픽 자원 요청을 수신하는 단계;
    (b) 기등록된 그래픽 자원 정보 중 상기 그래픽 자원 요청에 따른 그래픽 자원 정보를 검색하는 단계; 및
    (c) 상기 검색에 따라 상기 그래픽 자원 요청에 대응하는 그래픽 자원 정보 또는 미등록 정보를 포함하는 검색 결과를 상기 그래픽 자원 요청을 전송한 랜더링 처리 장치로 전송하는 단계를 포함하되,
    상기 그래픽 자원 정보는 상기 그래픽 자원 요청에 따른 그래픽 자원이 저장된 랜더링 처리 장치 및 상기 그래픽 자원의 식별 정보를 포함하고,
    상기 랜더링 처리 장치는 원격 직접 메모리 접속(Remote Direct Memory Access) 방식에 따라 다른 랜더링 장치로부터 상기 그래픽 자원 정보에 따른 그래픽 자원을 획득하는 것인 그래픽 자원 공유 관리 방법.
  6. 제 5 항에 있어서,
    상기 (a) 단계 이전에,
    적어도 하나의 랜더링 처리 장치가 랜더링(rendering) 처리한 그래픽 데이터에 대한 그래픽 자원 정보를 등록하는 단계를 더 포함하는 그래픽 자원 공유 관리 방법.
  7. 제 5 항에 있어서,
    상기 검색 결과에 상기 미등록 정보가 포함된 경우,
    상기 (c) 단계 이후에,
    상기 그래픽 자원 요청을 전송한 랜더링 처리 장치가 신규로 생성할 상기 그래픽 자원에 대한 삭제 또는 유지 여부를 결정하는 단계; 및
    상기 결정에 따른 삭제 명령 또는 유지 명령을 상기 랜더링 처리 장치로 전송하는 단계를 더 포함하는 그래픽 자원 공유 관리 방법.
  8. 네트워크를 통해 접속된 다른 랜더링 처리 장치와 그래픽 자원을 공유하는 랜더링 처리 장치에 있어서,
    상기 다른 랜더링 처리 장치와 원격 직접 메모리 접속(Remote Direct Memory Access) 프로토콜에 따라 그래픽 자원을 송수신하는 네트워크 인터페이스 컨트롤러;
    그래픽 데이터에 대한 랜더링(rendering) 처리 요청이 발생되면, 다른 랜더링 처리 장치로부터 그래픽 자원을 획득하거나 신규로 그래픽 자원을 생성하여 상기 그래픽 데이터를 랜더링 처리하는 그래픽 처리 유닛; 및
    상기 생성된 그래픽 자원 및 상기 랜더링 처리된 그래픽 데이터를 저장하는 그래픽 메모리를 포함하고,
    상기 그래픽 처리 유닛은,
    상기 랜더링 처리 요청이 발생되면, 상기 네트워크를 통해 접속된 그래픽 자원 공유 관리 장치로 그래픽 자원 요청을 전송하고, 상기 그래픽 자원 공유 관리 장치로부터 상기 그래픽 자원 요청에 대응된 그래픽 자원 정보 또는 해당 그래픽 자원에 대한 미등록 정보를 수신하며,
    상기 그래픽 자원 정보를 수신한 경우 상기 네트워크 인터페이스 컨트롤러를 통해 상기 그래픽 자원 정보에 따른 다른 랜더링 처리 장치로부터 상기 랜더링 처리 요청에 대응된 상기 그래픽 자원을 획득하고, 상기 미등록 정보를 수신한 경우 신규로 그래픽 자원을 생성하되,
    상기 그래픽 자원 정보는 상기 해당 그래픽 자원이 저장된 랜더링 처리 장치 및 상기 그래픽 자원의 식별 정보를 포함하는 것인 랜더링 처리 장치.
  9. 제 8 항에 있어서,
    상기 그래픽 처리 유닛은,
    상기 다른 랜더링 처리 장치로부터 상기 그래픽 자원 정보를 포함하는 그래픽 자원 요청을 수신하면, 상기 네트워크 인터페이스 컨트롤러를 통해 상기 그래픽 자원 정보에 따른 그래픽 자원을 상기 다른 랜더링 처리 장치로 전송하는 랜더링 처리 장치.
  10. 제 8 항에 있어서,
    상기 그래픽 처리 유닛은,
    상기 그래픽 자원 공유 관리 장치로부터 상기 신규로 생성된 그래픽 자원에 대한 삭제 명령 또는 유지 명령을 수신하고, 상기 삭제 명령 또는 유지 명령에 따라 상기 그래픽 메모리에 저장된 그래픽 자원을 관리하는 랜더링 처리 장치.
  11. 제 8 항에 있어서,
    상기 그래픽 처리 유닛은,
    상기 신규로 생성된 그래픽 자원에 대한 그래픽 자원 정보를 상기 그래픽 자원 공유 관리 장치에 등록하는 랜더링 처리 장치.
  12. 제 8 항에 있어서,
    상기 그래픽 처리 유닛은,
    랜더링 애플리케이션으로부터 발생된 랜더링 처리 요청을 처리하는 랜더링 데몬(daemon)을 구동하는 랜더링 처리 장치.
  13. 제 8 항에 있어서,
    상기 그래픽 자원은,
    그래픽 데이터의 랜더링 처리를 위한 텍스처 데이터(texture data), 버텍스 데이터(vertex data) 및 인덱스 데이터(index data) 중 적어도 하나를 포함하는 랜더링 처리 장치.
  14. 제 8 항에 있어서,
    상기 다른 랜더링 처리 장치 및 상기 그래픽 자원 공유 관리 장치와 시스템 에어리어 네트워크(System Area Network)를 통해 접속되는 랜더링 처리 장치.
PCT/KR2013/001861 2013-03-06 2013-03-07 그래픽 자원 공유 시스템 및 방법 WO2014137008A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130024003 2013-03-06
KR10-2013-0024003 2013-03-06

Publications (1)

Publication Number Publication Date
WO2014137008A1 true WO2014137008A1 (ko) 2014-09-12

Family

ID=51491512

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/001861 WO2014137008A1 (ko) 2013-03-06 2013-03-07 그래픽 자원 공유 시스템 및 방법

Country Status (1)

Country Link
WO (1) WO2014137008A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10332235B1 (en) 2018-05-01 2019-06-25 At&T Intellectual Property I, L.P. Direct memory access for graphics processing unit packet processing
US11321256B2 (en) 2018-11-12 2022-05-03 At&T Intellectual Property I, L.P. Persistent kernel for graphics processing unit direct memory access network packet processing
CN114581580A (zh) * 2022-02-28 2022-06-03 维塔科技(北京)有限公司 渲染图像的方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070032734A (ko) * 2004-06-30 2007-03-22 인텔 코오퍼레이션 다수의 클라이언트 간의 물리 장치 공유
US20100118039A1 (en) * 2008-11-07 2010-05-13 Google Inc. Command buffers for web-based graphics rendering
KR20100062822A (ko) * 2008-12-02 2010-06-10 한국전자통신연구원 협업적 영상 제작 관리 장치
KR20110109074A (ko) * 2010-03-30 2011-10-06 (주)한양정보통신 그리드 컴퓨팅 시스템 및 그리드 컴퓨팅 서비스 제공방법
KR20120043942A (ko) * 2010-10-27 2012-05-07 한국전자통신연구원 소프트웨어 지원 시스템 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070032734A (ko) * 2004-06-30 2007-03-22 인텔 코오퍼레이션 다수의 클라이언트 간의 물리 장치 공유
US20100118039A1 (en) * 2008-11-07 2010-05-13 Google Inc. Command buffers for web-based graphics rendering
KR20100062822A (ko) * 2008-12-02 2010-06-10 한국전자통신연구원 협업적 영상 제작 관리 장치
KR20110109074A (ko) * 2010-03-30 2011-10-06 (주)한양정보통신 그리드 컴퓨팅 시스템 및 그리드 컴퓨팅 서비스 제공방법
KR20120043942A (ko) * 2010-10-27 2012-05-07 한국전자통신연구원 소프트웨어 지원 시스템 및 그 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10332235B1 (en) 2018-05-01 2019-06-25 At&T Intellectual Property I, L.P. Direct memory access for graphics processing unit packet processing
US10664945B2 (en) 2018-05-01 2020-05-26 At&T Intellectual Property I, L.P. Direct memory access for graphics processing unit packet processing
US10909655B2 (en) 2018-05-01 2021-02-02 At&T Intellectual Property I, L.P. Direct memory access for graphics processing unit packet processing
US11321256B2 (en) 2018-11-12 2022-05-03 At&T Intellectual Property I, L.P. Persistent kernel for graphics processing unit direct memory access network packet processing
CN114581580A (zh) * 2022-02-28 2022-06-03 维塔科技(北京)有限公司 渲染图像的方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
EP3361387B1 (en) Data transmission method, equipment and system
US5884313A (en) System and method for efficient remote disk I/O
US8806065B2 (en) Server device connecting with USB device and device sharing method
CN112398817B (zh) 数据发送的方法及设备
US20120159486A1 (en) System, method and computer program product for accessing a memory space allocated to a virtual machine
JP2015537310A (ja) データ処理システム及びデータ処理方法
WO2019189963A1 (ko) 분산 클러스터 관리 시스템 및 그 방법
JP2009140053A (ja) 仮想計算機システム及び仮想計算機移行制御方法
WO2014081100A1 (ko) 비휘발성 메모리 시스템 및 이를 위한 맵핑 테이블 관리 방법
WO2012121559A2 (ko) 복사 명령 및 이동 명령을 지원하는 스토리지 시스템 및 상기 스토리지 시스템의 동작 방법
JP2019057817A (ja) 通信装置、通信方法及びプログラム
WO2015102372A1 (ko) 네트워크 인터페이스 가상화 장치 및 방법
WO2014137008A1 (ko) 그래픽 자원 공유 시스템 및 방법
WO2015006970A1 (zh) 交换设备、控制器、交换设备配置、报文处理方法及系统
WO2013027922A1 (ko) 클라우드 컴퓨팅 시스템의 압축 이미지 파일 관리 장치 및 방법
US11836105B2 (en) Communication device, information processing system, and communication method
JP2011141635A (ja) ホスト間通信を使用した仮想サーバのデータの通信方法
WO2018212610A1 (ko) 악성 코드 진단 서버, 시스템 및 방법
CN111290829A (zh) 访问控制模组、虚拟机监视器及访问控制方法
JP2007004710A (ja) ストレージアクセス方式、データ転送装置、ストレージアクセス方法、及びプログラム
US20190319818A1 (en) Device control apparatus, device control system, device control method, and recording medium
JP2011210151A (ja) サーバ装置、及び情報処理システムの制御方法、並びにプログラム
WO2021020746A1 (ko) 가상 머신 관리 장치 및 방법
WO2013085089A1 (ko) M2m 클라우드 환경에서 통신망 자원 활용 방법 및 그 시스템
WO2018080192A1 (en) Electronic device and data transfer method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13877134

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 20.01.2016)

122 Ep: pct application non-entry in european phase

Ref document number: 13877134

Country of ref document: EP

Kind code of ref document: A1