JP6316503B2 - 計算機システム、アクセラレータ及びデータベースの処理方法 - Google Patents
計算機システム、アクセラレータ及びデータベースの処理方法 Download PDFInfo
- Publication number
- JP6316503B2 JP6316503B2 JP2017518648A JP2017518648A JP6316503B2 JP 6316503 B2 JP6316503 B2 JP 6316503B2 JP 2017518648 A JP2017518648 A JP 2017518648A JP 2017518648 A JP2017518648 A JP 2017518648A JP 6316503 B2 JP6316503 B2 JP 6316503B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- processing
- aggregation
- grouping
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
次に、DBMS20について説明する。DBサーバ1で稼働するDBMS20には、結果格納領域115と、メッセージ格納領域116と、シノニム格納領域117と、再集約モジュール118と、グルーピング及び集約モジュール120と、コマンド生成部103と、コマンド格納部123と、要求コマンドキュー121と、完了コマンドキュー122とを含む。グルーピング及び集約モジュール120には、FPGA2の集約処理でシノニムが発生したDB30のグルーピングを再度行うための、グルーピングと集約のモジュールを有する。
図2は、FPGA2の構成の一例を示すブロック図である。FPGA2は、データベースコマンドに基づいてデータベース処理を制御するCPU126と、データベース処理を行うハードウェアの機能ブロックを有する。
次に、FPGA2のグルーピング処理でシノニムが発生した場合の集約処理について説明する。図12において、シノニムと判定(1204)され、同じハッシュ値が異なるグルーピング化列に割り当てられた場合には、後述する図19のように、グルーピング化列とスタック列をDBサーバ1に転送し、DBサーバ1がグルーピング及び集約モジュール120において、グルーピングと集約演算を行う。
前記実施例1、2では、FPGA2を有するストレージ装置3が1つの例を示したが、PCIスイッチ4に複数のストレージ装置3を接続することができる。また、FPGA2とストレージ装置3を独立させても良く、各FPGA2には、複数のストレージ装置3を接続することができる。
Claims (15)
- プロセッサと、メモリと、を含むサーバと、
前記サーバに接続されてデータベース処理を行うアクセラレータと、
前記アクセラレータに接続されてデータベースを格納するストレージ装置と、を有する計算機システムであって、
前記サーバは、
クエリを受け付けてデータベースコマンドを生成し、処理対象のデータベースの範囲と、前記データベースの範囲を分割してひとつのデータベースコマンドで処理する単位サイズを決定して、前記アクセラレータに指令するサーバコマンド処理部と、
前記アクセラレータの出力を集計して前記クエリに対する処理結果を生成する再集約部と、を有し、
前記アクセラレータは、
前記サーバコマンド処理部からの指令に基づいて、前記単位サイズで前記ストレージ装置からデータベースの処理対象データを読み込み、前記処理対象データを所定の処理単位に分轄して、前記所定の処理単位ごとにグルーピング処理と、スタッキング処理と、集約処理とを含むデータベース処理を実行して集約結果を出力するデータベース処理部を有し、
前記再集約部は、
前記処理対象のデータベースの範囲についての集約結果を前記アクセラレータから受け付けると、当該集約結果を集計して前記クエリに対する処理結果として生成することを特徴とする計算機システム。 - 請求項1に記載の計算機システムであって、
前記データベース処理部は、
前記グルーピング処理と、前記スタッキング処理とを前記所定の処理単位で並列して実行することを特徴とする計算機システム。 - 請求項1に記載の計算機システムであって、
前記データベース処理部は、
前記所定の処理単位のデータ列についてグルーピング処理を行うグルーピング処理部を有し、
前記グルーピング処理部は、
前記データ列のデータについてハッシュ値とグループ情報を算出し、前記ハッシュ値とグループ情報を対にしてハッシュ情報に格納し、前記ハッシュ情報に同一のハッシュ値で異なるグループ情報がある場合にはハッシュ値が衝突したことを検知することを特徴とする計算機システム。 - 請求項3に記載の計算機システムであって、
前記データベース処理部は、
前記グルーピング処理部が、前記ハッシュ値の衝突を検知したときには、前記グループ情報と、前記スタッキング処理の結果である数値を出力することを特徴とする計算機システム。 - 請求項1に記載の計算機システムであって、
前記ストレージ装置は、
前記データベースを格納する第1の記憶部と、
前記第1の記憶部よりも読み出し速度が高速な半導体記憶媒体で構成されて前記アクセラレータにデータを読み込ませる第2の記憶部と、を有し、
前記アクセラレータは、
前記処理対象のデータベースの範囲について前記第1の記憶部から前記第2の記憶部へコピーさせ、前記第2の記憶部から前記単位サイズ毎に読み込むことを特徴とする計算機システム。 - 請求項1に記載の計算機システムであって、
前記データベース処理部は、
前記グルーピング処理で、前記所定の処理単位のデータ列のデータについてハッシュ値とグループ情報を算出し、
前記スタッキング処理で、前記所定の処理単位のデータ列のデータについて数値を算出し、
前記集約処理で、前記グループ情報毎に前記数値を集約した数値情報を算出し、前記集約結果に前記グループ情報と、数値情報を含み、
前記再集約部は、
前記グループ情報からハッシュ値を算出してグループハッシュ情報に格納し、当該ハッシュ値に基づいて前記処理対象のデータベースの範囲についての集約結果を並び替えてから前記数値情報を集計して、前記クエリに対する処理結果を生成することを特徴とする計算機システム。 - 請求項6に記載の計算機システムであって、
前記データベース処理部は、
前記グルーピング処理で、前記ハッシュ値とグループ情報を対にしてハッシュ情報に格納し、前記ハッシュ情報に同一のハッシュ値で異なるグループ情報がある場合にはハッシュ値が衝突したことを検知すると、前記グループ情報と、前記スタッキング処理の結果である数値を出力し、
前記再集約部は、
前記グループハッシュ情報を参照して、前記ハッシュ値が衝突した前記グループ情報と前記スタッキング処理の数値を再度集約して、前記クエリに対する処理結果を再計算することを特徴とする計算機システム。 - 請求項3に記載の計算機システムであって、
前記サーバコマンド処理部は、
前記再集約部が受け付けたハッシュ値の衝突の発生頻度が予め設定した閾値を超えた場合には、前記データベースの範囲を分割してひとつのデータベースコマンドで処理する単位サイズを縮小することを特徴とする計算機システム。 - データベースを格納するストレージ装置に接続されて、データベースコマンドを受け付けてデータベース処理を行うアクセラレータであって、
処理対象のデータベースの範囲と、前記データベースの範囲を分割してひとつのデータベースコマンドで処理する単位サイズと、を受け付けて、前記単位サイズで前記ストレージ装置からデータベースの処理対象データを読み込み、前記処理対象データを所定の処理単位に分轄して、前記所定の処理単位ごとにグルーピング処理と、スタッキング処理と、集約処理とを含むデータベース処理を実行して集約結果を出力するデータベース処理部を有し、
前記データベース処理部は、
前記グルーピング処理と、前記スタッキング処理とを前記所定の処理単位で並列して実行することを特徴とするアクセラレータ。 - 請求項9に記載のアクセラレータであって、
前記データベース処理部は、
前記所定の処理単位のデータ列についてグルーピング処理を行うグルーピング処理部を有し、
前記グルーピング処理部は、
前記データ列のデータについてハッシュ値とグループ情報を算出し、前記ハッシュ値とグループ情報を対にしてハッシュ情報に格納し、前記ハッシュ情報に同一のハッシュ値で異なるグループ情報がある場合にはハッシュ値が衝突したことを検知することを特徴とするアクセラレータ。 - 請求項10に記載のアクセラレータであって、
前記データベース処理部は、
前記グルーピング処理部が、前記ハッシュ値の衝突を検知したときには、前記グループ情報と、前記スタッキング処理の結果である数値を出力することを特徴とするアクセラレータ。 - 請求項9に記載のアクセラレータであって、
前記ストレージ装置は、
前記データベースを格納する第1の記憶部と、
前記第1の記憶部よりも読み出し速度が高速な半導体記憶媒体で構成されて前記アクセラレータにデータを読み込ませる第2の記憶部と、を有し、
前記データベース処理部は、
前記処理対象のデータベースの範囲について前記第1の記憶部から前記第2の記憶部へコピーさせ、前記第2の記憶部から前記単位サイズ毎に読み込むことを特徴とするアクセラレータ。 - プロセッサと、メモリと、を含むサーバが、前記サーバに接続されてデータベース処理を行うアクセラレータに、前記アクセラレータに接続されたストレージ装置のデータベースを処理させるデータベースの処理方法であって、
前記サーバが、クエリを受け付けてデータベースを生成し、処理対象のデータベースの範囲と、前記データベースの範囲を分割してひとつのデータベースコマンドで処理する単位サイズを決定して、前記アクセラレータに指令する第1のステップと、
前記アクセラレータが、前記サーバからの前記指令に基づいて、前記単位サイズで前記ストレージ装置からデータベースの処理対象データを読み込み、前記処理対象データを所定の処理単位に分轄して、前記所定の処理単位ごとにグルーピング処理と、スタッキング処理と、集約処理とを含むデータベース処理を実行して集約結果を出力する第2のステップと、
前記サーバが、前記アクセラレータの出力を集計して前記クエリに対する処理結果を生成する第3のステップと、を含み、
前記第3のステップは、
前記処理対象のデータベースの範囲についての集約結果を前記アクセラレータから受け付けると、当該集約結果を集計して前記クエリに対する処理結果として生成することを特徴とするデータベースの処理方法。 - 請求項13に記載のデータベースの処理方法であって、
前記第2のステップは、
前記グルーピング処理で、前記所定の処理単位のデータ列のデータについてハッシュ値とグループ情報を算出し、前記スタッキング処理で、前記所定の処理単位のデータ列のデータについて数値を算出し、前記集約処理で、前記グループ情報毎に前記数値を集約した数値情報を算出し、前記集約結果に前記グループ情報と、数値情報を含み、
前記第3のステップは、
前記グループ情報からハッシュ値を算出してグループハッシュ情報に格納し、当該ハッシュ値に基づいて前記処理対象のデータベースの範囲についての集約結果を並び替えてから前記数値情報を集計して、前記クエリに対する処理結果を生成することを特徴とするデータベースの処理方法。 - 請求項14に記載のデータベースの処理方法であって、
前記第2のステップは、
前記グルーピング処理で、前記ハッシュ値とグループ情報を対にしてハッシュ情報に格納し、前記ハッシュ情報に同一のハッシュ値で異なるグループ情報がある場合にはハッシュ値が衝突したことを検知すると、前記グループ情報と、前記スタッキング処理の結果である数値を出力し、
前記第3のステップは、
前記グループハッシュ情報を参照して、前記ハッシュ値が衝突した前記グループ情報と前記スタッキング処理の数値を再度集約して、前記クエリに対する処理結果を再計算することを特徴とするデータベースの処理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/064212 WO2016185542A1 (ja) | 2015-05-18 | 2015-05-18 | 計算機システム、アクセラレータ及びデータベースの処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016185542A1 JPWO2016185542A1 (ja) | 2017-08-31 |
JP6316503B2 true JP6316503B2 (ja) | 2018-04-25 |
Family
ID=57319665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017518648A Expired - Fee Related JP6316503B2 (ja) | 2015-05-18 | 2015-05-18 | 計算機システム、アクセラレータ及びデータベースの処理方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6316503B2 (ja) |
WO (1) | WO2016185542A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018142592A1 (ja) * | 2017-02-03 | 2018-08-09 | 株式会社日立製作所 | 情報処理システム及び情報処理方法 |
US10417733B2 (en) * | 2017-05-24 | 2019-09-17 | Samsung Electronics Co., Ltd. | System and method for machine learning with NVMe-of ethernet SSD chassis with embedded GPU in SSD form factor |
US20180373760A1 (en) * | 2017-06-23 | 2018-12-27 | Xilinx, Inc. | Parallel compute offload to database accelerator |
US10963460B2 (en) * | 2018-12-06 | 2021-03-30 | Xilinx, Inc. | Integrated circuits and methods to accelerate data queries |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8468151B2 (en) * | 2010-06-29 | 2013-06-18 | Teradata Us, Inc. | Methods and systems for hardware acceleration of database operations and queries based on multiple hardware accelerators |
JP5561425B2 (ja) * | 2011-02-28 | 2014-07-30 | 日本電気株式会社 | ストレージシステム |
JP5891842B2 (ja) * | 2012-02-24 | 2016-03-23 | 日本電気株式会社 | ストレージシステム |
-
2015
- 2015-05-18 JP JP2017518648A patent/JP6316503B2/ja not_active Expired - Fee Related
- 2015-05-18 WO PCT/JP2015/064212 patent/WO2016185542A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2016185542A1 (ja) | 2016-11-24 |
JPWO2016185542A1 (ja) | 2017-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10963393B1 (en) | Storage system and a method for application aware processing | |
US10176092B2 (en) | System and method for executing data processing tasks using resilient distributed datasets (RDDs) in a storage device | |
US8819335B1 (en) | System and method for executing map-reduce tasks in a storage device | |
US10127275B2 (en) | Mapping query operations in database systems to hardware based query accelerators | |
TWI664541B (zh) | 用於自主記憶體搜尋之方法及系統 | |
KR102610636B1 (ko) | 데이터베이스 가속기로의 병렬 컴퓨트 오프로드 | |
JP6316503B2 (ja) | 計算機システム、アクセラレータ及びデータベースの処理方法 | |
Becher et al. | A co-design approach for accelerated SQL query processing via FPGA-based data filtering | |
Watanabe et al. | Column-oriented database acceleration using fpgas | |
US10810174B2 (en) | Database management system, database server, and database management method | |
US20150234602A1 (en) | Data storage device for filtering page in two steps, system including the same, and method of operating the same | |
US9984124B2 (en) | Data management in relational databases | |
US10061747B2 (en) | Storage of a matrix on a storage compute device | |
US11210280B2 (en) | Systems and methods for fast bloom filter operations | |
US10324915B2 (en) | Information processing apparatus, processing apparatus, data search method | |
US20230222123A1 (en) | Query planner | |
EP4261703A1 (en) | Systems and methods for hybrid storage | |
KR102425596B1 (ko) | 로우 레이턴시 하드웨어 메모리 관리를 위한 시스템 및 방법 | |
CN116860798A (zh) | 数据查询方法、电子设备及计算机可读存储介质 | |
US12001427B2 (en) | Systems, methods, and devices for acceleration of merge join operations | |
US20180329756A1 (en) | Distributed processing system, distributed processing method, and storage medium | |
US11099739B2 (en) | System and method for accessing redundant array of independent disks | |
JP6695973B2 (ja) | 計算機システム及びデータベース管理方法 | |
Ali et al. | A bandwidth in-sensitive low stall sparse matrix vector multiplication architecture on reconfigurable fpga platform | |
JP7024432B2 (ja) | データベース管理システム、データ変換プログラム、データ変換方法及びデータ変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170228 |
|
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: 20180320 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180327 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6316503 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |