JP6715334B2 - GPU resource reconstruction method, user device, system and storage medium - Google Patents

GPU resource reconstruction method, user device, system and storage medium Download PDF

Info

Publication number
JP6715334B2
JP6715334B2 JP2018538859A JP2018538859A JP6715334B2 JP 6715334 B2 JP6715334 B2 JP 6715334B2 JP 2018538859 A JP2018538859 A JP 2018538859A JP 2018538859 A JP2018538859 A JP 2018538859A JP 6715334 B2 JP6715334 B2 JP 6715334B2
Authority
JP
Japan
Prior art keywords
gpu
resources
resource pool
rendering
default resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018538859A
Other languages
Japanese (ja)
Other versions
JP2019509547A (en
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 JP2019509547A publication Critical patent/JP2019509547A/en
Application granted granted Critical
Publication of JP6715334B2 publication Critical patent/JP6715334B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/461Saving or restoring of program or task context
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

<関連出願>
本願は中国国家知識産権局に2016年1月29日付で出願された「GPUリソース再構築方法、ユーザー・デバイス及びシステム」と題する中国特許出願第201610067210.1号による優先権を主張しており、その内容全体は本願のリファレンスに組み込まれる。
<技術分野>
<Related application>
This application claims priority from Chinese Patent Application No. 201610067210.1 entitled "GPU Resource Reconstruction Method, User Device and System", filed with the National Intellectual Property Office of China on January 29, 2016. The entire content is incorporated herein by reference.
<Technical field>

本開示はクラウド技術の技術分野に関連し、特に、リソースを再構築する方法、ユーザー・デバイス及びシステムに関連する。
<背景技術>
The present disclosure relates to the technical field of cloud technology, and more particularly to methods, user devices and systems for reconfiguring resources.
<Background technology>

近年のネットワーク帯域幅及び端末技術の急速な発達とともに、クラウド・コンピューティング技術の成熟はクラウド・インタラクティブ・システムを促進している。既存のクラウド・インタラクティブ・システムは、通常、サーバーと複数のユーザー・デバイスとを含み、サーバーはクラスタ・サーバーであってもよく、複数のインタラクティブ・アプリケーションがインタラクティブ・システムで動作することが可能である。 With the rapid development of network bandwidth and terminal technology in recent years, the maturity of cloud computing technology has promoted cloud interactive systems. Existing cloud interactive systems typically include a server and multiple user devices, which may be a cluster server, allowing multiple interactive applications to work in the interactive system. ..

今のところ、既存の技術におけるクラウド・インタラクティブ・システムでの画像レンダリングのアプリケーションに関し、画像をレンダリングしてレンダリングされた画像フレームをユーザー・デバイスへ送信することはサーバーの責務であり、ユーザー・デバイスは、レンダリングされた画像フレームを受信した後、画像フレームを直接的にデコードし、画像を表示する。クラウド・インタラクティブ・システムでは、GPUリソースの利用状態は、画像を表示するユーザー・デバイスに直接的には記録されず、そのような動作は、GPUの喪失後にGPUを再構築する場合に、GPUリソースをリリース及び再構築することに対する失敗を招く。 So far, regarding the application of the image rendering in the cloud interactive system in the existing technology, it is the responsibility of the server to render the image and send the rendered image frame to the user device. After receiving the rendered image frame, the image frame is directly decoded and the image is displayed. In a cloud interactive system, the utilization state of GPU resources is not directly recorded on the user device displaying the image, and such behavior is not observed if the GPU resources are rebuilt after the loss of the GPU. Results in a failure to release and rebuild.

本願の実施形態では、システムのノーマルな利用を保証し且つユーザーの体感を改善する、リソースを構築する方法、ユーザー・デバイス、システム及び記憶媒体が提供される。 Embodiments of the present application provide a resource building method, a user device, a system, and a storage medium that ensure normal use of the system and improve the user experience.

本開示の第1側面はリソースを再構築する方法を提供することである。本方法はクラウド・インタラクティブ・システムに適用される。クラウド・インタラクティブ・システムはユーザー・デバイス及びサーバーを含む。ユーザー・デバイスはグラフィックス処理ユニット(GPU)を含む。GPUはデフォルト・リソース・プールに対応する。 A first aspect of the disclosure is to provide a method for reconfiguring resources. The method applies to cloud interactive systems. The cloud interactive system includes user devices and servers. The user device includes a graphics processing unit (GPU). GPU corresponds to the default resource pool.

本方法は:ユーザー・デバイスが、サーバーにより送信されたレンダリング・データを受信するステップであって、レンダリング・データは、レンダリング命令と、レンダリング命令に対応するレンダリング・リソースとを含む、ステップ;ユーザー・デバイスが、レンダリング・リソースに応じてデフォルト・リソース・プールにおいて構築されるGPUリソースを、デフォルト・リソース・プールにおいてホールドされたリソース(held resources in the default resource pool)として記録するステップ; ユーザー・デバイスが、GPUはロスの状態であるか否かをレンダリング命令に応じて判断し、GPUがロスの状態にあった場合に、GPUリカバリを実行するか否かを判断するステップ;及びGPUリカバリを実行するように判断された場合に、ユーザー・デバイスが、デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、デフォルト・リソース・プールにおいてリソースを再構築するステップを含む。 The method comprises: a user device receiving rendering data sent by a server, the rendering data including rendering instructions and rendering resources corresponding to the rendering instructions; The device records GPU resources built in the default resource pool according to the rendering resources as held resources in the default resource pool; , A step of determining whether or not the GPU is in the loss state according to the rendering command, and determining whether or not to execute the GPU recovery when the GPU is in the loss state; and executing the GPU recovery User device releases the held resources in the default resource pool, and based on the record of the held resources in the default resource pool, the user device releases the resources in the default resource pool. Including the step of reconstructing

本開示の第2側面はユーザー・デバイスを提供することである。ユーザー・デバイスはクラウド・インタラクティブ・システムに含まれる。クラウド・インタラクティブ・システムはサーバーも含む。ユーザー・デバイスはグラフィックス処理ユニット(GPU)を含む。GPUはデフォルト・リソース・プールに対応する。 A second aspect of the disclosure is to provide a user device. The user device is included in the cloud interactive system. The cloud interactive system also includes a server. The user device includes a graphics processing unit (GPU). GPU corresponds to the default resource pool.

ユーザー・デバイスは:サーバーにより送信されたレンダリング・データを受信するように構成される受信ユニットであって、レンダリング・データは、レンダリング命令と、レンダリング命令に対応するレンダリング・リソースとを含む、受信ユニット;レンダリング・リソースに応じてデフォルト・リソース・プールにおいて構築されるGPUリソースを、デフォルト・リソース・プールにおいてホールドされたリソースとして記録する記録ユニット;GPUはロスの状態であるか否かをレンダリング命令に応じて判断し、GPUがロスの状態にあった場合に、GPUリカバリを実行するか否かを判断する判断ユニット;及びGPUリカバリを実行するように判断された場合に、デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、デフォルト・リソース・プールにおいてリソースを再構築する再構築ユニットを含む。 A user device is: a receiving unit configured to receive rendering data sent by a server, the rendering data including rendering instructions and rendering resources corresponding to the rendering instructions. A recording unit for recording the GPU resource constructed in the default resource pool according to the rendering resource as a resource held in the default resource pool; the rendering instruction indicates whether the GPU is in the loss state A determination unit that determines whether to execute GPU recovery when the GPU is in the loss state; and in the default resource pool when it is determined to execute GPU recovery And a rebuilding unit for releasing the held resources and rebuilding the resources in the default resource pool based on the records of the held resources in the default resource pool.

本開示の第3側面は、ユーザー・デバイス及びサーバーを含むクラウド・インタラクティブ・システムを提供することである。ユーザー・デバイスは第2側面によるユーザー・デバイスである。 A third aspect of the present disclosure is to provide a cloud interactive system including a user device and a server. The user device is a user device according to the second aspect.

本開示の第4側面は、コンピュータが読み取り可能な命令を保存する不揮発性記憶媒体を提供することである。命令がコンピュータにより実行されると、コンピュータは、上述したようなリソース再構築方法を実行する。 A fourth aspect of the present disclosure is to provide a non-volatile storage medium for storing computer readable instructions. When the instructions are executed by the computer, the computer executes the resource reconstruction method as described above.

クラウド・ゲーム・アーキテクチャの概略図。Schematic of cloud game architecture.

本開示の実施形態に従ってGPUリソースを再構築する方法の概略図。6 is a schematic diagram of a method of reconfiguring GPU resources according to an embodiment of the present disclosure.

本開示の実施形態によるGPUリソースを再構築する方法におけるクラウド・ゲーム・アーキテクチャの特定の概略図。FIG. 6 is a specific schematic diagram of a cloud game architecture in a method of reconfiguring GPU resources according to embodiments of the present disclosure.

本開示の別の実施形態によるGPUリソースを再構築する方法の概略図。6 is a schematic diagram of a method of reconfiguring GPU resources according to another embodiment of the present disclosure.

本開示の実施形態によるユーザー・デバイスの概略図。1 is a schematic diagram of a user device according to an embodiment of the present disclosure.

本開示の別の実施形態によるユーザー・デバイスの概略図。3 is a schematic diagram of a user device according to another embodiment of the present disclosure. FIG.

本開示の実施形態では、システムのノーマルな利用を保証し且つユーザーの体感を改善するリソース再構築方法、ユーザー・デバイス、システム及び記憶媒体が提供される。 Embodiments of the present disclosure provide a resource restructuring method, a user device, a system, and a storage medium that guarantee normal use of the system and improve user experience.

本開示の実施形態による技術的解決手段は、本開示による図面に関連して明確かつ完全に記述されており、それにより、当業者は本開示による技術的解決手段を更に理解することができるようになる。明らかに、説明される実施形態は本開示の実施形態の全てではなく、ほんの僅かなものに過ぎない。何らの創作的労力も無しに本開示による実施形態に基づいて当業者により把握される他の如何なる実施形態も、本開示の保護範囲に属する。 The technical solutions according to the embodiments of the present disclosure have been clearly and completely described with reference to the drawings according to the present disclosure, so that those skilled in the art can further understand the technical solutions according to the present disclosure. become. Apparently, the described embodiments are merely a few rather than all of the embodiments of the present disclosure. Any other embodiment ascertained by a person of ordinary skill in the art based on the embodiments according to the present disclosure without any creative effort shall fall within the protection scope of the present disclosure.

本開示についての上記の図面、特許請求の範囲及び明細書において「第1」、「第2」等のような用語は(それらが存在する場合には)、特定の順序又はそれらの優先度を示すものではなく、個々の類似するオブジェクトを伝えるためにそこで使用されているに過ぎない。ここで使用される用語は相互交換可能であってもよく、それにより、本開示の実施形態はここで説明されるもの以外の順序で実現され得ることが理解されるべきである。更に、「含む」、「有する」又は他の何らかの異形の用語は、非排他的であるように意図される。例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品又はデバイスは、明示的に列挙されたステップやユニットに限定されず、明示的には列挙されていない他のステップやユニット、或いはプロセス、方法、製品又はデバイスに固有のものを更に含んでよい。 In the drawings, claims and specification of this disclosure, terms such as "first," "second," etc. (when they exist) refer to a particular order or priority thereof. It is not shown but merely used there to convey individual similar objects. It is to be understood that the terms used herein may be interchangeable with which the embodiments of the present disclosure may be implemented in other orders than those described herein. Furthermore, the terms "comprising," "having," or any other variation are intended to be non-exclusive. For example, a process, method, system, product or device that comprises a series of steps or units is not limited to the explicitly listed steps or units, and may include other steps or units not explicitly listed. , Method, product or device specific.

以下、本開示でリソースを再構築する方法の実施形態が先ず説明される。 Hereinafter, embodiments of the method for reconstructing resources in the present disclosure will be described first.

図1に示されるように、本開示の実施形態におけるリソースを再構築する方法は、クラウド・インタラクティブ・システムに適用される。クラウド・インタラクティブ・システムはユーザー・デバイスとサーバーとを含む。複数のユーザー・デバイスが存在してもよい。サーバーはクラスタ・サーバー(a cluster server)であってもよい。複数のインタラクティブ・アプリケーションがクラウド・インタラクティブ・システムで動作することが可能である。ユーザー・デバイスは、パーソナル・コンピュータ(PC)、ラップトップ、又はモバイル・フォンのような端末デバイスであてもよい。サーバーは専用のゲーム・サーバーであってもよい。今、データ・フローは、サーバーによって記録され、圧縮された後にユーザー・デバイスへ送信される。ユーザー・デバイスは、レンダリング命令をリプレイし(又は実行し)、レンダリング・リソースをプレイし(又は再生し)、レンダリング画像をリプロデュース(再現)してよい。ユーザー・デバイスは、グラフィックス処理ユニット(GPU)を含む。 As shown in FIG. 1, the method of reconstructing resources in the embodiments of the present disclosure is applied to a cloud interactive system. The cloud interactive system includes a user device and a server. There may be multiple user devices. The server may be a cluster server. It is possible for multiple interactive applications to work in a cloud interactive system. The user device may be a terminal device such as a personal computer (PC), laptop, or mobile phone. The server may be a dedicated game server. The data flow is now recorded by the server, compressed and then sent to the user device. The user device may replay (or execute) rendering instructions, play (or play) rendering resources, and reproduce the rendered image. The user device includes a graphics processing unit (GPU).

ダイレクト3D(Direct3D)はウィンドウズ・オペレーティング・システムのためにマイクロソフト・コーポレーションにより開発された3次元(3D)グラフィック・プログラミング・インターフェースであり、このインターフェースは、ウィンドウズの3Dゲーム開発用のベース・ライブラリであり、且つGPUのプログラミング・インターフェースである。 Direct3D is a three-dimensional (3D) graphic programming interface developed by Microsoft Corporation for Windows operating systems, which is the base library for Windows 3D game development. , And a GPU programming interface.

ダイレクト3Dで管理されるGPUリソースは、ストレージ・ロケーションに応じて3種類に分類され、その3種類は:管理リソース・プールにおけるリソース(管理リソース)、デフォルト・リソース・プールにおけるリソース(デフォルト・リソース)、及びシステム・メモリ・リソース・プールにおけるリソース(システム・メモリ・リソース)である。管理リソース・プールにおけるリソースとシステム・メモリ・リソース・プールにおけるリソースとは、GPUロス(GPU loss)により影響されず、GPUロスの場合に処理されることを要しないが、デフォルト・リソース・プールにおけるリソースは、GPUロス後にデバイスは復元されつつあることが検出されると、リリースされ再構築されることを要する。 GPU resources managed by Direct 3D are classified into three types according to storage location. The three types are: resources in the management resource pool (management resources) and resources in the default resource pool (default resources). , And resources in the system memory resource pool (system memory resources). Resources in the management resource pool and resources in the system memory resource pool are not affected by GPU loss and do not need to be processed in case of GPU loss, but in the default resource pool. Resources need to be released and rebuilt when it is detected that the device is being restored after a GPU loss.

ユーザー・デバイスは、本開示の実施形態ではデフォルト・リソース・プールにおけるリソースに対応する。ユーザー・デバイスは、スマートフォン又はタブレット・コンピュータのようなスマート端末、MP3プレーヤ(MP3は、「Moving Picture Experts Group Audio Layer III」の略である)、MP4プレーヤ、ラップトップ・コンピュータ、車載オーディオ・デバイス、デスクトップ・コンピュータ等であってもよい。 User devices correspond to resources in the default resource pool in embodiments of the present disclosure. User devices include smart terminals such as smartphones or tablet computers, MP3 players (MP3 stands for "Moving Picture Experts Group Audio Layer III"), MP4 players, laptop computers, in-car audio devices, It may be a desktop computer or the like.

図2に関し、本開示の実施形態におけるリソースを再構築する方法は、ステップ201ないしステップ205を含む。 With reference to FIG. 2, the method of reconfiguring resources in the embodiment of the present disclosure includes steps 201 to 205.

ステップ201において、ユーザー・デバイスは、サーバーから送信されるレンダリング・データを受信する。 In step 201, the user device receives the rendering data sent from the server.

レンダリング・データは、レンダリング命令と、レンダリング命令に対応するレンダリング・リソースとを含む。データ・フローは、サーバーにより記録され、圧縮された後にユーザー・デバイスへ送信される。ユーザー・デバイスは、サーバーにより送信されるレンダリング・データを受信する。 The rendering data includes rendering instructions and rendering resources corresponding to the rendering instructions. The data flow is recorded by the server, compressed, and then sent to the user device. The user device receives the rendering data sent by the server.

ステップ202において、ユーザー・デバイスは、レンダリング・リソースに応じてデフォルト・リソース・プールで構築されるGPUリソースを、デフォルト・リソース・プールにおいてホールドされたリソースとして記録する。 In step 202, the user device records the GPU resource built in the default resource pool according to the rendering resource as the resource held in the default resource pool.

ユーザー・デバイスは、レンダリング・リソースをプレイする場合に、デフォルト・リソース・プールにおいて対応するGPUリソースを構築する必要がある。このステップでは、レンダリング・リソースに応じてデフォルト・リソース・プールにおいて構築されるGPUリソースは、デフォルト・リソース・プールにおけるホールドされたリソースとして記録される。レンダリング・リソースに応じてデフォルト・リソース・プールにおいて構築されるGPUリソースが、デフォルト・リソース・プールにおいて保持されたリソースとして既に記録されている場合、それらは保持されたリソースとして再び記録されはしない点に留意すべきである。 When playing a rendering resource, the user device needs to build the corresponding GPU resource in the default resource pool. In this step, GPU resources built in the default resource pool in response to rendering resources are recorded as held resources in the default resource pool. If GPU resources that are built in the default resource pool according to their rendering resources are already recorded as retained resources in the default resource pool, they will not be recorded again as retained resources. Should be noted.

ステップ203において、ユーザー・デバイスは、GPUがロスの状態にあるか否かを判断する。ステップ204は、GPUがロスの状態にある場合に実行される。 In step 203, the user device determines whether the GPU is in a loss state. Step 204 is executed when the GPU is in a loss state.

GPU(グラフィックス処理ユニット)は、グラフィックス・オペレーションを実行するマイクロプロセッサである。GPUの使用権(Use rights of the GPU)は、ダイレクト3Dに基づくゲームがGPUを利用する場合に剥奪されるかもしれず、その剥奪は、事実上のレンダリングの不具合を招き、アプリケーションによりホールドされたGPUリソースもリリースされる。このプロセスは、GPUロスと呼ばれる。GPUロスに関連する別の状態は、GPUリカバリ(GPU recovery)であり、GPUリカバリでは、アプリケーションはGPUの使用権に関して再割り当てを受ける。アプリケーションは、GPUが失われている場合には有効にレンダリングを継続することができず、デバイスが復元される場合、過去にホールドされたGPUリソースはリリースされ再構築される。 A GPU (graphics processing unit) is a microprocessor that performs graphics operations. Use rights of the GPU may be stripped when Direct 3D based games utilize the GPU, which leads to virtual rendering glitches and GPUs held by the application. Resources will also be released. This process is called GPU loss. Another condition associated with GPU loss is GPU recovery, where the application is subject to reallocation of GPU usage rights. The application cannot continue to render effectively if the GPU is lost, and if the device is restored, previously held GPU resources are released and rebuilt.

実施形態では、レンダリング命令は、GPUの現在状態を検出する第1検出ファンクションを有してもよい。この場合、GPUがロスの状態にあるか否かをユーザー・デバイスが判断するステップは:ユーザー・デバイスがレンダリング命令をリプレイし、第1検出ファンクションにより返される第1リターン値を取得するステップと、ユーザー・デバイスが、第1リターン値に基づいてGPUはロスの状態にあるか否かを判断するステップとを含む。 In an embodiment, the rendering instructions may have a first detection function that detects the current state of the GPU. In this case, the steps of the user device to determine if the GPU is in the loss state are: the user device replays the rendering instruction and obtains the first return value returned by the first detection function, The user device determines whether the GPU is in a loss state based on the first return value.

第1検出ファンクションは、レンダリング命令に含まれるプレゼント・ファンクション(a Present function)であってもよい。GPUロスの場合、プレゼント・ファンクションは「D3DERR_DEVICELOST」を返す。返される値がこの時点で取得される場合、GPUがロスであるか否かが判断されることが可能である。 The first detection function may be a present function included in the rendering instruction. In case of GPU loss, the present function returns "D3DERR_DEVICELOST". If the returned value is obtained at this point, it can be determined whether the GPU is in loss.

ステップ204において、ユーザー・デバイスは、GPUリカバリを実行するか否かを判断する。ステップ205は、GPUリカバリを実行するように決定された場合に実行される。 In step 204, the user device determines whether to perform GPU recovery. Step 205 is executed if it is decided to perform GPU recovery.

実施形態では、GPUはロスの状態にあると判断した後に、本方法は、レンダリング命令でGPUリカバリを実行すべきかいなかを判断するために、ユーザー・デバイスは第2検出ファンクションを挿入することを更に含んでもよい。この場合、GPUリカバリを実行するか否かをユーザー・デバイスが判断するステップは、ユーザー・デバイスが、レンダリング命令をリプレイし、第2検出ファンクションにより返される第2リターン値を取得すること、及びユーザー・デバイスが、第2リターン値に基づいてGPUリカバリを実行するか否か決定することを含んでもよい。 In an embodiment, after determining that the GPU is in a loss state, the method may include the user device inserting a second detection function to determine whether to perform GPU recovery in the rendering instruction. It may further include. In this case, the step in which the user device decides whether to perform GPU recovery is that the user device replays the rendering instruction and obtains the second return value returned by the second detection function, and -The device may include determining whether to perform GPU recovery based on the second return value.

第2検出ファンクションは、「テスト協同レベル・ファンクション」(a TestCooperativeLevel function)であってもよい。テスト協同レベル・ファンクションのリターン値が「D3DERR_DEVICENOTRESET」として取得される場合、GPUリカバリを実行するように判断される。 The second detection function may be a “Test Cooperative Level function”. When the return value of the test cooperation level function is acquired as "D3DERR_DEVICENOTRESET", it is determined to execute the GPU recovery.

実施形態では、テスト協同レベル・ファンクションは、ステップ203でGPUロス状態にあるか否かを判断するために使用されてもよい。テスト協同レベル・ファンクションのリターン値が「D3DERR_DEVICELOST」を含む場合、GPUがロストか否かは、取得されたリターン値に基づいて判断されることが可能である。 In embodiments, the test cooperation level function may be used at step 203 to determine if there is a GPU loss condition. When the return value of the test cooperation level function includes “D3DERR_DEVICELOST”, whether the GPU is lost or not can be determined based on the obtained return value.

ステップ205において、ユーザー・デバイスは、デフォルト・リソース・プールにおけるホールドされたリソースをリリースし、デフォルト・リソース・プールにおけるホールドされたリソースの記録に基づいて、デフォルト・リソース・プールにおけるリソースを再構築する。 In step 205, the user device releases the held resources in the default resource pool and reconstructs the resources in the default resource pool based on the record of the held resources in the default resource pool. ..

一般に、ユーザー・デバイスにおけるアプリケーションがグラフィックス処理ユニット(GPU)である場合、GPUの使用権は剥奪されるかもしれず、アプリケーションによりホールドされたGPUリソースもリリースされ、このリリースはGPUロスと呼ばれる。GPUロスに関連する別の状態はGPUリカバリであり、GPUリカバリでは、アプリケーションはGPUの使用権の再割り当てを受ける。デバイスが復元される場合、過去にホールドされたGPUリソースはリリースされ再構築される。 Generally, if the application on the user device is a graphics processing unit (GPU), the right to use the GPU may be stripped, and the GPU resources held by the application are also released, this release is called GPU loss. Another condition related to GPU loss is GPU recovery, where the application is subject to reallocation of GPU usage rights. When the device is restored, previously held GPU resources are released and rebuilt.

これは、GPUロスの場合に、GPUがグラフィックス・カードとの接触を失うことに起因しており、それにより、グラフィックス・カードに関連する全てのリソースはデバイスにより再びアクセスできなくなり、これらのリソースはリリースされ再構築されなければならない。一般に、パラメータ「D3DPOOL_DEFAULT」(デフォルト・リソース・プール)とともに再構築されるリソースは全てグラフィックス・カードに割り当てられるメモリ・リソースである。従って、デバイスをリセットする前に、「D3DPOOL_DEFAULT」(デフォルト・リソース・プール)タイプの全てのリソースがリリースされることが保証されるべきである。 This is due to the GPU losing contact with the graphics card in case of GPU loss, which causes all resources associated with the graphics card to become inaccessible by the device again Resources must be released and rebuilt. Generally, all resources that are rebuilt with the parameter "D3DPOOL_DEFAULT" (default resource pool) are memory resources allocated to the graphics card. Therefore, before resetting the device, it should be ensured that all resources of type "D3DPOOL_DEFAULT" (default resource pool) are released.

従って、GPUリカバリを実行するように決定される場合、ユーザー・デバイスは、デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、デフォルト・リソース・プールにおいてリソースを再構築する必要がある。実施形態では、デバイスのロス及びリカバリを処理するためのリセット・ファンクション(a Reset function)は、デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、デフォルト・リソース・プールにおいてリソースを再構築するためにユーザー・デバイスにより使用されてもよい。 Therefore, when it is decided to perform GPU recovery, the user device releases the resources held in the default resource pool and based on the record of the resources held in the default resource pool, the default -Resources need to be rebuilt in the resource pool. In an embodiment, a reset function for handling device loss and recovery releases resources held in the default resource pool and records the held resources in the default resource pool. May be used by the user device to rebuild resources in the default resource pool based on.

本開示の実施形態では、レンダリング・リソースに従ってデフォルト・リソース・プールで構築されるGPUリソースは、サーバーにより送信されたレンダリング・データを受信した後に、デフォルト・リソース・プールにおいてホールドされたリソースとして記録されている。GPUリカバリでは、GPUロスの後、デフォルト・リソース・プールにおいてホールドされたリソースはリリースされ、デフォルト・リソース・プールにおけるリソースは、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて再構築され、これにより、GPUリカバリを実現し、インタラクティブ・アプリケーション・システムにおいて或る状況を回避し、その状況は、全てのデータはサーバーからしか得ることができないことに起因して、GPUのロスの後にGPUが復元できない状況であり、実施形態はシステムのノーマルな利用を保証してユーザーの体感を改善する。 In embodiments of the present disclosure, GPU resources that are constructed in the default resource pool according to the rendering resources are recorded as held resources in the default resource pool after receiving the rendering data sent by the server. ing. In GPU recovery, after a GPU loss, the resources held in the default resource pool are released and the resources in the default resource pool are rebuilt based on the records of the held resources in the default resource pool. , Which enables GPU recovery and avoids certain situations in interactive application systems, which are due to the fact that all data can only be obtained from the server after the loss of the GPU. However, the embodiment guarantees normal use of the system and improves the user experience.

選択的に、本開示の実施形態において、レンダリング命令に応じてデフォルト・リソース・プールにおいて構築されるGPUリソースはターゲットGPUリソースを含み、レンダリング命令はターゲットGPUリソースのライフ・サイクル情報を含む。本方法は、ユーザー・デバイスが、ターゲットGPUリソースのライフ・サイクルを終えた後にターゲットGPUリソースをリリースし、ターゲットGPUリソースがデフォルト・リソース・プールにおいてホールドされたリソースである旨の記録を削除するステップを更に含む。即ち、デフォルト・リソース・プールにおいてホールドされたGPUリソースは、リソースのライフ・サイクルが終わった後にリリースされ、そのリソースはデフォルト・リソース・プールにおいてホールドされた旨の記録は削除され、この削除は、リソースの更に有効利用を達成し、デフォルト・リソース・プールにおいてホールドされたリソースを再構築する場合に不要なリソース再構築を回避する。 Optionally, in the embodiments of the present disclosure, the GPU resource constructed in the default resource pool in response to the rendering instruction includes the target GPU resource, and the rendering instruction includes the life cycle information of the target GPU resource. The method comprises the steps of the user device releasing the target GPU resource after completing the life cycle of the target GPU resource and deleting the record that the target GPU resource is a held resource in the default resource pool. Is further included. That is, the GPU resource held in the default resource pool is released after the life cycle of the resource is finished, and the record that the resource is held in the default resource pool is deleted. Achieve more effective use of resources and avoid unnecessary resource reconstruction when reconstructing resources held in the default resource pool.

選択的に、本開示の実施形態では、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいてデフォルト・リソース・プールにおいてリソースを再構築した後に、本方法は、ユーザー・デバイスが、デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたか否かを判断し、デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたとは限らない場合、デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、デフォルト・リソース・プールにおいてリソースを再構築することを更に含んでもよい。 Optionally, in an embodiment of the present disclosure, after rebuilding the resources in the default resource pool based on a record of the resources held in the default resource pool, the method allows the user device to reset the default resource pool to the default resource pool. Determines whether all held resources in the resource pool have been successfully rebuilt, and not all held resources in the default resource pool have been successfully rebuilt. It may further include releasing resources held in the pool and reconstructing resources in the default resource pool based on a record of resources held in the default resource pool.

或る特殊な場合では、デフォルト・リソース・プールにおいてホールドされたリソースが全て成功裏に再構築されたとは限らない場合がたまたま生じるかもしれず、その場合、デフォルト・リソース・プールにおいてホールドされたリソースをリリース及び再構築するステップが再実行され、その再実行は、デフォルト・リソース・プールにおいてホールドされたリソースが成功裏に再構築されることを保証する。 In one special case, it may happen that not all the resources held in the default resource pool have been successfully rebuilt, in which case the resources held in the default resource pool are The releasing and rebuilding steps are re-executed, which ensures that the resources held in the default resource pool are successfully reconstructed.

以下、ユーザー・デバイスで動作するクラウド・ゲーム・クライアントがユーザー・デバイスの例として使用される具体的なアプリケーションのシナリオとともに、リソースを構築する上記方法が説明される。図3に関し、クラウド・ゲーム・サーバー上でゲームが動作している。データ・フローは、クラウド・ゲーム・サーバーにより記録され、圧縮された後に、クラウド・ゲーム・クライアントへインターネットを介して送信される。クラウド・ゲーム・クライアントは、レンダリング命令をリプレイし、レンダリング・データをプレイし、レンダリング画像を再現する。実施形態では、クラウド・ゲーム・サーバーから受信されるレンダリング・リソースに従って、デフォルト・リソース・プールにおいて構築されるGPUリソースを記録するために、ダイレクト3D状態レコーダーがクラウド・ゲーム・クライアントに提供される。 In the following, the above method of building resources will be explained together with a specific application scenario in which a cloud game client running on a user device is used as an example of a user device. Regarding Figure 3, the game is running on a cloud game server. The data flow is recorded by the cloud game server, compressed, and then sent to the cloud game client over the Internet. The cloud game client replays the rendering instructions, plays the rendering data, and recreates the rendered image. In an embodiment, a direct 3D state recorder is provided to the cloud game client to record GPU resources built in the default resource pool according to the rendering resources received from the cloud game server.

図4に関し、本開示の別の実施形態におけるリソースを再構築する方法は、ステップ401ないしステップ406を含む。 With reference to FIG. 4, the method of reconfiguring resources in another embodiment of the present disclosure includes steps 401 to 406.

ステップ401において、クラウド・ゲーム・クライアントは、クラウド・ゲーム・サーバーにより送信されたレンダリング・データを受信する。 In step 401, the cloud game client receives the rendering data sent by the cloud game server.

レンダリング・データは、レンダリング命令と、レンダリング命令に対応するレンダリング・リソースとを含む。 The rendering data includes rendering instructions and rendering resources corresponding to the rendering instructions.

ステップ402において、クラウド・ゲーム・クライアントは、ダイレクト3D状態レコーダーにより、レンダリング・リソースに従ってダイレクト・リソースで構築されるGPUリソースを、デフォルト・リソースにおいてホールドされたリソースとして記録する。 In step 402, the cloud game client records, by the direct 3D state recorder, the GPU resource constructed by the direct resource according to the rendering resource as the resource held in the default resource.

レンダリング命令は、プレゼント・ファンクションを含む。 The rendering instruction includes a present function.

ステップ403において、テスト協同レベル・ファンクションが、レンダリング命令に挿入される。 In step 403, a test cooperation level function is inserted in the rendering instruction.

テスト協同レベル・ファンクションは、GPUリカバリを実行するか否かを判断するために使用される。 The test cooperation level function is used to determine whether to perform GPU recovery.

ステップ404において、クラウド・ゲーム・クライアントは、GPUがロスの状態にあるか否かを判断するために、レンダリング命令をリプレイする。ステップ405は、GPUがロスの状態にある場合に実行される。 In step 404, the cloud game client replays the rendering instruction to determine if the GPU is in a loss state. Step 405 is executed when the GPU is in the loss state.

GPUがロスの状態にあるか否かを判断するために、クラウド・ゲーム・クライアントがレンダリング命令をリプレイするステップは、クラウド・ゲーム・クライアントが、レンダリング命令をリプレイし、プレゼント・ファンクションのリターン値に基づいて、GPUがロスの状態にあるか否かを判断するステップを含んでもよい。プレゼント・ファンクションは、GPUがロスの状態に或る場合に「D3DERR_DEVICELOST」を返し、GPUがロスであるか否かは、リターン値が取得された場合に判断されることが可能である。 To determine whether the GPU is in a loss state, the step that the cloud game client replays the rendering instruction is performed by the cloud game client replaying the rendering instruction and returning the return value of the present function. Based on the above, a step of determining whether the GPU is in a loss state may be included. The present function returns “D3DERR_DEVICELOST” when the GPU is in the loss state, and whether the GPU is in the loss state can be determined when the return value is acquired.

ステップ405において、クラウド・ゲーム・クライアントは、GPUリカバリを実行するか否かを判断する。 In step 405, the cloud game client determines whether to perform GPU recovery.

テスト協同レベル・ファンクションから取得されるリターン値が「D3DERR_DEVICENOTRESET」である場合、GPUリカバリを実行するように決定される。 If the return value obtained from the test cooperation level function is "D3DERR_DEVICENOTRESET", it is decided to perform GPU recovery.

ステップ406において、クラウド・ゲーム・クライアントは、デフォルト・リソースにおいてホールドされたリソースをリリースし、GPUリカバリを実行するように判断された場合に、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、デフォルト・リソース・プールにおいてリソースを再構築する。 In step 406, the cloud game client releases the resources held in the default resources and based on the record of the resources held in the default resource pool if it is determined to perform GPU recovery. And rebuild resources in the default resource pool.

以下、ユーザー・デバイスの実施形態が説明される。ユーザー・デバイスはクラウド・インタラクティブ・システムに含まれる。クラウド・インタラクティブ・システムはサーバーも含む。サーバーは、グラフィックス処理ユニット(GPU)を含む。GPUはデフォルト・リソース・プールに対応する。 In the following, embodiments of the user device will be described. The user device is included in the cloud interactive system. The cloud interactive system also includes a server. The server includes a graphics processing unit (GPU). GPU corresponds to the default resource pool.

図5に関し、本開示の実施形態におけるユーザー・デバイス500は、受信ユニット501と、記録ユニット502と、判断ユニット503と、再構築ユニット504とを含む。 With reference to FIG. 5, the user device 500 in the embodiment of the present disclosure includes a receiving unit 501, a recording unit 502, a determining unit 503, and a reconstructing unit 504.

受信ユニット501は、サーバーにより送信されたレンダリング・データを受信するように構成され、レンダリング・データは、レンダリング命令と、レンダリング命令に対応するレンダリング・リソースとを含む。 The receiving unit 501 is configured to receive the rendering data sent by the server, the rendering data including rendering instructions and rendering resources corresponding to the rendering instructions.

レンダリング・ユニット502は、レンダリング・リソースに従ってデフォルト・リソース・プールにおいて構築されるGPUリソースを、デフォルト・リソース・プールにおいてホールドされたリソースとして記録するように構成される。 The rendering unit 502 is configured to record the GPU resources built in the default resource pool according to the rendering resources as resources held in the default resource pool.

判断ユニット503は、GPUがロスの状態にあるか否かを判断し、GPUがロスの状態にあった場合、GPUリカバリを実行するか否かを判断するように構成される。 The determining unit 503 is configured to determine whether the GPU is in the loss state and, if the GPU is in the loss state, determine whether to perform the GPU recovery.

再構築ユニット504は、デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、GPUリカバリを実行するように判断された場合には、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、デフォルト・リソース・プールにおいてリソースを再構築するように構成される。 The rebuilding unit 504 releases resources held in the default resource pool and, if it is determined to perform GPU recovery, based on the record of resources held in the default resource pool, Configured to rebuild resources in the default resource pool.

本開示の実施形態では、レンダリング・リソースに従ってデフォルト・リソース・プールにおいて構築されるGPUリソースは、サーバーにより送信されたレンダリング・データを受信ユニット501により受信した後に、デフォルト・リソース・プールにおいてホールドされたリソースとして記録ユニット502により記録される。GPUのロスの後に、GPUリカバリを実行するように判断ユニット503により判断された場合、デフォルト・リソース・プールにおいてホールドされたリソースは、リリースされ、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、再構築ユニット504により再構築され、これにより、GPUリカバリを実現し、インタラクティブ・アプリケーション・システムにおいて或る状況を回避し、その状況は、全てのデータはサーバーからしか得ることができないことに起因して、GPUのロスの後にGPUが復元できない状況であり、実施形態はシステムのノーマルな利用を保証してユーザーの体感を改善する。 In the embodiments of the present disclosure, GPU resources constructed in the default resource pool according to the rendering resources are held in the default resource pool after receiving the rendering data sent by the server by the receiving unit 501. Recorded by the recording unit 502 as a resource. If the decision unit 503 decides to perform GPU recovery after a GPU loss, the resources held in the default resource pool are released and recorded in the record of resources held in the default resource pool. Based on a rebuilding unit 504, which provides GPU recovery and avoids certain situations in interactive application systems, where all data can only be obtained from the server. Due to, the GPU cannot be restored after the loss of the GPU, and the embodiment guarantees normal use of the system to improve the user experience.

選択的に、レンダリング命令は、GPUの現在状態を検出する第1検出ファンクションを含む。 Optionally, the rendering instructions include a first detect function that detects the current state of the GPU.

判断ユニット503は、レンダリング命令をリプレイし、第1ファンクションにより返される第1リターン値を取得し、第1リターン値に基づいて、GPUはロスの状態にあるか否かを判断するように構成される。 The determining unit 503 is configured to replay the rendering instruction, obtain a first return value returned by the first function, and based on the first return value, determine whether the GPU is in a loss state. It

選択的に、ユーザー・デバイスは挿入ユニットを更に含む。 Optionally, the user device further comprises an insertion unit.

挿入ユニットは、GPUがロスの状態にあることが判断された後に、GPUリカバリを実行するか否かを検出する第2検出ファンクションをレンダリング命令に挿入するように構成される。 The insertion unit is configured to insert a second detection function into the rendering instruction that detects whether to perform GPU recovery after it is determined that the GPU is in a loss state.

判断ユニット503は、レンダリング命令をリプレイし、第2検出ファンクションにより返される第2リターン値を取得し、第2リターン値に基づいてGPUリカバリを実行するか否かを判断するように更に構成される。 The determining unit 503 is further configured to replay the rendering instruction, obtain a second return value returned by the second detection function, and determine whether to perform GPU recovery based on the second return value. ..

選択的に、レンダリング命令に従ってデフォルト・リソース・プールにおいて構築されるGPUリソースは、ターゲットGPUリソースを含み、レンダリング命令は、ターゲットGPUリソースのライフ・サイクル情報を含む。 Optionally, the GPU resource constructed in the default resource pool according to the rendering instruction includes a target GPU resource, and the rendering instruction includes life cycle information of the target GPU resource.

ユーザー・デバイスは削除ユニットを更に含む。 The user device further includes a deletion unit.

削除ユニットは、ターゲットGPUリソースのライフ・サイクルが終了した後に、ターゲットGPUリソースをリリースし、ターゲットGPUリソースがデフォルト・リソース・プールにおいてホールドされたリソースである旨の記録を削除するように構成される。 The delete unit is configured to release the target GPU resource after the end of the life cycle of the target GPU resource and delete the record that the target GPU resource is a held resource in the default resource pool. ..

デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいてデフォルト・リソースにおいてリソースを再構築した後に、再構築ユニット504は、デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたか否かを判断するように更に構成され、デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたとは限らない場合、再構築ユニット504は、デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、デフォルト・リソース・プールにおいてリソースを再構築するように構成される。 After rebuilding the resources in the default resource based on the record of the held resources in the default resource pool, the rebuilding unit 504 can successfully rebuild all the held resources in the default resource pool. Further configured to determine whether or not all of the resources held in the default resource pool have been successfully rebuilt, the rebuilding unit 504 is held in the default resource pool. Configured to release the resource and reconstruct the resource in the default resource pool based on the record of the held resources in the default resource pool.

本開示の実施形態におけるユーザー・デバイスは上記の機能的なエンティティの観点から説明されているが、以下、ハードウェア処理の観点から更に説明される。図6に関し、ユーザー・デバイスはクラウド・インタラクティブ・システムに適用され、クラウド・インタラクティブ・システムはサーバーを含む。本開示の実施形態におけるユーザー・デバイス600は、入力デバイス601と、出力デバイス602と、プロセッサ603と、メモリ604とを含む(プロセッサ603の個数は1つ又は複数であってもよく、図6では一例として1つのプロセッサ603が示されている)。ユーザー・デバイスはGPU605を更に含む。GPU605はデフォルト・リソース・プールに対応する。本開示の或る実施形態では、入力デバイス601と、出力デバイス602と、プロセッサ603と、メモリ604と、GPU605とはバスその他の手段により接続されることが可能である。図6では一例としてバス接続が示されている。 The user device in the embodiments of the present disclosure has been described in terms of the functional entities above, but is further described below in terms of hardware processing. With respect to Figure 6, the user device is applied to a cloud interactive system, which includes a server. The user device 600 in the embodiment of the present disclosure includes an input device 601, an output device 602, a processor 603, and a memory 604 (the number of the processors 603 may be one or more. One processor 603 is shown as an example). The user device further includes a GPU 605. GPU605 corresponds to the default resource pool. In some embodiments of the present disclosure, the input device 601, the output device 602, the processor 603, the memory 604, and the GPU 605 can be connected by a bus or other means. In FIG. 6, a bus connection is shown as an example.

本開示の実施形態に関わるユーザー・デバイスは、図6に示されているものより多い又は少ないパーツを含んでもよく、2つ以上のコンポーネントを結合してもよく、或いは、異なるパーツの構成又は設定を有していてもよい。各々のコンポーネントは、1つ以上の信号処理及び/又は特定用途向け集積回路を含むハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。 User devices according to embodiments of the present disclosure may include more or less parts than those shown in FIG. 6, may combine two or more components, or configure or configure different parts. May have. Each component may be implemented in hardware, software, or a combination thereof, including one or more signal processing and/or application specific integrated circuits.

メモリ604に保存されているオペレーション命令を呼び出すことにより、プロセッサ603は、以下のステップを実行するように使用され、そのステップは:入力ユニット601を介して、サーバーにより送信されたレンダリング・データを受信するステップであって、レンダリング・データは、レンダリング命令と、レンダリング命令に対応するレンダリング・リソースとを含む、ステップ;及びレンダリング・リソースに応じてデフォルト・リソース・プールにおいて構築されるGPUリソースを、デフォルト・リソース・プールにおいてホールドされたリソースとして記録するステップである。 By calling the operation instructions stored in the memory 604, the processor 603 is used to perform the following steps, which receive via the input unit 601 the rendering data sent by the server: The rendering data includes rendering instructions and rendering resources corresponding to the rendering instructions; and defaulting GPU resources constructed in a default resource pool according to the rendering resources. A step of recording as a held resource in the resource pool.

メモリ604に保存されているオペレーション命令を呼び出すことにより、GPU605は、以下のステップを実行するように使用され、そのステップは:GPUはロスの状態であるか否かを判断し、GPUがロスの状態にあった場合に、GPUリカバリを実行するか否かを判断し、GPUリカバリを実行するように判断された場合に、デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、デフォルト・リソース・プールにおいてリソースを再構築するステップである。 By invoking an operation instruction stored in memory 604, GPU 605 is used to perform the following steps, which include: determining if the GPU is in a loss state and the GPU is in a loss state. If it is in a state, it decides whether to perform GPU recovery, and if it decides to perform GPU recovery, it releases the resources held in the default resource pool and Rebuilding resources in the default resource pool based on the record of resources held in the pool.

選択的に、レンダリング命令は、GPUの現在状態を検出する第1検出ファンクションを含む。メモリ604に保存されているオペレーション命令を呼び出すことにより、GPU605は以下のステップを実行するように使用され、そのステップは、レンダリング命令をリプレイし、第1検出ファンクションによって返される第1リターン値を取得し、第1リターン値に基づいて、GPUはロスの状態にあるか否かを判断するステップである。 Optionally, the rendering instructions include a first detect function that detects the current state of the GPU. By invoking an operation instruction stored in memory 604, GPU 605 is used to perform the following steps, which replay the rendering instruction and obtain the first return value returned by the first detection function. Then, it is a step of judging whether or not the GPU is in the loss state based on the first return value.

選択的に、メモリ604に保存されているオペレーション命令を呼び出すことにより、GPU605は以下のステップを実行するように更に使用され、そのステップは、GPUがロスの状態にあると判断された後に、GPUリカバリを実行するか否かを検出するための第2検出ファンクションをレンダリング命令に挿入するステップである。 Optionally, the GPU 605 is further used to perform the following steps by invoking an operation instruction stored in the memory 604, which step is performed after the GPU is determined to be in a loss state. It is a step of inserting a second detection function for detecting whether or not to execute recovery into the rendering instruction.

メモリ604に保存されているオペレーション命令を呼び出すことにより、GPU605は以下のステップを実行するように更に使用され、そのステップは、レンダリング命令をリプレイし、第2検出ファンクションにより返される第2リターン値を取得し、
第2リターン値に基づいて、GPUリカバリを実行するか否かを判断するステップである。
By invoking an operation instruction stored in the memory 604, the GPU 605 is further used to perform the following steps, which replays the rendering instruction and returns the second return value returned by the second detection function. Acquired,
This is a step of determining whether or not to execute GPU recovery based on the second return value.

選択的に、レンダリング・リソースに応じてデフォルト・リソース・プールにおいて構築されるGPUリソースはターゲットGPUリソースを含み、レンダリング命令はターゲットGPUリソースのライフ・サイクル情報を含む。 Optionally, the GPU resource constructed in the default resource pool in response to the rendering resource includes the target GPU resource, and the rendering instruction includes life cycle information of the target GPU resource.

メモリ604に保存されているオペレーション命令を呼び出すことにより、GPU605は以下のステップを実行するように更に使用され、そのステップは、ターゲットGPUリソースのライフ・サイクルが終了した後に、ターゲットGPUリソースをリリースし、ターゲットGPUリソースがデフォルト・リソース・プールにおいてホールドされたリソースである旨の記録を削除するステップである。 By invoking an operation instruction stored in memory 604, GPU 605 is further used to perform the following steps, which release the target GPU resource after the life cycle of the target GPU resource ends. , A step of deleting a record that the target GPU resource is a resource held in the default resource pool.

選択的に、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいてデフォルト・リソース・プールにおいてリソースを再構築した後に、メモリ604に保存されているオペレーション命令を呼び出すことにより、GPU605は以下のステップを実行するように更に使用され、そのステップは、デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたか否かを判断し、デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたとは限らない場合、デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、前記デフォルト・リソース・プールにおいてリソースを再構築するステップである。 Optionally, by reconstructing resources in the default resource pool based on the records of resources held in the default resource pool, and then invoking operation instructions stored in memory 604, GPU 605 It is further used to perform a step, which determines whether all the resources held in the default resource pool have been successfully rebuilt, and all the resources held in the default resource pool. If the resource was not successfully rebuilt, it releases resources held in the default resource pool and, based on the record of resources held in the default resource pool, in the default resource pool. This is the step of rebuilding resources.

実施形態では、メモリ604はソフトウェア・プログラム及びモジュールを保存するために使用されてもよく、プロセッサ603は、メモリ604に保存されるソフトウェア・プログラム及びモジュールを動作させることにより、様々な機能アプリケーション及びデータ処理を実行する。 In embodiments, the memory 604 may be used to store software programs and modules, and the processor 603 may operate the software programs and modules stored in the memory 604 to perform various functional applications and data. Execute the process.

メモリ604は、主に、プログラム・ストレージ・エリア及びデータ・ストレージ・エリアを含んでもよい。プログラム・ストレージ・エリアは、オペレーティング・システム、少なくとも1つの機能により必要とされるアプリケーション等を保存してよい。データ・ストレージ・エリアは、サーバーの利用に応じて作成されるデータ(例えば、ミラーリングされたコンテナ・データ)等を保存するために使用されてもよい。更に、メモリ604は、高速ランダム・アクセス・メモリを含んでもよく、また、少なくとも1つのディスク・ストレージ・デバイス及びフラッシュ・メモリ・デバイスのような不揮発性メモリ、或いはその他の揮発性ソリッド・ステート・ストレージ・デバイスを含んでもよい。 The memory 604 may mainly include a program storage area and a data storage area. The program storage area may store an operating system, applications required by at least one function, and the like. The data storage area may be used to store data (for example, mirrored container data) created according to the use of the server. Further, the memory 604 may include high speed random access memory, and may be non-volatile memory such as at least one disk storage device and flash memory device, or other volatile solid state storage. -It may include a device.

プロセッサ603は信号処理能力を有する集積回路チップであってもよい。或る実現手段では、上記方法の各ステップは、集積論理回路、又はプロセッサ603内のソフトウェア形式の命令により完結されてもよい。 The processor 603 may be an integrated circuit chip having signal processing capability. In some implementations, each step of the method may be completed by an integrated logic circuit, or software-type instructions within processor 603.

プロセッサ604は、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)その他のプログラム可能な論理デバイス、ディスクリート・ゲート又はトランジスタ論理デバイス、ディスクリート・ハードウェア・コンポーネントであってもよく、それらはパブリック・アプリケーションの方法、ステップ及び論理ブロック・ダイアグラムを実現又は実行することが可能なものである。汎用プロセッサはマイクロプロセッサ又は任意の標準的なプロセッサであってもよい。 The processor 604 is a general purpose processor, digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete. Hardware components, which are capable of implementing or executing the methods, steps and logical block diagrams of public applications. A general purpose processor may be a microprocessor or any standard processor.

本開示の実施形態で開示される方法のステップは、ハードウェア・デコード・プロセッサにより、或いは、デコード・プロセッサにおけるハードウェア及びソフトウェア・モジュールの組み合わせにより、直接的に実行されてもよい。ソフトウェア・モジュールは、ランダム・メモリ、フラッシュ・メモリ、リード・オンリ・メモリ、プログラマブル・リード・オンリ・メモリ、電気的に消去可能なプログラマブル・メモリ、レジスタ等のような当該技術分野で成熟している記憶媒体に存在してもよい。記憶媒体はメモリ604内に位置していてもよい。プロセッサ603は、メモリ604内の情報を読み込み、そのハードウェアにより上記の方法ステップを完結する。 The steps of the methods disclosed in the embodiments of the present disclosure may be performed directly by a hardware decode processor or by a combination of hardware and software modules in the decode processor. Software modules are mature in the art such as random memory, flash memory, read only memory, programmable read only memory, electrically erasable programmable memory, registers, etc. It may exist in a storage medium. The storage medium may be located in the memory 604. Processor 603 reads the information in memory 604 and completes the above method steps with its hardware.

コンピュータ記憶媒体も本開示の実施形態で提供され、コンピュータ記憶媒体はプログラムを保存する。プログラムは上記の方法の実施形態におけるリソースを再構築する方法ステップの全部又は一部を含む。 A computer storage medium is also provided in the embodiments of the present disclosure, and the computer storage medium stores a program. The program comprises all or part of the method steps of reconstructing a resource in the above method embodiments.

説明の簡便化のため、上記の実施形態において、各実施形態の説明は特定の重点を有することが、当業者に明らかである。或る実施形態で詳細ではない説明に関し、他の実施形態の関連する説明が参照されてよい。 For ease of explanation, it will be apparent to those skilled in the art that in the above embodiments, the description of each embodiment has a particular emphasis. For details that are not detailed in one embodiment, reference may be made to the related descriptions in other embodiments.

上記の方法の実施形態は簡明化のために一連のアクションの組み合わせとして説明されていることに留意すべきである。本開示はアクションの説明された順番に限定されず、或るステップについては、本開示によるものと異なる順番で又は同時に実行されてよいことを、当業者は理解すべきである。また、本明細書で説明される実施形態は全て好ましい実施形態であり、包含されるアクション及びモジュールは必須でないかもしれないことも、当業者は理解すべきである。 It should be noted that the above method embodiments are described as a combination of a series of actions for the sake of clarity. Persons of ordinary skill in the art should understand that the present disclosure is not limited to the described order of actions, and that certain steps may be performed in a different order or concurrently with that according to the present disclosure. One of ordinary skill in the art should also understand that the embodiments described herein are all preferred embodiments and that the included actions and modules may not be necessary.

本開示の実施形態によるシステム、デバイス及び方法は他の形式で実現されてもよいことが、理解されるべきである。例えば、上記の装置の実施形態は例示的なものであるに過ぎない。例えば、ユニットの区分けは単なる論理的な機能的な区分けに過ぎず、実際の実現手段では他の区分けが存在し得る。例えば、幾つかのユニット又はコンポーネントは互いに組み合わせられてもよいし、或いは他のシステムに統合されてもよいし、或いは何らの特徴が無視される又は実現されなくてもよい。更に、表示される又は議論される相互結合又は直接的なカップリング或いは通信コネクションは、何らかのインターフェース、デバイス又はユニットを介する間接的なカップリング又は通信コネクションであってもよく、電気的、機械的又は他の形式であってもよい。 It should be appreciated that systems, devices and methods according to embodiments of the disclosure may be implemented in other forms. For example, the above-described device embodiments are merely exemplary. For example, the division of units is merely a logical functional division, and there may be other divisions in actual implementation means. For example, some units or components may be combined with each other, integrated into other systems, or some feature may be ignored or not implemented. Furthermore, the displayed or discussed interconnections or direct couplings or communication connections may be indirect couplings or communication connections via any interface, device or unit, electrical, mechanical or Other formats may be used.

個別的なコンポーネントとして説明されるユニットは、物理的に分離していてもしていなくてもよく、ユニットとして示されるコンポーネントは、一箇所に位置する又は複数のネットワーク・ユニットに分散されている物理的なユニットであってもなくてもよい。全部又は一部のユニットが、本開示の目的を達成するために必要に応じて選択されてよい。 Units described as discrete components may or may not be physically separated, and components shown as units may be physically located at one location or distributed across multiple network units. It may or may not be a unit. All or some units may be selected as needed to achieve the objectives of the present disclosure.

更に、本開示による実施形態における複数の機能ユニットは、1つの処理ユニットに統合されてもよいし、或いはそれらのユニットは物理的に分離したユニットであってもよいし、2つ以上のユニットが1つのユニットに統合されてもよい。上記の統合されたユニットは、ハードウェアの形式で、又はソフトウェア機能ユニットの形式で実現されてもよい。 Further, the functional units in the embodiments according to the present disclosure may be integrated into one processing unit, or the units may be physically separate units, or two or more units may be combined. It may be integrated into one unit. The above integrated units may be implemented in the form of hardware or in the form of software functional units.

統合されたユニットがソフトウェア機能ユニットの形式で実現され、独立した製品として販売又は使用される場合、統合されたユニットはコンピュータ読み取り可能な記憶媒体に保存されてもよい。そのような理解に基づいて、本開示の技術的解決手段の本質、従来技術に寄与する部分、或いは技術的解決手段の全部又は一部は、ソフトウェア製品の形式で実現されてよい。コンピュータ・ソフトウェア製品は、記憶媒体に保存され、本開示に従う実施形態で説明される方法ステップの全部又は一部の実行をコンピュータ・デバイス(パーソナル・コンピュータ、サーバー、又はウェブ・デバイスであってもよい)に指図する複数の命令を含む。記憶媒体は、USBフラッシュ・ディスク、取り外し可能なハード・ディスク、リード・オンリ・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、ディスケット又は光ディスクのような、プログラム・コードを保存することが可能な任意の媒体であってよい。 If the integrated unit is implemented in the form of a software functional unit and is sold or used as an independent product, the integrated unit may be stored on a computer-readable storage medium. Based on such an understanding, the essence of the technical solution of the present disclosure, the part contributing to the prior art, or all or part of the technical solution may be realized in the form of a software product. The computer software product is stored on a storage medium and may be a computer device (personal computer, server, or web device) that performs all or part of the method steps described in the embodiments according to the present disclosure. ). The storage medium can store program code such as USB flash disk, removable hard disk, read only memory (ROM), random access memory (RAM), diskette or optical disk Any medium may be used.

上記の実施形態は、本開示の技術的解決手段を限定するものではなく単なる例示に過ぎない。上記の実施形態に関連して詳細な説明がなされているが、本開示の技術的解決手段又は何らかの技術的特徴に対して、変形及び代替が当業者により為されてよい。そのような如何なる変形又は均等物も、本開示の実施形態の技術的解決手段の精神及び範囲から逸脱した技術的解決手段にはならない。 The embodiments described above are merely examples and do not limit the technical solutions of the present disclosure. Although the detailed description has been made in connection with the above embodiments, modifications and alternatives may be made by those skilled in the art to the technical solutions or some technical features of the present disclosure. Any such modifications or equivalents do not constitute a technical solution that deviates from the spirit and scope of the technical solution of the embodiments of the present disclosure.

Claims (11)

リソースを再構築する方法であって、前記方法はユーザー・デバイスとサーバーとを有するクラウド・インタラクティブ・システムに適用され、前記ユーザー・デバイスは、デフォルト・リソース・プールに対応するグラフィックス処理ユニット(GPU)を有し、前記方法は:
前記ユーザー・デバイスが、前記サーバーにより送信されたレンダリング・データを受信するステップであって、前記レンダリング・データは、レンダリング命令と、前記レンダリング命令に対応するレンダリング・リソースとを含む、ステップ;
前記ユーザー・デバイスが、前記レンダリング・リソースに応じて前記デフォルト・リソース・プールにおいて構築されるGPUリソースを、前記デフォルト・リソース・プールにおいてホールドされたリソースとして記録するステップ;
前記ユーザー・デバイスが、前記GPUはロスの状態であるか否かを前記レンダリング命令に応じて判断し、前記GPUがロスの状態にあった場合に、GPUリカバリを実行するか否かを判断するステップ;及び
前記GPUリカバリを実行するように判断された場合に、前記ユーザー・デバイスが、前記デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、前記デフォルト・リソース・プールにおいてリソースを再構築するステップ;
を有し、
前記レンダリング・リソースに応じて前記デフォルト・リソース・プールにおいて構築されるGPUリソースがターゲットGPUリソースを含み、前記レンダリング命令は前記ターゲットGPUリソースのライフ・サイクル情報を含み;
前記方法は:
前記ユーザー・デバイスが、前記ターゲットGPUリソースのライフ・サイクルが終了した後に、前記ターゲットGPUリソースをリリースし、前記ターゲットGPUリソースが前記デフォルト・リソース・プールにおいてホールドされたリソースである旨の記録を削除するステップ;
を更に有する
方法。
A method of reconfiguring resources, the method being applied to a cloud interactive system having a user device and a server, wherein the user device is a graphics processing unit (GPU) corresponding to a default resource pool. ), the method is:
The user device receiving rendering data sent by the server, the rendering data including rendering instructions and rendering resources corresponding to the rendering instructions;
The user device recording a GPU resource constructed in the default resource pool according to the rendering resource as a resource held in the default resource pool;
The user device determines whether the GPU is in a loss state according to the rendering instruction, and determines whether to perform a GPU recovery when the GPU is in a loss state. And a step of releasing the resources held in the default resource pool by the user device if it is determined to perform the GPU recovery. Rebuilding resources in the default resource pool based on records;
Have
GPU resources constructed in the default resource pool according to the rendering resources include target GPU resources, and the rendering instructions include life cycle information of the target GPU resources;
The method is:
The user device releases the target GPU resource after the end of the life cycle of the target GPU resource and deletes the record that the target GPU resource is a resource held in the default resource pool. Steps to do;
The method further comprising:
リソースを再構築する方法であって、前記方法はユーザー・デバイスとサーバーとを有するクラウド・インタラクティブ・システムに適用され、前記ユーザー・デバイスは、デフォルト・リソース・プールに対応するグラフィックス処理ユニット(GPU)を有し、前記方法は:
前記ユーザー・デバイスが、前記サーバーにより送信されたレンダリング・データを受信するステップであって、前記レンダリング・データは、レンダリング命令と、前記レンダリング命令に対応するレンダリング・リソースとを含む、ステップ;
前記ユーザー・デバイスが、前記レンダリング・リソースに応じて前記デフォルト・リソース・プールにおいて構築されるGPUリソースを、前記デフォルト・リソース・プールにおいてホールドされたリソースとして記録するステップ;
前記ユーザー・デバイスが、前記GPUはロスの状態であるか否かを前記レンダリング命令に応じて判断し、前記GPUがロスの状態にあった場合に、GPUリカバリを実行するか否かを判断するステップ;及び
前記GPUリカバリを実行するように判断された場合に、前記ユーザー・デバイスが、前記デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、前記デフォルト・リソース・プールにおいてリソースを再構築するステップ;
を有し、
前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて前記デフォルト・リソース・プールにおいてリソースを再構築した後に、前記方法は:
前記ユーザー・デバイスが、前記デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたか否かを判断し、前記デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたとは限らない場合、前記デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、前記デフォルト・リソース・プールにおいてリソースを再構築するステップ;
を更に有する
方法。
A method of rebuilding resources, the method being applied to a cloud interactive system having a user device and a server, wherein the user device is a graphics processing unit (GPU) corresponding to a default resource pool. ), the method is:
Said user device receiving rendering data sent by said server, said rendering data comprising rendering instructions and rendering resources corresponding to said rendering instructions;
The user device recording GPU resources constructed in the default resource pool according to the rendering resources as resources held in the default resource pool;
The user device determines whether the GPU is in a loss state according to the rendering instruction, and determines whether to perform a GPU recovery when the GPU is in a loss state. And the user device releases resources held in the default resource pool and determines that resources held in the default resource pool are determined to be performed by the GPU recovery. Rebuilding resources in the default resource pool based on records;
Have
After rebuilding resources in the default resource pool based on a record of the resources held in the default resource pool, the method is:
The user device determines whether all the resources held in the default resource pool have been successfully rebuilt, and all the resources held in the default resource pool have been successfully rebuilt. If not, release resources held in the default resource pool and rebuild resources in the default resource pool based on a record of resources held in the default resource pool Steps to do;
The method further comprising:
前記レンダリング命令は、前記GPUの現在状態を検出する第1検出ファンクションを含み;
前記ユーザー・デバイスが、前記GPUはロスの状態であるか否かを前記レンダリング命令に応じて判断するステップは:
前記ユーザー・デバイスが、前記レンダリング命令をリプレイし、前記第1検出ファンクションによって返される第1リターン値を取得するステップ;及び
前記ユーザー・デバイスが、前記第1リターン値に基づいて、前記GPUはロスの状態にあるか否かを判断するステップ;
を含む、請求項1又は2に記載の方法。
The rendering instruction includes a first detection function for detecting a current state of the GPU;
The user device determines whether the GPU is in a loss state according to the rendering instruction:
The user device replays the rendering instruction and obtains a first return value returned by the first detection function; and the user device loses the GPU based on the first return value. The step of determining whether or not
The method according to claim 1 or 2, comprising:
前記GPUがロスの状態にあると判断された後に、前記方法は:
前記ユーザー・デバイスが、前記GPUリカバリを実行するか否かを検出するための第2検出ファンクションを前記レンダリング命令に挿入するステップ;
を含み、前記ユーザー・デバイスが、前記GPUリカバリを実行するか否かを判断するステップは:
前記ユーザー・デバイスが、レンダリング命令をリプレイし、前記第2検出ファンクションにより返される第2リターン値を取得するステップ;及び
前記ユーザー・デバイスが、前記第2リターン値に基づいて、前記GPUリカバリを実行するか否かを判断するステップ;
を有する、請求項1又は2に記載の方法。
After it is determined that the GPU is in a loss state, the method is:
The user device inserting a second detection function in the rendering instruction to detect whether to perform the GPU recovery;
And the step of determining whether the user device performs the GPU recovery includes:
The user device replaying a rendering instruction and obtaining a second return value returned by the second detection function; and the user device performing the GPU recovery based on the second return value Determining whether to do;
The method according to claim 1 or 2, comprising:
クラウド・インタラクティブ・システムに含まれるユーザー・デバイスであって、前記クラウド・インタラクティブ・システムはサーバーも含み、前記ユーザー・デバイスは、デフォルト・リソース・プールに対応するグラフィックス処理ユニット(GPU)を有し、前記ユーザー・デバイスは:
前記サーバーにより送信されたレンダリング・データを受信するように構成される受信ユニットであって、前記レンダリング・データは、レンダリング命令と、前記レンダリング命令に対応するレンダリング・リソースとを含む、受信ユニット;
前記レンダリング・リソースに応じて前記デフォルト・リソース・プールにおいて構築されるGPUリソースを、前記デフォルト・リソース・プールにおいてホールドされたリソースとして記録する記録ユニット;
前記GPUはロスの状態であるか否かを前記レンダリング命令に応じて判断し、前記GPUがロスの状態にあった場合に、GPUリカバリを実行するか否かを判断する判断ユニット;及び
前記GPUリカバリを実行するように判断された場合に、前記デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、前記デフォルト・リソース・プールにおいてリソースを再構築する再構築ユニット;
を有し、
前記レンダリング・リソースに応じて前記デフォルト・リソース・プールにおいて構築されるGPUリソースがターゲットGPUリソースを含み、前記レンダリング命令は前記ターゲットGPUリソースのライフ・サイクル情報を含み;
前記ユーザー・デバイスは:
前記ターゲットGPUリソースのライフ・サイクルが終了した後に、前記ターゲットGPUリソースをリリースし、前記ターゲットGPUリソースが前記デフォルト・リソース・プールにおいてホールドされたリソースである旨の記録を削除するように構成される削除ユニット;
を更に有する
ユーザー・デバイス。
A user device included in a cloud interactive system, the cloud interactive system also includes a server, the user device having a graphics processing unit (GPU) corresponding to a default resource pool. , Said user device is:
A receiving unit configured to receive rendering data sent by the server, the rendering data including rendering instructions and rendering resources corresponding to the rendering instructions;
A recording unit for recording the GPU resource constructed in the default resource pool according to the rendering resource as a resource held in the default resource pool;
A determining unit that determines whether the GPU is in a loss state according to the rendering command, and determines whether to perform GPU recovery when the GPU is in a loss state; and the GPU Releasing a resource held in the default resource pool when it is determined to perform recovery, and based on a record of the resources held in the default resource pool, the default resource pool A reconstruction unit for reconstructing resources at:
Have
GPU resources constructed in the default resource pool according to the rendering resources include target GPU resources, and the rendering instructions include life cycle information of the target GPU resources;
The user device is:
Configured to release the target GPU resource after the life cycle of the target GPU resource has ended and delete the record that the target GPU resource is a held resource in the default resource pool Deletion unit;
A user device further comprising:
クラウド・インタラクティブ・システムに含まれるユーザー・デバイスであって、前記クラウド・インタラクティブ・システムはサーバーも含み、前記ユーザー・デバイスは、デフォルト・リソース・プールに対応するグラフィックス処理ユニット(GPU)を有し、前記ユーザー・デバイスは:
前記サーバーにより送信されたレンダリング・データを受信するように構成される受信ユニットであって、前記レンダリング・データは、レンダリング命令と、前記レンダリング命令に対応するレンダリング・リソースとを含む、受信ユニット;
前記レンダリング・リソースに応じて前記デフォルト・リソース・プールにおいて構築されるGPUリソースを、前記デフォルト・リソース・プールにおいてホールドされたリソースとして記録する記録ユニット;
前記GPUはロスの状態であるか否かを前記レンダリング命令に応じて判断し、前記GPUがロスの状態にあった場合に、GPUリカバリを実行するか否かを判断する判断ユニット;及び
前記GPUリカバリを実行するように判断された場合に、前記デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、前記デフォルト・リソース・プールにおいてリソースを再構築する再構築ユニット;
を有し、
前記再構築ユニットは、
前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて前記デフォルト・リソース・プールにおいてリソースを再構築した後に、前記デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたか否かを判断し;及び
前記デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたとは限らない場合、前記デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、前記デフォルト・リソース・プールにおいてリソースを再構築する;
ように更に構成される
ユーザー・デバイス。
A user device included in a cloud interactive system, the cloud interactive system also includes a server, the user device having a graphics processing unit (GPU) corresponding to a default resource pool. , Said user device is:
A receiving unit configured to receive rendering data sent by the server, the rendering data including rendering instructions and rendering resources corresponding to the rendering instructions;
A recording unit for recording the GPU resource constructed in the default resource pool according to the rendering resource as a resource held in the default resource pool;
A determining unit that determines whether the GPU is in a loss state according to the rendering command, and determines whether to perform GPU recovery when the GPU is in a loss state; and the GPU Releasing a resource held in the default resource pool when it is determined to perform recovery, and based on a record of the resources held in the default resource pool, the default resource pool A reconstruction unit for reconstructing resources at:
Have
The reconstruction unit is
All resources held in the default resource pool have been successfully rebuilt after rebuilding resources in the default resource pool based on a record of held resources in the default resource pool And if not all the resources held in the default resource pool have been successfully rebuilt, release the held resources in the default resource pool, Rebuilding resources in the default resource pool based on a record of the resources held in the resource pool;
User device further configured.
前記レンダリング命令は、前記GPUの現在状態を検出する第1検出ファンクションを含み;
前記判断ユニットは、前記レンダリング命令をリプレイし、前記第1検出ファンクションによって返される第1リターン値を取得し、前記第1リターン値に基づいて、前記GPUはロスの状態にあるか否かを判断するように構成される;
請求項5又は6に記載のユーザー・デバイス。
The rendering instruction includes a first detection function for detecting a current state of the GPU;
The determining unit replays the rendering instruction, obtains a first return value returned by the first detection function, and determines whether the GPU is in a loss state based on the first return value. Configured to:
The user device according to claim 5 or 6.
前記GPUがロスの状態にあると判断された後に、前記GPUリカバリを実行するか否かを検出するための第2検出ファンクションを前記レンダリング命令に挿入するように構成される挿入ユニット;
を更に有し、前記判断ユニットは、前記レンダリング命令をリプレイし、前記第2検出ファンクションにより返される第2リターン値を取得し、前記第2リターン値に基づいて、前記GPUリカバリを実行するか否かを判断するように更に構成される;
請求項5又は6に記載のユーザー・デバイス。
An insertion unit configured to insert a second detection function into the rendering instruction to detect whether to perform the GPU recovery after it is determined that the GPU is in a loss state;
Further comprising, the determining unit replays the rendering instruction, obtains a second return value returned by the second detection function, and performs the GPU recovery based on the second return value. Further configured to determine whether;
The user device according to claim 5 or 6.
ユーザー・デバイス及びサーバーを有するクラウド・インタラクティブ・システムであって、前記ユーザー・デバイスは、は請求項5ないし8のうち何れか一項に記載のユーザー・デバイスである、クラウド・インタラクティブ・システム。 A cloud interactive system having a user device and a server, wherein the user device is the user device according to any one of claims 5 to 8. 1つ以上のコンピュータ・プログラムを保存する不揮発性記憶媒体であって、前記コンピュータ・プログラムは1つ以上のメモリを有するプロセッサにより実行される命令を有し、前記命令は、コンピュータにより実行される場合に、前記コンピュータにオペレーションを実行させ、前記オペレーションは:
サーバーにより送信されたレンダリング・データを受信するステップであって、前記レンダリング・データは、レンダリング命令と、前記レンダリング命令に対応するレンダリング・リソースとを含む、ステップ;
前記レンダリング・リソースに応じてデフォルト・リソース・プールにおいて構築されるGPUリソースを、前記デフォルト・リソース・プールにおいてホールドされたリソースとして記録するステップ;
GPUはロスの状態であるか否かを前記レンダリング命令に応じて判断し、前記GPUがロスの状態にあった場合に、GPUリカバリを実行するか否かを判断するステップ;及び
前記GPUリカバリを実行するように判断された場合に、前記デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、前記デフォルト・リソース・プールにおいてリソースを再構築するステップ;
を有し、
前記レンダリング・リソースに応じて前記デフォルト・リソース・プールにおいて構築されるGPUリソースがターゲットGPUリソースを含み、前記レンダリング命令は前記ターゲットGPUリソースのライフ・サイクル情報を含み;
前記オペレーションは:
前記コンピュータが、前記ターゲットGPUリソースのライフ・サイクルが終了した後に、前記ターゲットGPUリソースをリリースし、前記ターゲットGPUリソースが前記デフォルト・リソース・プールにおいてホールドされたリソースである旨の記録を削除するステップ;
を更に有する
不揮発性記憶媒体。
A non-volatile storage medium for storing one or more computer programs, the computer programs having instructions to be executed by a processor having one or more memories, the instructions being executed by a computer. Causing the computer to perform an operation, the operation comprising:
Receiving rendering data sent by a server, the rendering data including rendering instructions and rendering resources corresponding to the rendering instructions;
Recording a GPU resource constructed in a default resource pool according to the rendering resource as a resource held in the default resource pool;
A step of determining whether the GPU is in the loss state according to the rendering command, and determining whether to execute the GPU recovery when the GPU is in the loss state; and the GPU recovery Release resources held in the default resource pool when determined to execute, and resources in the default resource pool based on a record of resources held in the default resource pool Reconstructing;
Have
GPU resources constructed in the default resource pool according to the rendering resources include target GPU resources, and the rendering instructions include life cycle information of the target GPU resources;
The operation is:
The computer releasing the target GPU resource after the end of the life cycle of the target GPU resource and deleting the record that the target GPU resource is a held resource in the default resource pool; ;
A non-volatile storage medium further comprising:
1つ以上のコンピュータ・プログラムを保存する不揮発性記憶媒体であって、前記コンピュータ・プログラムは1つ以上のメモリを有するプロセッサにより実行される命令を有し、前記命令は、コンピュータにより実行される場合に、前記コンピュータにオペレーションを実行させ、前記オペレーションは:
サーバーにより送信されたレンダリング・データを受信するステップであって、前記レンダリング・データは、レンダリング命令と、前記レンダリング命令に対応するレンダリング・リソースとを含む、ステップ;
前記レンダリング・リソースに応じてデフォルト・リソース・プールにおいて構築されるGPUリソースを、前記デフォルト・リソース・プールにおいてホールドされたリソースとして記録するステップ;
GPUはロスの状態であるか否かを前記レンダリング命令に応じて判断し、前記GPUがロスの状態にあった場合に、GPUリカバリを実行するか否かを判断するステップ;及び
前記GPUリカバリを実行するように判断された場合に、前記デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、前記デフォルト・リソース・プールにおいてリソースを再構築するステップ;
を有し、
前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて前記デフォルト・リソース・プールにおいてリソースを再構築した後に、前記オペレーションは:
前記コンピュータが、前記デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたか否かを判断し、前記デフォルト・リソース・プールにおいてホールドされたリソース全てが成功裏に再構築されたとは限らない場合、前記デフォルト・リソース・プールにおいてホールドされたリソースをリリースし、前記デフォルト・リソース・プールにおいてホールドされたリソースの記録に基づいて、前記デフォルト・リソース・プールにおいてリソースを再構築するステップ;
を更に有する
不揮発性記憶媒体。
A non-volatile storage medium for storing one or more computer programs, the computer programs having instructions to be executed by a processor having one or more memories, the instructions being executed by a computer. Causing the computer to perform an operation, the operation comprising:
Receiving rendering data sent by a server, the rendering data including rendering instructions and rendering resources corresponding to the rendering instructions;
Recording a GPU resource constructed in a default resource pool according to the rendering resource as a resource held in the default resource pool;
A step of determining whether the GPU is in the loss state according to the rendering command, and determining whether to execute the GPU recovery when the GPU is in the loss state; and the GPU recovery Release resources held in the default resource pool when determined to execute, and resources in the default resource pool based on a record of resources held in the default resource pool Reconstructing;
Have
After rebuilding resources in the default resource pool based on the records of resources held in the default resource pool, the operations are:
The computer determines whether all the resources held in the default resource pool have been successfully rebuilt, and all the resources held in the default resource pool have been successfully rebuilt. If not, releasing resources held in the default resource pool and reconstructing resources in the default resource pool based on a record of resources held in the default resource pool. ;
A non-volatile storage medium further comprising:
JP2018538859A 2016-01-29 2017-01-25 GPU resource reconstruction method, user device, system and storage medium Active JP6715334B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610067210.1 2016-01-29
CN201610067210.1A CN105740061B (en) 2016-01-29 2016-01-29 A kind of method, user equipment and system that GPU resource is rebuild
PCT/CN2017/072537 WO2017129117A1 (en) 2016-01-29 2017-01-25 Gpu resource reconstruction method, user device, system, and storage medium

Publications (2)

Publication Number Publication Date
JP2019509547A JP2019509547A (en) 2019-04-04
JP6715334B2 true JP6715334B2 (en) 2020-07-01

Family

ID=56247261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018538859A Active JP6715334B2 (en) 2016-01-29 2017-01-25 GPU resource reconstruction method, user device, system and storage medium

Country Status (4)

Country Link
JP (1) JP6715334B2 (en)
KR (1) KR102091961B1 (en)
CN (1) CN105740061B (en)
WO (1) WO2017129117A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740061B (en) * 2016-01-29 2019-05-31 腾讯科技(深圳)有限公司 A kind of method, user equipment and system that GPU resource is rebuild
CN110648272B (en) * 2019-08-21 2023-10-03 北京达佳互联信息技术有限公司 Graphics resource conversion method and device, electronic equipment and storage medium
CN110502399B (en) * 2019-08-23 2023-09-01 广东浪潮大数据研究有限公司 Fault detection method and device
CN111680015B (en) 2020-05-29 2023-08-11 北京百度网讯科技有限公司 File resource processing method, device, equipment and medium
CN113347432B (en) * 2021-05-27 2023-03-28 深圳万兴软件有限公司 Video encoding and decoding method and device, computer equipment and storage medium

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100618159B1 (en) * 2004-08-05 2006-08-29 한국정보통신대학교 산학협력단 System and method for policy quorum grid resource management
US7827491B2 (en) 2006-05-12 2010-11-02 Tran Bao Q Systems and methods for video editing
KR100960164B1 (en) 2006-08-01 2010-05-26 엔비디아 코포레이션 Multi-graphics processor system and method for processing content communicated over a network for display purposes
CN100555245C (en) * 2007-01-10 2009-10-28 中兴通讯股份有限公司 Resource storage method and device
US8803892B2 (en) * 2010-06-10 2014-08-12 Otoy, Inc. Allocation of GPU resources across multiple clients
US9146909B2 (en) 2011-07-27 2015-09-29 Qualcomm Incorporated Web browsing enhanced by cloud computing
CN102866919B (en) * 2012-07-31 2014-11-05 电子科技大学 Cloud drawing-based large-sized three-dimensional scene multi-person collaborative creation method
CN103595828A (en) * 2012-08-13 2014-02-19 南京杰诺瀚软件科技有限公司 An apparatus and a method for expending functions of a handset and a tablet computer
DE112013005689T5 (en) * 2012-11-28 2015-09-10 Nvidia Corporation Portable game console
CN103095828B (en) * 2013-01-14 2016-03-30 上海电力学院 The Web3D synchronous conferencing system played up based on cloud and realize synchronous method
KR20150054484A (en) * 2013-11-12 2015-05-20 주식회사 시큐아이 Computing apparatus for running web application and method for measuring response time thereof
CN105740061B (en) * 2016-01-29 2019-05-31 腾讯科技(深圳)有限公司 A kind of method, user equipment and system that GPU resource is rebuild

Also Published As

Publication number Publication date
CN105740061A (en) 2016-07-06
CN105740061B (en) 2019-05-31
WO2017129117A1 (en) 2017-08-03
KR102091961B1 (en) 2020-03-20
KR20180100626A (en) 2018-09-11
JP2019509547A (en) 2019-04-04

Similar Documents

Publication Publication Date Title
JP6715334B2 (en) GPU resource reconstruction method, user device, system and storage medium
US9164798B2 (en) Method, apparatus and computer for loading resource file for game engine
WO2018058811A1 (en) Virtual reality scene loading method and device
KR20220125198A (en) Data additional writing method, apparatus, electronic device, storage medium and computer programs
CN111737212A (en) Method and equipment for improving performance of distributed file system
CN103995772A (en) RAID card log completely-storing method based on LINUX operation system
CN116719484A (en) Method, device, equipment and medium for processing write data of disk array
CN114666652A (en) Method, device, medium and program product for playing video
CN115934999A (en) Video stream data storage method, device and medium based on block file
CN111142787A (en) Storage-layered data exchange testing method, system, terminal and storage medium
CN116841799A (en) Virtual machine backup method, system, equipment and readable storage medium
CN108416830B (en) Animation display control method, device, equipment and storage medium
CN106940626B (en) Method and system for acquiring difference data among multiple disks of virtual machine
CN115480880A (en) Continuous data protection method and system and electronic equipment
US10803109B2 (en) Method and device for reading and writing video data in NAS device
CN114253752A (en) Application crash processing method, device, equipment and medium
CN114860166A (en) Volume localization method, device and medium
CN113986599A (en) Application processing method, terminal, server, equipment and storage medium
CN109542531B (en) File layout adjustment method and device
CN113282237A (en) Partition creating method and device, storage medium and computer equipment
CN111026720A (en) File processing method, system and related equipment
CN111381977A (en) Message processing method and device
CN111625192B (en) Metadata object access method, device, equipment and medium
CN105893394B (en) Large file simulation method and device
US11442668B2 (en) Prioritizing volume accesses in multi-volume storage device based on execution path of a service

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200608

R150 Certificate of patent or registration of utility model

Ref document number: 6715334

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250