JP2021072107A5 - - Google Patents

Download PDF

Info

Publication number
JP2021072107A5
JP2021072107A5 JP2020171938A JP2020171938A JP2021072107A5 JP 2021072107 A5 JP2021072107 A5 JP 2021072107A5 JP 2020171938 A JP2020171938 A JP 2020171938A JP 2020171938 A JP2020171938 A JP 2020171938A JP 2021072107 A5 JP2021072107 A5 JP 2021072107A5
Authority
JP
Japan
Prior art keywords
array
sort
storage system
processing device
sorting
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.)
Granted
Application number
JP2020171938A
Other languages
English (en)
Other versions
JP7381429B2 (ja
JP2021072107A (ja
Filing date
Publication date
Priority claimed from US16/821,811 external-priority patent/US11249651B2/en
Application filed filed Critical
Publication of JP2021072107A publication Critical patent/JP2021072107A/ja
Publication of JP2021072107A5 publication Critical patent/JP2021072107A5/ja
Application granted granted Critical
Publication of JP7381429B2 publication Critical patent/JP7381429B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (20)

  1. ソート演算に関連するデータエレメントの配列を格納するストレージ装置と、
    前記ストレージ装置とホストコンピュータとの間の通信を可能にするストレージインターフェースと、
    前記ストレージ装置に通信可能に接続された再構成可能な処理装置と、を備え、
    前記再構成可能な処理装置は、
    前記ストレージ装置からリードされ、前記ストレージ装置に格納された前記データエレメントの配列に対応する入力データを格納するメモリと、
    前記ホストコンピュータから受信されたソートコマンドに応じて、前記メモリに格納された入力データに対する前記ソート演算を実行する1つ以上の演算コンポーネントを有するカーネルと、を含み、
    前記再構成可能な処理装置は、前記ソート演算を加速化するために、入力データのサイズと1つ以上の閾値サイズとの比較に従って前記1つ以上の演算コンポーネントを動的にインスタンス化することを特徴とするストレージシステム。
  2. 前記ストレージ装置は、SSD(Solid State Drive)を含み、
    前記再構成可能な処理装置は、FPGA(Field Programmable Gate Array)を含むことを特徴とする請求項1に記載のストレージシステム。
  3. 前記入力データは、前記ホストコンピュータによって前記SSDからリードされて前記ホストコンピュータの1次メモリにロードされ、
    前記FPGAの前記メモリは、前記ホストコンピュータの1次メモリから前記入力データを受信することを特徴とする請求項2に記載のストレージシステム。
  4. 前記メモリと前記SSDとの間の直接相互接続を更に含み、
    前記FPGAは、前記直接相互接続を通じて前記SSDから前記メモリに前記入力データをリードする前記SSDに直接アクセスすることを特徴とする請求項2に記載のストレージシステム。
  5. 前記FPGA及び前記SSDは、同一の回路ボード上に実装されることを特徴とする請求項4に記載のストレージシステム。
  6. 前記FPGAは、前記SSDからデータをリードする場合、前記ホストコンピュータをバイパスするためにP2P(Point-to-Point)通信を使用する前記直接相互接続を通じて前記SSDにアクセスすることを特徴とする請求項4に記載のストレージシステム。
  7. 前記メモリは、DRAM(Dynamic Random Access Memory)を含むことを特徴とする請求項4に記載のストレージシステム。
  8. 前記1つ以上の演算コンポーネントは、複数の処理エレメントを含み、
    前記複数の処理エレメントの各々は、ソーティングアルゴリズムに基づいて前記入力データに対応する前記データエレメントの配列のセグメントをソートすることを特徴とする請求項1に記載のストレージシステム。
  9. ソート演算に関連するデータエレメントの配列を格納するストレージ装置と、
    前記ストレージ装置とホストコンピュータとの間の通信を可能にするストレージインターフェースと、
    前記ストレージ装置に通信可能に接続された再構成可能な処理装置と、を備え、
    前記再構成可能な処理装置は、
    前記ストレージ装置からリードされ、前記ストレージ装置に格納された前記データエレメントの配列に対応する入力データを格納するメモリと、
    前記ホストコンピュータから受信されたソートコマンドに応じて、前記メモリに格納された入力データに対する前記ソート演算を実行する1つ以上の演算コンポーネントを有するカーネルと、を含み、
    前記再構成可能な処理装置は、前記ソート演算を加速化するために、前記1つ以上の演算コンポーネントを動的にインスタンス化し、
    前記1つ以上の演算コンポーネントは、複数の処理エレメントを備え、
    前記複数の処理エレメントの各々は、ソーティングアルゴリズムに従って、入力データに対応するデータ要素のアレイのセグメントをソートし、
    前記複数の処理エレメントの各々は、ローカルコンパレータ及びローカルマージャーを含み、
    前記ローカルコンパレータ及び前記ローカルマージャーは、前記ソーティングアルゴリズムを使用して前記セグメントから部分的にソートされた配列を生成することを特徴とすストレージシステム。
  10. 前記1つ以上の演算コンポーネントは、前記複数の処理エレメントの各々の出力に接続された処理ユニットを更に含み、
    前記処理ユニットは、前記ソーティングアルゴリズムに基づいて前記複数の処理エレメントの出力をソートすることを特徴とする請求項9に記載のストレージシステム。
  11. 前記処理ユニットは、グローバルコンパレータ及びグローバルマージャーを含み、
    前記グローバルコンパレータ及び前記グローバルマージャーは、前記ソーティングアルゴリズムを使用して、前記複数の処理エレメントによって前記部分的にソートされた配列から前記入力データの完全にソートされた配列を生成することを特徴とする請求項10に記載のストレージシステム。
  12. 前記ソーティングアルゴリズムは、バイトニック(Bitonic)ソーティングアルゴリズムであることを特徴とする請求項11に記載のストレージシステム。
  13. 前記再構成可能な処理装置は、前記データエレメントの配列のサイズに応じてランタイムに多数の前記複数の処理エレメント及び前記処理ユニットを動的にインスタンス化することを特徴とする請求項11に記載のストレージシステム。
  14. 前記再構成可能な処理装置は、
    前記データエレメントの配列のサイズを識別し、
    1つ以上のしきい値と前記データエレメントの配列のサイズとを比較し、
    前記比較に基づいて、多数の前記複数の処理エレメント及び前記処理ユニットをインスタンス化することを特徴とする請求項13に記載のストレージシステム。
  15. ソート演算に関連するデータエレメントの配列を格納するストレージ装置、前記ストレージ装置とホストコンピュータとの間の通信を可能にするストレージインターフェース、及び前記ストレージ装置に通信可能に接続された再構成可能な処理装置を備えるストレージシステムのソート演算を動的にスケーリングする方法であって、
    前記再構成可能な処理装置によって、前記ホストコンピュータからソートコマンドに関連するデータエレメントの配列のサイズを識別するステップと、
    前記再構成可能な処理装置によって、前記配列のサイズと1つ以上のしきい値のサイズとを比較するステップと、
    前記再構成可能な処理装置によって、前記ソート演算を加速化するために、前記比較に基づいて1つ以上の演算コンポーネントをインスタンス化するステップと、を有することを特徴とする方法。
  16. 前記ストレージ装置は、SSD(Solid State Drive)を含み、
    前記再構成可能な処理装置は、FPGA(Field Programmable Gate Array)を含むことを特徴とする請求項15に記載の方法。
  17. 前記1つ以上の演算コンポーネントをインスタンス化するステップは、1つ以上のロジックブロック、及び前記FPGAのカーネルの1つ以上の相互接続を再構成するステップを含むことを特徴とする請求項16に記載の方法。
  18. 少なくとも1つのローカルソート演算コンポーネントによって、前記データエレメントの配列の少なくとも1つのセグメントをソートするステップと、
    前記少なくとも1つのローカルソート演算コンポーネントによって、前記少なくとも1つのセグメントのソートされた配列を生成するステップと、を更に含み、
    前記1つ以上の演算コンポーネントをインスタンス化するステップは、前記再構成可能な処理装置によって、前記少なくとも1つのローカルソート演算コンポーネントをインスタンス化するステップを含むことを特徴とする請求項16に記載の方法。
  19. 複数のローカルソート演算コンポーネントの各々によって、前記データエレメントの配列の異なるセグメントをソートするステップと、
    前記複数のローカルソート演算コンポーネントの各々によって、対応するセグメントの部分的にソートされた配列を生成するステップと、を更に含み、
    前記1つ以上の演算コンポーネントをインスタンス化するステップは、前記再構成可能な処理装置によって、前記複数のローカルソート演算コンポーネントをインスタンス化するステップを含むことを特徴とする請求項16に記載の方法。
  20. グローバルソート演算コンポーネントによって、前記複数のローカルソート演算コンポーネントの各々によって生成された前記部分的にソートされた配列をソートするステップと、
    前記グローバルソート演算コンポーネントによって、前記部分的にソートされた配列のソートから前記データエレメントの配列に対応する完全にソートされた配列を生成するステップと、を更に含み、
    前記1つ以上の演算コンポーネントをインスタンス化するステップは、前記再構成可能な処理装置によって、前記複数のローカルソート演算コンポーネントの各々の出力に接続された前記グローバルソート演算コンポーネントをインスタンス化するステップを更に含むことを特徴とする請求項19に記載の方法。
JP2020171938A 2019-10-29 2020-10-12 ストレージ周辺の階層的ソート加速のためのストレージシステム及び方法 Active JP7381429B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962927626P 2019-10-29 2019-10-29
US62/927,626 2019-10-29
US16/821,811 2020-03-17
US16/821,811 US11249651B2 (en) 2019-10-29 2020-03-17 System and method for hierarchical sort acceleration near storage

Publications (3)

Publication Number Publication Date
JP2021072107A JP2021072107A (ja) 2021-05-06
JP2021072107A5 true JP2021072107A5 (ja) 2023-09-29
JP7381429B2 JP7381429B2 (ja) 2023-11-15

Family

ID=75585979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020171938A Active JP7381429B2 (ja) 2019-10-29 2020-10-12 ストレージ周辺の階層的ソート加速のためのストレージシステム及び方法

Country Status (5)

Country Link
US (1) US11249651B2 (ja)
JP (1) JP7381429B2 (ja)
KR (1) KR102663759B1 (ja)
CN (1) CN112749107B (ja)
TW (1) TWI836132B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11995448B1 (en) * 2018-02-08 2024-05-28 Marvell Asia Pte Ltd Method and apparatus for performing machine learning operations in parallel on machine learning hardware
US10997510B1 (en) 2018-05-22 2021-05-04 Marvell Asia Pte, Ltd. Architecture to support tanh and sigmoid operations for inference acceleration in machine learning
US11016801B1 (en) 2018-05-22 2021-05-25 Marvell Asia Pte, Ltd. Architecture to support color scheme-based synchronization for machine learning
US11575916B2 (en) * 2020-10-30 2023-02-07 Advanced Micro Devices, Inc. Top palette colors selection using sorting for palette mode in video encoding
CN113900622B (zh) * 2021-09-22 2022-04-08 中国科学院国家空间科学中心 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质
CN115857805B (zh) * 2022-11-30 2023-06-27 合肥腾芯微电子有限公司 人工智能可计算存储系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070277036A1 (en) 2003-05-23 2007-11-29 Washington University, A Corporation Of The State Of Missouri Intelligent data storage and processing using fpga devices
JP2005190047A (ja) 2003-12-25 2005-07-14 Hitachi Ltd データソート機能を持つストレージシステム
SG136862A1 (en) 2006-04-21 2007-11-29 Oce Tech Bv Variable speed printing
US8589867B2 (en) * 2010-06-18 2013-11-19 Microsoft Corporation Compiler-generated invocation stubs for data parallel programming model
US9495139B2 (en) 2011-04-11 2016-11-15 University Of Florida Research Foundation, Inc. Elastic computing
US9100012B1 (en) * 2012-12-14 2015-08-04 Altera Corporation Adaptable programs using partial reconfiguration
US9256535B2 (en) * 2013-04-04 2016-02-09 Advanced Micro Devices, Inc. Conditional notification mechanism
US9606803B2 (en) * 2013-07-15 2017-03-28 Texas Instruments Incorporated Highly integrated scalable, flexible DSP megamodule architecture
US9495418B2 (en) 2013-08-07 2016-11-15 International Business Machines Corporation Scalable acceleration of database query operations
US9619499B2 (en) 2013-08-07 2017-04-11 International Business Machines Corporation Hardware implementation of a tournament tree sort algorithm
US9251218B2 (en) 2013-08-07 2016-02-02 International Business Machines Corporation Tunable hardware sort engine for performing composite sorting algorithms
US20150149691A1 (en) 2013-09-11 2015-05-28 Glenn Austin Baxter Directly Coupled Computing, Storage and Network Elements With Local Intelligence
US9774537B2 (en) * 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US9904793B2 (en) * 2015-03-23 2018-02-27 Intel Corporation Systems, methods, and apparatus to provide private information retrieval
US9740511B2 (en) 2015-06-04 2017-08-22 Advanced Micro Devices, Inc. Per-block sort for performance enhancement of parallel processors
US10445232B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Determining control states for address mapping in non-volatile memories
US10198264B2 (en) * 2015-12-15 2019-02-05 Intel Corporation Sorting data and merging sorted data in an instruction set architecture
EP3526665B1 (en) * 2016-11-14 2020-07-15 Google LLC Sorting for data-parallel computing devices
US20190235863A1 (en) * 2018-01-31 2019-08-01 Qualcomm Incorporated Sort instructions for reconfigurable computing cores
US10915469B2 (en) * 2018-03-09 2021-02-09 Samsung Electronics Co., Ltd. Method and apparatus for supporting a field programmable gate array (FPGA) based add-in-card (AIC) solid state drive (SSD)
CN109711532B (zh) * 2018-12-06 2023-05-12 东南大学 一种针对硬件实现稀疏化卷积神经网络推断的加速方法
CN109598338B (zh) * 2018-12-07 2023-05-19 东南大学 一种基于fpga的计算优化的卷积神经网络加速器

Similar Documents

Publication Publication Date Title
JP2021072107A5 (ja)
US10153042B2 (en) In-memory computational device with bit line processors
US20180122479A1 (en) Associative row decoder
CN112101534A (zh) 用于深度神经网络的可重新配置存储器压缩技术
JP7381429B2 (ja) ストレージ周辺の階層的ソート加速のためのストレージシステム及び方法
CN110531923B (zh) 包括可重配置的逻辑的存储设备和操作该存储设备的方法
JP2018116469A (ja) 演算システムおよびニューラルネットワークの演算方法
US11874897B2 (en) Integrated circuit device with deep learning accelerator and random access memory
US11887647B2 (en) Deep learning accelerator and random access memory with separate memory access connections
JP2020518068A (ja) 最適化されたディープネットワーク処理のためのグラフマッチング
US20180024841A1 (en) Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US11675506B2 (en) Storage device supporting multi-tenancy and operating method thereof
Dutta et al. Hdnn-pim: Efficient in memory design of hyperdimensional computing with feature extraction
TWI537980B (zh) 用於寫入經遮罩資料至緩衝器之裝置及方法
US20220004319A1 (en) Selectively operable memory device
US9570125B1 (en) Apparatuses and methods for shifting data during a masked write to a buffer
US20220188606A1 (en) Memory Configuration to Support Deep Learning Accelerator in an Integrated Circuit Device
CN112748876A (zh) 存储装置、存储控制器和操作神经处理器的方法
US20220044102A1 (en) Fault tolerant artificial neural network computation in deep learning accelerator having integrated random access memory
Zhou et al. A high performance k-NN classifier using a binary correlation matrix memory
TWI773051B (zh) 資料處理裝置、積體電路及人工智能加速器
WO2022098495A1 (en) Compiler configurable to generate instructions executable by different deep learning accelerators from a description of an artificial neural network
Flynn et al. Sparse distributed memory prototype: Principles of operation
Lindell et al. Configurable sparse distributed memory hardware implementation
US11442643B2 (en) System and method for efficiently converting low-locality data into high-locality data