(57)【要約】      （修正有）【課題】メモリプロセッサを用いた多重処理アーキテクチャ及びその動作方法を提供する。【解決手段】メモリプロセッサを用いた多重処理アーキテクチャは、主プロセッサと、複数のメモリチップ１２０＿１〜１２０＿Ｎと、を備える。メモリチップは、複数の処理装置と、複数のデータ保存領域と、を備える。処理装置及びデータ保存領域は、それぞれ、メモリチップに一対一で配置される。データ保存領域は、大データセットの複数の副データセットを共有する。主プロセッサは、メモリチップの処理装置の１つに対して計算作業を割り当て、処理装置の１つは、対応するデータ保存領域にアクセスして、副データセットの一部に従って計算作業を実行する。【選択図】図１
2020061133.tif 000002
【特許請求の範囲】
【請求項１】
データインデックス機構を備える主プロセッサと、
前記主プロセッサに接続され、複数の処理装置及び複数のデータ保存領域を備える複数のメモリチップであって、前記処理装置及び前記データ保存領域は、それぞれ、前記メモリチップに一対一で配置され、前記データ保存領域は、大データセットの複数の副データセットを共有するように構成される、メモリチップと、を備え、
前記主プロセッサは、前記メモリチップの前記処理装置の１つに対して、計算作業を割り当て、前記処理装置の１つは、対応する前記データ保存領域にアクセスして、前記副データセットの一部に従って計算作業を実行する、
メモリプロセッサを用いた多重処理アーキテクチャ。
【請求項２】
前記主プロセッサは、前記データインデックス機構を備え、前記主プロセッサは、前記データインデックス機構に従って、前記メモリチップの前記処理装置の前記１つに対して前記計算作業を割り当てることを決定する、
請求項１の多重処理アーキテクチャ。
【請求項３】
前記主プロセッサは、さらに、ジョブキューを備え、主プロセッサは、前記ジョブキュー及び前記データインデックス機構に従って、前記メモリチップの前記処理装置の少なくとも１つに対して、複数の計算作業を連続的に割り当てる、
請求項２の多重処理アーキテクチャ。
【請求項４】
各前記処理装置は、タスクキューを備え、前記処理装置の前記１つが１つ以上の計算作業を連続的に受け取った場合、前記１つ以上の計算作業は、前記処理装置の前記１つの前記タスクキューに連続的に配列され、それにより、前記処理装置の前記１つは、前記タスクキューに従って、前記計算作業を連続的に実行する、
請求項３の多重処理アーキテクチャ。
【請求項５】
前記処理装置の前記１つは、前記計算作業に対応する特定の副データセットが、対応する前記データ保存領域中の前記副データセットの一部に存在するかを検索し、前記計算作業に対応する前記特定の副データセットを継続して実行する、
請求項１乃至４のいずれかの多重処理アーキテクチャ。
【請求項６】
前記処理装置の前記１つが前記計算作業に成功した場合、それに対応して、前記処理装置の前記１つは、計算結果を前記主プロセッサへと戻し、前記主プロセッサは、別の計算作業を継続して割り当てる、
請求項１乃至５のいずれかの多重処理アーキテクチャ。
【請求項７】
前記処理装置の前記１つが前記計算作業に失敗した場合、前記処理装置の前記１つは、前記計算作業を前記主プロセッサへと戻し、前記主プロセッサは、いずれかの前記処理装置の１つが前記計算作業に成功するまで、前記計算作業を別の前記処理装置へと割り当て続ける、
請求項１乃至６のいずれかの多重処理アーキテクチャ。
【請求項８】
前記主プロセッサは、第１のチャンネルを介して、前記メモリチップと時分割通信する、
請求項１乃至７のいずれかの多重処理アーキテクチャ。
【請求項９】
前記処理装置は、それぞれ、複数の第２のチャンネルを介して、前記データ保存領域に一対一でアクセスし、前記第２のチャンネルの帯域幅は、前記第１のチャンネルの帯域幅よりも大きい、
請求項８の多重処理アーキテクチャ。
【請求項１０】
前記メモリチップの数は、前記大データセットのデータ容量に応じて決定される、
請求項１乃至９のいずれかの多重処理アーキテクチャ。
【請求項１１】
前記主プロセッサは、無線通信、ピアトゥピア通信、又はスロットによって、別の複数のメモリチップに接続され、前記複数のメモリチップの１つ及び別の複数のメモリチップに対して、前記計算作業を選択的に割り当てる、
請求項１乃至１０のいずれかの多重処理アーキテクチャ。
【請求項１２】
前記処理装置及び対応する前記データ保存領域は、それぞれ、同じメモリチップ又は異なるメモリチップに一対一で配置される、
請求項１乃至１１のいずれかの多重処理アーキテクチャ。
【請求項１３】
前記主プロセッサは、前記処理装置に対して、同じ計算イベントの複数の計算作業を割り当て、前記処理装置は、割り当てに従って前記計算作業を実行する、
請求項１乃至１２のいずれかの多重処理アーキテクチャ。
【請求項１４】
前記主プロセッサは、前記処理装置に対して、複数の計算イベントの複数の計算作業を同時に割り当て、前記処理装置は、前記計算イベントの前記計算作業を個別に実行する、
請求項１乃至１３のいずれかの多重処理アーキテクチャ。
【請求項１５】
前記各処理装置は、それぞれ、論理動作装置を備える、請求項１乃至１４のいずれかの多重処理アーキテクチャ。
【請求項１６】
主プロセッサによって、複数のメモリチップの複数の処理装置の１つに対して、計算作業を割り当て、
前記処理装置の１つによって、対応して、複数のデータ保存領域の１つにアクセスして、大データセットの複数の副データセットの一部を捕捉し、
前記処理装置の１つによって、前記副データセットの一部に従って、計算作業を実行する、
メモリプロセッサを用いた多重処理アーキテクチャの動作方法。
【請求項１７】
前記主プロセッサによって前記メモリチップの前記処理装置の前記１つに対して前記計算作業を割り当てることは、
前記主プロセッサによって、データインデックス機構に従って、前記メモリチップの前記処理装置の前記１つに対して前記計算作業を割り当てることを決定することを含む、
請求項１６の多重処理アーキテクチャの動作方法。
【請求項１８】
前記主プロセッサによって前記メモリチップの前記処理装置の前記１つに対して前記計算作業を割り当てることは、
前記ジョブキュー及び前記データインデックス機構に従って、前記メモリチップの前記処理装置の少なくとも１つに対して、複数の計算作業を連続的に割り当てることを含む、
請求項１７の多重処理アーキテクチャの動作方法。
【請求項１９】
さらに、前記処理装置の前記１つが１つ以上の計算作業を連続的に受け取った場合、前記１つ以上の計算作業は、前記処理装置の前記１つのタスクキューに連続的に配列され、それにより、前記処理装置の前記１つは、前記タスクキューに従って、前記計算作業を連続的に実行する、
請求項１８の多重処理アーキテクチャの動作方法。
【請求項２０】
前記処理装置の１つによって前記副データセットの一部に従って前記計算作業を実行することは、
前記処理装置の前記１つによって、前記計算作業に対応する特定の副データセットが、対応する前記データ保存領域中の前記副データセットの一部に存在するかを検索し、前記計算作業に対応する前記特定の副データセットを継続して実行することを含む、
請求項１６乃至１９のいずれかの多重処理アーキテクチャの動作方法。
【請求項２１】
前記処理装置の１つによって前記副データセットの一部に従って前記計算作業を実行することは、
前記処理装置の前記１つが前記計算作業に成功した場合、それに対応して、前記処理装置の前記１つによって、計算結果を前記主プロセッサへと戻し、前記主プロセッサは、別の計算作業を継続して割り当てることを含む、
請求項１６乃至２０のいずれかの多重処理アーキテクチャ動作方法。
【請求項２２】
前記処理装置の１つによって前記副データセットの一部に従って前記計算作業を実行することは、
前記処理装置の前記１つが前記計算作業に失敗した場合、前記処理装置の前記１つによって、前記計算作業を前記主プロセッサへと戻し、前記主プロセッサは、いずれかの前記処理装置の１つが前記計算作業に成功するまで、前記計算作業を別の前記処理装置へと割り当て続ける、
請求項１６乃至２１のいずれかの多重処理アーキテクチャの動作方法。
【請求項２３】
前記主プロセッサは、第１のチャンネルを介して、前記メモリチップと時分割通信する、
請求項１６乃至２２のいずれかの多重処理アーキテクチャの動作方法。
【請求項２４】
前記処理装置は、それぞれ、複数の第２のチャンネルを介して、前記データ保存領域に一対一でアクセスし、前記第２のチャンネルの帯域幅は、前記第１のチャンネルの帯域幅よりも大きい、
請求項２３の多重処理アーキテクチャの動作方法。
【請求項２５】
前記メモリチップの数は、前記大データセットのデータ容量に応じて決定される、
請求項１６乃至２４のいずれかの多重処理アーキテクチャの動作方法。
【請求項２６】
前記主プロセッサは、無線通信、ピアトゥピア通信、又はスロットによって、別の複数のメモリチップに接続され、前記複数のメモリチップの１つ及び別の複数のメモリチップに対して、前記計算作業を選択的に割り当てる、
請求項１６乃至２５のいずれかの多重処理アーキテクチャの動作方法。
【請求項２７】
前記処理装置及び対応する前記データ保存領域は、それぞれ、同じメモリチップ又は異なるメモリチップに一対一で配置される、
請求項１６乃至２６のいずれかの多重処理アーキテクチャの動作方法。
【請求項２８】
前記主プロセッサは、前記処理装置に対して、同じ計算イベントの複数の計算作業を割り当て、前記処理装置は、割り当てに従って前記計算作業を実行する、
請求項１６乃至２７のいずれかの多重処理アーキテクチャの動作方法。
【請求項２９】
前記主プロセッサは、前記処理装置に対して、複数の計算イベントの複数の計算作業を同時に割り当て、前記処理装置は、前記計算イベントの前記計算作業を個別に実行する、
請求項１６乃至２８のいずれかの多重処理アーキテクチャの動作方法。
【請求項３０】
前記各処理装置は、それぞれ、論理動作装置を備える、請求項１６乃至２９のいずれかの多重処理アーキテクチャ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、処理アーキテクチャに関し、特に、メモリプロセッサを用いた多重処理アーキテクチャ及びその動作方法に関する。
【背景技術】
【０００２】
様々な種類の大きなデータセットのために、大量のデータ、及びニューラルネットワークコンピューテーション、イーサリウムマイニング作業又はゲノム配列決定等の集約コンピューテーションの特徴を有するアプリケーションが続々と開発されるにつれ、中央演算処理装置（ＣＰＵ）の処理性能に対する要求が高くなっている。しかしながら、現行のプロセッサの計算速度は、内蔵キャッシュユニットの大きさ、低キャッシュヒット率、及びメモリアクセス時間の制限により、効果的に上げることができない。
【０００３】
このことを鑑みて、計算速度を上げる一般的な方法は、例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）アーキテクチャ、特定用途向け集積回路（ＡＳＩＣ）アーキテクチャ、又は画像処理装置（ＧＰＵ）アーキテクチャ等を利用することにより、高い計算複雑性をもって計算作業を共有及び実行することである。しかしながら、上述の方法は、メモリアクセス時間の制限を克服することができず、処理回路の数が増加するにつれ、エネルギー消費も増加してしまう。従って、大きなデータに対して集約コンピューテーションを迅速に実行できる処理アークテクチャをどのように設計するかについての解決策の実施の形態が、以下に提供される。
【発明の概要】
【０００４】
本開示は、大きなデータセットに対して多重処理を効果的に実行可能なメモリプロセッサを用いた多重処理アーキテクチャ及びその動作方法を提供する。
【課題を解決するための手段】
【０００５】
本開示のメモリプロセッサを用いた多重処理アーキテクチャは、主プロセッサと、複数のメモリチップと、を備える。主プロセッサは、データインデックス機構を備える。メモリチップは、主プロセッサに接続される。メモリチップは、複数の処理装置と、複数のデータ保存領域と、を備える。処理装置及びデータ保存領域は、それぞれ、メモリチップに一対一で配置される。データ保存領域は、大データセットの複数の副データセットを共有するように構成される。主プロセッサは、メモリチップの処理装置の１つに対して計算作業を割り当て、処理装置の１つは、対応するデータ保存領域にアクセスして、副データセットの一部に従って計算作業を実行する。
【０００６】
本開示の実施の形態では、主プロセッサは、データインデックス機構を備える。主プロセッサは、データインデックス機構に従って、メモリチップの処理装置の１つに対して計算作業を割り当てることを決定する。
【０００７】
本開示の実施の形態では、主プロセッサは、さらに、ジョブキューを備える。主プロセッサは、ジョブキュー及びデータインデックス機構に従って、メモリチップの処理装置の少なくとも１つに対して複数の計算作業を連続的に割り当てる。
【０００８】
本開示の実施の形態では、各処理装置は、タスクキューを備え、処理装置の１つが１つ以上の計算作業を連続的に受け取った場合、１つ以上の計算作業は、処理装置の１つのタスクキューに連続的に配列され、それにより、処理装置の１つは、タスクキューに従って、計算作業を連続的に実行する。
【０００９】
本開示の実施の形態では、処理装置の１つは、計算作業に対応する特定の副データセットが、対応するデータ保存領域中の副データセットの一部に存在するかを検索し、計算作業に対応する特定の副データセットを継続して実行する。
【００１０】
本開示の実施の形態では、処理装置の１つが計算作業に成功した場合、それに対応して、処理装置の１つは、計算結果を主プロセッサへと戻し、主プロセッサは、別の計算作業を割り当てる。
【００１１】
本開示の実施の形態では、処理装置の１つが計算作業に失敗した場合、処理装置の１つは、計算作業を主プロセッサへと戻し、主プロセッサは、いずれかの処理装置が計算作業に成功するまで、計算作業を別の処理装置へと割り当て続ける。
【００１２】
本開示の実施の形態では、主プロセッサは、第１のチャンネルを介して、メモリチップと時分割通信する。
【００１３】
本開示の実施の形態では、処理装置は、それぞれ、複数の第２のチャンネルを介して、データ保存領域に一対一でアクセスし、第２のチャンネルの帯域幅は、第１のチャンネルの帯域幅よりも大きい。
【００１４】
本開示の実施の形態では、メモリチップの数は、最も大きなデータセットのデータ容量に応じて決定される。
【００１５】
本開示の実施の形態では、主プロセッサは、無線通信、ピアトゥピア通信、又はスロットによって、他の複数のメモリチップに接続され、複数のメモリチップの１つ及び別の複数のメモリチップに対して、計算作業を選択的に割り当てる。
【００１６】
本開示の実施の形態では、処理装置及び対応するデータ保存領域は、それぞれ、同じチップ又は異なるチップに一対一で配置される。
【００１７】
本開示の実施の形態では、主プロセッサは、処理装置に対して同じ計算イベントの複数の計算作業を割り当て、処理装置は、割り当てに従って計算作業を実行する。
【００１８】
本開示の実施の形態では、主プロセッサは、処理装置に対して複数の計算イベントの複数の計算作業を同時に割り当て、処理装置は、計算イベントの計算作業を個別に実行する。
【００１９】
本開示の実施の形態では、各処理装置は、それぞれ、論理動作装置を備える。
【００２０】
本開示のメモリプロセッサを用いた多重処理アーキテクチャの動作方法は、以下のステップを含む。主プロセッサは、複数のメモリチップの複数の処理装置の１つに、計算作業を割り当てる。１つの処理装置は、対応する複数のデータ保存領域の１つにアクセスし、大きなデータセットの複数の副データセットの一部を捕捉する。処理装置の１つは、副データセットの一部に従って、計算作業を実行する。
【００２１】
本開示の実施の形態では、主プロセッサがメモリチップの処理装置の１つに計算作業を割り当てるステップは、主プロセッサが、データインデックス機構に従って、メモリチップの１つの処理装置に計算作業を割り当てることを含む。
【００２２】
本開示の実施の形態では、主プロセッサがメモリチップの処理装置の１つに計算作業を割り当てるステップは、さらに、主プロセッサが、ジョブキュー及びデータインデックス機構に従って、メモリチップ処理装置の少なくとも１つに複数の計算作業を連続的に割り当てることを含む。
【００２３】
本開示の実施の形態では、動作方法は、さらに、処理装置の１つが１つ以上の計算作業を連続的に受け取った場合、処理装置の１つのタスクキューに１つ以上の計算作業を連続的に配列して、処理装置の１つがタスクキューに従って計算作業を連続的に実行するようにすることを含む。
【００２４】
本開示の実施の形態では、処理装置の１つが副データセットの一部に従って計算作業を実行するステップは、処理装置の１つが、計算作業に対応する特定の副データセットが対応するデータ保存領域の副データセットの一部に存在するかを検索して、特定の副データセットに従って計算作業を継続して実行することを含む。
【００２５】
本開示の実施の形態では、処理装置の１つが副データセットの一部に従って計算作業を実行するステップは、処理装置の１つが計算作業に成功した場合、それに対応して、処理装置の１つが計算結果を主プロセッサへと戻し、主プロセッサが別の計算作業を割り当てることを続けるステップを含む。
【００２６】
本開示の実施の形態では、処理装置の１つが副データセットの一部に従って計算作業を実行するステップは、処理装置の１つが計算作業に失敗した場合、処理装置の１つが計算作業を主プロセッサへと戻し、主プロセッサがいずれかの処理装置が計算作業に成功するまで計算作業を別の処理装置へと割り当て続けることを含む。
【００２７】
本開示の実施の形態では、主プロセッサは、第１のチャンネルを介して、メモリチップと時分割通信する。
【００２８】
本開示の実施の形態では、処理装置は、それぞれ、複数の第２のチャンネルを介して、データ保存領域に一対一でアクセスし、第２のチャンネルの帯域幅は、第１のチャンネルの帯域幅よりも大きい。
【００２９】
本開示の実施の形態では、メモリチップの数は、最も大きなデータセットのデータ容量に応じて決定される。
【００３０】
本開示の実施の形態では、主プロセッサは、無線通信、ピアトゥピア通信、又はスロットによって、他の複数のメモリチップに接続され、複数のメモリチップの１つ及び別の複数のメモリチップに対して、計算作業を選択的に割り当てる。
【００３１】
本開示の実施の形態では、処理装置及び対応するデータ保存領域は、それぞれ、同じチップ又は異なるチップに一対一で配置される。
【００３２】
本開示の実施の形態では、主プロセッサは、処理装置に対して同じ計算イベントの複数の計算作業を割り当て、処理装置は、割り当てに従って計算作業を実行する。
【００３３】
本開示の実施の形態では、主プロセッサは、処理装置に対して複数の計算イベントの複数の計算作業を同時に割り当て、処理装置は、計算イベントの計算作業を個別に実行する。
【００３４】
本開示の実施の形態では、各処理装置は、それぞれ、論理動作装置を備える。
【発明の効果】
【００３５】
総括すると、本開示のメモリプロセッサを用いた多重処理アーキテクチャ及びその動作方法は、それぞれ、メモリチップの処理装置によって、対応する計算作業を実行可能であり、大きなデータセットの効率的な多重処理動作を達成する。
【００３６】
上述の本開示の特徴及び利点への理解を容易にするために、実施の形態が図面と共に以下に詳細に説明される。
【００３７】
付される図面は、本開示のさらなる理解のために供され、本明細書に組み込まれ、その一部を構成する。図面は、本開示の実施の形態を図示し、説明と共に、本開示の原理を解説する。
【図面の簡単な説明】
【００３８】
【図１】図１は、本開示の実施の形態に係る、多重処理アーキテクチャの機能ブロック図である。
【００３９】
【図２】図２は、本開示の実施の形態に係る、多重処理アーキテクチャの概略動作図である。
【００４０】
【図３】図３は、本開示の実施の形態に係る、多重処理アーキテクチャの動作方法のフローチャートである。
【００４１】
【図４】図４は、本開示の別の実施の形態に係る、多重処理アーキテクチャの動作方法のフローチャートである。
【発明を実施するための形態】
【００４２】
本開示への理解をより容易にするために、実施の形態が例として以下に説明される。さらに、同一の参照番号を付される要素／ステップは、図面及び実施の形態において、同一又は同様の部品を表す。
【００４３】
図１は、本開示の実施の形態に係る、多重処理アーキテクチャの機能ブロック図である。図１を参照すると、多重処理アーキテクチャ１００は、主プロセッサ１１０と、複数のメモリチップ１２０＿１〜１２０＿Ｎとを備え、Ｎは１以上の整数である。本実施の形態において、主プロセッサ１１０は、第１のチャンネルＣ１を介してメモリチップ１２０＿１〜１２０＿Ｎと接続され、メモリチップ１２０＿１〜１２０＿Ｎと時分割通信する。メモリチップ１２０＿１〜１２０＿Ｎは、複数の処理装置１２１＿１〜１２１＿Ｎと、複数のデータ保存領域１２２＿１〜１２２＿Ｎとを備える。処理装置１２１＿１〜１２１＿Ｎ及びデータ保存領域１２２＿１〜１２２＿Ｎは、それぞれ、メモリチップ１２０＿１〜１２０＿Ｎに一対一で配置される。しかしながら、実施の形態において、処理装置１２１＿１〜１２１＿Ｎ及びデータ保存領域１２２＿１〜１２２＿Ｎは、それぞれ、異なるメモリチップに配置されてもよく、図１のアーキテクチャには限定されない。
【００４４】
処理装置１２１＿１〜１２１＿Ｎは、それぞれ、複数の第２のチャンネルＣ２＿１〜Ｃ２＿Ｎを介して、データ保存領域１２２＿１〜１２２＿Ｎに一対一でアクセスする。第１のチャンネルＣ１及び第２のチャンネルＣ２＿１〜Ｃ２＿Ｎは、メモリバスであってよく、各第２のチャンネルＣ２＿１〜Ｃ２＿Ｎの帯域幅は、第１のチャンネルＣ１の帯域幅よりも大きくてよい。本実施の形態において、各第２のチャンネルＣ２＿１〜Ｃ２＿Ｎの帯域幅は、１０２４ビットであってよいが、本開示はこれに限定されない。実施の形態において、第１のチャンネルＣ１及び第２のチャンネルＣ２＿１〜Ｃ２＿Ｎの帯域幅は、多重処理アーキテクチャ１００のデータ通信要求又はデータ保存領域１２２＿１〜１２２＿Ｎのデータ保存形式に応じて設計されてもよい。換言すれば、本実施の形態の処理装置１２１＿１〜１２１＿Ｎは、同一のチャンネルを共有する必要はなく、より大きな帯域幅を有する専用の第２のチャンネルＣ２＿１〜Ｃ２＿Ｎを介して、データ読み取り動作を個別に実行してよい。
【００４５】
処理装置１２１＿１〜１２１＿Ｎは、論理制御装置、論理動作装置、及びキャッシュ装置等の回路要素によって形成されるメモリ（ＰＩＭ）アーキテクチャにおいて処理を実行してよく、単純な数学計算又は複雑なプログラム計算を実行してよい。処理装置１２１＿１〜１２１＿Ｎは、それぞれ、メモリチップ１２０＿１〜１２０＿Ｎの周辺回路領域と一体化していてよく、それにより、データ保存領域１２２＿１〜１２２＿Ｎは、それぞれ、専用メモリの制御装置及び専用の第２のチャンネルＣ２＿１〜Ｃ２＿Ｎによって直接アクセスされる。さらに、処理装置１２１＿１〜１２１＿Ｎは、例えばニューラルネットワークコンピューテーション、イーサリウムマイニング作業又はゲノム配列決定等の特定のコンピューテーションを実行するために、事前に設計されてよいが、本開示はこれに限定されない。
【００４６】
さらに、実施の形態において、主プロセッサ１１０は、無線通信、ピアトゥピア通信、又はスロットによって、別の複数のメモリチップに接続されて、複数のメモリチップ１２０＿１〜１２０＿Ｎの１つ及び別の複数のメモリチップに対して、計算作業を選択的に割り当ててよい。換言すれば、この実施の形態の多重処理アーキテクチャは、計算対象を柔軟に増加させる特徴を備える。
【００４７】
データ保存領域１２２＿１〜１２２＿Ｎは、大データセットの複数の副データセットを共有するように構成される。さらに、本実施の形態の各メモリチップ１２０＿１〜１２０＿Ｎは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）チップ又はＤＲＡＭチップのアーキテクチャを用いたチップであってよいが、本開示はこれに限定されない。従って、各データ保存領域１２２＿１〜１２２＿Ｎは、複数のメモリバンクを備え、大データセットの副データセットは、メモリバンクに分散して保存される。実施の形態において、メモリチップ１２０＿１〜１２０＿Ｎの数は、大データセットのデータ容量に応じて決定される。
【００４８】
具体的には、主プロセッサ１１０は、メモリチップ１２０＿１〜１２０＿Ｎの処理装置１２１＿１〜１２１＿Ｎの１つに、計算イベントの計算作業を割り当て、計算作業を受け取った処理装置１２１＿１〜１２１＿Ｎの１つは、対応するデータ保存領域１２２＿１〜１２２＿Ｎの１つにアクセスし、対応するデータ保存領域１２２＿１〜１２２＿Ｎに保存された副データセットの一部を捕捉する。その間、計算作業を受け取った処理装置１２１＿１〜１２１＿Ｎの１つは、副データセットの一部に従って計算作業を実行する。従って、本実施の形態の多重処理アーキテクチャ１００は、メモリチップに配置された各処理装置によって計算作業をそれぞれ実行することで、複数の計算作業を同時に実行する。その間、本実施の形態の各処理装置１２１＿１〜１２１＿Ｎは、計算作業に対応する特定の副データセットを迅速に捕捉してよい。
【００４９】
本実施の形態において、処理装置１２１＿１〜１２１＿Ｎは、同じ計算イベントを実行するように構成されてよく、従って、主プロセッサ１１０は、処理装置１２１＿１〜１２１＿Ｎに対して、同じ計算イベントの複数の計算作業を割り当てる。しかしながら、実施の形態において、主プロセッサ１１０は、メモリチップ１２０＿１〜１２０＿Ｎの１つの処理装置１２１＿１〜１２１＿Ｎに対して、複数の計算イベントの複数の計算作業を割り当ててもよく、それにより、処理装置１２１＿１〜１２１＿Ｎは、異なる計算イベントの異なる計算作業を個別に実行する。
【００５０】
図２は、本開示の実施の形態に係る、多重処理アーキテクチャの概略動作図である。図２を参照すると、多重処理アーキテクチャ２００は、主プロセッサ２１０と、複数のメモリチップ２２０＿１〜２２０＿Ｎとを備える。メモリチップ２２０＿１〜２２０＿Ｎは、複数の処理装置２２１＿１〜２２１＿Ｎと、複数のデータ保存領域２２２＿１〜２２２＿Ｎと、を備える。処理装置２２１＿１〜２２１＿Ｎ及びデータ保存領域２２２＿１〜２２２＿Ｎは、それぞれ、メモリチップ２２０＿１〜２２０＿Ｎに一対一で配置される。多重処理アーキテクチャ２００の各要素は、図１に示される多重処理アーキテクチャ１００と同様に接続されてよい。
【００５１】
本実施の形態において、多重処理アーキテクチャ２００は、さらに、ジョブキュー２１１と、データインデックス機構２１２と、を備える。データインデックス機構２１２は、ルックアップテーブル（ＬＵＴ）であってよいが、本開示はこれに限定されない。処理装置２２１＿１〜２２１＿Ｎは、さらに、タスクキュー２２３＿１〜２２３＿Ｎを備える。具体的には、主プロセッサ２１０がジョブキュー２１１に従って計算作業を捕捉した場合、主プロセッサ２１０は、データインデックス機構２１２に従って、メモリチップ２２０＿１〜２２０＿Ｎの１つに対応するタスクキュー２２３＿１〜２２３＿Ｎの１つに対して、計算作業を割り当てることを決定し、処理装置２２１＿１〜２２１＿Ｎの１つは、対応するタスクキュー２２３＿１〜２２３＿Ｎに従って計算作業を実行する。その間、処理装置２２１＿１〜２２１＿Ｎの１つは、計算作業に対応する特定の副データセットが対応するデータ保存領域に保存されているかを検索する。
【００５２】
計算作業に対応する副データセットが対応するデータ保存領域に保存されている場合、処理装置２２１＿１〜２２１＿Ｎの１つは、計算作業に対応する副データセットに従って、計算作業を実行する。処理装置２２１＿１〜２２１＿Ｎの１つが計算作業に成功した場合、それに対応して、処理装置２２１＿１〜２２１＿Ｎの１つは、計算結果を主プロセッサ２１０へと戻し、主プロセッサ２１０は、別の計算作業を割り当てる。あるいは、計算作業が数回実行された後に、計算作業に対応する副データセットが対応するデータ保存領域に保存されていない場合、処理装置２２１＿１〜２２１＿Ｎの１つは、計算作業を主プロセッサ２１０へと戻し、主プロセッサは、いずれかの処理装置２２１＿１〜２２１＿Ｎが計算作業に成功するまで計算作業を別の処理装置２２１＿１〜２２１＿Ｎへと割り当て続ける。
【００５３】
さらに、実施の形態において、ジョブキュー２１１が複数の計算作業を含む場合、主プロセッサ２１０は、ジョブキュー２１１及びデータインデックス機構２１２に従って、メモリチップ２２０＿１〜２２０＿Ｎの処理装置２２１＿１〜２２１＿Ｎの少なくとも１つに対して、複数の計算作業を連続的に割り当てる。また、処理装置２２１＿１〜２２１＿Ｎの１つが１つ以上の計算作業を連続的に受け取った場合、処理装置２２１＿１〜２２１＿Ｎの１つのタスクキュー２２３＿１〜２２３＿Ｎに１つ以上の計算作業が連続的に配列され、処理装置２２１＿１〜２２１＿Ｎの１つは、対応するタスクキュー２２３＿１〜２２３＿Ｎに従って計算作業を連続的に実行する。
【００５４】
実施の形態において、本開示の多重処理アーキテクチャ２００は、イーサリウムマイニング動作に適用され、大データセットの有効非巡回グラフ（ＤＡＧ）ファイルを有する複数のファイルページは、データ保存領域２２２＿１〜２２２＿Ｎに分散して保存されている。従って、各データ保存領域２２２＿１〜２２２＿Ｎは、ファイルページの一部を含む。例えば、主プロセッサ２１０がジョブキュー２１１に応じてトランザクションナンスに対応する計算作業（例えばＳＨＡ３動作）を捕捉した場合、主プロセッサ２１０は、データインデックス機構２１２を検索して対応するハッシュコードを決定し、そのハッシュコードをデータ保存領域２２２＿２に保存する。従って、主プロセッサ２１０は、メモリチップ２２０＿２の処理装置２２１＿２に対応するハッシュ機能作業（ルックアップテーブル動作）を割り当てる。そのため、処理装置２２１＿２は、データ保存領域２２２＿２を読み取って対応するハッシュ機能作業を実行し、（マイニングが成功したことを示す）対応するハッシュコードを取得し、処理装置２２１＿２は、マイニング成功についての結果を主プロセッサ２１０へと戻し、対応する報酬（例えばイーサリウムコイン）を受け取る。
【００５５】
この例では、処理装置２２１＿２がハッシュ機能作業に成功した場合、それに対応して、処理装置２２１＿２は、マイニングが成功した結果を主プロセッサ２１０へと戻し、主プロセッサ２１０は、別のトランザクションナンスに従って、別のハッシュ機能作業を割り当てる。あるいは、処理装置２２１＿２がデータ保存領域２２２＿２中のハッシュコードを継続して捕捉することに失敗した場合、処理装置２２１＿２は、ハッシュ機能作業を主プロセッサ２１０へと戻し、主プロセッサは、いずれかの処理装置２２１＿１〜２２１＿Ｎがハッシュ機能作業に成功するまでハッシュ機能作業を別の処理装置２２１＿１〜２２１＿Ｎへと割り当て続ける。
【００５６】
その間、この例では、ジョブキュー２１１が複数のトランザクションナンスに対応する複数のハッシュ機能作業を含む場合、主プロセッサ２１０は、ジョブキュー２１１及びデータインデックス機構２１２に従って、メモリチップ２２０＿１〜２２０＿Ｎの処理装置２２１＿１〜２２１＿Ｎの少なくとも１つに対して、ハッシュ機能作業を連続的に割り当てる。また、処理装置２２１＿１〜２２１＿Ｎの１つが１つ以上のハッシュ機能作業を連続的に受け取った場合、処理装置２２１＿１〜２２１＿Ｎの１つがタスクキュー２２３＿１〜２２３＿Ｎに１つ以上のハッシュ機能作業が連続的に配列され、処理装置２２１＿１〜２２１＿Ｎの１つは、対応するタスクキュー２２３＿１〜２２３＿Ｎに従ってハッシュ機能作業を連続的に実行する。
【００５７】
換言すれば、この例では、各処理装置２２１＿１〜２２１＿Ｎは、各対応するタスクキュー２２３＿１〜２２３＿Ｎに従って、主プロセッサ２１０によって割り当てられる１つ以上のハッシュ機能作業を連続して実行してよく、各処理装置２１１＿１〜２１１＿Ｎは、データ読み取り動作（例えばルックアップテーブル動作）を迅速に実行してよい。従って、各処理装置２２１＿１〜２２１＿Ｎは、複数のイーサリウムマイニング動作を同時に実行して、マイニングの成功のスピードを上げることができる。換言すれば、本実施の形態の多重処理アーキテクチャは、処理装置２１１＿１〜２１１＿Ｎの多重の処理動作によって、最大並行度の処理性能を達成できる。
【００５８】
図３は、本開示の実施の形態に係る、多重処理アーキテクチャの動作方法のフローチャートである。図３を参照すると、図３に描かれる多重処理アーキテクチャの動作方法は、少なくとも、図２に描かれる多重処理アーキテクチャに適用されてよい。ステップＳ３１０において、主プロセッサ２１０は、ジョブキュー２１１及びデータインデックス機構２１２に従って、メモリチップ２２０＿１〜２２０＿Ｎの処理装置２２１＿１〜２２１＿Ｎ１つに計算作業を連続的に割り当てる。ステップＳ３２０において、割り当てられた処理装置２２１＿１〜２２１＿Ｎの１つは、計算作業を実行する。ステップＳ３３０において、割り当てられた処理装置２２１＿１〜２２１＿Ｎの１つは、計算作業が成功したかを判定する。計算作業に失敗した場合、ステップＳ３４０において、割り当てられた処理装置２２１＿１〜２２１＿Ｎの１つは、計算作業を主プロセッサ２１０へと戻し、主プロセッサは、計算作業を別の処理装置２２１＿１〜２２１＿Ｎへと再度割り当てる。ステップＳ３３０及び３４０は、いずれかの処理装置２２１＿１〜２２１＿Ｎが計算作業に成功するまで、繰り返し実行される。
【００５９】
あるいは、計算作業に成功した場合、ステップＳ３５０において、割り当てられた処理装置２２１＿１〜２２１＿Ｎの１つは、計算結果を主プロセッサ２１０へと戻し、主プロセッサ２１０は、ジョブキュー２１１の複数の計算作業が全て割り当てられた又は完了したかを判定する。全ての計算作業が割り当てられていない又は完了していない場合、主プロセッサ２１０は、ステップＳ３１０を再実行して、次の計算作業を割り当て続ける。全ての計算作業が割り当てられている又は完了している場合、主プロセッサ２１０は、作業割当動作を終了する。同様に、主プロセッサ２１０は、ジョブキュー２１１に従って、処理装置２２１＿１〜２２１＿Ｎに対して、複数の計算作業を割り当ててよく、ステップＳ３１０からＳ３５０の全てが各計算作業に対して実行される。従って、本実施の形態の多重処理アーキテクチャの動作方法は、多重処理を効果的に実行し、計算作業を迅速に完了することができる。
【００６０】
また、本実施の形態の多重処理アーキテクチャ２００の他の回路要素についての特徴、技術説明、又は実装方法に関する十分な教示、提案、及び実装の説明は、図１及び図２に描かれる実施の形態に関する説明を参照して推察可能であり、ここでは繰り返されない。
【００６１】
図４は、本開示の別の実施の形態に係る、多重処理アーキテクチャの動作方法のフローチャートである。図４を参照すると、図４に描かれる多重処理アーキテクチャの動作方法は、少なくとも、図１に描かれる多重処理アーキテクチャに適用されてよい。ステップＳ４１０において、主プロセッサ１１０は、メモリチップ１２０＿１〜１２０＿Ｎの１つの処理装置１２１＿１〜１２１＿Ｎに、計算作業を割り当てる。ステップＳ４２０において、それに対応して、１つの処理装置１２１＿１〜１２１＿Ｎは、１つのデータ保存領域１２２＿１〜１２２＿Ｎにアクセスし、大データセットの複数の副データセットの一部を捕捉する。ステップ４３０において、１つの処理装置１２１＿１〜１２１＿Ｎは、副データセットの一部に従って、計算作業を実行する。従って、本実施の形態の多重処理アーキテクチャに動作方法は、メモリ内処理（ＰＩＭ）を効果的及び迅速に実行できる。
【００６２】
また、本実施の形態の多重処理アーキテクチャ１００の他の回路要素についての特徴、技術説明、又は実装方法に関する十分な教示、提案、及び実装の説明は、図１乃至図３に描かれる実施の形態に関する説明を参照して推察可能であり、ここでは繰り返されない。
【００６３】
上述に基づくと、本開示によって提供されるメモリプロセッサを用いた多重処理アーキテクチャ及びその動作方法は、メモリチップの処理装置によって対応する計算作業を実行すること、及び専用のバスを介して対応するデータ保存領域のデータを読み取ることが可能である。さらに、本開示の多重処理アーキテクチャのメモリチップの数は、大データセットのデータ容量に応じて及び任意に増やしてもよい。メモリチップの数を増やすことにより、本開示の多重処理アーキテクチャの計算能力も同様に強化される。従って、本開示によって提供されるメモリプロセッサを用いた多重処理アーキテクチャ及びその動作方法は、多重処理動作を効果的に達成し、大データセットコンピューテーションを迅速に実行することができる。さらに、本開示の多重処理アーキテクチャは、拡張可能性及び大規模化可能性の特徴を有する。
【００６４】
当業者にとって、本開示の要旨及び範囲から逸脱することなく、本開示の実施の形態の構造に対して様々な変形及び変更を行うことができる点が容易に理解される。上述を踏まえて、開示の特許権保護の範囲は、本開示の変形例及び変更例を含み、特許請求の範囲及びそれと均等な領域を基準として定められる。
【産業上の利用可能性】
【００６５】
本開示のメモリプロセッサを用いた多重処理アーキテクチャ及びメモリプロセッサを用いた多重処理アーキテクチャの動作方法は、メモリ装置及びその動作方法に適用可能である。
【符号の説明】
【００６６】
１００、２００  多重処理アーキテクチャ
１１０、２１０  主プロセッサ
１２０＿１〜１２０＿Ｎ、２２０＿１〜２２０＿Ｎ  メモリチップ
１２１＿１〜１２１＿Ｎ、２２１＿１〜２２１＿Ｎ  処理装置
１２２＿１〜１２２＿Ｎ、２２２＿１〜２２２＿Ｎ  データ保存領域
２１１  ジョブキュー
２１２  データインデックス機構
２２３＿１〜２２３＿Ｎ  タスクキュー
Ｃ１  第１のチャンネル
Ｃ２＿１〜Ｃ２＿Ｎ  第２のチャンネル
Ｓ３１０、Ｓ３２０、Ｓ３３０、Ｓ３４０、Ｓ３５０、Ｓ４１０、Ｓ４２０、Ｓ４３０  ステップ
【図１】
2020061133.tif 000003
【図２】
2020061133.tif 000004
【図３】
2020061133.tif 000005
【図４】
2020061133.tif 000006
【外国語明細書】
2020061133000001.pdf