(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】サービスとしてのハードウェアリソースに直接的なリソースアドレス指定能力を提供する技術
(51)【国際特許分類】
H04L 45/74 20220101AFI20241001BHJP
H04L 45/44 20220101ALI20241001BHJP
【FI】
H04L45/74
H04L45/44
【外国語出願】
(21)【出願番号】P 2020020851
(22)【出願日】2020-02-10
【審査請求日】2023-02-02
(32)【優先日】2019-03-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ラグ コンダパリ
(72)【発明者】
【氏名】アレキサンダー バックメッツキー
(72)【発明者】
【氏名】フランチェス グイム ベルナト
(72)【発明者】
【氏名】ネッド エム. スミス
(72)【発明者】
【氏名】クシジ ドシ
【審査官】速水 雄太
(56)【参考文献】
【文献】特表2017-509053(JP,A)
【文献】特開2018-156606(JP,A)
【文献】特開2018-129718(JP,A)
【文献】米国特許出願公開第2018/0109590(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
41/00-101/695
(57)【特許請求の範囲】
【請求項1】
エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求であって、
メモリ空間において割り当てられたアドレスのうち、前記宛先アクセラレータ装置に割り当てられた宛先アドレスを特定する要求を受信し、
前記宛先アドレス
に基づいて、前記宛先アドレスに関連付けられた前記宛先アクセラレータ装置
を識別し、
前記宛先アクセラレータ装置に前記要求を送信する
ための回路
を備える、計算装置。
【請求項2】
前記メモリ空間において割り当てられた前記宛先アドレス
に関連付けられた前記宛先アクセラレータ装置
を識別することは、前記メモリ空間内のプライベートドメインにおいて割り当てられた前記宛先アドレス
に基づいて、前記宛先アクセラレータ装置を識別することを含む、請求項
1に記載の計算装置。
【請求項3】
前記宛先アドレス
に基づいて前記宛先アクセラレータ装置
を識別することは、前記宛先アクセラレータ装置のネットワークアドレスを列挙したネットワーキングテーブルのルックアップに基づいて
、前記宛先アクセラレータ装置を識別することを含む、請求項1に記載の計算装置。
【請求項4】
前記エッジネットワークにおいて前記宛先アクセラレータ装置にアクセスするための前記要求を受信することは、前記計算装置の前記宛先アクセラレータ装置にアクセスする要求を前記計算装置のソースアクセラレータ装置が受信することを含む、請求項1に記載の計算装置。
【請求項5】
前記エッジネットワークにおいて前記宛先アクセラレータ装置にアクセスするための前記要求を受信することは、前記計算装置とは別個の宛先アクセラレータ装置にアクセスするための要求を前記計算装置のソースアクセラレータ装置が受信することを含む、請求項1に記載の計算装置。
【請求項6】
前記回路はさらに、アクセスイニシエータ、宛先アドレス、アクセス時間、またはアクセス頻度のうち少なくとも1つを特定するアクセス制御ポリシーに従って、前記要求が有効であるかどうかを決定する、請求項1に記載の計算装置。
【請求項7】
前記回路はさらに、前記要求が有効でないという決定に基づき、前記要求に応答してエラーを返す、請求項
6に記載の計算装置。
【請求項8】
前記回路はさらに、アクセラレータ
装置にアクセスするための要求を受信する、請求項1に記載の計算装置。
【請求項9】
前記回路はさらに、前記アクセラレータ
装置にアクセスするための前記要求を処理するためのアクセラレータ装置を識別すべく、
前記アクセラレータ装置
のリソースの可用性状況を提供するメッセージバスを評価する、請求項
8に記載の計算装置。
【請求項10】
エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求であって、
メモリ空間において割り当てられたアドレスのうち、前記宛先アクセラレータ装置に割り当てられた宛先アドレスを特定する要求を受信する段階と、
前記宛先アドレス
に基づいて、前記宛先アドレスに関連付けられた前記宛先アクセラレータ装置
を識別する段階と、
前記宛先アクセラレータ装置に前記要求を送信する段階と
を備える、方法。
【請求項11】
前記メモリ空間において割り当てられた前記宛先アドレス
に関連付けられた前記宛先アクセラレータ装置
を識別する段階は、前記メモリ空間内のプライベートドメインにおいて割り当てられた前記宛先アドレス
に基づいて、前記宛先アクセラレータ装置を識別する段階を含む、請求項
10に記載の方法。
【請求項12】
前記宛先アドレス
に基づいて前記宛先アクセラレータ装置
を識別する段階は、前記宛先アクセラレータ装置のネットワークアドレスを列挙したネットワーキングテーブルのルックアップに基づいて
、前記宛先アクセラレータ装置を識別する段階を含む、請求項
10に記載の方法。
【請求項13】
前記エッジネットワークにおいて前記宛先アクセラレータ装置にアクセスするための前記要求を受信する段階は、計算装置の宛先アクセラレータ装置にアクセスするための要求を前記計算装置のソースアクセラレータ装置が受信する段階を備える、請求項
10に記載の方法。
【請求項14】
前記エッジネットワークにおいて前記宛先アクセラレータ装置にアクセスするための前記要求を受信する段階は、計算装置とは別個の宛先アクセラレータ装置にアクセスするための要求を前記計算装置のソースアクセラレータ装置が受信する段階を含む、請求項
10に記載の方法。
【請求項15】
アクセスイニシエータ、宛先アドレス、アクセス時間、またはアクセス頻度のうち少なくとも1つを特定するアクセス制御ポリシーに従って、前記要求が有効であるかどうかを決定する段階をさらに備える、請求項
10に記載の方法。
【請求項16】
前記要求が有効でないという決定に基づき、前記要求に応答してエラーを返す段階をさらに備える、請求項
15に記載の方法。
【請求項17】
アクセラレータ
装置にアクセスするための要求を受信する段階をさらに備える、請求項
10に記載の方法。
【請求項18】
前記アクセラレータ
装置にアクセスするための前記要求を処理するためのアクセラレータ装置を識別すべく、
前記アクセラレータ装置
のリソースの可用性状況を提供するメッセージバスを評価する段階をさらに備える、請求項
17に記載の方法。
【請求項19】
実行されることに応答して、計算装置に請求項
10から18の何れか1項に記載の方法を実行させる、前記計算装置に記憶されている複数の命令を備える、プログラム。
【請求項20】
請求項
10から18の何れか1項に記載の方法を実行するための手段を備える、計算装置。
【発明の詳細な説明】
【背景技術】
【0001】
エッジコンピューティングは、クラウドネットワークにおける一元化された位置とは対照的に、要求元の装置により近いネットワーク近接度の位置で、リソースを処理するための技術を提供する。これにより、装置は重要なデータを比較的迅速に受信できるようになる。さらに、エッジネットワーク内のサービスプロバイダは、エッジ装置によってアクセス可能なサービスを様々なアプリケーションに提供し得る。例えば、サービスプロバイダは、エッジ装置が要求し得るサービスとしての機能(FaaS)サービスを実装し得る。特に、エッジ装置は、サービスプロバイダによってホストされているアクセラレータ装置上で、高速化された機能を実行するための要求をFaaSサービスに送信し得る。これにより、エッジ装置は、動作が従来のプロセッサで実行された場合よりも、比較的より早くワークロード動作を実行できる。さらに、高速化された機能はエッジネットワーク上で実行されるので、エッジ装置は高速化された機能の結果を比較的低レイテンシで受信できる。
【図面の簡単な説明】
【0002】
本明細書で説明される技術的思想は、添付の図において限定としてではなく例として示される。例示の簡潔さおよび明確さのため、図に示される要素は必ずしも縮尺どおりに描かれていない。適切と考えられる場合、参照符号は、対応するまたは類似の要素を示すために複数の図で繰り返されている。
【0003】
【
図1】直接アドレス指定可能なハードウェアリソースをホストするシステム(例えば、アクセラレータ装置)の、少なくとも1つの実施形態の簡略図である。
【0004】
【
図2】
図1に関連して説明されたシステムのコンピュータ装置の、少なくとも1つの実施形態の簡略ブロック図である。
【0005】
【
図3】アクセラレータ装置がそこにおいてアドレス指定され得るアドレス空間の、少なくとも1つの実施形態の簡略概念図である。
【0006】
【
図4】
図1のシステム内のアドレス指定可能なハードウェア装置(例えば、直接アドレス指定可能なハードウェア装置)にアクセスするための方法の、少なくとも1つの実施形態の簡略ブロック図である。
【0007】
【
図5】
図1に関連して説明されたシステムにおいてアクセラレータリソースを見いだすための方法の、少なくとも1つの実施形態の簡略ブロック図である。
【0008】
【
図6】
図1のシステムとともに使用され得るフォグおよびモバイルエッジコンピューティング(MEC)のネットワークトポロジの簡略ブロック図である。
【発明を実施するための形態】
【0009】
本開示の概念は様々な修正形態および代替形態を受け入れる余地があるが、それらの具体的な実施形態は図面において例として示されており、本明細書で詳細に説明される。しかしながら、本開示の技術的思想を、開示される特定の形式に限定する意図はなく、対照的に、その意図は、本開示および添付の特許請求の範囲と一貫する全ての修正形態、均等物、および代替形態をカバーすることにあるものと理解されるべきである。
【0010】
本明細書における「1つの実施形態」、「一実施形態」、「例示的な実施形態」等への参照は、説明される実施形態が特定の特徴、構造、または特性を含んでもよいことを示すが、あらゆる実施形態がその特定の特徴、構造、または特性を含んでもよいし、また、必ずしも含まなくてもよい。また、そのような語句は、必ずしも同じ実施形態を参照するものではない。さらに、特定の特徴、構造、または特性が一実施形態と関連して説明される場合、明示的に説明されているか否かにかかわらず、他の実施形態と関連してそのような特徴、構造、または特性を達成することは当業者の知識の範囲内であると考えられる。さらに、「少なくとも1つのA、B、およびC」の形式で列挙に含まれる項目は、(A)、(B)、(C)、(AおよびB)、(AおよびC)、(BおよびC)、または(A、B、およびC)を意味する場合があることが十分理解されるべきである。同様に、「A、B、またはCの少なくとも1つ」の形式で列挙された項目は、(A)、 (B)、(C)、(AおよびB)、(AおよびC)、(BおよびC)、または(A、B、およびC)を意味する場合がある。
【0011】
開示される実施形態は、いくつかの場合、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせで実施され得る。開示される実施形態はまた、一時的または非一時的な機械可読(例えば、コンピュータ可読)記憶媒体によって搬送または記憶された命令として実施されてもよく、命令は1つまたは複数のプロセッサで読み出され実行され得る。さらに、開示された実施形態は、宛先装置上での実行のための命令を準備するための予備処理動作を必要とし得る1組の予備命令として、最初に符号化(例えば、機械可読記憶媒体にコーディング)され得る。予備処理は、命令を装置上に存在するデータと組み合わせること、命令を異なる形式に変換すること、圧縮、圧縮解除、暗号化、および/または復号化を実行すること、命令の異なるセクションを含む複数のファイルを組み合わせること、命令をライブラリ、オペレーティングシステムなど装置上に存在するその他のコードと統合すること、ならびに同様の動作を含んでもよい。予備処理は、ソース計算装置(例えば、命令を送信する装置)、宛先計算装置(例えば、命令を実行する装置)、または中間装置によって実行され得る。機械可読記憶媒体は、任意の記憶装置、機構、ならびに機械によって可読な形式で情報を記憶または送信するための他の物理的構造(例えば、揮発性または不揮発性メモリ、媒体ディスク、または他の媒体装置)として具現化され得る。
【0012】
図面において、いくつかの構造的なまたは方法の特徴が、特定の配置および/または順序で示されることがある。しかしながら、そのような特定の配置および/または順序が要求されない場合があることは、十分理解されるべきである。むしろ、いくつかの実施形態では、そのような特徴は、例示的な図に示されるものとは異なる方法および/または順序で配置され得る。また、特定の図に構造的なまたは方法の特徴を含むことは、そのような特徴が全ての実施形態で要求されるとの示唆を意味するのではなく、いくつかの実施形態では含まれなくてもよく、または他の特徴と組み合わされてもよい。
【0013】
ここで
図1を参照すると、直接アドレス指定可能なハードウェアリソース(例えば、アクセラレータ装置)をホストするシステム100が示されている。例示的なシステム100は、エッジゲートウェイ装置114と通信するエッジ装置110を含む。 エッジゲートウェイ装置114は、エッジ装置110と、1つまたは複数のエッジリソース140、142、144(例えば、セルラネットワーク事業者などの1つまたは複数のサービスプロバイダによって所有および/または動作される、計算装置およびそれらの構成要素などのリソース)ならびにクラウドに配置された他の計算装置との間で、データを通信することができる任意の装置として具現化され得る。さらに、例示的な実施形態では、エッジゲートウェイ装置114は 、プロセッサ、アクセラレータ装置、および/またはエッジリソース140、142、144内の(例えば、エッジリソース140、142、144を各々形成する計算装置150.152、154内の)他の構成要素のアーキテクチャ、レイテンシ、電力使用量、ならびにエッジリソース140、142、144を利用することに関連付けられたコスト(例えば、金銭コスト)などのエッジリソース140、142、144の特性に関するエッジ装置110からの要求を受信し、かつそれらに応答するように構成される。例示的な実施形態では、エッジゲートウェイ装置114およびエッジリソース140、142、144は 、クラウドのエッジに沿って(例えば、エッジネットワーク内で)1つまたは複数の位置に(例えば、スモールセル、基地局などに)配置される。
【0014】
エッジネットワークは、無線アクセスネットワーク(RAN)対応のエンドポイント装置(例えば、モバイルコンピューティング装置、モノのインターネット(IoT)装置、スマート装置など)に近接して配置されるエッジコンピューティングおよび/または記憶リソースを提供する任意の種類のネットワークとして具現化され得る。換言すると、エッジネットワークは、記憶および/または計算機能も提供する一方、エンドポイント装置と、キャリアネットワーク(例えば、グローバル移動通信システム(GSM(登録商標))ネットワーク、ロングタームエボリューション(LTE)ネットワーク、5Gネットワーク等)を含むサービスプロバイダのコアネットワークへの進入ポイントとして機能する従来のモバイルネットワークアクセスポイントとの間の、「エッジ」に配置されている。それ故に、エッジネットワークは、エンタープライズアプリケーション(例えば、遠方のクラウド、データセンタ等に格納されている)および/または他のネットワークベースのサービスへの無線アクセスインタフェイスを提供するだけでなく、記憶/計算リソースをエンドポイント装置により近づけることができる。エッジネットワークでいくつかの計算/処理が実行され得るので、低減されたレイテンシや帯域幅等の効率化が(すなわち、遠方のクラウド、データセンタ等で実行されているそのような計算/処理と比較して)実現され得る。エッジネットワークの意図される目的/機能に応じて、エッジネットワークは1つまたは複数のエッジコンピューティング装置を含んでもよいが、エッジコンピューティング装置は1つまたは複数のゲートウェイ、サーバ、モバイルエッジコンピューティング(MEC)機器などを含んでもよい。さらに、システム100は複数の層を有する階層構造に構成され得る。例えば、所与の層は、上述のエッジコンピューティング装置、例えば、エッジ装置110に対し相対的ネットワーク近接性を有する位置にあるエッジコンピューティング装置を含んでもよい。次の層は、エッジリソースを提供するセルタワーおよび基地局を含んでもよい。次の層は、コアデータセンタ190内の中央管理局を含んでもよい。
【0015】
いくつかの実施形態において、エッジネットワークは、フォグネットワークへの進入ポイント(例えば、フォグまたはエッジノード180)の一部を形成、または進入ポイントを提供し得るが、この進入ポイントはコアデータセンタ190(例えば、エッジリソース140、142、144よりさらに遠方にあり、システム100の階層のより高いレベルにあり、1つまたは複数のサービスを実行する(例えば、1つまたは複数のクライアントに代わって処理する)ことができる複数の計算装置を含むデータセンタ)と、エンドポイント装置(例えば、エッジ装置110)との間の任意の場所で、コンピューティング、記憶、制御、およびネットワーキングのリソースとサービスとを分配するシステムレベルの水平アーキテクチャとして具現化され得ることは、十分理解されるべきである。
【0016】
一実施形態では、エッジ装置110は、(例えば、プロセッサおよび/またはアクセラレータ装置を用いて)エッジ装置110に含まれるアプリケーション112を実行する。アプリケーション112は、処理のための1つまたは複数のサービスまたはワークロードを含んでもよい。例えば、エッジ装置110は、システム100を形成するエッジネットワークに接続された自律車両を表すと仮定する。アプリケーション112は、位置、ナビゲーション、および車両を操作するために使用される他の機能など、自律車両の正常な動作を可能にするための様々な機能を含んでもよい。さらに、アプリケーション112は、エッジリソース140、142 、144によって提供されるサービスからデータを要求し得る。一般に、エッジゲートウェイ装置114はそのような要求を受信し得る。その後、エッジゲートウェイ装置114は要求を評価し、サービスプロバイダのうちの1つによって運用される適切なサービスに(もしくはフォグまたはエッジノード180またはコアデータセンタ190に )要求を転送し得る。他のエッジ装置110およびアプリケーション112の使用事例は、スマートシティ、拡張現実(AR)/仮想現実(VR)、運転支援車、工場自動化、近接性トリガサービスなどにおけるIoT装置を含んでもよい。
【0017】
さらに、エッジ装置110は、エッジリソース140、142、144の一部として含まれるサービスとしての機能(FaaS)サービスに対する要求を送信し得る。FaaSサービスにより、アプリケーション112は、高速化された装置上で、サービスプロバイダよってホストされる高速化された機能にアクセスすることができる。例えば、計算装置140、142、144の各々は、アクセラレータリソース、例えば、各々が1つまたは複数の高速化された機能に対してプログラム可能であるアクセラレータ装置156、160、164、168、172、176をホストする。高速化された機能は、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、画像処理装置(GPU)などのエッジリソース140、142、144によって提供される、アクセラレータ装置上で実行される予め定義されたビットストリームデータとして、具現化され得る。有利なことに、アプリケーション112は、ワークロード動作の実行を高速化するための高速化された(例えば、AR/VR機能、機械学習機能、行列演算などの)機能を要求し得る。
【0018】
所与のワークロードは、次々と実行されるいくつかの高速化された機能を伴い得る。例えば、アプリケーション112は、顔認証のために、エッジネットワークによって提供されるサービスへのアクセスを要求すると仮定する。いくつかの場合では、顔認証技術は、データ復号、前景抽出、オブジェクト分類、およびバウンディングボック作成などの複数の高速化された機能を含むことがある。この例では、これらの複数の高速化された機能の各々は、異なるアクセラレータ装置でホストされ得る。高速化された機能が完了したとき、アクセラレータ装置はその結果を別のアクセラレータ装置に転送することが必要な場合があるが、別のアクセラレータは異なるソフトウェアおよびハードウェアスタックによって管理されている場合がある。そうすることは、アクセラレータ装置が要求を計算装置へ送信することを伴い得る。要求は、適切なアクセラレータ装置を決定するのに中核となる中央演算装置(CPU)ワーカによって処理され得るが、このことは所与のサービスを履行するのにレイテンシとオーバヘッドとを増大させる。
【0019】
そのようなレイテンシとオーバヘッドの問題に対処するために、実施例はシステム100のリソースにアドレス指定するための技術を開示する。例えば、例示的なアクセラレータ装置156、160、164、168、172、176は、各々アドレス158、162、166、170、174、178を割り当てられている。より具体的には、各アドレスはエッジネットワークにおける特定のアクセラレータ装置にマッピングされている。その結果、アクセラレータ装置156、160、164、168、172、176のうちの1つからのリソースを要求している所与の装置は、そのアクセラレータ装置と関連付けられているアドレスを特定している要求を送信し得る。本明細書でさらに説明されるように、グローバルメモリアドレス空間、仮想メモリアドレス空間、ネットワークアドレス空間などを提供することによるなどの様々なアドレッシングスキームが、アクセラレータ装置にアドレスを割り当てるために用いられ得る。
【0020】
有利なことに、システム100のハードウェアリソースを、独立してアドレス指定可能なように構成することによって、そのようなリソースへの要求は比較的より低いレイテンシで提供され得る。例えば、高速化された機能をホストしている特定のアクセラレータ装置を決定するために中核となるCPUワーカと通信するのではなく、エンティティ(例えば、アクセラレータ装置、サービス、他の装置等)は、要求の中で、所望される高速化された機能をホストしている特定のアクセラレータ装置に割り当てられたアドレスを提供し得る。そうすることは、所与の要求を処理する際のCPUコストを低減する。
【0021】
ここで
図2を参照すると、計算装置200の簡略ブロック図が示されている。計算装置200は、1つまたは複数の物理的計算装置または仮想化システム(例えば、仮想マシンまたはコンテナなどの仮想化環境で実行される1つまたは複数の機能であり、その機能では、基盤となるハードウェアリソースは、仮想化環境で実行しているソフトウェアには物理ハードウェアのように見えるが、抽象化層によってソフトウェアから分離されている)として具現化され得る。さらに、計算装置200は、
図1に関連して説明されたシステム100の計算装置(例えば、計算装置140、142、144)のうち何れかとして具現化され得る。例示的な計算装置200は、(本明細書では「計算エンジン回路」とも称される)計算エンジン210入出力(I/O)サブシステム216 、通信回路218、および1つまたは複数のデータ記憶装置222を含む 。本明細書で説明されるように、計算装置200は、1つまたは複数のアクセラレータ装置224も含んでもよい。もちろん、他の実施形態では、計算装置200は、コンピュータに一般的に見られるもの(例えば、表示装置、周辺機器等)などの他のまたは追加の構成要素を含んでもよい。さらに、いくつかの実施形態では、例示的な構成要素の1つまたは複数は、別の構成要素に組み込まれてもよく、または別の構成要素の一部を形成してもよい。計算エンジン210は、以下で説明する様々な計算機能を実行できる任意の種類の装置または装置の集合体として具現化され得る。いくつかの実施形態では、計算エンジン210は、集積回路、組み込みシステム、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SOC)、もしくは他の集積システムまたは装置のような単一の装置として具現化され得る。例示的な実施形態では、計算エンジン210は、プロセッサ212およびメモリ214を含んでもよく、またはそれらとして具現化される。
【0022】
プロセッサ212は、本明細書で説明される機能(例えば、エッジ装置110のエッジリソースへのサービス要求を処理すること)を実行できる任意の種類のプロセッサとして具現化され得る。例えば、プロセッサ212は、マルチコアプロセッサ、マイクロコントローラ、または他のプロセッサならびに処理/制御回路として具現化され得る。いくつかの実施形態では、プロセッサ212は、FPGA、特定用途向け集積回路(ASIC)、再構成可能なハードウェアもしくはハードウェア回路、本明細書で説明される機能の実行を容易にするための他の特化したハードウェア、またはその仮想化バージョンなどとして具現化されても、それを含んでも、またはそれに結合されてもよい。
【0023】
メモリ214は、任意の種類の揮発性メモリ(例えば、動的ランダムアクセスメモリ(DRAM)等)または不揮発性メモリ、ならびに本明細書で説明される機能を実行できる記憶装置として具現化され得る。揮発性メモリは、媒体によって記憶されたデータの状態を維持するために電力を必要とする記憶媒体であってもよい。揮発性メモリの非限定的な例は、動的ランダムアクセスメモリ(DRAM)または静的ランダムアクセスメモリ(SRAM)などの様々な種類のランダムアクセスメモリ(RAM)を含んでもよい。メモリモジュールにおいて使用され得る1つの特定の種類のDRAMは、同期動的ランダムアクセスメモリ(SDRAM)である。特定の実施形態では、メモリ構成要素のDRAMは、DDR SDRAM用のJESD79F、DDR2 SDRAM用のJESD79-2F、DDR3 SDRAM用のJESD79-3F、DDR4 SDRAM用のJESD79-4A、低電力DDR(LPDDR)用のJESD209、LPDDR2用のJESD209-2、LPDDR3用のJESD209-3、およびLPDDR4用のJESD209-4などのJEDECによって公布された規格に準拠していてもよい。そのような規格(および同様の規格)は、DDRベースの規格と称されてもよく、そのような規格を実装する記憶装置の通信インタフェイスは、DDRベースのインタフェイスと称されてもよい。
【0024】
ある実施形態では、メモリ装置は、NANDまたはNOR技術に基づくものなど、ブロックアドレス指定可能なメモリ装置である。メモリ装置はまた、三次元クロスポイントメモリ装置(例えば、インテル3D XPoint(商標)メモリ)または他のバイトアドレス指定可能な所定位置書き込み式(write-in-place)不揮発性メモリ装置を含んでもよい。ある実施形態では、メモリ装置は、カルコゲニドガラスを用いるメモリ装置、複数閾値レベルNANDフラッシュメモリ、NORフラッシュメモリ、単一または複数レベル相変化メモリ(PCM)、抵抗性メモリ、ナノワイヤメモリ、強誘電性トランジスタランダムアクセスメモリ(FeTRAM)、反強誘電性メモリ、磁気抵抗性ランダムアクセスメモリ(MRAM)、メモリスタ技術を組み込むメモリ、金属酸化物ベース、酸素空位ベース、および伝導ブリッジランダムアクセスメモリ(CB-RAM)、またはスピントランスファトルク(STT)-MRAMを含む抵抗性メモリ、スピントロニック磁気接合メモリベースの装置、磁気トンネル接合(MTJ)ベースの装置、DW(ドメインウォール)およびSOT(スピン軌道トランスファ)ベースの装置、サイリスタベースのメモリ装置、または上記のまたは他のメモリの何れかの組み合わせであってもよく、もしくはそれを含んでもよい。メモリ装置は、ダイそのものおよび/またはパッケージングされたメモリ製品を指し得る。
【0025】
いくつかの実施形態では、3Dクロスポイントメモリ(例えば、インテル3D XPoint(商標)メモリ)は、ワード線とビット線の交差部にメモリセルがあって個々にアドレス指定可能であり、かつビットの記憶はバルク抵抗の変化に基づく、トランジスタを使用せず積層可能なクロスポイントアーキテクチャを備えてもよい。いくつかの実施形態では、メモリ214の全てまたは一部は、プロセッサ212に統合されていてもよい。動作中、メモリ214は、1つまたは複数のアプリケーション、アプリケーションによって演算されるデータ、ライブラリ、ドライバなどの、動作中に用いられる様々なソフトウェアおよびデータを記憶してもよい。
【0026】
各アクセラレータ装置224は、機械学習または人工知能動作などの動作をプロセッサ212が実行できるよりも高速に、1組の動作を実行するように構成される任意の装置または回路として具現化され得る。アクセラレータ装置224は、1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)230を含んでもよく、その各々は、定義された構成(例えば、ビットストリーム)に従って1組の動作を実行するように構成され得る、1組(例えば、1つの行列)の論理ゲートとして具現化し得る、アクセラレータ装置224は、追加的または代替的に画像処理装置(GPU)232を含んでもよいが、画像処理装置232は画像関連の計算(例えば、行列乗算、ベクトル演算等)を実行するように構成された任意の装置または回路(例えば、プログラマブル論理チップ、プロセッサ等)として具現化され得る。追加的または代替的に、アクセラレータ装置224は視覚処理ユニット(VPU)234を含み得て、視覚処理ユニット234は、機械視覚に関連する演算を実行するように構成された任意の装置または回路(例えば、プログラマブル論理チップ、プロセッサ等)として具現化され得る。
【0027】
また、例示的な計算エンジン210は、アクセラレータ装置アドレッシングユニット215も含む。アクセラレータ装置アドレッシングユニット215は、アクセラレータ装置224の各々にアドレスを割り当てる任意の装置または回路として具現化され得る。より具体的には、アクセラレータ装置アドレッシングユニット215は、システム100のアクセラレータ装置に対するアドレッシングスキームの機能として、所与のアクセラレータ装置をマッピングし得る。システム100は、単一のアクセラレータまたは異なるアクセラレータに対する複数のアクティブな同時アドレッシングスキームを含む、様々なアドレッシングスキームを用いてもよい。一例のアドレッシングスキームは、アクセラレータ装置224専用のメモリ214にアドレス空間を割り当てることを含んでもよい。別のアドレッシングスキームはネットワークアドレッシングスキームを含み、そのネットワークアドレッシングスキームで、アクセラレータ装置アドレッシングユニット215はネットワークアドレス(例えば、IPアドレス、媒体アクセス制御(MAC)アドレス等)を割り当てるように構成されている。
【0028】
計算エンジン210は、I/Oサブシステム216を介して計算装置200の他の構成要素に通信可能に結合され、I/Oサブシステム216は、計算エンジン210との(例えば、プロセッサ212、メモリ214、ならびに/またはアクセラレータ装置アドレッシングユニット215との)および計算装置200の他の構成要素との入出力動作を容易にするための回路および/または構成要素として具現化され得る。例えば、I/Oサブシステム216は、メモリコントローラハブ、入出力制御ハブ、集積センサハブ、ファームウェア装置、通信リンク(例えば、ポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、光ガイド、プリント回路基板トレース等)および/または入出力動作を容易にする他の構成要素ならびにサブシステムとして具現化されてもよく、またはそれらを含んでもよい。いくつかの実施形態では、I/Oサブシステム216はシステムオンチップ(SoC)の一部を形成してもよく、1つまたは複数のプロセッサ212、メモリ214および計算装置200の他の構成要素と一緒に、計算エンジン210に組み込まれてもよい。
【0029】
通信回路218は、計算装置200と別の計算装置(例えば、エッジ装置110、エッジゲートウェイ装置114、システム100の他の計算装置等)との間のネットワークを介した通信を可能にすることができる任意の通信回路、装置またはその集合体として具現化され得る。通信回路218は、そのような通信を実現するために、任意の1つまたは複数の通信技術(例えば、有線または無線通信)および関連付けられたプロトコル(例えば、セルラネットワーキングプロトコル、Wi-Fi(登録商標)、WiMAX、イーサネット(登録商標)、ブルートゥース(登録商標)等)を用いるように構成されてもよい。
【0030】
例示的な通信回路218は、ネットワークインタフェイスコントローラ(NIC)220を含み、ネットワークインタフェイスコントローラ220はホストファブリックインタフェイス(HFI)と称されてもよい。NIC220は、別の計算装置(例えば、エッジ装置110、エッジゲートウェイ装置114、システム100の他の計算装置等)と接続するために計算装置200によって用いられ得る、1つまたは複数のアドイン基板、ドータカード、ネットワークインタフェイスカード、コントローラチップ、チップセットまたは他の装置として具現化され得る。いくつかの実施形態では、NIC220は1つまたは複数のプロセッサを含むシステムオンチップ(SoC)の一部として具現化されても、また、1つまたは複数のプロセッサを含むマルチチップパッケージに含まれてもよい。いくつかの実施形態では、NIC220は、双方ともNIC220に対してローカルであるローカルプロセッサ(図示せず)および/またはローカルメモリ(図示せず)を含んでもよい。そのような実施形態では、NIC220のローカルプロセッサは、本明細書で説明される計算エンジン210の機能のうち1つまたは複数を実行できてもよい。追加的または代替的に、そのような実施形態では、NIC220のローカルメモリは、基板レベル、ソケットレベル、チップレベル、および/または他のレベルで、計算装置200の1つまたは複数の構成要素に統合され得る。いくつかの実施形態において、NIC220は、1つまたは複数の任意選択的にアドレス指定可能なアクセラレータ(図示せず)を含んでもよい。
【0031】
1つまたは複数の例示的なデータ記憶装置222は、例えば、メモリ装置および回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブ、または他のデータ記憶装置など、データの短期のまたは長期の記憶のために構成された任意の種類の装置として具現化され得る。各データ記憶装置222は、データ記憶装置222のためのデータおよびファームウェアコードを記憶するシステムパーティションを含んでもよい。各データ記憶装置222は、オペレーティングシステムのためのデータファイルおよび実行ファイルを記憶する1つまたは複数のオペレーティングシステムパーティションも含んでもよい。NIC220と同様に、データ記憶装置222は、1つまたは複数の任意選択的にアドレス指定可能なアクセラレータ(図示せず)を含んでもよい。
【0032】
エッジリソース140、142、144、エッジ装置110、エッジゲートウェイ装置114、フォグノード180、およびコアデータセンタ190は、計算装置200に関連して
図2で説明される構成要素と同様の構成要素を有してもよい。計算装置200のそれらの構成要素の説明は、エッジリソース140、142、144、エッジ装置110、フォグノード180、およびコアデータセンタ190の構成要素の説明に等しく適用可能である。さらに、エッジリソース140、142、144、エッジ装置110、フォグノード180、およびコアデータセンタ190の何れも、計算装置で一般的にみられる他の構成要素、サブ構成要素、および装置を含んでもよく、それらは計算装置200を参照した上記で論じられておらず、かつ、説明の簡潔さのため本明細書では論じられていないことは、十分理解されるべきである。さらに、計算装置の1つまたは複数の構成要素は、任意の距離にわたって分散され得て、必ずしも同じ物理的なユニットに格納されていないことは理解されるべきである。
【0033】
エッジゲートウェイ装置114、エッジリソース140、142、144、エッジ装置110、フォグノード180、およびコアデータセンタ190は例示的にネットワークを介して通信しており、ネットワークは、グローバルネットワーク(例えば、インターネット)、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)、エッジネットワーク、フォグネットワーク、セルラネットワーク(例えば、グローバル移動通信システム(GSM)、3G、ロングタームエボリューション(LTE)、ワールドワイドインターオペラビリティーフォーマイクロウェーブアクセス(WiMAX)等)、無線アクセスネットワーク(RAN)、デジタル加入者線(DSL)ネットワーク、ケーブルネットワーク(例えば、同軸ネットワーク、ファイバネットワーク等)またはそれらの任意の組み合わせを含む、任意の種類の有線もしくは無線通信ネットワーク、もしくはそれらのハイブリッドまたは組み合わせとして具現化され得る。
【0034】
ここで
図3を参照すると、アドレス空間302の例300を描写する簡略概念図が示されている。一実施形態において、メモリ214は、エンティティ(例えば、別のアクセラレータ装置)によって直接アクセス可能なアドレスとして、アクセラレータ装置を割り当てるのに用いられるアドレス空間302を露出してもよい。例示的に、アクセラレータ装置310、320、330などの複数のアクセラレータ装置が示されている。さらに、例示的に、アクセラレータ装置320は、装置中に複数の追加のアクセラレータ装置、具体的にはアクセラレータ装置324および326を含む。図示の通り、各アクセラレータ装置は1つのアドレスを割り当てられている:アクセラレータ装置310はアドレス312に関連付けられ、アクセラレータ装置320はアドレス322に関連付けられ、アクセラレータ装置324はアドレス325に関連付けられ、アクセラレータ装置326はアドレス327に関連付けられ、アクセラレータ装置330はアドレス332に関連付けられている。アドレス312、322、325、327、および332の各々は、アドレス空間302の所与の位置にマッピング(各々、位置A、B、C、D、およびEとして表示)されている。位置の各々は、例えば、メモリ214の特定のブロックに対応してもよい。計算装置は、エッジネットワークのオーケストレータ(例えば、コアデータセンタ190内の、またはエッジリソース140、142、144のうちの1つにおける計算装置)にアクセラレータ装置の各々のアドレスを発行してもよく、オーケストレータは次にアクセラレータ装置に、各高速化された装置によって提供された高速化された機能と、各アクセラレータ装置にマッピングされており要求しているワークロードに対するアドレスとを、アドバタイズしてもよい。
【0035】
さらに、いくつかの場合には、メモリ214はアドレス空間302の複数のドメインをサポートしてよく、そこでユーザ(例えば、システム100のテナント)は1つまたは複数のドメインにアクセスを有する。そうすることで、所与のドメインによって提供されるリソースは、ある1組のユーザに限定される。例えば、所与のドメイン1はテナントAに関連付けられてもよく、一方で、ドメイン2はテナントBに関連付けられてもよい。テナントAはドメイン1によって提供されるハードウェアリソースにアクセスできてもよく、ドメイン2のハードウェアリソースにはアクセスできない。そしてテナントBはドメイン2によって提供されるハードウェアリソースにアクセスできてもよく、ドメイン1のハードウェアリソースにはアクセスできない。
【0036】
勿論、メモリアドレス空間以外の様々な種類のアドレス空間が、ハードウェアリソースに適用され得る。例えば、アクセラレータ装置は、ネットワークアドレス(例えば、IPアドレス、MACアドレスなど)を割り当てられ得る。アクセラレータ装置がホストされている計算装置は、ネットワーキングアドレス情報をオーケストレータおよびエッジゲートウェイ装置114に送信してもよい。エッジゲートウェイ装置114は、要求内で提供される割り当てられたネットワークアドレスに基づき、ワークロードによる要求をアクセラレータ装置にルーティングしてもよい。
【0037】
ここで
図4を参照すると、動作中のシステム100の装置は、直接アドレス指定可能なハードウェアリソース、例えばシステム100のアクセラレータ装置のうちの1つのリソースに、アクセスするための方法400を実行してもよい。例えば、方法400を実行する装置は、その装置にホストされた1つまたは複数のアクセラレータを有するシステム内の計算装置であってもよい。図示の通り、方法400はブロック402で開始し、ブロック402で、計算装置は、エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求(例えば、アクセラレータ装置からの)を受信する。要求は、宛先アクセラレータ装置に割り当てられた宛先アドレスを特定する。宛先アドレスは、当初は、例えば、コアデータセンタ190で実行しているオーケストレータ、エッジゲートウェイ装置114等によって取得されてもよい。宛先アクセラレータ装置は、様々な位置でホストされてもよい。例えば、ブロック404で、計算装置は宛先アクセラレータ装置にアクセスするための要求を受信してもよく、その要求内で宛先アクセラレータ装置は方法400を実行している計算装置内にホストされる。別の例として、ブロック406で、計算装置は要求を受信してもよく、その要求内で宛先アクセラレータ装置はシステム100内の別の計算装置内にホストされる。
【0038】
ブロック408で、計算装置は、宛先アドレスの機能として、宛先アクセラレータ装置の位置を決定する。例えば、そうするために、ブロック410で、要求がメモリアドレス空間内のメモリの位置を特定すると決定することによって、計算装置は宛先アクセラレータ装置の位置を決定する。要求は、呼び出された場合、入力としてアクセラレータ装置の割り当てられたメモリアドレスを特定する、アクセラレータ装置に対する関数呼び出しに応答してもよい。そうすることの別の例として、ブロック412で、要求がアクセラレータ装置に割り当てられたネットワークアドレスを特定すると決定することによって、計算装置は宛先アクセラレータ装置の位置を決定する。計算装置は、対応する装置を識別するために、ネットワークテーブルにクエリを行ってもよい。
【0039】
一実施形態において、アクセス制御ポリシーは、要求しているエンティティが宛先アクセラレータ装置にアクセスを有するかどうかを決定するのに適用されてもよい。例えば、要求がメモリアドレス空間でプライベートドメインに属するアドレスを特定する場合、計算装置は、要求者がプライベートドメイン内で装置にアクセスする許可を有するかどうかを決定してもよい。アクセス制御ポリシーは、アクセスイニシエータ(例えば、アクセラレータリソースを要求している計算装置または他の装置)、アクセス時間、アクセス頻度、および他のパラメータを含んでもよい。ブロック414で、計算装置は、アクセス制御ポリシーに従って要求が有効かどうかを決定する。有効でない場合は、次に、ブロック416で、計算装置は要求している装置にエラーを返す。そうでなければ、ブロック418で、計算装置は特定されたアドレスに基づいて宛先アクセラレータ装置に要求を転送する。上述の言及は、計算装置がアクセラレータリソースへのアクセスを要求する状況に関連し、他のサービスイニシエータが、他のアクセラレータ装置を含むアクセラレータリソースを同様の方法で要求してもよい。
【0040】
ここで
図5を参照すると、動作中の計算装置(または、アクセラレータ装置などの他のサービスイニシエータ)は、システム100のアクセラレータリソースを見いだすために方法500を実行してもよい。図示の通り、方法500はブロック502で開始し、ブロック502で計算装置はアクセラレータ装置リソースにアクセスするための要求を受信する。例えば、ブロック504で、計算装置は、処理タスクを実行するための、サービスとしての高速化された機能を特定している要求を受信する。ブロック506で、計算装置は、要求を処理するためのアクセラレータ装置を識別する。そうするために、計算装置は、要求を処理することができるアクセラレータ装置に対するアクセラレータ装置リソースの可用性状況を提供する、計算装置のメッセージバスを評価してもよい。メッセージバスは、アクセラレータ装置リソース、アクセラレータ装置の各々で実行している高速化された機能、およびアクセラレータ装置が常駐するアドレスを列挙してもよい。
【0041】
ブロック510で、計算装置は、識別されたアクセラレータ装置と関連付けられたアドレスを決定する。より具体的には、ブロック512で、計算装置は、アクセラレータ装置と関連付けられたアドレスをメッセージバスの評価から決定する。ブロック514で、計算装置は、関連付けられたアドレスにある識別されたアクセラレータ装置に要求を送信する。
【0042】
図6を簡単に参照すると、MECおよびフォグネットワークトポロジ600が示されている。ネットワークトポロジ600は、エンドポイント(エンドポイント/モノネットワーク層650の)、ゲートウェイ(ゲートウェイ層640の)、アクセスまたはエッジコンピューティングノード(例えば、近傍ノード層630の)、コアネットワークまたはルータ(例えば、地域または中央オフィス層720)を含む。フォグネットワーク(例えば、ゲートウェイ層640に確立された)は、特に、記憶機能(例えば、クラウドデータセンタでデータを記憶する必要を回避するため)、通信機能(例えば、インターネットバックボーンを介したルーティングではなく))、制御機能、構成機能、測定および管理機能(5GコアネットワークのLTEのネットワークゲートウェイなどの、ネットワークゲートウェイによって主に制御されるのではなく)を備えた近隣ユーザエッジ装置(例えば、フォグノード)の密な地理的分布を表してもよい。これに関連して、
図6は、異なる層に分類された(それらの位置、接続性、および処理能力等に基づいて)いくつかのMECおよびフォグノードを統合する一般的なアーキテクチャを例示している。しかしながら、そのようなフォグノードは、エッジコンピューティング処理ノードによって置き換えられ得る、または増強され得ることは理解されるであろう。
【0043】
フォグノードは、それらが配置されているトポロジおよび層に応じて分類され得る。対照的に、MEC規格の観点からは、各フォグノードは、マルチアクセスエッジ(ME)ホスト、またはMEアプリおよび軽量MEプラットフォームをホストする単純なエンティティとみなされ得る。一例では、MECまたはフォグノードは、MEプラットフォームをホストしている装置(MEホスト)に接続またはその装置上で実行している、アプリケーションインスタンスとして定義され得る。そのため、アプリケーションはMECサービスを使用し、システム内のMEホストに関連付けられる。ノードは、移行されたり、異なるMEホストに関連付けられたり、または他の(例えば、ローカルまたはリモート)MEプラットフォームからのMECサービスを使用してもよい。
【0044】
上述のように、エッジを使用することとは対照的に、従来のアプリケーションは、情報を交換し連携させるために遠方のクラウドのデータ記憶と処理に依存し得る。クラウドのデータ配置では、長期のデータ収集と記憶が可能だが、時間的に大きく変化するデータには最適ではなく、レイテンシの問題(例えば、子供が通りに飛び出してきたときに車両を停止する等)に対処しようと試みても上手くいかない場合がある。上述のエッジリソースの使用により、サービス(例えば、機能の実行)を低レイテンシで提供することが可能になり、いくつかの実施形態では、最小のオーバヘッドを可能にする既存のMECサービスの機能を利用し得る。
【0045】
上述のMECの実装に加えて、個々の装置の名前は実装ごとに異なり得るが、
図1を参照して説明された方法と同様の方法で装置が配置され、相互運用する任意の環境(例えば、スマートファクトリ、スマートシティ、スマートビル等)で、前述のシステムおよび方法は実装され得ることは理解されるべきである。例えば、スマートファクトリでは、上記のシステムおよび方法は、特にリアルタイムまたは近リアルタイムで(例えば、低レイテンシが非常に重要であるときに)動作が実行される場合、1つまたは複数の製造動作が実行される精度、効率、および/または安全性を向上させ得る。スマートシティでは、上記のシステムおよび方法は、交通制御システム、環境監視システム、および/または他の自動化または半自動化システムの運用における精度、効率、および/または安全性を向上させ得る。同様に、スマートビルでは、上記の開示は、収集し、収集された情報に基づき動作するセンサに依存する任意のシステム(例えば、脅威検出および避難管理システム、ビデオ監視システム、エレベーター制御システム等)の動作を向上するために適用され得る。
【0046】
本明細書で開示される技術の例示的な例が下記で提供される。これらの技術の実施形態は、下記で説明される実施例の任意の1つまたは複数、およびそれらの任意の組み合わせを含み得る。
【0047】
実施例1は、エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求であって、宛先アクセラレータ装置に割り当てられた宛先アドレスを特定している要求を受信し、宛先アドレスの機能として宛先アクセラレータ装置の位置を決定し、宛先アクセラレータ装置に要求を送信するための回路を備える、計算装置を含む。
【0048】
実施例2は実施例1の主題を含み、宛先アドレスの機能として宛先アクセラレータ装置の位置を決定することは、メモリ空間において割り当てられた宛先アドレスの機能として宛先アクセラレータ装置の位置を決定することを含む。
【0049】
実施例3は、実施例1および2の何れかの主題を含み、メモリ空間において割り当てられた宛先アドレスの機能として宛先アクセラレータ装置の位置を決定することは、メモリ空間内のプライベートドメインにおいて割り当てられた宛先アドレスの機能として位置を決定することを含む。
【0050】
実施例4は、実施例1から3のうち何れかの主題を含み、宛先アドレスの機能として宛先アクセラレータ装置の位置を決定することは、宛先装置のネットワークアドレスを列挙したネットワーキングテーブルのルックアップに基づいて位置を決定することを含む。
【0051】
実施例5は、実施例1から4のうち何れかの主題を含み、エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求を受信することは、計算装置の宛先アクセラレータ装置にアクセスするための要求を装置のソースアクセラレータ装置が受信することを含む。
【0052】
実施例6は、実施例1から5のうち何れかの主題を含み、エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求を受信することは、計算装置とは別個の宛先アクセラレータ装置にアクセスするための要求を装置のソースアクセラレータ装置が受信することを含む。
【0053】
実施例7は、実施例1から6のうち何れかの主題を含み、回路はさらに、アクセスイニシエータ、宛先アドレス、アクセス時間、またはアクセス頻度のうち少なくとも1つを特定しているアクセス制御ポリシーに従って、要求が有効であるかどうかを決定する。
【0054】
実施例8は、実施例1から7のうち何れかの主題を含み、回路はさらに、要求が有効でないという決定に基づき、要求に応答してエラーを返す。
【0055】
実施例9は、実施例1から8のうち何れかの主題を含み、回路はさらに、アクセラレータリソースにアクセスするための要求を受信する。
【0056】
実施例10は、実施例1から9のうち何れかの主題を含み、回路はさらに、アクセラレータリソースにアクセスするための要求を処理するためのアクセラレータ装置を識別すべく、アクセラレータ装置リソースの可用性状況を提供するメッセージバスを評価する。
【0057】
実施例11は、1つまたは複数のプロセッサと、複数の命令を記憶しているメモリであって、複数の命令は1つまたは複数のプロセッサ上で実行されるとき、システムに、エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求であって、宛先アクセラレータ装置に割り当てられた宛先アドレスを特定している要求を受信させ、宛先アドレスの機能として宛先アクセラレータ装置の位置を決定させ、宛先アクセラレータ装置に要求を送信させる、メモリとを備える、システムを含む。
【0058】
実施例12は実施例11の主題を含み、宛先アドレスの機能として宛先アクセラレータ装置の位置を決定することは、メモリ空間において割り当てられた宛先アドレスの機能として宛先アクセラレータ装置の位置を決定することを含む。
【0059】
実施例13は、実施例11および12の何れかの主題を含み、メモリ空間において割り当てられた宛先アドレスの機能として宛先アクセラレータ装置の位置を決定することは、メモリ空間内のプライベートドメインにおいて割り当てられた宛先アドレスの機能として位置を決定することを含む。
【0060】
実施例14は、実施例11から13のうち何れかの主題を含み、宛先アドレスの機能として宛先アクセラレータ装置の位置を決定することは、宛先装置のネットワークアドレスを列挙したネットワーキングテーブルのルックアップに基づいて位置を決定することを含む。
【0061】
実施例15は、実施例11から14のうち何れかの主題を含み、エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求を受信することは、計算装置の宛先アクセラレータ装置にアクセスするための要求をシステムのソースアクセラレータ装置が受信することを含む。
【0062】
実施例16は、実施例11から15のうち何れかの主題を含み、エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求を受信することは、計算装置とは別個の宛先アクセラレータ装置にアクセスするための要求を計算装置のソースアクセラレータ装置が受信することを含む。
【0063】
実施例17は、実施例11から16のうち何れかの主題を含み、複数の命令はさらに、システムに、アクセスイニシエータ、宛先アドレス、アクセス時間、またはアクセス頻度のうち少なくとも1つを特定しているアクセス制御ポリシーに従って、要求が有効であるかどうかを決定させる。
【0064】
実施例18は、実施例11から17のうち何れかの主題を含み、複数の命令はさらに、システムに、要求が有効でないという決定に基づき、要求に応答してエラーを返させる。
【0065】
実施例19は、実施例11から18のうち何れかの主題を含み、複数の命令はさらに、システムに、アクセラレータリソースにアクセスするための要求を受信させ、かつ、アクセラレータリソースにアクセスするための要求を処理するためのアクセラレータ装置を識別すべく、アクセラレータ装置リソースの可用性状況を提供するメッセージバスを評価させる。
【0066】
実施例20は、エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求であって、宛先アクセラレータ装置に割り当てられた宛先アドレスを特定している要求を受信するための回路と、宛先アドレスの機能として宛先アクセラレータ装置の位置を決定する手段と、宛先アクセラレータ装置に要求を送信するための回路とを備える、計算装置を含む。
[他の可能な例]
(項目1)
エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求であって、上記宛先アクセラレータ装置に割り当てられた宛先アドレスを特定している上記要求を受信し、
上記宛先アドレスの機能として上記宛先アクセラレータ装置の位置を決定し、
上記宛先アクセラレータ装置に上記要求を送信する
ための回路
を備える、計算装置。
(項目2)
上記宛先アドレスの上記機能として上記宛先アクセラレータ装置の上記位置を決定することは、メモリ空間において割り当てられた上記宛先アドレスの機能として上記宛先アクセラレータ装置の上記位置を決定することを含む、項目1に記載の計算装置。
(項目3)
上記メモリ空間において割り当てられた上記宛先アドレスの機能として上記宛先アクセラレータ装置の上記位置を決定することは、上記メモリ空間内のプライベートドメインにおいて割り当てられた上記宛先アドレスの機能として上記位置を決定することを含む、項目2に記載の計算装置。
(項目4)
上記宛先アドレスの上記機能として上記宛先アクセラレータ装置の上記位置を決定することは、上記宛先装置のネットワークアドレスを列挙したネットワーキングテーブルのルックアップに基づいて上記位置を決定することを含む、項目1に記載の計算装置。
(項目5)
上記エッジネットワークにおいて上記宛先アクセラレータ装置にアクセスするための上記要求を受信することは、上記計算装置の上記宛先アクセラレータ装置にアクセスするための要求を上記装置のソースアクセラレータ装置が受信することを含む、項目1に記載の計算装置。
(項目6)
上記エッジネットワークにおいて上記宛先アクセラレータ装置にアクセスするための上記要求を受信することは、上記計算装置とは別個の宛先アクセラレータ装置にアクセスするための要求を上記装置のソースアクセラレータ装置が受信することを含む、項目1に記載の計算装置。
(項目7)
前記回路はさらに、アクセスイニシエータ、宛先アドレス、アクセス時間、またはアクセス頻度のうち少なくとも1つを特定しているアクセス制御ポリシーに従って、上記要求が有効であるかどうかを決定する、項目1に記載の計算装置。
(項目8)
上記回路はさらに、上記要求が有効でないという決定に基づき、上記要求に応答してエラーを返す、項目7に記載の計算装置。
(項目9)
上記回路はさらに、アクセラレータリソースにアクセスするための要求を受信する、項目1に記載の計算装置。
(項目10)
上記回路はさらに、上記アクセラレータリソースにアクセスするための上記要求を処理するためのアクセラレータ装置を識別すべく、アクセラレータ装置リソースの可用性状況を提供するメッセージバスを評価する、項目9に記載の計算装置。
(項目11)
1つまたは複数のプロセッサと、
複数の命令を記憶しているメモリであって、命令は1つまたは複数のプロセッサ上で実行されるとき、上記システムに、
エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求であって、上記宛先アクセラレータ装置に割り当てられた宛先アドレスを特定している上記要求を受信させ、
上記宛先アドレスの機能として上記宛先アクセラレータ装置の位置を決定させ、
上記宛先アクセラレータ装置に上記要求を送信させる、
メモリと
を備える、システム。
(項目12)
上記宛先アドレスの上記機能として上記宛先アクセラレータ装置の上記位置を決定することは、メモリ空間において割り当てられた上記宛先アドレスの機能として上記宛先アクセラレータ装置の上記位置を決定することを含む、項目11に記載のシステム。
(項目13)
上記メモリ空間において割り当てられた上記宛先アドレスの機能として上記宛先アクセラレータ装置の上記位置を決定することは、上記メモリ空間内のプライベートドメインにおいて割り当てられた上記宛先アドレスの機能として上記位置を決定することを含む、項目12に記載のシステム。
(項目14)
上記宛先アドレスの上記機能として上記宛先アクセラレータ装置の上記位置を決定することは、上記宛先装置のネットワークアドレスを列挙したネットワーキングテーブルのルックアップに基づいて上記位置を決定することを含む、項目11に記載のシステム。
(項目15)
上記エッジネットワークにおいて上記宛先アクセラレータ装置にアクセスするための上記要求を受信することは、上記計算装置の宛先アクセラレータ装置にアクセスするための要求を上記システムのソースアクセラレータ装置が受信することを含む、項目11に記載のシステム。
(項目16)
上記エッジネットワークにおいて上記宛先アクセラレータ装置にアクセスするための上記要求を受信することは、上記計算装置とは別個の宛先アクセラレータ装置にアクセスするための要求を計算装置のソースアクセラレータ装置が受信することを含む、項目11に記載のシステム。
(項目17)
上記複数の命令はさらに、上記システムに、アクセスイニシエータ、宛先アドレス、アクセス時間、またはアクセス頻度のうち少なくとも1つを特定しているアクセス制御ポリシーに従って、上記要求が有効であるかどうかを決定させる、項目11に記載のシステム。
(項目18)
上記複数の命令はさらに、上記システムに、上記要求が有効でないという決定に基づき、上記要求に応答してエラーを返させる、項目17に記載のシステム。
(項目19)
上記複数の命令はさらに、上記システムに、アクセラレータリソースにアクセスするための要求を受信させ、かつ、上記アクセラレータリソースにアクセスするための上記要求を処理するためのアクセラレータ装置を識別すべく、アクセラレータ装置リソースの可用性状況を提供するメッセージバスを評価させる、項目11に記載のシステム。
(項目20)
エッジネットワークにおいて宛先アクセラレータ装置にアクセスするための要求であって、上記宛先アクセラレータ装置に割り当てられた宛先アドレスを特定している上記要求を受信するための回路と、
上記宛先アドレスの機能として上記宛先アクセラレータ装置の位置を決定する手段と、
上記宛先アクセラレータ装置に上記要求を送信するための回路と
を備える、計算装置。