リモートエージェントから第一のエージェントにおいて原子的メモリオペレーションの要求を受信する段階であって、前記要求は第一のオペランド、前記原子的メモリオペレーションのためのオペコードおよび第二のオペランドへのアクセスを可能にするアドレスを含む、段階と;前記要求に応答して、前記第二のオペランドを取得するために、前記第一のエージェントからメモリに結合されたメモリコントローラにメモリアクセス要求を送る段階と;前記第一のエージェントおよび前記メモリコントローラのうちの一方において前記第一および第二のオペランドに対して前記原子的メモリオペレーションのオペコードに応答してオペレーションを実行して結果を得る段階であって、前記第二のオペランドは前記第一のエージェントと前記リモートエージェントの間のリンクの通信プロトコルに基づくデータ部分のサイズより小さなサイズであり、前記要求は前記通信プロトコルについてのデータパケットサイズよりも小さなサイズをもつデータパケットにおいて受領される、段階と;前記結果を前記メモリに記憶する段階とを含む、方法。前記結果が前記メモリに記憶されたのち、前記第一のエージェントから前記リモートエージェントに完了メッセージを送る段階を更に含む、請求項1記載の方法。前記結果が前記リモートエージェントに通信されない、請求項2記載の方法。前記第二のオペランドが前記リモートエージェントに通信されない、請求項2記載の方法。請求項1記載の方法であって、当該方法は、前記オペレーションを前記メモリコントローラにおいて実行することをさらに含み、前記メモリコントローラは前記オペレーションを実行する論理ユニットを含み、当該方法は、前記第一のオペランドおよび前記原子的メモリオペレーションのオペコードを前記第一のエージェントから前記メモリコントローラに送ることをさらに含み、前記第二のオペランドは前記第一のエージェントと前記リモートエージェントの間のリンクの通信プロトコルに基づくデータ部分のサイズより小さなサイズであり、前記要求は前記通信プロトコルについてのデータパケットサイズよりも小さなサイズをもつデータパケットにおいて受領される、方法。プロセッサを有する装置であって、前記プロセッサは該プロセッサとエージェントの間に結合された、ある通信プロトコルに基づくリンク上での送信のためにデータパケットを生成するリンク論理を含み、前記リンク論理はコマンド部分を有する第一のデータパケットを生成し、前記コマンド部分は、前記第一のデータパケットのトランザクション種別をエンコードする第一のオペレーションコードおよび前記エージェントに結合された宛先エージェントによって実行されるべきプロセッサ固有オペレーションをエンコードする第二のオペレーションコードを含む、装置。前記リンク論理が、前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズをもつデータ部分をもつ前記第一のデータパケットを生成し、前記より小さなサイズのデータ部分を同定するために前記第二のオペレーションコードを設定する、請求項6記載の装置。前記リンク論理が、前記通信プロトコルに基づくデータパケットについてのフロー制御ユニットの数よりも少ない数のフロー制御ユニットをもつ前記第一のデータパケットを送信する、請求項6記載の装置。前記第二のオペレーションコードが前記宛先エージェントに、メモリからデータを取得して、戻りデータパケットを介して該データを前記プロセッサに通信することをさせ、前記戻りデータパケットは前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズをもつデータ部分をもつ、請求項6記載の装置。前記第二のオペレーションコードは、前記宛先エージェントに、前記第一のデータパケットのデータ部分のデータを前記宛先エージェントに関連付けられたメモリ中に書き込ませることをさせ、前記データ部分は前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズをもつ、請求項6記載の装置。前記第二のオペレーションコードは、前記宛先エージェントに、第二のオペランドを取得するためにメモリアクセス要求を、メモリに結合されたメモリコントローラに送り、前記第一のデータパケットのデータ部分に含まれていた第一のオペランドおよび前記第二のオペランドに対して前記第二のオペレーションコードに応答してオペレーションを実行して結果を取得し、該結果を前記メモリに記憶することをさせる、請求項6記載の装置。請求項11記載の装置であって、前記第二のオペレーションコードは、前記宛先エージェントに、前記結果が前記メモリに記憶されたのちに前記プロセッサに完了メッセージを送ることをさせる、装置。前記第一のオペレーションコードはメモリアクセストランザクションを指示し、前記第二のオペレーションコードは前記メモリアクセストランザクションのデータが前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズであることを指示する、請求項6記載の装置。請求項13記載の装置であって、前記メモリアクセストランザクションが非コヒーレントトランザクションであり、前記宛先エージェントが該非コヒーレントトランザクションをコヒーレントトランザクションに変換し、該コヒーレントトランザクションに応答してコヒーレントな処理を実行する、装置。第一のプロセッサと、第一のNICと、第二のNICと、第二のプロセッサとを有するシステムであって、前記第一のプロセッサは、前記第一のプロセッサと前記第一のネットワークインターフェースコントローラNICとの間に結合された、ある通信プロトコルに基づく第一のリンク上での送信のためにデータパケットを生成するリンク論理を有し、前記リンク論理はコマンド部分を有する第一のデータパケットを生成し、前記コマンド部分は、前記第一のデータパケットのトランザクション種別をエンコードする第一のオペレーションコードおよび前記第二のプロセッサによって実行されるべきプロセッサ固有オペレーションをエンコードする第二のオペレーションコードを含み;前記第一のNICは前記第一のリンクを介して前記第一のプロセッサに結合されており;前記第二のNICはファブリックを介して前記第一のNICに結合されており;前記第二のプロセッサは前記第二のNICに結合されており、前記第一のデータパケットを受信して、前記第一および第二のオペレーションコードに応答して前記プロセッサ固有オペレーションを実行する、システム。前記リンク論理は、前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズをもつデータ部分をもつ前記第一のデータパケットを生成し、前記より小さなサイズのデータ部分を同定するために前記第二のオペレーションコードを設定する、請求項15記載のシステム。前記第二のオペレーションコードが前記第二のプロセッサに、メモリからデータを取得して、戻りデータパケットを介して該データを前記第一のプロセッサに通信することをさせ、前記戻りデータパケットは前記通信プロトコルに基づくデータ部分のサイズよりも小さなサイズをもつデータ部分をもつ、請求項15記載のシステム。前記第二のオペレーションコードは、前記第二のプロセッサに、第二のオペランドを取得するためにメモリアクセス要求を、メモリに結合されたメモリコントローラに送り、前記第一のデータパケットに含まれていた第一のオペランドおよび前記第二のオペランドに対して前記第二のオペレーションコードに応答してオペレーションを実行して結果を取得し、該結果を前記メモリに記憶することをさせ、前記第二のプロセッサに、前記結果が前記メモリに記憶されたのち、前記第一のプロセッサに前記第二のオペランドや前記結果を通信することなく、前記第一のプロセッサに完了メッセージを送ることをさせる、システム。しかしながら、そのような固定データパケットサイズは不必要に相互接続帯域幅を消費することがある。たとえば、通信プロトコルがデータパケットサイズがキャッシュラインサイズであると指定しているとする。使用される最も一般的なキャッシュラインサイズは64バイトまたは128バイトである。しかしながら、エージェントがより少量のバイト、たとえば8バイトを送ろうとする場合でも、64または128バイトいっぱいのデータパケットサイズが送信され、無用に帯域幅を消費する。本発明は請求項記載の手段によって課題を解決する。さまざまな実施形態において、所与の通信プロトコルについての標準的なデータパケットサイズよりも少ないデータ部分を含むデータトランザクションの通信を可能にするための技法が提供される。このようにして、通信プロトコルによって指定されるデータペイロードの全量よりも少ない量を要求するトランザクションを送る相互接続オーバーヘッドが回避できる。さらに、より大きなパケットサイズ中に存在する少量のデータを扱うのに必要な処理の複雑さが回避できるので、処理資源がよりフルに使用されることができる。すなわち、従来のシステムでは、より大きなデータパケットは、どうでもいい値dontcaresを詰め込まれることができ、あるいはトランザクションはバイトイネーブルbyteenablesをもつフルデータパケットを要求しうる。これらの場合、かなりのリンク帯域幅が浪費される。これはさらにプロセッサ計算能力を十分に活用しないことになる。本発明の範囲はこの点に関して限定されるものではないが、諸実施形態は、シリアルベースのポイントツーポイントPtP通信プロトコルのようなコヒーレント通信プロトコルとの関連で使用されうる。一つのそのような例はインテル商標クイックパスインターコネクトQPIQuickPathInterconnect通信プロトコルである。もちろん、諸実施形態は他の相互接続技術とも等しく使うことができる。一般に、通信プロトコルはデスクトップおよびサーバープラットフォームのために最適化されることがあり、よってそのようなプラットフォーム上の一般的な作業負荷のための固定データパケットサイズを実装する。たとえば、本発明のある実施形態に基づく通信プロトコルは、64バイトのデータ部分を通信するために標準的なデータパケットサイズを指定しうる。この64バイトのデータ部分は、フリットflitと呼ばれる複数の個々のフロー制御ユニットflowcontrolunitにセグメント分割されうる。そのようなデータパケットはデスクトップおよびサーバープラットフォーム上での多くのアプリケーションにとって好適でありうるものの、そのようなプラットフォーム上での一部のアプリケーションおよび高性能コンピューティングHPChighperformancecomputingのような異なる型のプラットフォームについては、このパケットフォーマットは、より小さなたとえば8バイトのデータパケットを転送する際には非常に非効率的であることがある。例として、限られたデータペイロードサイズのHPC固有の動作はロード、リモートノードからのプリフェッチならびにリモートノードでのストアおよび原子的メモリ動作を含む。諸実施形態は、相互接続に沿って送信されるパケットについてのデータペイロードのサイズの柔軟性を提供し、それにより、より効率的なデータ通信が生起できるようになる。リモートノードへのより小さなデータサイズのための要求は、パーティション分割グローバルアドレス空間PGASpartitionedglobaladdressspaceプログラミングパラダイムの使用が、期待されているように、HPCコミュニティにおいてより大きな追随を得るにつれ、より優勢となるであろう。諸実施形態は、いわゆる原子的メモリ動作AMOatomicmemoryoperationを介したデータ転送を提供することによって、通信効率のさらなる改善を可能にしうる。AMOは、データオペランドを、該オペランドに対して実行されるべき動作と一緒に、また別のデータオペランドへの参照を、あるエージェントから別のエージェント典型的にはリモートノードのエージェントに転送することに関わる。これらは第二のエージェントによって、たとえば該第二のエージェントに関連するメモリへのメモリ読み出しを介して、取得されることができる。いくつかの実施形態では、AMOで送られるデータオペランドは、通信プロトコルについての通常のデータペイロードサイズよりも小さなサイズであってもよいたとえば、64バイトのペイロードを要求するプロトコルに従う相互接続に沿って送られる8バイトのデータオペランド。所与の通信プロトコルについて標準的なペイロードサイズよりも小さいペイロードをもつデータパケットの送信をもってトランザクションが起こることを可能にするため、パケットのコマンド部分に、標準ペイロードサイズよりも小さなペイロード部分を有するパケットフォーマットを可能にするさまざまなフィールドが含められることができる。のちに論じるように、ある実施形態では、これらのより小さなデータパケットを可能にするために、既存の要求の型に対する拡張が提供されることができる。諸実施形態は、多くの異なる型のシステムとの関連で使用されうる。しかしながら、個別的な実装は、多くのノードたとえば数千のノードが相互接続されてHPCアプリケーションのためのコンピューティング機能を提供するようなHPC型のプラットフォームのためであってもよい。ここで図1を参照すると、本発明のある実施形態に基づくHPCプラットフォームのブロック図が示されている。図1に示されるように、システム100は、複数のノード1100~1102を含むHPCプラットフォームであってもよい。図解のために三つのノードしか示していないが、多くの実装では、数百または数千のノードが存在してもよいことを理解されたい。見て取れるように、各ノードは、複数のプロセッサを含め、さまざまな処理機能を含みうる。具体的には、各ノードは二つのプロセッサソケット1121~1122を含む。各プロセッサソケットは、ローカルメモリの一つまたは複数の部分に結合されていてもよい。ローカルメモリは、ある実施形態では、動的ランダムアクセスメモリであってもよい。具体的には、プロセッサ112はローカルメモリ1141~1144に結合されていてもよい。図1の実装では、複数のPtPリンク115が、各プロセッサとノードコントローラまたはネットワークインターフェースコントローラNICnetworkinterfacecontroller120との間に設けられてもよい。そのようなリンク115での通信は、PtP通信プロトコルを介してであってもよく、この通信プロトコルのコヒーレントドメイン内であってもよい。他のノード図1には示さずとの通信を可能にするため、コヒーレンスドメイン130たとえば、相手先ブランド製品製造業者OEMoriginalequipmentmanufacturerのが設けられてもよく、各NIC120との通信が相互接続125によって生起してもよい。これらの相互接続は今度は相互接続または所与のOEMのファブリックのようなファブリック135に結合してもよい。図2は、同様の多ノードHPCプラットフォームを示している。しかしながら、図2の実装では、システム100′は、ノード内のプロセッサソケットどうしを直接結合させうるPtP相互接続115を含む。他の点ではシステム100′は図1に関して上で論じたものと同様の構成であってもよい。諸実施形態は、HPCまたは他のプラットフォームのノード内のPtPリンクにおいて使用されるPtPプロトコルの最適な利用のための備えをしてもよい。具体的には、リモートコンピューティングノード間での非常の小さなデータ語たとえば8バイトのデータ転送トランザクション読み出しまたは書き込みは、プロセッサまたは他のエージェントをNICに接続するリンク上での帯域幅利用を最大にしつつ、実行されることができる。本発明の範囲はこの点に関して限定されるものではないが、削減データペイロードサイズを使って実装されうるリモートメモリ動作は、部分メモリ読み出しおよび書き込みならびにAMOを含む。ある実施形態では、読み出しトランザクションを開始するために、非コヒーレントな部分読み出しコマンドNcRdPtlnoncoherentpartialreadcommandセマンティクスが使用されることができ、たとえば8バイトのデータ戻りパケットの受領につながりうる。これは本稿ではDataNc8と称される。ある実施形態では、削減データペイロードを示すフィールドをもつ書き込み結合部分的書き込みコマンドWcWrPtlwritecombiningpartialwritecommandセマンティクスを使って、部分的メモリ書き込みが実装されることができる。ある実施形態では、AMOは、たとえば8バイトのオペランドを、要求された動作と一緒に、リモートのエージェントに送付するために使われることができる。リモートのエージェントは第二のオペランドをたとえば該リモートのエージェントに付随するメモリから読んでもよい。あるそのような実施形態では、メモリに付随するメモリコントローラが要求された動作を、二つのデータオペランドを使って実行し、結果を直接メモリに書き戻してもよい。ある実施形態では、この動作のために、非コヒーレントな入出力書き込みコマンドNcIOWrnoncoherentinputoutputwritecommandセマンティクスを使うことができる。これらの動作を可能にするために、ある種のパケットのヘッダ部分におけるフィールドが、たとえば数万のノードにおける分散されたdistributedメモリにアドレッシング機能を拡張し、個々のスレッド通信をより効率的に管理するために、使用されることができる。ここで図3を参照すると、本発明のある実施形態に基づく例示的なデータパケットが示されている。図3に見られるように、データパケット150はコマンドヘッダおよびデータ部分を含む。これは、本発明のある実施形態に基づく極小サイズのデータパケットであってもよく、トランザクションに関連する種々の情報を示すためのさまざまなフィールドを含んでいてもよい。コマンドヘッダのフォーマットとしては、一組のレーンが示されている。各レーンは、二つのエージェント間のシリアル相互接続の個々の差動対differentialpair上で通信されてもよい。図3に示した実施形態では、データ情報の18本のレーンが設けられており、それに加えてチェックサム情報、たとえば巡回冗長チェックサムCRCcyclicredundancychecksumを提供するための2本のチェックサムレーンがある。図3でさらに見られるように、コマンドヘッダは2フリットであってもよく、各フリットは複数の20ビット部分から形成されていてもよい。該20ビット部分はフィットphitまたは物理層ユニットphysicallayerunitと称される。見て取れるように、トランザクションに関する詳細を与えるために、さまざまな情報が存在している。にもかかわらず、これらのフィールドの一部のみが以下で詳細に論じられる。種々のフィールドに格納されるそのような情報は、アドレッシング、トランザクションエンコードオペコードとも称されるオペレーションコードによる、仮想チャネル情報などに関する情報を含んでいてもよい。さらに、諸実施形態は、実行されるべき個別的なコマンドに関する、たとえば所与の通信プロトコルの標準的なペイロードよりも小さなデータペイロードをもって実行されるべきオペレーションのための、情報を提供する第二のまたは追加的なオペレーションコードフィールドを含んでいてもよい。ある実施形態では、このフィールドは、受信エージェントたとえば、プロセッサからの要求を受け取るNICまたはパケットの実際の宛先によって実行されるべきプロセッサ固有オペレーションを指定するための3ビットフィールドであってもよい。加えて、たとえばNICからプロセッサまたは他のエージェントにコマンドを送るために使用可能な個別的なOEMコマンドに関する情報を含めるためのさらにもう一つのオペレーションコードフィールドが設けられてもよい。ある実施形態では、このOEMによって定義されるコマンドフィールドは、プロセッサに対してコマンドを指定する、NICのようなOEMデバイスによって設定される3ビットフィールドであってもよい。ある実施形態では、このフィールドは、プロセッサまたは他のエージェントからNICまたは他のOEMデバイスに送られるメッセージについて、0の値に設定されてもよい。このように、図3は二組のオペコードを示している。つまり、さまざまなQPIコマンド型を表すために使用される通常のオペコード30と、GSAストア、GSAプリフェッチおよびAMOの間の区別をするために使われるHPCオペコード30である。これら三つのオペレーションはすべて、通常のオペコードの同じコマンドを使ってもよいが、GSAストア、GSAプリフェッチおよびAMOの間の区別をするために異なるHPCオペコードフィールドが使われる。さらに、上で論じたように、非常に多数の相互接続されたノードのアドレッシングを可能にするために、コマンドヘッダ内に、拡張されたアドレッシング情報たとえばアドレスビット6351が存在してもよい。諸実施形態はさらに、よりよいスレッドレベル管理を可能にするためのさまざまな情報のためのフィールドを含んでいてもよい。そのようなスレッドベースのフィールドは、要求を発するプロセッサコアの識別子IDを指定するコア識別子たとえば6ビットを含んでいてもよい。ある実施形態では、このフィールド情報は、要求のソースを追跡するために、受信エージェントNICのようなによって使用されてもよい。もう一つのそのようなフィールドは、要求を発したプロセッサコア上で走っているスレッドのIDを指定するスレッド識別子たとえば5ビットを含んでいてもよい。ここでもまた、このフィールドはNICまたは他の受信エージェントによって、要求のソースを追跡するために使用されてもよい。さらにまた、特権レベルたとえば2ビットが、コア上で走っているスレッドの特権レベルの指標を与えてもよい。いくつかの実施形態では、異なるコマンドヘッダフォーマットは、図3に示されたような長さフィールドの代わりに、データ部分の複数のバイトのうちのどれが有効にされるべきかを示すバイトイネーブルフィールドを含んでいてもよい。さらにまた、他のデータパケットフォーマットは、たとえば8バイト以下で形成される単一フリットデータ部分を伴う単一フリットであるコマンドヘッダを有していてもよい。そのようなデータパケットは、限られたデータ量たとえば8バイト以下に対する読み出し要求に応答するデータを提供するための応答または戻りメッセージとして使用されることができる。下記の表1は、プロセッサ固有およびOEM固有のエンコードのための例示的なエンコードを示している。そのそれぞれは、コマンドヘッダ内の別個のフィールドであってもかつ当該通信プロトコルのトランザクションのための標準エンコードに加えてであってもよい。諸実施形態は、このように、原子的メモリオペレーションおよび他のオペレーションに加えて読み出しおよび書き込み要求のようなメモリアクセストランザクションを含む種々の型のトランザクションを実行するために使用されうる。そのような他のオペレーションは、HPCプロセッサのようなプロセッサが所与の通信プロトコルによって通常サポートされていないトランザクションを実行することを可能にするプロセッサ固有動作を含んでいてもよい。例として、そのようなトランザクションは、リモートノードからの短いデータ項目にアクセスすること、リモートエージェントにおけるデータに対して原子的にオペレーションを実行すること、あるいはリモートエージェントから要求の開始者により近い何らかの記憶位置にデータをフェッチすることを含んでいてもよい。さらに、諸実施形態は、OEM固有トランザクションが生起することを可能にしてもよい。すなわち、たとえばOEM固有のオペレーションコードフィールドの個別的なエンコードは、OEMが所与の通信プロトコルによって同様にサポートされていない固有のトランザクションを実行することを可能にしてもよい。図4を参照するに、本発明のある実施形態に基づくメモリアクセストランザクションを実行する方法の流れ図が示されている。図4に示されるように、方法200は、たとえば、コヒーレントPtPプロトコルのような所与の通信プロトコルに従うリンクを介してNICのような他のエージェントと通信するシステムエージェントによって実装されてもよい。方法200は、最小限のデータ量に対するメモリトランザクションの要求を受信することによって始まってもよいブロック210。すなわち、たとえばプロセッサコアからの要求が、少量のデータ、つまり通信プロトコルについての標準的なデータペイロードサイズより小さい量のデータを、ロードまたはストアすることであってもよい。菱形220では、この量のデータが閾値以下であるかどうかが判定されてもよい。本発明の範囲はこの点で限定されるものではないが、ある実施形態では、この閾値は8バイトであってもよい。このようにして、トランザクションに関連するデータ量が8バイト以下であれば、メモリアクセストランザクションは最小限の量のフリット通信プロトコルの通常のトランザクションのためよりも少数のフリットをもって行われることができる。菱形220において量が閾値未満でないと判定される場合、制御はブロック230に移る。ここでは、標準的なメモリトランザクションオペコードを含むトランザクションのためのパケットが生成されうる。こうして、トランザクションは、標準的な通信プロトコルの処理フローに従って、送られ、処理される。そうではなく、菱形220において、データ量が閾値以下であると判定される場合、制御はブロック240に移る。ブロック240では、標準的なメモリトランザクションオペコードおよび最小限のデータペイロードの存在を示す特殊なオペコードの両方を含むトランザクションのためのパケットが生成されてもよい。次いで制御は菱形250に移り、ここではトランザクションが書き込み要求についてであるかどうかが判定される。もしそうであれば、制御はブロック260に移り、ここで、最小限のデータペイロードを含むパケットが送信されてもよいブロック260。たとえば、データ部分が8バイト以下であるとすると、このメモリトランザクションのためのパケットはたったの2フリットであってもよい1フリットのヘッダと1フリットのデータペイロード。対照的に、例示的な通信プロトコルについて、典型的な書き込みトランザクションデータパケットは8フリットであることがある。パケットが送信されて宛先によって適切に処理されたのち、エージェントは完了パケットを受信してもよいブロック270。引き続き図4を参照するに、そうではなくて菱形250において、要求が読み出し要求であると判定される場合、制御はブロック280に移り、ここで、読み出し要求が送信されてもよい。次いで、データが宛先位置から読み出されたとき、エージェントは最小限のペイロードパケットにおいて要求されたデータを受信しうるブロック290。上記の例を参照するに、このパケットは最小限のサイズたとえば2フリットの非コヒーレント読み出し完了であってもよい。他の諸実施形態は、オペレーションの少なくとも一つのオペランドも所与の通信プロトコルについての標準的なペイロードに比べて限られたサイズである原子的メモリオペレーションを実行するために使用されてもよい。ここで図5を参照するに、本発明のもう一つの実施形態に基づく方法の流れ図が示されている。図5に示されるように、方法300は、第一のエージェントにおいて原子的なメモリオペレーションの要求を受領することによって始まりうる。一例として、この要求は、リモートノードのエージェントから第一のノードのホームエージェントにおいて受領されうる。より具体的には、要求はリモートノードから送信され、ローカルノードのたとえばNICに与えられてもよく、該NICが今度はその要求をホームエージェントに与えてもよい。ある実施形態では、この要求は第一のオペランド、もう一つのオペランドの位置の指示および所与の算術演算のような要求されるオペレーションを含んでいてもよい。次に、メモリコントローラが要求されたオペレーションを実行できるかどうかが判定されてもよい菱形315。すなわち、いくつかの実装では、ノードのローカルメモリに結合されたメモリコントローラが、要求されたオペレーションを実行できる算術論理ユニットALUarithmeticlogicunitのような一つまたは複数の実行ユニットを有していてもよい。図5はこの判定を示しているものの、諸実施形態は、その代わりに、この判定をすることなく、要求をメモリコントローラに与えるか、ホームエージェント内でオペレーションを処理するかしてもよい。メモリコントローラがそのオペレーションを実行できないと判定された場合、制御はブロック320に渡され、ここで、第二のオペランドを取得するためにメモリアクセス要求がメモリコントローラに送られてもよい。次いで第二のオペランドがメモリコントローラから受信されてもよくブロック325、こうしてホームエージェントが要求されたオペレーションを実行してもよいブロック330。要求は原子的なメモリオペレーションに応答するので、要求元エージェントへの戻り通信は必要とされないことを注意されたい。オペレーションは第一のノードにおいて直接実行されることができるからである。その代わりにメモリコントローラがそのオペレーションを処理するサポートをもつと判定された場合には、制御は菱形315からブロック340に渡され、ここで、メモリアクセス要求、第一のオペランドおよび要求されたオペレーションがメモリコントローラに送られうる。こうして、メモリコントローラはメモリから第二のオペランドを取得し、オペレーションを実行しうるブロック345。制御はブロック330および345からブロック350に渡され、オペレーションの結果が、要求元エージェントへのいかなる結果の戻り通信も必要とすることなく、直接、オペレーションの結果がメモリに記憶される。この時点で、オペレーションは完了し、完了メッセージがリモートエージェントに送り返されてもよいブロック360。図5の実施形態ではこの特定の実装をもって示されているが、本発明の範囲はこの点に関して限定されるものではない。図6~図8は、種々の実施形態に基づくオペレーションを処理するための例示的なフローを示している。図6は、GSAロードリモートノードからのデータの読み込みのためのトランザクションフローを描いており、図7は、リモートノードにおけるAMOオペレーションのためのトランザクションを描いており、図8はGSAプリフェッチリモートノードからのデータのプリフェッチのためのトランザクションを描いている。これらの図は、記述される実施形態にとって重要でないフローの詳細は含んでいないことを注意しておく。見て取れるように、これらのファインマン図はローカル/要求元ノードにおけるプロトコルエージェントのセットおよび宛先またはホームメモリノードにおけるセットを示している。これらのエージェントは、データをキャッシュできるエージェントであるキャッシングエージェント、リンクメッセージを生成できるリンク層のようなリンクエージェント、ソースsourceおよび宛先destinationノードにおけるNIC、ホームエージェントこれはメモリのターゲットにされる領域を所有するエージェントであるおよびメモリコントローラである。図6を参照するに、リモート8バイト読み込みのためのフローが示されている。見て取れるように、要求元のキャッシングエージェントは読み取り要求をローカルNICSrcNICに送付し、ローカルNICは今度はその要求をリモートNICDestNICに送付する。このNICはその要求をホームエージェントに送付する。今度は、ホームエージェントはローカルなスヌープsnoopingを実行しもし必要とされるなら、メモリ読み出しも実行する。これに関し、ホームエージェントはこのように非コヒーレントなメモリアクセス要求NcRdPtlセマンティックを使用してNICがリンク上でのコヒーレンスチェックを実行する必要を回避し、スヌープオペレーションのためこの要求をコヒーレントなメモリ要求に変換することを受け持つことを注意しておく。したがって、諸実施形態は、非コヒーレントな要求セマンティクスを使う要求に応答してコヒーレントなオペレーションを実行する機能を提供する。引き続き図6を参照するに、メモリからのデータ読み出しは次いで、要求と同じ経路を通じて要求元のキャッシングエージェントに送り返される。限られたデータサイズのパケットのために本発明のある実施形態に基づく特別なオペレーションコードを使うことによって、読み出し要求およびデータ戻りメッセージが限られたペイロードのパケットをもって送られることができ、標準的な通信プロトコルに基づく全21フリットに代わって要求経路のために4フリット、戻り経路のために4フリットだけを使うことを注意しておく。図7を参照するに、リモートのホームエージェントへの8バイト書き込みのためのフローが示されている。この書き込みフローは、小さなサイズたとえば3フリットの非コヒーレントなIO書き込みトランザクションNcIOWrセマンティクスによってであってもよい。さらに見て取れるように、完了メッセージがソースNICから直接、リモートエージェントのメモリコントローラにおいて完全なメモリトランザクションが完了するのを待つことなく、キャッシングエージェントに送り返されてもよい。ここでもまた、削減されたデータペイロードをもつ書き込み要求を送るために削減された数のフリットが使用されることができる。また、同様のフローが原子的なメモリオペレーションのために使用されてもよく、よって、リモートのホームエージェントからリモートノードのキャッシングエージェントおよびメモリコントローラへの指示は、原子的なメモリオペレーションを実行するための可能なトランザクションを示す。ここで図8を参照するに、リモートノードへの8バイトプリフェッチのためのフローが示されている。ここでは、先述したような要求されたデータは、要求元により近い記憶位置にプリフェッチされうる。必ずしも要求元プロセッサのキャッシュにではない。見て取れるように、要求元ノードでのこのプリフェッチは、同様に、非コヒーレントなIO書き込み要求セマンティクスを介してであってもよい。ここでもまた、完了が、プリフェッチ要求の受領に際してソースNICによって直接生成されてもよいことを注意しておく。これは、キャッシングエージェントがこの要求によって使われたいかなる資源をも早期に解放し、前記近いNICでの記憶へのデータ戻りが行われる間、関係ない処理を続けることを可能にする。使用される特別なオペレーションコードのため、より小さなデータペイロード、つまり8バイトのデータ戻りメッセージ2フリットのメッセージのための戻りが実現されることを注意しておく。上記の例ではこれらの特定のフローをもって示されているが、本発明の範囲は、転送のサイズに関しても記憶要素の位置に関してもこれに限定されるものでないことを理解されたい。ここで図9を参照するに、本発明のある実施形態に基づくプロセッサのブロック図が示されている。上で論じたように、諸実装は、HPCプロセッサを含むHPCシステムに組み込まれてもよい。このプロセッサは、コア論理410として図9に概括的に表現されている複数のコアを含んでいてもよい。たとえば、各コアは、低レベルキャッシュメモリのようなプライベートなキャッシュメモリに関連付けられていてもよい。これらのプライベートキャッシュメモリは今度は、たとえばインクルーシブなinclusiveキャッシュ階層構造として、共有されるキャッシュメモリに結合されていてもよい。ただし、本発明の範囲はこの点に関して限定されるものではない。図9においてさらに見て取れるように、プロセッサ400はさらに、相互接続論理430を含んでいてもよい。そのような相互接続論理は、所与の通信プロトコルに基づく論理であってもよく、さらにそのようなプロトコルに対する拡張、たとえばそのプロトコルについての標準よりも小さなデータペイロードをもつデータパケットの送信または通信プロトコルによってサポートされていないプロセッサもしくはOEM固有のコマンドの送信を扱うための備えをしていてもよい。図9に表されているように、そのような論理はパッケージ生成論理432を含んでいてもよい。これは、コアから要求を受領してプロセッサを他のエージェントに結合する一つまたは複数の相互接続上での送信のためのパケットを生成するリンク層論理であってもよい。そのような論理は、たとえばメモリアクセストランザクションのために、単一データパケットのための複数のオペレーションコードを有するパケットの通信を可能にしうる。該複数のオペレーションコードのうちの一つは標準的なオペレーションコードであり、第二はこのトランザクションを扱うための特別な情報を与えるもの、たとえばそのパケットのペイロード部分のより小さなサイズを指示するものまたは原子的メモリオペレーションのような特定の要求を与えるものである。パッケージ生成論理432には、パケット送信論理434が結合されていてもよい。これは、生成されたパケットを受けて、これを前記相互接続に沿った電気通信のためにフォーマットする物理層論理であってもよい。図解の簡単のために示されていないが、パケット送信論理434およびパケット生成論理432はいずれも、相互接続単数または複数からのはいってくるパケットを受領し、その情報を処理してプロセッサの前記一つまたは複数のコアに与える、対応する受信論理および変換論理を有していてもよいことを理解されたい。図9の実施形態ではこの高レベルのビューで示されているが、本発明の範囲はコン点に関して限定されるものではないことを理解されたい。諸実施形態は、コードにおいて実装されてもよく、命令が記憶されている記憶媒体上に記憶されていてもよい。該命令は、該命令を実行するようシステムをプログラムするために使うことのできるものである。記憶媒体は、これに限られないが、フロッピー登録商標ディスク、光ディスク、半導体ドライブSSDsolidstatedrive、コンパクトディスク読み出し専用メモリCDROMcompactdiskreadonlymemory、書き換え可能型コンパクトディスクCDRWcompactdiskrewritableおよび光磁気ディスク、読み出し専用メモリROMreadonlymemory、動的ランダムアクセスメモリDRAMdynamicrandomaccessmemory、静的ランダムアクセスメモリSRAMstaticrandomaccessmemoryのようなランダムアクセスメモリRAMrandomaccessmemory、消去可能型プログラム可能読み出し専用メモリEPROMerasableprogrammablereadonlymemory、フラッシュメモリ、電気的消去可能型プログラム可能読み出し専用メモリEEPROMelectricallyerasableprogrammablereadonlymemoryのような半導体デバイス、磁気もしくは光カードまたは電子的な命令を記憶するのに好適な他の任意の型の媒体を含みうる。本発明は限られた数の実施形態に関して記載されてきたが、当業者はそれから数多くの修正および変形を理解するであろう。付属の請求項は本発明の真の精神および範囲内にはいるそのようなすべての修正および変形をカバーすることが意図されている。