JP2021072107A5 - - Google Patents
Download PDFInfo
- 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
Links
Claims (20)
- ソート演算に関連するデータエレメントの配列を格納するストレージ装置と、
前記ストレージ装置とホストコンピュータとの間の通信を可能にするストレージインターフェースと、
前記ストレージ装置に通信可能に接続された再構成可能な処理装置と、を備え、
前記再構成可能な処理装置は、
前記ストレージ装置からリードされ、前記ストレージ装置に格納された前記データエレメントの配列に対応する入力データを格納するメモリと、
前記ホストコンピュータから受信されたソートコマンドに応じて、前記メモリに格納された入力データに対する前記ソート演算を実行する1つ以上の演算コンポーネントを有するカーネルと、を含み、
前記再構成可能な処理装置は、前記ソート演算を加速化するために、入力データのサイズと1つ以上の閾値サイズとの比較に従って前記1つ以上の演算コンポーネントを動的にインスタンス化することを特徴とするストレージシステム。 - 前記ストレージ装置は、SSD(Solid State Drive)を含み、
前記再構成可能な処理装置は、FPGA(Field Programmable Gate Array)を含むことを特徴とする請求項1に記載のストレージシステム。 - 前記入力データは、前記ホストコンピュータによって前記SSDからリードされて前記ホストコンピュータの1次メモリにロードされ、
前記FPGAの前記メモリは、前記ホストコンピュータの1次メモリから前記入力データを受信することを特徴とする請求項2に記載のストレージシステム。 - 前記メモリと前記SSDとの間の直接相互接続を更に含み、
前記FPGAは、前記直接相互接続を通じて前記SSDから前記メモリに前記入力データをリードする前記SSDに直接アクセスすることを特徴とする請求項2に記載のストレージシステム。 - 前記FPGA及び前記SSDは、同一の回路ボード上に実装されることを特徴とする請求項4に記載のストレージシステム。
- 前記FPGAは、前記SSDからデータをリードする場合、前記ホストコンピュータをバイパスするためにP2P(Point-to-Point)通信を使用する前記直接相互接続を通じて前記SSDにアクセスすることを特徴とする請求項4に記載のストレージシステム。
- 前記メモリは、DRAM(Dynamic Random Access Memory)を含むことを特徴とする請求項4に記載のストレージシステム。
- 前記1つ以上の演算コンポーネントは、複数の処理エレメントを含み、
前記複数の処理エレメントの各々は、ソーティングアルゴリズムに基づいて前記入力データに対応する前記データエレメントの配列のセグメントをソートすることを特徴とする請求項1に記載のストレージシステム。 - ソート演算に関連するデータエレメントの配列を格納するストレージ装置と、
前記ストレージ装置とホストコンピュータとの間の通信を可能にするストレージインターフェースと、
前記ストレージ装置に通信可能に接続された再構成可能な処理装置と、を備え、
前記再構成可能な処理装置は、
前記ストレージ装置からリードされ、前記ストレージ装置に格納された前記データエレメントの配列に対応する入力データを格納するメモリと、
前記ホストコンピュータから受信されたソートコマンドに応じて、前記メモリに格納された入力データに対する前記ソート演算を実行する1つ以上の演算コンポーネントを有するカーネルと、を含み、
前記再構成可能な処理装置は、前記ソート演算を加速化するために、前記1つ以上の演算コンポーネントを動的にインスタンス化し、
前記1つ以上の演算コンポーネントは、複数の処理エレメントを備え、
前記複数の処理エレメントの各々は、ソーティングアルゴリズムに従って、入力データに対応するデータ要素のアレイのセグメントをソートし、
前記複数の処理エレメントの各々は、ローカルコンパレータ及びローカルマージャーを含み、
前記ローカルコンパレータ及び前記ローカルマージャーは、前記ソーティングアルゴリズムを使用して前記セグメントから部分的にソートされた配列を生成することを特徴とするストレージシステム。 - 前記1つ以上の演算コンポーネントは、前記複数の処理エレメントの各々の出力に接続された処理ユニットを更に含み、
前記処理ユニットは、前記ソーティングアルゴリズムに基づいて前記複数の処理エレメントの出力をソートすることを特徴とする請求項9に記載のストレージシステム。 - 前記処理ユニットは、グローバルコンパレータ及びグローバルマージャーを含み、
前記グローバルコンパレータ及び前記グローバルマージャーは、前記ソーティングアルゴリズムを使用して、前記複数の処理エレメントによって前記部分的にソートされた配列から前記入力データの完全にソートされた配列を生成することを特徴とする請求項10に記載のストレージシステム。 - 前記ソーティングアルゴリズムは、バイトニック(Bitonic)ソーティングアルゴリズムであることを特徴とする請求項11に記載のストレージシステム。
- 前記再構成可能な処理装置は、前記データエレメントの配列のサイズに応じてランタイムに多数の前記複数の処理エレメント及び前記処理ユニットを動的にインスタンス化することを特徴とする請求項11に記載のストレージシステム。
- 前記再構成可能な処理装置は、
前記データエレメントの配列のサイズを識別し、
1つ以上のしきい値と前記データエレメントの配列のサイズとを比較し、
前記比較に基づいて、多数の前記複数の処理エレメント及び前記処理ユニットをインスタンス化することを特徴とする請求項13に記載のストレージシステム。 - ソート演算に関連するデータエレメントの配列を格納するストレージ装置、前記ストレージ装置とホストコンピュータとの間の通信を可能にするストレージインターフェース、及び前記ストレージ装置に通信可能に接続された再構成可能な処理装置を備えるストレージシステムのソート演算を動的にスケーリングする方法であって、
前記再構成可能な処理装置によって、前記ホストコンピュータからソートコマンドに関連するデータエレメントの配列のサイズを識別するステップと、
前記再構成可能な処理装置によって、前記配列のサイズと1つ以上のしきい値のサイズとを比較するステップと、
前記再構成可能な処理装置によって、前記ソート演算を加速化するために、前記比較に基づいて1つ以上の演算コンポーネントをインスタンス化するステップと、を有することを特徴とする方法。 - 前記ストレージ装置は、SSD(Solid State Drive)を含み、
前記再構成可能な処理装置は、FPGA(Field Programmable Gate Array)を含むことを特徴とする請求項15に記載の方法。 - 前記1つ以上の演算コンポーネントをインスタンス化するステップは、1つ以上のロジックブロック、及び前記FPGAのカーネルの1つ以上の相互接続を再構成するステップを含むことを特徴とする請求項16に記載の方法。
- 少なくとも1つのローカルソート演算コンポーネントによって、前記データエレメントの配列の少なくとも1つのセグメントをソートするステップと、
前記少なくとも1つのローカルソート演算コンポーネントによって、前記少なくとも1つのセグメントのソートされた配列を生成するステップと、を更に含み、
前記1つ以上の演算コンポーネントをインスタンス化するステップは、前記再構成可能な処理装置によって、前記少なくとも1つのローカルソート演算コンポーネントをインスタンス化するステップを含むことを特徴とする請求項16に記載の方法。 - 複数のローカルソート演算コンポーネントの各々によって、前記データエレメントの配列の異なるセグメントをソートするステップと、
前記複数のローカルソート演算コンポーネントの各々によって、対応するセグメントの部分的にソートされた配列を生成するステップと、を更に含み、
前記1つ以上の演算コンポーネントをインスタンス化するステップは、前記再構成可能な処理装置によって、前記複数のローカルソート演算コンポーネントをインスタンス化するステップを含むことを特徴とする請求項16に記載の方法。 - グローバルソート演算コンポーネントによって、前記複数のローカルソート演算コンポーネントの各々によって生成された前記部分的にソートされた配列をソートするステップと、
前記グローバルソート演算コンポーネントによって、前記部分的にソートされた配列のソートから前記データエレメントの配列に対応する完全にソートされた配列を生成するステップと、を更に含み、
前記1つ以上の演算コンポーネントをインスタンス化するステップは、前記再構成可能な処理装置によって、前記複数のローカルソート演算コンポーネントの各々の出力に接続された前記グローバルソート演算コンポーネントをインスタンス化するステップを更に含むことを特徴とする請求項19に記載の方法。
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)
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)
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的计算优化的卷积神经网络加速器 |
-
2020
- 2020-03-17 US US16/821,811 patent/US11249651B2/en active Active
- 2020-07-29 KR KR1020200094791A patent/KR102663759B1/ko active IP Right Grant
- 2020-08-19 TW TW109128151A patent/TWI836132B/zh active
- 2020-10-12 JP JP2020171938A patent/JP7381429B2/ja active Active
- 2020-10-15 CN CN202011101690.1A patent/CN112749107B/zh active Active
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 |