JP7061294B2 - コプロセッサ処理の高速化の方法とプログラム - Google Patents

コプロセッサ処理の高速化の方法とプログラム Download PDF

Info

Publication number
JP7061294B2
JP7061294B2 JP2020126673A JP2020126673A JP7061294B2 JP 7061294 B2 JP7061294 B2 JP 7061294B2 JP 2020126673 A JP2020126673 A JP 2020126673A JP 2020126673 A JP2020126673 A JP 2020126673A JP 7061294 B2 JP7061294 B2 JP 7061294B2
Authority
JP
Japan
Prior art keywords
update log
processor
memory
data
parallel processing
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
JP2020126673A
Other languages
English (en)
Other versions
JP2022023618A (ja
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 浩平 海外
Priority to JP2020126673A priority Critical patent/JP7061294B2/ja
Publication of JP2022023618A publication Critical patent/JP2022023618A/ja
Application granted granted Critical
Publication of JP7061294B2 publication Critical patent/JP7061294B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Description

本願発明は、GPU(Graphical Processing Unit)等のコプロセッサの処理高速化のための方法、プログラム、および、コンピューター装置、より詳細にはデータがランダムに更新される場合の高速化のための方法と方法、プログラム、および、コンピューター装置に関する。
GPU等のコプロセッサが提供する並列処理機能により、コンピューター・システムを高速化する手法は公知である(たとえば、特許文献1)。一般的に、GPUが備える並列処理ユニットはホスト・システムとは別のデバイス・メモリを持ち、処理すべきデータを事前にデバイス・メモリ上にロードしておく必要がある。デバイス・メモリ上のデータ形式は、GPUの並列処理ユニットで実行されるデバイス・プログラムが任意に定義することができるが、表形式のように、均一なデータ構造を持ち数万個から数億個の要素を含む構造化データを共通の形式で管理することが広く行なわれている。このような並列処理用データ構造を一般にデータストアと呼ぶ。
データストア上に、たとえばモバイル機器、自動車、情報家電等のデバイスが備えるセンサーから収集したデータを保持する場合、これら外部デバイスの状態変化に応じてデータストアの内容を更新する必要がある。このようなワークロードはIoT(Internet of Things)やM2M(Machine-to-Machine)と呼ばれる応用分野では一般的に見られるものだが、通常、数秒単位の一定時間内で見たときに更新が必要なデータ要素は全体のごく一部であるため、データストアを書き換えるために、その内容全体を再度GPUへロードすることは効率が悪い。一般に、コプロセッサとホスト・システム間を接続するI/Oバスの帯域幅は、コンピューター・システム性能のボトルネックとなることが多い貴重なリソースであるため、この点が特に問題となる。
この課題に対応するために、デバイス・メモリを固定サイズのページに分割し、更新があったページだけをオンデマンドで書き換える技術が知られている(たとえば、特許文献2、特許文献3、非特許文献1)。この技術では、ホスト・メモリとデバイス・メモリ双方の論理アドレス空間を確保し、並列処理ユニットによるデバイス・メモリのページに対する実際のアクセス時まで、デバイス・メモリに対する物理メモリのページの割り当てを遅延させる。並列処理ユニットまたはホスト・プロセッサによる最初のアクセスの時に、ページ・フォールト機構によりゼロ・ページが割り当てられる。次回以降のアクセスでは、デバイス・メモリ側に割り当て済みページがあり、ホスト側で当該領域にメモリアクセスがあった場合、あるいは、ホスト側に割り当て済みページがありGPU側で当該領域にメモリアクセスがあった場合、実行中のプログラムを一時停止して、4キロバイトや64キロバイトといった大きさのページフレームをPCI-EなどのI/Oバスを介して転送し、物理ページを割り当てた上でプログラムの実行を再開する。
これはデータストア上で更新されるデータが連続的であれば効率的であるが、IoTやM2M等の応用分野では外部機器やセンサー等から送出されるデータの到着はランダムであることが多く、したがって、データストア上で散逸した不連続な領域が更新されることを考慮する必要がある。たとえば、データストア上の6ヵ所を更新する場合、個々のデータ長は十分に小さく(たとえば、100バイト)とも、それらが離れた位置の更新であれば、ページサイズ(たとえば、4キロバイト)×6回分のデータ転送が必要となり、効率がきわめて悪化していた(600バイトのデータの更新のために24キロバイトのデータ転送を行なわなければならなかった)。また、仮に1つのデータ項目の更新であってもページ全体を転送しなければならないことから、貴重なリソースであるI/Oバスの帯域幅を過剰に消費してしまうと言う課題があった。
公表特許公報 再表2017/085985 特許公開公報 特開2008-033928 特許公開公報 特開2019-71122
CUDA Programming Guide - K. Unified Memory Programming (https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#um-data-migration)
データストア上の不連続な領域が更新される場合でも効率的な処理が行なえるコプロセッサのメモリ管理機能を提供する。
本願発明は、第1のプロセッサと第2のプロセッサとI/Oバスとを備え、前記第1のプロセッサは、第1のメモリにアクセス可能であり、前記第2のプロセッサは、並列処理手段を備え、第2のメモリにアクセス可能であり、前記第2のメモリは、前記並列処理手段が並列処理を行なうための並列処理用データ構造を保存する、コンピューター上で実行されるメモリ管理方法であって、前記第1のプロセッサが、前記第1のメモリ上の第1の更新ログにデータを追加するステップと、前記第1のプロセッサが、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記第2のメモリ上の第2の更新ログに反映するステップと、前記第2のプロセッサが、前記第2の更新ログ上に反映されたデータを前記並列処理用データ構造に反映するステップとを含むメモリ管理方法を提供することで上記課題を解決する。
また、本願発明は、前記第1のメモリに保存されたプログラムが、所定の時間間隔ごとに、前記第1のプロセッサに、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記第2のメモリ上の第2の更新ログに反映するステップを実行させる、段落0009に記載の方法を提供することで上記課題を解決する。
また、本願発明は、前記第1のメモリは不揮発性メモリである、段落0009、または、段落0010に記載の方法を提供することで上記課題を解決する。
また、本願発明は、前記第1のメモリに保存された前記更新ログはインデックスを含む、段落0009、段落0010、または、段落0011に記載の方法を提供することで上記課題を解決する。
また、本願発明は、前記第2のメモリに保存された前記更新ログはインデックスを含む、段落0009、段落0010、段落0011、または、段落0012に記載の方法を提供することで上記課題を解決する。
また、本願発明は、第1のプロセッサと第2のプロセッサとI/Oバスとを備え、前記第1のプロセッサは、第1のメモリにアクセス可能であり、前記第2のプロセッサは、並列処理手段を備え、第2のメモリにアクセス可能であり、前記第2のメモリは、前記並列処理手段が並列処理を行なうための並列処理用データ構造を保存する、コンピューター上で実行されるメモリ管理プログラムであって、前記第1のプロセッサに、前記第1のメモリ上の第1の更新ログにデータを追加させる命令群と、前記第1のプロセッサに、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記第2のメモリ上の第2の更新ログに反映させる命令群と、前記第2のプロセッサに、前記第2の更新ログ上に反映されたデータを前記並列処理用データ構造に反映させる命令群とを含むメモリ管理プログラムを提供することで上記課題を解決する。
また、本願発明は、所定の時間間隔ごとに、前記第1のプロセッサに、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記第2のメモリ上の第2の更新ログに反映させる命令群を含む段落0014に記載のメモリ管理プログラムを提供することで上記課題を解決する。
また、本願発明は、前記第1のメモリは不揮発性メモリである、段落0014、または、段落0015に記載のプログラムを提供することで上記課題を解決する。
また、本願発明は、前記第1のメモリに保存された前記更新ログはインデックスを含む、段落0014、段落0015、または、段落0016に記載のプログラムを提供することで上記課題を解決する。
また、本願発明は、前記第2のメモリに保存された前記更新ログはインデックスを含む、段落0014、段落0015、段落0016、または、段落0017に記載の方法を提供することで上記課題を解決する。
また、本願発明は、第1のプロセッサと第2のプロセッサとI/Oバスとを備え、前記第1のプロセッサは、第1のメモリにアクセス可能であり、前記第2のプロセッサは、並列処理手段を備え、第2のメモリにアクセス可能であり、前記第2のメモリは、前記並列処理手段が並列処理を行なうための並列処理用データ構造を保存し、前記第1のプロセッサが、前記第1のメモリ上の第1の更新ログにデータを追加し、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記第2のメモリ上の第2の更新ログに反映し、前記第2のプロセッサが、前記第2の更新ログ上に反映されたデータを前記並列処理用データ構造に反映するコンピューター装置を提供することで上記課題を解決する。
また、本願発明は、前記第1のプロセッサが、所定の時間間隔ごとに、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記第2のメモリ上の第2の更新ログに反映する、段落0019に記載のコンピューター装置を提供することで上記課題を解決する。
また、本願発明は、前記第1のメモリは不揮発性メモリである、段落0019、または、段落0020に記載のコンピューター装置を提供することで上記課題を解決する。
また、本願発明は、前記第1のメモリに保存された前記更新ログはインデックスを含む、段落0019、段落0020、または、段落0021に記載のコンピューター装置を提供することで上記課題を解決する。
また、本願発明は、前記第2のメモリに保存された前記更新ログはインデックスを含む、段落0019、段落0020、段落0021、または、段落0022に記載のコンピューター装置を提供することで上記課題を解決する。
データストア上の不連続な領域が更新される場合でも効率的な処理が行なえるコプロセッサのメモリ管理機能が提供される。
本願発明に係る方法が実施されるコンピューター・システムの構成の例である。 本願発明に係る方法の第1の実施例の構成を示す全体的概念図である。 本願発明に係る方法で使用されるデータ形式の例を示す概念図である。 本願発明に係る方法の第2の実施例の構成を示す全体的概念図である。 本願発明に係る方法の第3の実施例の構成を示す全体的概念図である。 本願発明に係る方法の第4の実施例の構成を示す全体的概念図である。 本願発明に係る方法の第5の実施例の構成を示す全体的概念図である。
以下に図を参照しながら本願発明の実施例について説明する。
図1に、本願発明に係る方法およびプログラムが実行されるコンピューター・システム(100)の構成例を示す。ホスト・システム(110)はCPU(Central Processing Unit)(111)とホスト・メモリ(112)を備える。加えて、ホスト・システムは外部とデータをやり取りするためにネットワーク受信部(113)を介して、センサー等の外部デバイスと接続されている。GPU等のコプロセッサ(以下、「GPU」と総称する)(120)は、並列処理ユニット(121)とデバイス・メモリ(122)とを備える。ホスト・システム(110)とGPU(120)との間は、PCI-E等のI/Oバス(130)で接続されている。ホスト・メモリ(112)とデバイス・メモリ(122)との間は、DMA(Direct Memory Access)によるデータ転送が可能になっていることが好ましい。本コンピューター・システム(100)上で実行されるプログラムはホスト・プログラム(図示せず)とデバイス・プログラム(図示せず)に分割され、実行される。ホスト・プログラムは、ホスト・メモリ(112)上に格納され、CPU(111)により実行される。デバイス・プログラムは、デバイス・メモリ(122)に格納され、並列処理ユニット(121)により実行される。デバイス・プログラムは並列処理ユニット(121)が提供する並列処理により高速化が可能な設計であることが望ましい。
図2に本願発明の第1の実施例の全体構成を示す。並列処理ユニット(121)による並列処理の対象となるデータであるデータストア(210)は、デバイス・メモリ(122)に格納されている。外部デバイスが生成したデータは、ネットワーク受信部(113)を介してログ受信プログラム(221)に渡され、ログ受信プログラム(221)はこれをホスト・メモリ(112)上のホスト側更新ログ(222)に書き込む。ログ受信プログラム(221)は独立したプログラムであっても、ホスト・プログラムの一部であってもよい。この処理は、ホスト・メモリ(112)上のデータの更新(追記)のみであるため、処理はきわめて短時間で終わる。その後、別の常駐プログラム(223)が(たとえば、1秒間隔など)定期的にホスト側更新ログ(222)をチェックし、1件以上の要素の追加を発見した場合には、ホスト側更新ログ(222)の内容をI/Oバス(130)を介してGPU(120)のデバイス・メモリ(122)上の更新ログ(211)へ転送し、次いでデータストア更新プログラム(212)を実行する。データストア更新プログラム(212)は、GPU(120)の並列処理ユニット(121)(典型的には数100コアから数1000コアを備える)で並列に実行されるため、更新ログ(211)に記録された要素数が多い場合でもデータ更新の遅延は起こりにくい(I/Oバス(130)を通じたデータ転送以上にボトルネックとなることはない)。
図3に本願発明に係るデータストア(210)と更新ログ(211)のデータ形式の例を示す。データストア(210)のデータ形式は、GPU(120)の並列処理ユニット(121)の仕様およびデバイス・プログラムのロジックにより自由に決定してよいが、典型的な並列処理では、多数の行の共通の列を並列処理することが多いことから、各行に属するデータ要素を列ごとにまとめた列指向のデータ形式となる。各列の先頭データを示すポインターをヘッダー情報として格納してもよい。このようなデータ形式であるがゆえに、従来技術では、データ更新が不連続に行なわれる場合には効率が悪かった。なお、データストア(210)の項目の更新や削除を効率的に行なうために、各レコードに行属性を設け、無効フラグを設定できるようにし、デバイス・プログラムが無効フラグのあるレコードを読み飛ばすようなロジックを採用してよい。こうすることで、更新ログ(211)の差分適用による更新処理を削除(無効フラグの設定)と末尾への行追加により実現でき、効率化できる可能性がある。
更新ログ(211)も更新すべき行を識別する情報と対象となる更新情報を効率的に格納できる任意のデータ形式を使用してよいが、図3に示すようにデータストア(210)上の位置を示す行ID(あるいは行をユニークに識別する主キー)と更新すべき値が記録された、行指向のデータ形式を使用することが望ましい。また、ホスト側更新ログ(222)には更新ログ(211)と同一のデータ形式を使用してもよいが、異なったデータ形式を使用してもよい。更新ログ(211)上では、行を識別する情報と更新情報をメモリ上の隣接した位置に保持することができるため、更新すべき差分データが10要素であろうとも、100万要素であろうとも、その差分自体を記録するために必要な分量のデータだけをI/Oバス(130)を介して転送すればよく、更新と直接関係ないデータ転送のオーバーヘッドがないため、コンピューター・ハードウェアにおける貴重な資源であるI/Oバス(130)の帯域幅を効率的に使用できる。また、この手法により、外部デバイスから受け取った更新データの書き込みは、GPU(120)との間のデータ転送の完了を待つことなく、ホスト側更新ログ(222)への書き込みをもって完了とすることができ、応答時間の短縮という技術的優位性も得られる。加えて、I/Oバス(130)を通じて、ホスト・システム(110)とGPU(120)との間で転送しなければならないデータ量を削減することができることから、データ転送の待ち時間を短縮することもできる。
図4に本願発明に係る方法の第2の実施例の構成を表す全体的概念図を示す。本実施例では、ホスト・プログラム(410)自身が、並列計算のために呼び出すデバイス・プログラムの実行前に、更新ログの転送とデータストア更新プログラム(212)の起動を行なう。この場合でも、第1の実施例と同様に、常駐プログラム(223)が、更新ログ(211)の更新、旧データの削除によるスペース開放、バックアップ、ガーベジ・コレクション等のために、データストア更新プログラム(212)を一定間隔ごとに起動することが好ましい。アプリケーションのロジックを実装したホスト・プログラム(410)自身が更新ログの適用処理を起動できることで、常に最新の外部デバイスの状態を反映したデータに対して、デバイス・プログラムを実行することができるようになる。第2の実施例に係る方法と第1の実施例に係る方法とを組み合わせて、ホスト・プログラム(410)上のアプリケーション・ロジックと常駐プログラム(223)によるタイマー制御の両方が、更新ログの転送、データストア更新プログラム(212)の起動、または、その両方を行なうようにしてもよい。こうするとことで、常駐プログラム(223)が定期的にホスト側更新ログ(222)をGPU(120)に転送する間にデータストアが更新されていたとしても、デバイス・プログラムが最新のデータに対して分析処理を行なえるようになる。また、デバイス・プログラム実行開始時点のスナップショットに対して分析処理を行なうことができるため、プログラム実行中にデータストア(210)が更新されていた場合でも、整合性の取れた処理を行なうことができる。
図5に本願発明に係る方法の第3の実施例の構成を表す全体的概念図を示す。本実施例では、ホスト側の更新ログ領域を不揮発メモリ(510)上に確保する。ログ受信プログラム(221)は、外部デバイスから受け取った更新データを更新ログ領域に書き込むと共に、CPUキャッシュのフラッシュを行なう。これにより、デバイス・メモリ(122)上のデータストア(210)を更新するだけでなく、その更新履歴を時系列で保持することができるようになる。更新ログはデータストアの更新・追記・削除の履歴を全て保持しているため、これらの情報を不揮発メモリ(510)に保存しておくことで、システム障害時に備えたリアルタイムのバックアップを保持するのと同一の効果を得られる。
図6に本願発明に係る方法の第4の実施例の構成を表す全体的概念図を示す。本実施例では、データストアの主キーをデータストア上の物理位置を示す行IDに変換するためのインデックス(610)が追加されている。データベース設計上の制約により、外部デバイスの生成する更新データからは、データストア上の物理位置は必ずしも自明でないこともある。その場合、たとえば、デバイスIDなどの主キーを用いてインデックス(610)を検索し、行IDを得ることができる。また、インデックス(610)を参照することで、当該デバイスのデータが既にデータストア上に存在するため更新処理が必要であるのか、それとも、新規にデータを追加する挿入の処理であるのかを、データストア更新プログラムの実行を待たずに判別することができ、処理の効率化が可能となる。
図7に本願発明に係る方法の第5の実施例の構成を表す全体的概念図を示す。本実施例では、上記第4の実施例におけるインデックス(610)に相当するインデックス(710)を、デバイス・メモリ(122)上に配置し、データストア更新プログラム(212)がインデックス(710)を参照して主キーから行IDへの変換を行なう。データストア更新プログラム(212)は、並列処理ユニット(121)によって、ホスト・システム(110)のCPU(111)よりもはるかに高い並列度で実行されるため、インデックス(71-0)の探索に要する処理時間を短縮することができる。
(本願発明による技術的に顕著な効果)
本願発明により、GPU等の並列処理性能に優れたコプロセッサを備えたコンピューター・システムにおいて、今後ますますの普及が予測されるIoT/M2Mの分野で典型的な、データの不連続な領域の更新が頻繁に発生するタイプのワークロードに対しても、コプロセッサとホスト・システムを接続するI/Oバスのボトルネックを発生させることなく、コプロセッサの並列処理能力を最大限に活用することができるようになるという技術的に顕著な効果が得られる。ページングに依存する従来技術においては、データの更新領域が連続である場合には適切であっても、不連続である場合には、きわめて効率が悪かった。

Claims (15)

  1. 第1のプロセッサと第2のプロセッサとI/Oバスとを備え、
    前記第1のプロセッサは、ホスト・メモリにアクセス可能であり、
    前記第2のプロセッサは、並列処理手段を備え、デバイス・メモリにアクセス可能であり、前記デバイス・メモリは、前記並列処理手段が並列処理を行なうための並列処理用データ構造を保存する、
    コンピューター上で実行されるメモリ管理方法であって、
    前記第1のプロセッサが、前記ホスト・メモリ上の第1の更新ログにデータを追加するステップと、
    前記第1のプロセッサが、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記デバイス・メモリ上の第2の更新ログに反映するステップと、
    前記第2のプロセッサが、前記第2の更新ログ上に反映されたデータを前記並列処理用データ構造に反映するステップとを含み、
    前記並列処理用データ構造は、列指向のデータ形式であり、
    前記第2の更新ログは、行指向のデータ形式である、
    メモリ管理方法。
  2. 前記ホスト・メモリに保存されたプログラムが、所定の時間間隔ごとに、前記第1のプロセッサに、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記デバイス・メモリ上の前記第2の更新ログに反映するステップを実行させる、請求項1に記載の方法。
  3. 前記ホスト・メモリは不揮発性メモリ領域を含み、前記第1の更新ログは前記不揮発性メモリ領域に保存される、請求項1、または、請求項2に記載の方法。
  4. 前記ホスト・メモリに保存された前記第1の更新ログはインデックスを含む、請求項1、請求項2、または、請求項3に記載の方法。
  5. 前記デバイス・メモリに保存された前記第2の更新ログはインデックスを含む、請求項1、請求項2、請求項3、または、請求項4に記載の方法。
  6. 第1のプロセッサと第2のプロセッサとI/Oバスとを備え、
    前記第1のプロセッサは、ホスト・メモリにアクセス可能であり、
    前記第2のプロセッサは、並列処理手段を備え、デバイス・メモリにアクセス可能であり、
    前記デバイス・メモリは、前記並列処理手段が並列処理を行なうための並列処理用データ構造を保存する、
    コンピューター上で実行されるメモリ管理プログラムであって、
    前記第1のプロセッサに、前記ホスト・メモリ上の第1の更新ログにデータを追加させる命令群と、
    前記第1のプロセッサに、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記デバイス・メモリ上の第2の更新ログに反映させる命令群と、
    前記第2のプロセッサに、前記第2の更新ログ上に反映されたデータを前記並列処理用データ構造に反映させる命令群とを含み、
    前記並列処理用データ構造は、列指向のデータ形式であり、
    前記第2の更新ログは、行指向のデータ形式である、
    メモリ管理プログラム。
  7. 所定の時間間隔ごとに、前記第1のプロセッサに、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記デバイス・メモリ前記第2の更新ログに反映させる命令群を含む請求項6に記載のプログラム
  8. 前記ホスト・メモリは不揮発性メモリ領域を含み、前記第1の更新ログは前記不揮発性メモリ領域に保存される、請求項6、または、請求項7に記載のプログラム。
  9. 前記ホスト・メモリに保存された前記第1の更新ログはインデックスを含む、請求項6、請求項7、または、請求項8に記載のプログラム。
  10. 前記デバイス・メモリに保存された前記第2の更新ログはインデックスを含む、請求項6、請求項7、請求項8、または、請求項9に記載のプログラム
  11. 第1のプロセッサと第2のプロセッサとI/Oバスとを備え、
    前記第1のプロセッサは、ホスト・メモリにアクセス可能であり、
    前記第2のプロセッサは、並列処理手段を備え、デバイス・メモリにアクセス可能であり、
    前記デバイス・メモリは、前記並列処理手段が並列処理を行なうための並列処理用データ構造を保存し、
    前記第1のプロセッサが、前記ホスト・メモリ上の第1の更新ログにデータを追加し、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記デバイス・メモリ上の第2の更新ログに反映し、
    前記第2のプロセッサが、前記第2の更新ログ上に反映されたデータを前記並列処理用データ構造に反映し、
    前記並列処理用データ構造は、列指向のデータ形式であり、
    前記第2の更新ログは、行指向のデータ形式である、
    コンピューター装置。
  12. 前記第1のプロセッサが、所定の時間間隔ごとに、前記第1の更新ログ上に追加されたデータを前記I/Oバスを介して前記デバイス・メモリ上の前記第2の更新ログに反映する、請求項11に記載のコンピューター装置。
  13. 前記ホスト・メモリは不揮発性メモリ領域を含み、前記第1の更新ログは前記不揮発性メモリ領域に保存される、請求項11、または、請求項12に記載のコンピューター装置。
  14. 前記ホスト・メモリに保存された前記第1の更新ログはインデックスを含む、請求項11、請求項12、または、請求項13に記載のコンピューター装置。
  15. 前記デバイス・メモリに保存された前記第2の更新ログはインデックスを含む、請求項11、請求項12、請求項13、または、請求項14に記載のコンピューター装置。
JP2020126673A 2020-07-27 2020-07-27 コプロセッサ処理の高速化の方法とプログラム Active JP7061294B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020126673A JP7061294B2 (ja) 2020-07-27 2020-07-27 コプロセッサ処理の高速化の方法とプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020126673A JP7061294B2 (ja) 2020-07-27 2020-07-27 コプロセッサ処理の高速化の方法とプログラム

Publications (2)

Publication Number Publication Date
JP2022023618A JP2022023618A (ja) 2022-02-08
JP7061294B2 true JP7061294B2 (ja) 2022-04-28

Family

ID=80226268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020126673A Active JP7061294B2 (ja) 2020-07-27 2020-07-27 コプロセッサ処理の高速化の方法とプログラム

Country Status (1)

Country Link
JP (1) JP7061294B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016152001A (ja) 2015-02-19 2016-08-22 日本電気株式会社 情報処理装置、情報処理方法、メインプロセッサコア、プログラム、情報処理方法、サブプロセッサコア
WO2016194401A1 (ja) 2015-06-05 2016-12-08 株式会社日立製作所 計算機、データベース処理方法、及び集積回路
JP2017010515A (ja) 2015-06-19 2017-01-12 上海兆芯集成電路有限公司 オンチップセンサハブ、モバイル装置、および、モバイル装置のためのマルチセンサ管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016152001A (ja) 2015-02-19 2016-08-22 日本電気株式会社 情報処理装置、情報処理方法、メインプロセッサコア、プログラム、情報処理方法、サブプロセッサコア
WO2016194401A1 (ja) 2015-06-05 2016-12-08 株式会社日立製作所 計算機、データベース処理方法、及び集積回路
JP2017010515A (ja) 2015-06-19 2017-01-12 上海兆芯集成電路有限公司 オンチップセンサハブ、モバイル装置、および、モバイル装置のためのマルチセンサ管理方法

Also Published As

Publication number Publication date
JP2022023618A (ja) 2022-02-08

Similar Documents

Publication Publication Date Title
US11663187B2 (en) Key-value store system
US9846645B1 (en) Managing objects stored in memory
JP7039631B2 (ja) アクセスリクエストを管理するための方法、装置、デバイス、および記憶媒体
CN110555001B (zh) 数据处理方法、装置、终端及介质
CN103810125A (zh) 有源存储器件聚集、分散和过滤
US11269772B2 (en) Persistent memory storage engine device based on log structure and control method thereof
CN109582215B (zh) 硬盘操作命令的执行方法、硬盘及存储介质
US9542122B2 (en) Logical block addresses used for executing host commands
US11960747B2 (en) Moving data in a memory and command for memory control
CN107728935B (zh) 对分布式计算系统中的数据重新分区
US9858191B2 (en) Electronic system with data management mechanism and method of operation thereof
US10489296B2 (en) Quality of cache management in a computer
CN112306699A (zh) 访问临界资源的方法及装置、计算机设备及可读存储介质
US20170199819A1 (en) Cache Directory Processing Method for Multi-Core Processor System, and Directory Controller
JP5213485B2 (ja) マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム
WO2022068328A1 (zh) 数据迁移的方法、装置、处理器和计算设备
JP6772883B2 (ja) 読込プログラム、読込方法および情報処理装置
JP7061294B2 (ja) コプロセッサ処理の高速化の方法とプログラム
Wang et al. PA-tree: Polled-mode asynchronous B+ tree for NVMe
WO2005106713A1 (ja) 情報処理方法及び情報処理システム
Xie et al. PetPS: Supporting huge embedding models with persistent memory
CN113722623A (zh) 数据处理方法、装置、电子设备及存储介质
CN108614782B (zh) 一种用于数据处理系统的高速缓存访问方法
KR20210058613A (ko) 단일 파일의 병렬 읽기/쓰기를 위한 락킹 방법 및 이를 구현하는 컴퓨팅 장치
CN112685438B (zh) 数据处理系统、方法、装置及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201127

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201127

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210505

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210909

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220107

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: 20220331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220331

R150 Certificate of patent or registration of utility model

Ref document number: 7061294

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150