IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 緯創資通股▲ふん▼有限公司の特許一覧

<>
  • 特許-加速システム 図1
  • 特許-加速システム 図2
  • 特許-加速システム 図3
  • 特許-加速システム 図4
  • 特許-加速システム 図5
  • 特許-加速システム 図6
  • 特許-加速システム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-20
(45)【発行日】2023-11-29
(54)【発明の名称】加速システム
(51)【国際特許分類】
   G06F 15/177 20060101AFI20231121BHJP
   G06F 7/57 20060101ALI20231121BHJP
【FI】
G06F15/177 Z
G06F7/57
【請求項の数】 3
(21)【出願番号】P 2022099225
(22)【出願日】2022-06-20
(65)【公開番号】P2023109670
(43)【公開日】2023-08-08
【審査請求日】2022-06-20
(31)【優先権主張番号】111103657
(32)【優先日】2022-01-27
(33)【優先権主張国・地域又は機関】TW
(73)【特許権者】
【識別番号】504429600
【氏名又は名称】緯創資通股▲ふん▼有限公司
【氏名又は名称原語表記】WISTRON CORPORATION
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】陳 志明
【審査官】田中 幸雄
(56)【参考文献】
【文献】広津鉄平,自動運転実現に向けたカーエレクトロニクス,ロボット,日本,一般社団法人日本ロボット工業会,2016年11月20日,233号 ,10~15ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 15/177
G06F 7/57
(57)【特許請求の範囲】
【請求項1】
複数のモジュールを含む加速システムであって:
前記複数のモジュールの各々は、少なくとも1つの中央処理ユニット、少なくとも1つのグラフィックス処理ユニット、少なくとも1つのフィールド・プログラマブル・ゲート・アレイ、又は少なくとも1つの特定用途集積回路を含み、
前記複数のモジュールのうちの少なくとも1つのモジュールは、前記加速システムが構造化され且つネスト化されるように、前記複数のモジュールのうちの別のモジュールを少なくとも含み、
入力データは複数のグループに分割され、前記複数のグループは前記加速システムの前記複数のモジュールにそれぞれ対応しており、前記加速システムの前記複数のモジュールは、前記複数のモジュールに対応する前記複数のグループをそれぞれ処理し、
前記複数のモジュール内の第1モジュールは前記複数のモジュール内の第2モジュールを含み、前記複数のグループ内の第1グループは前記第1モジュールに対応し、前記入力データ内の第1グループ入力データは前記第1グループに割り当てられ、前記第1グループ入力データの一部は前記第1モジュールによって処理され、前記第1グループ入力データの一部は前記第2モジュールによって処理され、前記第1モジュールの処理速度は前記第2モジュールの処理速度と相違する、加速システム。
【請求項2】
請求項に記載の加速システムにおいて、前記入力データは、クラスタリング・アルゴリズムに従って、前記複数のグループに分割されている、加速システム。
【請求項3】
請求項1に記載の加速システムにおいて、前記加速システムは、リカレント構造因果モデルを用いて、前記加速システムの前記複数のモジュールの数、階層、又はタイプを決定する、加速システム。
【発明の詳細な説明】
【技術分野】
【0001】
1.発明の分野
本発明は、加速システム及びその動的な構成方法に関連し、特に、ハードウェア加速コストを低減し、パフォーマンスを向上させるための加速システム及びその動的な構成方法に関連する。
【背景技術】
【0002】
2.先行技術の説明
従来のネットワーク・デバイスは、ネットワーク動作の観点から言えば、無線ユニット(RU)、分散ユニット(DU)、中央ユニット(CU)又はコア・ネットワーク・サーバーに分類されるが、これらに限定されない。
【0003】
第5世代移動体ネットワーク(5G)は、異なるネットワーク・デバイス上で異なるハードウェア加速タイプを採用している。例えば、無線ユニット及び配信ユニットは、ベースバンド処理カード(例えば、前方誤り訂正(FEC)アクセラレータ)及びセキュリティ・カード(例えば、TLS/IPSec)を必要とする。中央ユニットは、セキュリティ・カード(TLS/IPSecなど)を必要とする。コア・ネットワーク・サーバーについては、セキュリティ・カード(TLSアクセラレータなど)と次世代ファイアウォール・カード(レイヤ5より高いスキャニング・アクセラレータなど)を必要とする。
【0004】
ハードウェアの加速コストを低減し、パフォーマンスを向上させるために、既存のネットワーク・デバイスのハードウェア加速に関して言えば、依然として改善の余地がある。
【発明の概要】
【0005】
従って、本発明の主要な課題は、ハードウェア加速コストを低減し、パフォーマンスを向上するために、加速システム及びその動的な構成方法を提供することである。
【0006】
本発明は、複数のモジュールを含む加速システムを開示しており、複数のモジュールの各々は、少なくとも1つの中央処理ユニット、少なくとも1つのグラフィックス処理ユニット、少なくとも1つのフィールド・プログラマブル・ゲート・アレイ、又は少なくとも1つの特定用途集積回路を含み、複数のモジュールのうちの少なくとも1つのモジュールは、加速システムが構造化され且つネスト化されるように、複数のモジュールのうちの別のモジュールを少なくとも含む。
【0007】
本発明は、加速システムのための動的な構成方法も更に開示しており、本方法は、第1系列データに基づいてリカレント構造因果モデル(recurrent structural causal model)から第1情報を提供するステップであって、第1系列データは第11時点における第1入力データを含む、ステップ;及び第2時点における第2入力データの処理を加速するために、第1情報に従って、加速システムの複数のモジュールの数、階層、又はタイプを設定するステップを含む。
【0008】
本発明のこれら及び他の課題は、種々の図及び図面に示されている好ましい実施形態についての以下の詳細な説明を読んだ後の当業者にとって疑いもなく明らかになるであろう。
【図面の簡単な説明】
【0009】
図1図1は、本発明の実施形態による加速システムの概略図である。
【0010】
図2図2は、本発明の実施形態によるリカレント構造因果モデルの概略図である。
【0011】
図3図3は、本発明の実施形態によるリカレント構造因果モデルの概略図である。
【0012】
図4図4は、本発明の実施形態による最適化方法のフローチャートである。
【0013】
図5図5は、本発明の実施形態による動的な構成方法のフローチャートである。
【0014】
図6図6は、本発明の実施形態による実施方法の概略図である。
【0015】
図7図7は、本発明の実施形態による通信システムの概略図である。
【発明を実施するための形態】
【0016】
「第1」や「第2」のような序数の用語の使用それ自体は、ある要素の他の要素を上回る優先度/優位性/順序、あるいは方法の動作が実行される時系列を意味しておらず、単に特定の名称を有するある要素を、同じ名称を有する別の要素からを区別するためのラベルとして使用されているに過ぎない。以下の実施形態で説明される様々な技術的特徴は、それらが互いに矛盾しないならば、種々の方法で組み合わせられてもよい。
【0017】
図1は、本発明の実施形態による加速システム10の概略図である。加速システム10は、ハードウェア加速コストを低減し、パフォーマンスを向上させるために、入力データに基づいて、ハードウェア加速タイプ及び1階層/複数階層を動的に調整/構成することができる。
【0018】
1つのデバイス(例えば上述のネットワーク装置であるが、これに限定されない)は、本発明の1つの加速システム10に対応する可能性がある。デバイスのハードウェア/ソフトウェア(例えば、入力データが、デバイスのハードウェア/ソフトウェアによって処理されるために、どのように分割されるか)は、加速システム10の加速タイプ及び階層に従って構成されてもよい。
【0019】
加速システム10は、構造物であってもよいし/構造化されてもよい。図1に示すように、加速システム10は、階層又はシーケンスを形成するために、複数のモジュール110-140を含む可能性がある。例えば、加速システム10は、少なくとも1つのモジュール110に分割されてもよい(各モジュールが更にモジュールに分割されてもよい)。モジュール110-130の各々は、それぞれ少なくとも1つのモジュール120-140を含む可能性があり:モジュール110は少なくとも1つのモジュール120を含む可能性があり、モジュール120は少なくとも1つのモジュール130を含む可能性がある。言い換えれば、加速システム10は、構造的に(レイヤ毎に)ネスト化されている
【0020】
モジュールは、少なくとも1つの中央処理ユニット(CPU)110CPUhw、少なくとも1つのグラフィックス処理ユニット(GPU)120GPU、少なくとも1つのフィールド・プログラマブル・ゲート・アレイ(FPGA)130FPGA、又は少なくとも1つの特定用途集積回路(ASIC)140ASICを含んでもよい(又は対応していてもよい)。
【0021】
従って、ある態様では、特定のレイヤにおいて、幾つかのモジュール(例えば、1つのモジュール110)が、現在のレイヤのより遅いハードウェア加速(例えば、少なくとも1つのCPU 110CPUhw)を使用し、他のモジュール(例えば、別のモジュール110)が、次のレイヤのより高速なハードウェア加速(例えば、少なくとも1つのGPU 120GPU)を使用する。言い換えると、1つのモジュールによって実行されることが可能な処理は、少なくとも2つの異なるハードウェアによって実行されることが可能な処理に分割されてもよい。例えば、1つのモジュール110によって実行されることが可能な処理(例えば、モジュール110のタスク)は、CPU(s)110CPUhwによって実行されることが可能な処理(例えば、CPU 110CPUhwのタスク)と、GPU(s)120GPUによって実行されることが可能な処理(例えば、GPU 120GPUのタスク)とに分割されてもよい。
【0022】
デバイスは入力データを受信し、加速システム10は入力データの処理/計算を高速化することができる。例えば、加速システム10は、入力データに対して純粋な/単独のソフトウェア処理を実行してもよいし(例えば、加速システム10の純粋な/単独のソフトウェア命令110CPUswを使用して、純粋な/単独のソフトウェア処理を実行する)、又は入力データに対してハードウェア処理を実行してもよい(例えば、CPU 110CPUhwのハードウェア加速命令を使用して、ハードウェア処理を実行する)。
【0023】
入力データは構造であってもよいし/構造化されていてもよい。本発明は、構造入力データを、異なるグループに分類/クラスタ化するためのクラスタリング・アルゴリズムを採用することができる。グループ化を目的とするクラスタリング・アルゴリズムは、例えば、K平均アルゴリズムであってもよいが、これに限定されない。グループの数は、加速システム10のCPU(s)110CPUhw、GPU(s)120GPU、FPGA(s)130FPGA、及びASIC(s)140ASICの総数に関係していてもよい。例えば、グループの数は、加速システム10のCPU(s)110CPUhw、GPU(s)120GPU、FPGA(s)130FPGA、及びASIC(s)140ASICの総数以下であってもよいが、これに限定されない。
【0024】
各グループは、各々、加速システム10の1つのモジュールに対応してもよく;従って、入力データは、異なるモジュールによって処理されてもよい。例えば、入力データの一部は、加速システム10の純粋な/単独のソフトウェア命令110CPUswによって処理されてもよい。入力データの一部は、モジュール110に対応し(即ち、モジュール110に割り当てられ)、CPU 110CPUhwによって処理されてもよい。入力データの一部は、モジュール120に対応し(即ち、モジュール120に割り当てられ)、GPU 120GPUによって処理されてもよい。入力データの一部は、モジュール130に対応し(即ち、モジュール130に割り当てられ)、FPGA 130FPGAによって処理されてもよい。入力データの一部は、モジュール140に対応し(即ち、モジュール140に割り当てられ)、ASIC 140ASICによって処理されてもよい。異なるハードウェアの処理速度は異なるので(例えば、GPU 120GPUは、画像処理の分野における演算加速を促進して画像処理タスクを加速するので)、どのモジュールが及びどのハードウェアが加速に使用され得るかを、入力データのタイプに従って決定することができる。即ち、加速システム10のモジュールの構造は、入力データの構造化された情報に対応してもよい。
【0025】
構造入力データに応じて加速タイプ及び階層を動的に調整/構成するために、加速システム10は、リカレント・ニューラル・ネットワーク(recurrent neural network, RNN)と構造因果モデル(structural causal model, SCM)との組み合わせであるリカレント構造因果モデルに従って、加速システム10の加速タイプ及び階層を動的に構成することができる。このようにして、加速システム10は、加速システム10の様々なモジュールを使用して、入力データの様々なグループ(即ち、入力データのグループに属するデータ)をそれぞれ処理することができる。
【0026】
リカレント構造因果モデルは、統計的関係/尺度だけではなく、因果的関係/尺度(即ち、因果律)及び統計的関係/尺度に基づくことができる。リカレント構造因果モデルは、入力データの構造的因果関係を見出すことができるので、それは、最適な加速タイプ及び階層をより正確に決定/推定することができ、その結果、加速システム10の加速タイプ及び階層は、より低い加速コスト及びより高い加速効率を保証することができる。
【0027】
リカレント構造因果モデルは、現在の入力データのみを処理するのではなく、様々な時点(現在の時点を含む)で入力データを分析することができる。その結果、リカレント構造因果モデルは、より正確な予測を提供することができ、その結果、加速システム10の加速タイプ及び階層は、様々な時点において(そして常に)、より低い加速コスト及びより高い加速効率を保証することができる。
【0028】
図2は、本発明の実施形態によるリカレント構造因果モデル20の概略図である。リカレント構造因果モデル20は、加速システム10の特徴を述べる構造情報を提供することができる。リカレント構造因果モデル20は、入力レイヤ220X1ないし220X3と、構造因果レイヤ220SCM1ないし220SCM3と、出力レイヤ220Y1ないし220Y3とを含む可能性がある。入力レイヤ220X1は、入力210Pt-1を受信することができ、これは時点t-1におけるデバイスの入力データに関連付けられてもよい。入力レイヤ220X2は、入力210Pt(出力レイヤ層220Y1から出力されるもの)を受信することができ、入力210Ptは時点tにおけるデバイスの入力データに関連付けられてもよい。入力レイヤ220X3は、入力210Pt+1(出力レイヤ220Y2から出力されるもの)を受信し、ラベル210Pt+2を出力することができる。ラベル210Pt+2は、時点t+1における加速システム10の加速タイプ及び階層に関する情報を含む可能性がある。従って、リカレント構造因果モデル20は、加速システム10の様々なモジュールを使用して、入力データの様々なグループをそれぞれ処理するように、加速システム10の加速タイプ及び階層を動的に構成することができる。
【0029】
一実施形態では、時点tは現在の時点である。入力210Pt-1及び210Ptは、以前の時点におけるデバイスの入力データ及び現在の時点におけるデバイスの入力データにそれぞれ関連付けられてもよい。ラベル210Pt+2は、次の時点(即ち、時点t+1)における加速システム10の加速タイプ及び階層に関する情報を含んでいるかもしれないが、それに限定されない。言い換えれば、リカレント構造因果モデル20は、次の時点(即ち、時点t+1)における加速システム10の加速タイプ及び階層を予測して、加速システム10の加速タイプ及び階層を前もって事前設定することができる。次の時点(即ち、時点t+1)における入力データがデバイスに入力される前に、デバイスのソフトウェア/ハードウェアは、次の時点(即ち、時点t+1)に対応する加速システム10の加速タイプ及び階層に従って(時点t-1におけるデバイスの入力データ及び時点tにおけるデバイスの入力データを考慮して)事前設定されてもよい。次の時点(即ち、時点t+1)における入力データがデバイスに入力された後、デバイスのハードウェア及びソフトウェアは、次の時点(即ち、時点t+1)に対応する加速システム10の加速タイプ及び階層に従って(時点tでのデバイスの入力データ及び時点t+1でのデバイスの入力データを考慮して)若干調整されてもよい(又は、加速タイプ及び階層に関する予測が真に迫っていることに起因して、再構成されないかもしれない。
【0030】
別の実施形態では、時点t+1が現在の時点であってもよい。入力210Pt-1、210Pt、及び210Pt+1は、それぞれ、以前の時点より前の時点におけるデバイスの入力データ、以前の時点におけるデバイスの入力データ、及び現在の時点におけるデバイスの入力データに関連付けられてもよい。ラベル210Pt+2は、現在の時点における加速システム10の加速タイプ及び階層に関する情報を含んでいる可能性がある。
【0031】
図3は、本発明の実施形態によるリカレント構造因果モデル30の概略図である。リカレント構造原因モデル30は、入力レイヤ220X2-nないし220X3と、構造因果レイヤ320SCM2-nないし320SCM3と、出力レイヤ220Y2-nないし220Y3とを含む可能性があり、ここで、nは正の整数である。
【0032】
図3において、入力210Pt-nないし210Ptは、各々、時点t-nにおけるデバイスの入力データ、ないし時点tにおけるデバイスの入力データにそれぞれ関連付けられてもよい。一実施形態では、入力210Pt-nないし210Ptのうちの1つが、時点t-nないしtのうちの1つにおけるデバイスの入力データであってもよい。一実施形態では、入力210Pt-nないし210Ptのうちの1つは、時点t-nないしtのうちの1つにおいて入力データが様々なグループにどのように分割されるかに関連する構造グラフであってもよい。
【0033】
入力210Pt-1及び210Ptは、それぞれ、時点t-1におけるデバイスの入力データ及び時点tにおけるデバイスの入力データにそれぞれ関連し、従って、入力210Pt-nは、時点t-1におけるデバイスの入力データ及び時点tにおけるデバイスの入力データに、少なくとも関連している。言い換えれば、リカレント構造因果モデル30は、時系列データを受信することができる(即ち、複数の時点における入力データを受信することができる)。
【0034】
構造因果レイヤ320SCM2-nないし320SCM2は、因果的関係/尺度を含む可能性がある。図3において、構造因果レイヤ320SCM2-nないし320SCM2は、それぞれ、パラメータ330M2-nないし330M2を、隣接する構造因果レイヤ320SCM3-nないし320SCM3に渡し;言い換えれば、ある時点のパラメータは、次の時点に向かって転送されることが可能である。一実施形態では、パラメータ330M2-nないし330M2は、ウェイトの代わりに確率であってもよいが、それに限定されない。
【0035】
図3において、ラベル210Pt+2は、時点t+1における加速システム10の加速タイプ及び階層に関する情報を含んでいる可能性がある。一実施形態において、ラベル210Pt+2はグラフであってもよい。グラフを通じて因果関係をモデル化することは、因果関係の動態を記述する方法をもたらし得る。一実施形態において、ラベル210Pt+2は、加速システム10の構造グラフを含む可能性がある。例えば、ラベル210Pt+2は、各モジュールが何に対応するかに関する情報、対応するCPU(s)110CPUhwの数に関する情報、対応するGPU(s)120GPUの数に関する情報、対応するFPGA(s)130FPGAの数に関する情報、対応するASIC(s)140ASICの数に関する情報、又はモジュール110-140間の接続又はネスティング方法/結果に関する情報を含む可能性がある。ラベル210Pt+2は、最適な加速コスト及びパフォーマンス(即ち、より低いコスト及びより高いパフォーマンス)を伴う構造情報(加速システム10の加速タイプ及び階層に関するもの)を含む可能性がある。
【0036】
図4を参照されたい。図4は、本発明の実施形態による最適化方法40のフローチャートである。最適化方法40は、コードにコンパイルされ、記憶回路における処理回路によって実行されてもよい。図4に示す最適化方法40のステップは、以下の通りである:
【0037】
ステップS400:開始
【0038】
ステップS402:因果関係発見アルゴリズムを用いて因果関係グラフを形成する。
【0039】
ステップS404:因果関係グラフを検証する。
【0040】
ステップS406:リカレント構造因果モデル20又は30を、検証済みの因果関係グラフ(verified causal graph)で訓練する。
【0041】
ステップS408:訓練されたリカレント構造因果モデル20又は30を用いて予測/推論を実行する。
【0042】
ステップS410:終了。
【0043】
具体的には、因果関係発見アルゴリズムは、入力データの因果関係(又は因果律)を抽出することができる。ステップS402において、因果関係発見アルゴリズムは、デバイスに入力された入力データを、因果関係グラフに変換するために使用されてもよい。因果関係発見アルゴリズムは、例えば、高速因果推論(fast causal inference, FCI)又は高速貪欲等価探索(fast greedy equivalence search, FGES)であってもよいが、これらに限定されない。
【0044】
因果関係発見アルゴリズムを使用してステップS402で生成された因果関係グラフは、仮定された因果関係である可能性があり、従って、その因果関係グラフはステップS404で検証されなければならない。一実施形態において、因果関係グラフは、構造的因果関係モデルを用いて検証され、正しい原因と結果(即ち、正しい因果関係)のみを残す/推論することができる。別の実施形態では、サンプルの第1数(例えば、20)が、第1変数は第2変数の原因であるかどうかを検証するために使用されてもよく、また、サンプルの第2数(例えば、400)が、第2変数は第1変数の原因であるかどうかを検証するために使用されてもよい。第2数が第1数よりもはるかに大きい場合、第1変数は第2変数に影響を与える可能性があり(即ち、第2変数の原因である可能性があり)、第2変数は第1変数に関する事柄をほとんど説明しない(即ち、第1変数の原因ではない可能性がある)。第1変数から第2変数への矢印が、因果関係グラフに描かれてもよい。即ち、検証に必要なサンプルの数が少ないならば、その因果関係グラフの方向(その方向に向かう矢印)は正しい可能性がある。別の実施形態では、因果関係グラフについてのグランド・トゥルースが存在する場合、そのグランド・トゥルースを使用して、ステップS402で生成された因果関係グラフが正しいかどうかを判別してもよい。
【0045】
ステップS406は、訓練プロセスに対応する可能性がある。ステップS406において、検証された因果関係グラフは、(訓練されていない)リカレント構造因果モデル20又は30を介して入力されてもよい。(訓練されていない)リカレント構造因果モデル20又は30の出力は、(既知の)グランド・トゥルース/ターゲットと比較されてもよい。例えば、リカレント構造因果モデル20又は30の出力と(既知の)グランド・トゥルースとの間の誤差(例えば、平均二乗誤差)が最小化されてもよく、その結果、リカレント構造因果モデル20又は30の出力は、パラメータを最適化するために徐々に(既知の)グランド・トゥルースに近づく。リカレント構造因果モデル20又は30を訓練するために、パラメータは再評価され/更新され且つ最適化され、それによって訓練を完了することができる。(既知の)グランド・トゥルースは、より低いコストとより高いパフォーマンスの目標出力に対応していてもよいし/それを指し示していてもよい。
【0046】
ステップS408は、(訓練された)リカレント構造因果モデル20又は30からの知識を適用/使用して結果を推論/予測/推定する推論/予測プロセスに対応する可能性がある。ステップS408では、(訓練された)リカレント構造因果モデル20又は30が、予測のために使用されることが可能である。解釈/認識されるべき(未知の)入力データが、(訓練された)リカレント構造因果モデル20又は30を介して入力された場合に、(訓練された)リカレント構造因果モデル20又は30は、(最適化された)パラメータに従って(未知の)入力データに対して推論/予測を行い、予測(即ち、ラベル210Pt+2)を生成することができる。リカレント構造因果モデル20又は30から出力される予測(即ち、ラベル210Pt+2)は、加速システム10の加速タイプ及び階層に関する情報を含んでいる可能性がある。加速システム10の様々なモジュールがそれぞれ入力データの様々なグループを処理するために使用されるように、リカレント構造因果モデル20又は30は、加速システム10の加速タイプ及び階層を動的に構成する(ことを支援する)ことが可能である。
【0047】
一実施形態では、ステップS402ないしS408のうちの何れかはオプションであってもよく、従って省略されてもよい。
【0048】
図5を参照されたい。図5は、本発明の実施形態による動的な構成方法50のフローチャートである。動的な構成方法50は、コードにコンパイルされ、記憶回路における処理回路によって実行されてもよい。図5に示す動的な構成方法のステップは、以下の通りである:
【0049】
ステップS500:開始。
【0050】
ステップS502:(リカレント構造因果モデル20又は30が)第1系列データに従って第1情報を提供し、ここで、第1系列データは第1時点における第1入力データを含む。
【0051】
ステップS504:第2時点における第2入力データの処理を高速化するために、第1情報に従って加速システム10のモジュール110-140の数、タイプ、又は1階層/複数階層を設定する。
【0052】
ステップS506:(リカレント構造因果モデル20又は30が)第2系列データに従って第2情報を提供し、ここで、第2系列データは第2時点における第2入力データを含む。
【0053】
ステップS508:第4時点における第4入力データの処理を高速化するために、第2情報に従って加速システム10のモジュール110-140の数、タイプ、又は1階層/複数階層を設定する。
【0054】
ステップS510:終了。
【0055】
動的な構成方法50に従って、加速システム10は、第1入力データ、第2入力データ、又は第4入力データの処理/計算を加速するために使用されることが可能である。加速システム10のモジュール110-140の数、タイプ、又は1階層/複数階層は、リカレント構造因果モデル20又は30に従って動的に構成/調整されることが可能である。
【0056】
具体的には、ステップS502及びS506において、上述したように、リカレント構造因果モデル20又は30の入力は、複数の時点の時系列データであってもよい。例えば、第1系列データは、第1時点における第1入力データと、第1時点よりも早期の第3時点における第3入力データとを含んでもよい。同様に、第2系列データは、第2時点における第2入力データと、第2時点よりも早期の第1時点における第1入力データとを含んでもよい。第4系列データは、第4時点における第4入力データと、第4時点よりも早期の第2時点における第2入力データとを含んでもよい。
【0057】
リカレント構造因果モデル20又は30によって出力される第1情報は、第2時点に対応してもよく、第1情報は、第2時点に対応する加速システム10のモジュール110-140の数、タイプ、又は1階層/複数階層を含んでもよい。同様に、リカレント構造因果モデル20又は30によって出力される第2情報は、第4時点に対応してもよく、第2情報は、第4時点に対応する加速システム10のモジュール110-140の数、タイプ、又は1階層/複数階層を含んでもよい。第2時点は第4時点よりも早い。従って、加速システム10は、第1情報又は第2情報に従って動的に構成されることが可能である。一実施形態において、階層は、モジュール110-140の接続関係/方法/結果、階層関係/方法/結果、又はネスティング(入れ子)関係/方法/結果に関連してもよい。一実施形態では、タイプは、回路の種類(CPU又はGPUなど)に関連してもよい。
【0058】
ステップS504及びS508では、上述したように、第1入力データ、第2入力データ、又は第3入力データは、グループに分割されてもよく、これらのグループはそれぞれ加速システム10のモジュール110-140に対応する。加速システム10のモジュール110-140はそれぞれ対応するグループを処理する。例えば、図1を参照すると、モジュール110はモジュール120を含んでいる。従って、モジュール110は、様々な処理を実行することが可能であり:1つのモジュール110によって実行されることが可能な処理は、CPU 110CPUhwによって実行されることが可能な処理と、GPU(s)120GPUによって実行されることが可能な処理とに分割されることが可能である。これらのグループの第1グループは、例えばモジュール110に対応してもよい。(第2入力データのような)入力データ内の第1グループ入力データは、例えば第1グループに割り当てられてもよい。第1グループ入力データの一部は、1つのモジュール110によって処理されてもよく;第1グループ入力データの一部は、1つのモジュール120によって処理されてもよい。モジュール110の処理速度は、モジュール120の処理速度よりも速いかもしれない。
【0059】
一実施形態において、ステップS502ないしS508のうちの何れかはオプションであってもよく、従って省略されてもよい。
【0060】
図6は、本発明の実施形態による実施方法60の概略図である。
【0061】
一実施形態では、モジュール110-140の各々は、ハードウェア記述言語(HDL)606によって記述されてもよい。ハードウェア設計がHDL 606を使用して実行された後、集積回路は、それに応じて使用するために(即ち、レイアウトを描き、次いでテープ・アウトすることによって)製造され又はプログラムされることが可能である。HDL 606は、例えば、VHDL又はVerilogであってもよいが、これらに限定されない。
【0062】
ソリッド・ステート・ディスク(SSD)602上のファイル内のHDL 606は、メイン・メモリ604にマッピングされ、ハードウェア加速シミュレーション・レイヤ608によって読み込まれ、加速システム10を実現することができる。
【0063】
従って、加速システム10は、CPU(s)110CPUhw、GPU(s)120GPU、FPGA(s)130FPGA、及びASIC(s)140ASICを有する回路基板に対応してもよい。CPU 110CPUhwは、純粋な/単独のソフトウェア命令110CPUsw及びハードウェア加速命令をサポートしてもよい。加速システム10は、ハードウェア・デバイスとコンピュータ命令との組み合わせとして知られているファームウェアと、ハードウェア・デバイス又は電子システムにおけるリード・オンリー・ソフトウェアとして存在するデータとを含む可能性がある。CPU(s)110CPUhw、GPU(s)120GPU、FPGA(s)130FPGA、及びASIC(s)140ASICが、回路基板上で物理的にどのように配置されるかは、時間の経過に伴って調整可能/再構成可能ではないかもしれない;しかしながら、CPU(s)110CPUhw、GPU(s)120GPU、FPGA(s)130FPGA、及びASIC(s)140ASICが、加速システム10を形成/構成/構築するように、どのように構造化/ネスト化される方法は、時間の経過に伴って調整可能/再構成可能であるかもしれない。その結果、加速システム10の加速タイプ及び階層は、時間の経過に伴って動的に構成される可能性があり、入力データは、コストを削減し且つパフォーマンスを向上させるように、デバイスのソフトウェア及びハードウェアによって処理される。
【0064】
本発明の加速システム10は本発明の例示的な実施形態であり、当業者は種々の置換や修正を容易に行う可能性がある。例えば、図1及び図6に示すように、CPU 110CPUhw及びGPU 120GPUは、メモリバスである可能性があるバス110bによって接続されてもよい。GPU 120GPU及びFPGA 130FPGAは、バス120bによって接続されてもよい。FPGA 130FPGA及びASIC 140ASICは、バス130bによって接続されてもよい。バス120b及び130bはそれぞれPCI Express(PCIe)バスであってもよいが、これに限定されない。
【0065】
図7は、本発明の実施形態による通信システム70の概略図である。
【0066】
本発明のデバイスは、図7に示されるような無線ユニットRU、分散ユニットDU、中央ユニットCU、又はコア・ネットワーク・サーバーのようなネットワーク・デバイスであってもよいが、これに限定されない。
【0067】
第5世代移動体ネットワーク(5G)では、入力データのタイプは異なるネットワーク・デバイスについては異なる可能性がある。アップリンクを例にとると、無線ユニットRUの入力データは単独に暗号化(符号化)され復調される。分散ユニットDUの入力データは、二重に暗号化され変調される。中央ユニットCUの入力データは、二重に暗号化され復調される。コア・ネットワーク・サーバーの入力データは、単独に暗号化及び復調される。各タイプのネットワーク・デバイスは、それ自身の種類の入力データを有するので、異なるネットワーク・デバイスは、異なる加速タイプと階層を必要とし、従ってそれぞれ異なる加速システム10に対応する可能性がある。リカレント構造因果モデル20又は30は、全てのネットワーク・デバイスが適切な加速タイプ及び階層を有することを確実にすることができる。
【0068】
別の態様では、異なる時点における1つのネットワーク・デバイスに対する入力データのタイプは同じであってもよいが、各タイプのネットワーク・デバイスは、それ自体の種類の入力データを有する。ネットワーク・デバイスに対する入力データのタイプは、入力データのソース・デバイスに関連付けられてもよい。例えば、図7において、入力データのソース・デバイスはカメラである。ソース・デバイスがウェアラブル・デバイスに変更されると、入力データのタイプは変更され、入力データに対応する加速システム10の加速タイプ及び階層は、それに応じて変更されてもよい。
【0069】
要約すると、本発明の加速システムは、ユーザーのシナリオに基づいてハードウェア加速タイプ及び1階層/複数階層を動的に提供して、ハードウェア加速コストを低減し、パフォーマンスを最適化することができる。本発明のリカレント構造因果モデルの予測は、最適なコスト及びパフォーマンスを伴う加速システムの加速タイプ及び階層を含んでもよい。本発明のリカレント構造因果モデルは、特定の入力データに対して任意の時点で予測するように、経時的な系列データによって訓練されることが可能であり、加速システム(の加速タイプ及び階層)はコスト削減及びパフォーマンス最適化の観点から最良に適合したものになる。
【0070】
当業者は、本発明の教示を保持しつつ、デバイス及び方法の多くの修正及び変更が施されてもよいことを容易に理解するであろう。従って、上記の開示は、添付のクレームの境界及び範囲によってのみ限定されるように解釈されるべきである。
図1
図2
図3
図4
図5
図6
図7