JP3023339B2 - Message arrival notification method and system - Google Patents

Message arrival notification method and system

Info

Publication number
JP3023339B2
JP3023339B2 JP10088626A JP8862698A JP3023339B2 JP 3023339 B2 JP3023339 B2 JP 3023339B2 JP 10088626 A JP10088626 A JP 10088626A JP 8862698 A JP8862698 A JP 8862698A JP 3023339 B2 JP3023339 B2 JP 3023339B2
Authority
JP
Japan
Prior art keywords
message
destination node
field
interrupt
dii
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.)
Expired - Fee Related
Application number
JP10088626A
Other languages
Japanese (ja)
Other versions
JPH10301912A (en
Inventor
クリスティーン・エム・デズノイヤーズ
ダグラス・ジェームズ・ジョーゼフ
フランシス・エイ・カンプ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US08/824,697 external-priority patent/US6098104A/en
Priority claimed from US08/835,434 external-priority patent/US6098105A/en
Priority claimed from US08/826,888 external-priority patent/US6105071A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH10301912A publication Critical patent/JPH10301912A/en
Application granted granted Critical
Publication of JP3023339B2 publication Critical patent/JP3023339B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本出願はメッセージ処理シス
テムに関する。具体的には、本出願は発信元または宛先
あるいはその両方により開始されるプログラム可能割込
みを使用して、メッセージ着信時にメッセージ宛先に通
知する方法に係わる。
TECHNICAL FIELD This application relates to a message processing system. Specifically, the present application relates to a method of notifying a message destination when a message arrives using a programmable interrupt initiated by the source and / or destination.

【0002】[0002]

【従来の技術】たとえば図1に図示されているマルチプ
ロセッサ・データ処理システム10などのメッセージ処
理システムは、プロセッサ121...12Nの各プロセ
ッサ間に信頼性の高いメッセージ通信経路を必要とす
る。図1に例示するシステム10は、プロセッサ12に
共通して結合された例示の通信媒体またはスイッチ・ネ
ットワーク20を使用する。プロセッサは、各プロセッ
サ12と媒体20との間の通信をそれぞれの接続1
1...16Nを介して制御するためにそれぞれの通信
アダプタ141...14Nを必要とすることがある。し
たがって、たとえばシステム10のプロセッサ12上で
実行されているソフトウェア・アプリケーション間の通
信は媒体20を介して行われる。
Message processing system, such as multiprocessor data processing system 10 BACKGROUND OF THE INVENTION illustrated in Figure 1 for example, the processor 12 1. . . It requires a reliable message communication path between each of the 12 N processors. The system 10 illustrated in FIG. 1 uses an exemplary communication medium or switch network 20 commonly coupled to a processor 12. The processors communicate between each processor 12 and the media 20 with a respective connection 1.
6 1 . . . Each of the communication adapter 14 1 in order to control via the 16 N. . . 14 N may be required. Thus, for example, communication between software applications running on processor 12 of system 10 occurs over medium 20.

【0003】それぞれのプロセッサは、異なる非同期ア
プリケーション・ソフトウェア区分をサポートしている
ことがあるため、非同期メッセージ処理がプロセッサ間
の通信の有用な形態となる。宛先プロセッサ(たとえば
プロセッサ12)では、着信非同期メッセージは、通
常の態様でメッセージ受信待ち行列にバッファリングさ
れる。したがって、プロセッサ12で実行されている
アプリケーション・ソフトウェアは、メッセージが着信
しているかどうかを判断するために待ち行列のポーリン
グまたは監視を必要とすることが多い。しかし、特定の
メッセージまたは任意のメッセージの着信を待っている
ときの不要なポーリングのために、このような受信メッ
セージの状況の入手によって追加のオーバーヘッドが生
じる可能性がある。アプリケーションによっては、この
追加のオーバーヘッドがシステム・パフォーマンスに大
きな影響を与えず、したがって許容可能な場合もある。
しかし、この追加のオーバーヘッドがパフォーマンスに
重大な影響を与えるアプリケーションもあり、その場合
はメッセージ受信待ち行列のポーリングや監視は受容不
能な手法となる。
[0003] As each processor may support different asynchronous application software partitions, asynchronous message processing is a useful form of communication between the processors. In destination processor (eg, processor 12 N), the incoming asynchronous message passing
It is buffered in the message reception queue in the usual manner . Thus, the application software running on the processor 12 N is often message requires polling or monitoring of the queue to determine whether the incoming call. However, obtaining the status of such received messages can cause additional overhead due to unnecessary polling while waiting for the arrival of a particular message or any message. For some applications, this additional overhead does not significantly affect system performance and may therefore be acceptable.
However, in some applications, this additional overhead can have a significant effect on performance, making polling and monitoring of the message receive queue an unacceptable technique.

【0004】宛先プロセッサによるメッセージのポーリ
ングまたは監視に関する上記の問題に加えて、発信元プ
ロセッサ(たとえばプロセッサ12)が、特定のタイ
プまたは優先度を有するメッセージの着信時にメッセー
ジ宛先プロセッサに明示的に通知する方がよい場合があ
る。
[0004] In addition to the problems described above with respect to polling or monitoring messages by a destination processor, an originating processor (eg, processor 12 1 ) explicitly notifies a message destination processor when a message of a particular type or priority arrives. Sometimes it is better to do that.

【0005】[0005]

【発明が解決しようとする課題】したがって、メッセー
ジの着信時に宛先ノードに通知を行う追加のオプション
をシステム内の各プロセッサやその上で稼働しているア
プリケーション・ソフトウェアに提供する、実施ハード
ウェアとソフトウェアとデータ構造とを含む柔軟性のあ
る方法及びシステムが必要である。この方法及びシステ
ムは、特定の通知方法を強制せず、追加のプログラム可
着信通知オプションを提供し、それによって、特定
アプリケーション要件の観点から最適選択肢を選
択することができるようにする。
Therefore, implementation hardware and software that provide each processor in the system and application software running thereon with the additional option of notifying the destination node when a message arrives. There is a need for a flexible method and system that includes data and data structures. The method and system, without forcing a specific notification method, and provides additional programmable call notification options, thereby to be able to select the best choice in terms of the requirements of a particular application .

【0006】[0006]

【課題を解決するための手段】宛先ノードへの個々のメ
ッセージの着信を宛先ノードに通知する方法、システ
ム、プログラム・コードの入った製品、及びデータ構造
に関する本発明によって、柔軟性のあるメッセージ着信
通知技法が提供される。本発明は、メッセージごとのプ
ログラム可能な発信元及び宛先開始割込みを提供する。
SUMMARY OF THE INVENTION A flexible message termination is provided by the present invention for a method, system, product containing program code, and data structure for notifying the destination node of the arrival of individual messages at the destination node. A notification technique is provided. The present invention provides programmable source and destination start interrupts for each message.

【0007】たとえば、本発明の2つのタイプの割込み
開始がそれぞれ適用される、任意の順序の第1及び第2
のメッセージを考えてみる。第1のメッセージの場合、
本発明は、第1のメッセージの送信元である発信元ノー
ドにおいて第1のメッセージ内に発信元開始割込み(S
II)フィールドを設定するステップと、宛先ノードに
おける第1のメッセージの着信時に、設定されているS
IIフィールドに応答して宛先ノードで割込みを生成す
るステップとを含む。第2のメッセージの場合、本発明
は、宛先ノードにおいて宛先開始割込み(DII)フィ
ールドを事前設定するステップと、宛先ノードにおける
第2のメッセージの着信時に、事前設定されたDIIフ
ィールドに応答して宛先ノードで割込みを生成するステ
ップとを含む。
[0007] For example, first and second in any order, to which the two types of interrupt initiation of the present invention respectively apply.
Consider the message. For the first message,
The present invention provides for a source start interrupt (S) in a first message at a source node that is the source of the first message.
II) setting a field, and when the first message arrives at the destination node, the set S
Generating an interrupt at the destination node in response to the II field. In the case of a second message, the present invention comprises the steps of pre-setting the destination start interrupt (DII) field at the destination node and, upon arrival of the second message at the destination node, responding to the pre-set DII field. Generating an interrupt at the node.

【0008】発信元ノードと宛先ノードは非同期的に動
作することができるため、たとえば第1及び第2のメッ
セージなど所与のメッセージについて、両方のノードが
割込みフィールドを(冗長に)設定し、それによって割
込みをトリガすることが完全に可能である。
[0008] Since the source node and the destination node can operate asynchronously, for a given message, eg, the first and second messages, both nodes set (redundantly) the interrupt field, and It is completely possible to trigger an interrupt by:

【0009】他のメッセージの場合、本発明は宛先ノー
ドにおいてメッセージ受信待ち行列をポーリングして宛
先ノードに他のメッセージが着信していないかどうかを
判断するステップも含むことができる。少なくとも1つ
のメッセージが着信していることがポーリングから判断
されると、宛先ノードでそのメッセージが処理される。
割込み生成は、プログラム可能割込みイネーブル・マス
クを使用してイネーブルにしたりディスエーブルしたり
することができる。
For other messages, the present invention may also include the step of polling a message reception queue at the destination node to determine whether another message has arrived at the destination node. If the polling determines that at least one message is arriving, the message is processed at the destination node.
Interrupt generation can be enabled and disabled using a programmable interrupt enable mask.

【0010】SIIフィールドの設定処理は、発信元ノ
ードから宛先ノードへのメッセージの実際の送信に組み
込むことができる。この送信は、発信元ノードにおける
フォーマットされた送信メッセージ記述子(SMD)の
作成を含むことができ、SMDにはSIIフィールドを
含むメッセージの送信制御情報が含まれる。宛先ノード
におけるDIIフィールドの事前設定は、宛先ノードに
おけるメッセージ着信先バッファの割振りに組み込むこ
とができる。バッファの割振りは、宛先ノードにおける
フォーマットされた受信メッセージ記述子(RMD)の
作成を含むことができ、RMDにはDIIフィールドを
含むメッセージの受信制御情報が含まれる。
The process of setting the SII field can be incorporated into the actual transmission of the message from the source node to the destination node. This transmission may include the creation of a formatted transmission message descriptor (SMD) at the source node, where the SMD includes transmission control information for the message including the SII field. Presetting of the DII field at the destination node can be incorporated into the allocation of the message destination buffer at the destination node. Allocation of the buffer may include the creation of a formatted receive message descriptor (RMD) at the destination node, where the RMD contains the receive control information of the message including the DII field.

【0011】メッセージ、送信メッセージ記述子、及び
受信メッセージ記述子はそれぞれ、SIIフィールドと
DIIフィールド、またはその両方のための共通フィー
ルドを含むフォーマットされたヘッダ・データ構造を含
み、本発明のプログラム可能発信元及び宛先開始割込み
をサポートする。
[0011] The message, transmitted message descriptor, and received message descriptor each include a formatted header data structure that includes a common field for the SII and DII fields, or both, and the programmable source of the present invention. Supports source and destination start interrupts.

【0012】発信元ノード及び宛先ノード内のフォーマ
ットされたメッセージ記述子と、メッセージ・パケット
と、コマンドは、本発明のデータ構造部分も含み、メッ
セージごとのシステム規模の発信元及び宛先開始割込み
の実施を容易にする。
The formatted message descriptors, message packets, and commands in the source and destination nodes also include the data structure portion of the present invention, and implement a system-wide source and destination start interrupt for each message. To facilitate.

【0013】したがって、本発明は、メッセージの着信
時にたとえば宛先ノードにおけるハードウェアまたはソ
フトウェア・アプリケーション通知を行う追加のプロ
グラム可能オプションを提供する。本発明の発信元及び
宛先開始割込みは、特定のアプリケーションのパフォー
マンス要件を満たすように、(ポーリングなどの他の標
準の手法と共に)メッセージごとに選択的に呼び出すこ
とができる。
Thus, the present invention provides an additional programmable option to notify a hardware or software application , for example, at a destination node, when a message arrives. The source and destination start interrupts of the present invention can be selectively invoked on a per-message basis (along with other standard approaches such as polling) to meet the performance requirements of a particular application.

【0014】[0014]

【発明の実施の形態】前述のように、図1には複数のプ
ロセッサ121...12Nを有するマルチプロセッサ・
データ処理システム10の形態のメッセージ処理システ
ムの例が図示されている。各プロセッサは、共通接続媒
体またはスイッチ・ネットワーク20とのそれぞれの接
続16を操作する、それぞれの通信アダプタ14を有す
ることができる。このシステムには、アプリケーション
・ソフトウェアとすべての関連データ構造、プロトコル
などを保持またはサポートする記憶媒体22も備えるこ
とができる。
DESCRIPTION OF THE PREFERRED EMBODIMENTS As mentioned above, FIG. 1 shows a plurality of processors 12 1 . . . Multiprocessor with 12 N
An example of a message processing system in the form of a data processing system 10 is shown. Each processor may have a respective communication adapter 14 that operates a respective connection 16 with a common connection medium or switch network 20. The system can also include a storage medium 22 that holds or supports the application software and all associated data structures, protocols, and the like.

【0015】図2は、図1のシステムのハードウェア/
ソフトウェア混成図であり、メッセージ発信ノード18
1とメッセージ宛先ノード18Nが図示されている。本明
細書では、「ノード」という用語を広義に使用して、そ
の間でメッセージの受渡しを行う任意の識別可能なハー
ドウェアまたはソフトウェアあるいはその両方の組合せ
を意味する。図2では、それぞれのノードのアプリケー
ション・ソフトウェア区分が関連づけられていてもいな
くてもよい。すなわち共通アプリケーションの一部であ
ってもなくてもよい。各ノードに、より高レベルのハー
ドウェア(たとえば図1の12)も存在することを前提
としているが、図示していない。各ノードには、より低
レベルの通信システム・ソフトウェア(CSS)、デバ
イス・ドライバ、及びアダプタ・ハードウェア14も図
示されている。以下、説明を簡単にするために、アプリ
ケーションはメッセージ40がスイッチ・ネットワーク
20を介して発信元ノード181から宛先ノード18N
送信されることを必要とするものとする。(しかし、実
際のシステムではすべてのノードが本明細書に記載のメ
ッセージの送信機能と受信機能の両方を含むものと考え
られる。)
FIG. 2 shows the hardware / system of the system of FIG.
FIG. 3 is a software hybrid diagram, showing a message sending node 18;
1 and the message destination node 18N are shown. As used herein, the term "node" is used broadly to mean any identifiable hardware and / or software that passes messages between them. In FIG. 2, the application software division of each node may or may not be associated. That is, it may or may not be a part of the common application. It is assumed that higher level hardware (eg, 12 in FIG. 1) also exists at each node, but is not shown. Also shown at each node are lower level communication system software (CSS), device drivers, and adapter hardware 14. Hereinafter, for simplicity of explanation, the application shall require that the message 40 is sent from the source node 18 1 through the switch network 20 to the destination node 18 N. (However, in a practical system, all nodes are considered to include both the message sending and receiving functions described herein.)

【0016】本発明によると、宛先ノード18Nにメッ
セージ40が着信すると宛先ノード・ハードウェアやよ
り高レベルのアプリケーション・ソフトウェア、通信シ
ステム・ソフトウェア(CSS)にただちに通知される
ように、発信元開始割込み(SII)50と宛先開始割
込み(DII)60が行われる。メッセージが着信する
と、この2つのタイプの割込みの一方または両方を行う
ことによって、即時宛先ノード通知が可能になる。発信
元ノードと宛先ノードの両方が、割込みが必要な時点を
判断することができ、関連づけられたメッセージが着信
すると宛先ノードの割込みを行うための必要な処理を開
始することができる。
In accordance with the present invention, the origination of the message 40 at the destination node 18 N is such that the destination node hardware, higher-level application software, and communication system software (CSS) are immediately notified. An interrupt (SII) 50 and a destination start interrupt (DII) 60 are performed. When a message arrives, one or both of these two types of interrupts allow for immediate destination node notification. Both the source node and the destination node can determine when an interrupt is needed, and can initiate the necessary processing to interrupt the destination node when the associated message arrives.

【0017】以下で詳述するように、発信元ノード18
1においてメッセージ40のヘッダ・データ構造内に制
御フィールドを設定することによって発信元開始割込み
が設定される。したがって、メッセージ40自体が設定
済み発信元割込みフィールドを伝達し、それによって宛
先ノード18Nにメッセージが到着すると宛先ノードの
ハードウェアまたはソフトウェアあるいはその両方に割
込みを介して通知される。さらに、宛先ノードにおいて
着信メッセージを受信するバッファが割り振られている
場合、宛先ノード自体が同じフィールドまたは同様のフ
ィールドを事前設定することによって同様の割込みを独
立して開始することができる。
As described in more detail below, source node 18
The source start interrupt is set at 1 by setting the control field in the header data structure of the message 40. Therefore, the message 40 itself transmits the configured source interrupt field, and is thereby notified via hardware or software or interrupt both of the destination node when a message arrives at the destination node 18 N. Furthermore, if the destination node has been allocated a buffer to receive incoming messages, the destination node itself can independently initiate a similar interrupt by pre-setting the same or similar fields.

【0018】アプリケーションが割込みを開始しないこ
とが好ましい場合には、宛先ノードは着信メッセージ待
ち行列をポーリングする能力を保持することができる。
しかし、アプリケーションには、特定のメッセージまた
はメッセージのグループのために割込みを開始するかど
うか、また、いつ開始するかに関して柔軟性が与えられ
る。宛先ノードは、発信元または宛先開始割込みの処理
を完全にイネーブルまたはディスエーブルするだけでな
く、他のタイプの割込みをイネーブルまたはディスエー
ブルするプログラム可能割込みマスクも含むことができ
る。
If it is desired that the application not initiate an interrupt, the destination node can retain the ability to poll the incoming message queue.
However, applications are given flexibility as to whether and when to initiate an interrupt for a particular message or group of messages. The destination node may not only completely enable or disable the processing of the source or destination start interrupt, but may also include a programmable interrupt mask that enables or disables other types of interrupts.

【0019】後述するように、本発明のシステム、ソフ
トウェア、コマンド、メッセージ・パケット、及びデー
タ構造はすべて、本発明のプログラム可能発信元及び宛
先割込みをメッセージごとにシステム規模でサポートす
るための必要な機能を含む。
As will be described, the system, software, commands, message packets, and data structures of the present invention are all necessary to support the programmable source and destination interrupts of the present invention on a message-by-message system-wide basis. Including features.

【0020】図3ないし図6及びそれに付随する以下の
説明では、本発明の発信元及び宛先開始割込みを容易に
する例示の通信アダプタ14のハードウェア部分とソフ
トウェア部分を開示する。これは、実施例に過ぎず、当
業者なら本発明を実施するために他のハードウェア及び
ソフトウェア技法も使用可能であることがわかるであろ
う。
FIGS. 3-6 and the accompanying description disclose the hardware and software portions of an exemplary communication adapter 14 that facilitates source and destination start interrupts of the present invention. This is only an example, and those skilled in the art will recognize that other hardware and software techniques can be used to implement the present invention.

【0021】図3を参照すると、図2の発信元ノード1
1と宛先ノード18Nの例示の通信アダプタ14は、ア
ダプタ・メモリ70と、機能プロセッサ(たとえば図1
のプロセッサ12)とインタフェースするためのプロセ
ッサ・インタフェース・コントローラ72と、アダプタ
・フロー制御論理回路74と、ノードを結合する通信媒
体(たとえばスイッチ・ネットワーク20)とインタフ
ェースするためのスイッチ・インタフェース論理回路7
6とを含む。アダプタは一般に、必要な場合に所与の通
信をパケットに分割するのに必要な機能を実行し、各パ
ケットをスイッチ・ネットワークを介してルーティング
してそのパケットを後で宛先ノードで再組立てするのに
必要なヘッダ情報を組み立てる。さらに、アダプタは誤
り検出、メッセージ送信中のソフト誤りまたはハード誤
りからの回復を容易にする追跡情報の維持、及びその他
の必要な機能を実行することができる。本明細書では、
「メッセージ」という用語を広義に使用して、発信元ノ
ードと宛先ノードの間のあらゆるタイプの通信を意味
し、より大きなメッセージに関するデータの一部のみを
含んでいてもよく、データがなくてシステムにとって何
らかの有用性を持つヘッダのみを含んでいてもよい。
Referring to FIG. 3, the source node 1 of FIG.
8 1 and destination node 18 N include an adapter memory 70 and a functional processor (eg, FIG. 1).
Processor interface controller 72 for interfacing with the processor 12), adapter flow control logic 74, and switch interface logic 7 for interfacing with the communication medium coupling the nodes (eg, switch network 20).
6 is included. Adapters generally perform the necessary functions of breaking a given communication into packets, if necessary, routing each packet through the switch network and reassembling the packet at the destination node later. Assemble the header information required for. In addition, the adapter can perform error detection, maintain tracking information to facilitate recovery from soft or hard errors during message transmission, and perform other necessary functions. In this specification,
The term "message" is used broadly to mean any type of communication between a source node and a destination node, and may include only a portion of the data for a larger message, May only include headers that have some usefulness to

【0022】図2を参照しながら前述したように、アプ
リケーション・ソフトウェア間には本明細書でCSSと
呼ぶソフトウェアの層があり、アダプタ・ハードウェア
との必要なアプリケーション・ソフトウェア・インタフ
ェースを提供する。CSSは、アダプタ内のハードウェ
ア・サブシステムを動作させるのに必要なより低レベル
のデバイス・ドライバを含んでいてもいなくてもよい。
CSSは、メッセージ着信時に本発明の発信元または宛
先開始割込みによって割込みされるCSSであることが
好ましく、この割込みはCSSスーパーバイザ処理空間
で処理される。しかし、図2に示すように、CSSがさ
らにアプリケーション・ソフトウェアに割り込むことも
でき、(ユーザ・レベル割込みがサポートされているこ
とを前提として)メッセージの着信時にアプリケーショ
ン・ソフトウェアに直接割り込むこともできる。任意の
該当するハードウェア割込み線などを使用して必要な割
込みを行うこともできる。
As described above with reference to FIG. 2, there is a layer of software, referred to herein as CSS, between the application software that provides the necessary application software interface with the adapter hardware. CSS is a low-level device drivers may or may not be free Ndei than needed to operate the hardware subsystems in the adapter.
The CSS is preferably a CSS that is interrupted by a source or destination start interrupt of the present invention upon message arrival, which is handled in the CSS supervisor processing space. However, as shown in FIG. 2, the CSS can also interrupt the application software, or (if user-level interrupts are supported) can interrupt the application software directly upon the arrival of a message. And any of the appropriate hardware interrupt lines can also be carried out the necessary interrupt use.

【0023】本発明によると、発信メッセージのために
発信元ノード181で送信メッセージ記述子が初期設定
され、維持される。送信メッセージ記述子(SMD)
は、送信されるメッセージの状況を維持するために使用
される。送信される各メッセージについて、CSSは発
信元ノードにあるアダプタ・メモリ70内にSMDの場
所を割り当てる。SMDはアダプタ・コマンドによって
初期設定され、メッセージが宛先ノードに送信されて宛
先ノードによって肯定応答されると更新される。SMD
は、メッセージ・データの記憶場所と、メッセージ・デ
ータの量と、メッセージの宛先と、正常なメッセージ送
信と(必要な場合)回復のために必要なその他の重要な
情報とを維持する。同様に、宛先ノード18Nでは、受
信メッセージ記述子(RMD)構造を使用して、受信す
るメッセージの状況を維持する。受信する各メッセージ
について、CSSが宛先ノードにあるアダプタ・メモリ
70内にRMDの場所を割り当てる。RMDはアダプタ
・コマンドによって初期設定され、メッセージを受信す
ると更新される。(メッセージ記述子は、送信または受
信する実メッセージ・データを含む場合も含まない場合
もあることに留意されたい。たとえば1024バイトを
超える大きめのメッセージの場合、別個のバッファを割
り当てることができ、その場合は記述子内のバッファ・
アドレス・フィールドを使用してそのバッファにアクセ
スする。しかし、比較的短いメッセージの場合は、記述
子自体がバッファそのものとして機能することができ、
実メッセージ・データを保持することができる。)RM
Dは、受信バッファの場所、受信バッファのサイズ、メ
ッセージの期待発信元、及びメッセージの受信と適正な
回復に必要なその他の重要な情報を維持する。
[0023] According to the present invention, the transmission message descriptors in the source node 18 1 for the outgoing message is initially set, is maintained. Transmission message descriptor (SMD)
Is used to maintain the status of the message being sent. For each message sent, the CSS allocates the location of the SMD in the adapter memory 70 at the source node. The SMD is initialized by the adapter command and updated when the message is sent to the destination node and acknowledged by the destination node. SMD
Maintains the location of message data, the amount of message data, the destination of the message, and other important information needed for successful message transmission and recovery (if necessary). Similarly, the destination node 18 N uses a received message descriptor (RMD) structure to maintain the status of the received message. For each message received, the CSS allocates an RMD location in adapter memory 70 at the destination node. RMD is initialized by an adapter command and updated when a message is received. (Note that the message descriptor may or may not include the actual message data to be sent or received. For larger messages, for example, over 1024 bytes, a separate buffer may be allocated and If the buffer in the descriptor
Access the buffer using the address field. However, for relatively short messages, the descriptor itself can serve as the buffer itself,
Real message data can be retained. ) RM
D maintains the location of the receive buffer, the size of the receive buffer, the expected source of the message, and other important information needed to receive and properly recover the message.

【0024】送信メッセージ記述子と受信メッセージ記
述子の例を以下に示す。
Examples of the transmission message descriptor and the reception message descriptor are shown below.

【表1】 [Table 1]

【0025】[0025]

【表2】 [Table 2]

【0026】本発明によると、メッセージ記述子のヘッ
ダ部分にはCONTROL(制御)領域(上図の陰影付
きの部分)が含まれる。この制御領域には(前述の)発
信元開始割込み(SII)フィールドと宛先開始割込み
(DII)フィールドが含まれる。以下のように、この
例の制御領域は16ビットを含むことができ、そのうち
の2ビットにSIIフィールドとDIIフィールドが含
まれる。 制御領域: ビット番号 説明 0 カーネル/−ユーザ・メッセージ 1 記述子データ/−DMAデータ 2 アプリケーション/−バッファ空間 3 発信元開始割込み(SII) 4 宛先開始割込み(DII) 5 プル応答 6 プル要求 7 回復/−ランデブ 8 再送 9 ランデブ要求 10 未定義 11 バースト/−非バースト 12 予約(0−識別子ビット#0) 13 予約(0−識別子ビット#1) 14 予約(0−識別子ビット#2) 15 予約(0−識別子ビット#3)
According to the present invention, the header part of the message descriptor includes a CONTROL (control) area (the shaded part in the above figure). This control area includes a source start interrupt (SII) field and a destination start interrupt (DII) field (described above). As described below, the control area of this example can include 16 bits, of which 2 bits include the SII field and the DII field. Control area: Bit number Description 0 Kernel / -user message 1 Descriptor data / -DMA data 2 Application / -buffer space 3 Source start interrupt (SII) 4 Destination start interrupt (DII) 5 Pull response 6 Pull request 7 Recovery // Rendezvous 8 Retransmission 9 Rendezvous request 10 Undefined 11 Burst / -Non-burst 12 Reserved (0-identifier bit # 0) 13 Reserved (0-identifier bit # 1) 14 Reserved (0-identifier bit # 2) 15 Reserved ( 0-identifier bit # 3)

【0027】この実施例では、制御領域でSIIフィー
ルドとDIIフィールドに別々のフィールドを割り振っ
ているが、代替実施例では、一般に発信元ノードと宛先
ノードのどちらが割込みを開始したかに関係なく、メッ
セージの到着時に宛先で同じタイプの割込みが生成され
るため、これらのフィールドは同じフィールドとするこ
ともできる。
In this embodiment, separate fields are allocated to the SII field and the DII field in the control area. However, in an alternative embodiment, the message is generally transmitted regardless of which of the source node and the destination node has started the interrupt. These fields may be the same, since the same type of interrupt is generated at the destination upon arrival of the.

【0028】SMD及びRMDに関連して上述した制御
領域は、発信元ノードと宛先ノードのアダプタにおける
多くのデータ構造及びコマンド全体を通してサポートさ
れ、複製されるメモリの領域であり、メッセージごとの
システム規模の本発明の割込みを容易にする。
The control area described above in connection with SMD and RMD is an area of memory that is supported and replicated throughout many data structures and commands in the source and destination node adapters, and the system size per message. Of the present invention.

【0029】たとえば、図4を参照すると、媒体20を
介して送信される(したがって必然的に発信元と宛先の
それぞれのアダプタ・メモリ70で維持される)個別の
メッセージ・パケット80が、ヘッダ部分82とデータ
部分84とを含む。ヘッダ部分82には、SIIフィー
ルドとDIIフィールドがその中に割り振られているC
ONTROL(制御)領域86が含まれる。宛先ノード
でメッセージを受信する前に、SIIフィールドのみが
設定されることになることが考えられる。DIIも、宛
先ノードの受信バッファで事前設定してもしなくてもよ
い。図4のメッセージ・パケット80は以下のように再
現され、SIIフィールドとDIIフィールドを含む汎
用ヘッダ形式に準拠した他のパケット構造も同様であ
る。たとえば、宛先ノードから「プル要求メッセージ・
パケット」が発信され、それに応答して発信元ノードか
らデータが入った「プル応答メッセージ・パケット」が
送信される。「プル」パケットは、標準メッセージ・パ
ケットの以前の送信試行から回復するために使用され
る。
For example, referring to FIG. 4, a separate message packet 80 transmitted over the medium 20 (and thus necessarily maintained in each of the source and destination adapter memories 70) has a header portion 82 and a data portion 84. The header part 82 has a CII field in which the SII field and the DII field are allocated.
An ONCONTROL (control) area 86 is included. It is possible that only the SII field will be set before receiving the message at the destination node. The DII may or may not be preset in the destination node's receive buffer. The message packet 80 of FIG. 4 is reproduced as follows, as are other packet structures conforming to the universal header format including the SII and DII fields. For example, from the destination node, "Pull request message
In response, a "pull response message packet" containing data is transmitted from the source node. "Pull" packets are used to recover from previous transmission attempts of standard message packets.

【表3】 [Table 3]

【0030】[0030]

【表4】 [Table 4]

【0031】[0031]

【表5】 [Table 5]

【0032】[0032]

【表6】 [Table 6]

【0033】同様に、発信元ノードと宛先ノードのアダ
プタ・コマンドもSIIフィールドとDIIフィールド
を含む制御領域をサポートする。このようなコマンドの
形式の例を以下に示す。
Similarly, the source node and destination node adapter commands also support a control region containing SII and DII fields. An example of the format of such a command is shown below.

【表7】 [Table 7]

【0034】[0034]

【表8】 [Table 8]

【0035】[0035]

【表9】 [Table 9]

【0036】[0036]

【表10】 [Table 10]

【0037】[0037]

【表11】 [Table 11]

【0038】「メッセージ送信コマンド」は、アダプタ
を介して媒体で宛先ノードにメッセージを送信する機構
を提供する。このコマンドには、前述の「送信メッセー
ジ記述子(SMD)」を作成するのに必要なすべてのパ
ラメータが含まれる。送信側アダプタが「メッセージ送
信コマンド」を受け取ると、指定されたSMDがアダプ
タ・メモリで初期設定され、その選択されたフィールド
がブランクのまま残され、実際の送信論理回路によって
満たされることになる。発信ノード処理のこの時点でS
MD内の発信元開始割込み(SII)フィールドを設定
して、関連づけられたメッセージが宛先ノードに着信し
たら宛先ノードに割込みたいという希望を表示すること
ができる。
The "send message command" provides a mechanism for sending a message to the destination node via the adapter via the medium. This command contains all the parameters needed to create the aforementioned "Send Message Descriptor (SMD)". When the sending adapter receives the "send message command", the specified SMD is initialized in the adapter memory, leaving the selected fields blank and being filled by the actual send logic. At this point in the originating node process, S
A Source Start Interrupt (SII) field in the MD can be set to indicate a desire to interrupt the destination node when the associated message arrives at the destination node.

【0039】「ポスト・メッセージ受信バッファ(PM
RB)」コマンドは、宛先ノードにおいて、媒体から着
信するメッセージを受信するバッファを受信アダプタの
メモリ内にポストまたは割振りする機構を提供する。こ
のコマンドには、前述の「受信メッセージ記述子(RM
D)」を作成するのに必要なすべてのパラメータが含ま
れる。PMRBコマンドが呼び出されると、後続処理の
ためにブランクのままになっている選択されたフィール
ドを使用してアダプタ・メモリ内で指定されたRMDが
初期設定される。宛先ノード処理のこの時点で、DII
フィールドを事前設定することができる。PMRBコマ
ンドは先行的な性質を持っている。すなわち、メッセー
ジの実際の存在に応答して呼び出されるのではなく、宛
先ノードへのメッセージの着信を見越して呼び出され
る。このコマンドは、宛先ノード・ソフトウェアによっ
て独立して非同期的に発行される。したがって、その直
接の結果として、特定のアプリケーションの要件に応じ
て宛先ノードで宛先開始割込みをメッセージごとに非同
期的に呼び出すことができることになる。
"Post message reception buffer (PM
The "RB)" command provides a mechanism at the destination node to post or allocate a buffer in the receiving adapter's memory for receiving messages arriving from the medium. This command includes the aforementioned “received message descriptor (RM
D)). All the parameters needed to create ") are included. When the PMRB command is invoked, the specified RMD is initialized in the adapter memory with the selected fields left blank for further processing. At this point in the destination node processing, DII
Fields can be preset. The PMRB command has a precedence property. That is, rather than being called in response to the actual presence of the message, it is called in anticipation of the arrival of the message at the destination node. This command is issued independently and asynchronously by the destination node software. Thus, the direct result is that a destination start interrupt can be invoked asynchronously on a message-by-message basis at the destination node, depending on the requirements of the particular application.

【0040】宛先ノードのポスト済みバッファ索引表
で、ポストされたバッファのリストが維持される。ポス
ト済みバッファ索引表は、メッセージを受信した場合に
ポストされた受信バッファを記憶し、取り出す機構を提
供する。
A list of posted buffers is maintained at the destination node's posted buffer index table. The posted buffer index table provides a mechanism for storing and retrieving posted receive buffers when a message is received.

【0041】本発明をポーリング手法と組み合わせて実
施して、アプリケーションに高い柔軟性をもたせること
もできる。SIIフィールドとDIIフィールドのいず
れも設定しない場合も、宛先ノードでポーリングは使用
することができる。受信したメッセージは宛先ノードに
おいてポストされたRMDに割り当てられ、これを「ユ
ーザ・メッセージ受信待ち行列(UMRQ)」FIFO
と共に、アプリケーション・プログラムがポーリングし
て、メッセージを受信していないかどうかを判断するこ
とができる。そうすると、受信メッセージのうちの最も
早いメッセージ、すなわちFIFOの出力にあるメッセ
ージが宛先ノードで先に処理され、FIFO内のそれに
続くメッセージがその後に処理される。アダプタ・メモ
リ内の記述子のリンク・リストを実施したUMRQの例
を以下に示す。このUMRQには第1の記述子の記述子
索引が含まれ、UMRQ内の項目数のカウントも含まれ
ている。(記述子のリンク・リストは各RMD内のQ_
NEXTフィールドを使用して満たすことができ、この
フィールドにはリンク・リスト内の次のRMDのアドレ
スが入れられる。)
The present invention can be implemented in combination with a polling technique to provide a high degree of application flexibility. If neither the SII field nor the DII field is set, polling can be used at the destination node. The received message is assigned to the posted RMD at the destination node and is assigned to the "User Message Receive Queue (UMRQ)" FIFO.
At the same time, the application program can poll to determine if a message has been received. Then, the earliest of the received messages, ie, the message at the output of the FIFO, is processed first at the destination node, and subsequent messages in the FIFO are processed later. An example of a UMRQ implementing a linked list of descriptors in the adapter memory is shown below. This UMRQ contains the descriptor index of the first descriptor, and also contains a count of the number of items in the UMRQ. (The linked list of descriptors is Q_ in each RMD.
This can be filled using the NEXT field, which contains the address of the next RMD in the linked list. )

【表12】 [Table 12]

【0042】UMRQ FIFOのポーリングは、「メ
ッセージ受信待ち行列フェッチ」コマンドを使用して行
われ、そのフィールドは以下に示す通りである。
The polling of the UMRQ FIFO is performed using a "message receive queue fetch" command, the fields of which are as follows:

【表13】 [Table 13]

【0043】アダプタ・メモリ70を含む宛先ノード1
Nが図示されている図5の宛先ノード・コマンドとデ
ータ流れ図を参照すると、UMRQ FIFO 90は
RMD92(RMD1...RMD4)のシーケンスを指
すポインタP1...P4のリストを実現するものとし
て視覚化することができる。MRQFコマンド94を使
用して、着信メッセージがないかUMRQ FIFO
90をポーリングまたは監視することができる。しか
し、割込み操作の場合、PMRBコマンド96を代わり
に使用して、発信元コマンドで(メッセージ40を介し
て)「メッセージ送信コマンド」によって可能であるよ
うに、次のRMDであるRMD4内のSIIフィールド
またはDIIフィールドあるいはその両方を設定するこ
とができる。宛先または発信元開始割込みの設定は、図
5で経路98及び99で図示されている。メッセージが
着信し、それがUMRQに正常に受信されると、SII
フィールドまたはDIIフィールドの設定によって、宛
先ノード内で割込み60が行われ、宛先ノードに着信メ
ッセージの着信が通知される。図5の例のようにUMR
Q FIFO内のメッセージ40の前にメッセージがあ
る場合、アプリケーション・プログラムは待ち行列を空
にするために、反復MRQFコマンドをただちに開始す
ることができる。他の例で、UMRQ内にこの割込みメ
ッセージの前にメッセージがない場合、宛先ノード・ソ
フトウェアによって発行された最初のMRQFコマンド
によって割込みメッセージが取り出される。
Destination node 1 including adapter memory 70
4 If N refers to the destination node the command and data flow diagram of Figure 5 is shown, the pointer points to the sequence of UMRQ FIFO 90 is RMD92 (RMD 1 ... RMD 4) P1. . . It can be visualized as realizing the list of P4. Using the MRQF command 94, the UMRQ FIFO checks for incoming messages.
90 can be polled or monitored. However, if the interrupt operation, using the PMRB command 96 instead, the Source command (via message 40) so as to be the "message transmission command", SII in RMD 4 is the next RMD Field or DII field or both can be set. The setting of the destination or source start interrupt is illustrated by paths 98 and 99 in FIG. When a message arrives and is successfully received by the UMRQ, the SII
By setting the field or the DII field, an interrupt 60 is performed in the destination node, and the destination node is notified of the arrival of the incoming message. UMR as in the example of FIG.
If there is a message before message 40 in the Q FIFO, the application program can immediately initiate a repeated MRQF command to empty the queue. In another example, if there is no message before this interrupt message in the UMRQ, the first MRQF command issued by the destination node software will retrieve the interrupt message.

【0044】したがって、本発明により、標準ポーリン
グ手法、または選択的発信元または宛先開始割込み、あ
るいはその両方を使用して、メッセージ着信時にアプリ
ケーションに通知する柔軟性が得られる。これらの機能
は、コマンド、記述子、及びメッセージ・パケットの形
でシステムに与えられ、これらはすべて、システム規模
でこれらの機能をサポートするのに必要な形式に準拠し
ている。これらの機能は、特定のアプリケーションのパ
フォーマンス要件を満たすようにメッセージごとに選択
的に呼び出すことができる。
Thus, the present invention provides the flexibility of notifying an application when a message arrives using standard polling techniques and / or selective source and destination start interrupts. These functions are provided to the system in the form of commands, descriptors, and message packets, all of which conform to the format required to support these functions on a system-wide basis. These functions can be selectively invoked on a per-message basis to meet the performance requirements of a particular application.

【0045】特定のタイプの割込みをまったくディスエ
ーブルすることがシステムの要件である場合がある。図
6に、割込みをイネーブルにしたりディスエーブルした
りする回路100を図示する。これには、M個の割込み
の割込みソース110が入った割込み保留レジスタ10
2が含まれている。ハードウェアまたはソフトウェア・
プログラミング・ソース112から読取り/書込み方式
でアクセス可能なプログラム可能割込みイネーブル・マ
スク104を設けて、前述のSII及びDIIタイプの
割込みを含むシステム内のいくつかの(M個)の割込み
のうちのいずれか1つを完全にディスエーブルすること
ができる。図6に例示する回路では、割込みマスク10
4のビットと割込み保留レジスタ102内のそれに対応
するビットとのAND106をとり、その結果全体のO
Rを計算して割込み60を生成する。これは、上述のS
IIタイプ及びDIIタイプの割込み生成を完全にディ
スエーブルするための、本発明により提供されるもう一
つの割込みプログラム可能性レベルである。(割込みが
マスク104によってディスエーブルされた場合でも、
レジスタ102がポーリングされるレジスタとして機能
することも可能である。その場合、レジスタ102に対
してはより高いレベルのソフトウェアが、図5を参照し
ながら前述したポーリング技法と同様のポーリング技法
を使用して、割込み事象が発生したかどうかを判断する
ことができる。これは、ユーザレベル割込みがサポート
されていないソフトウェア・アプリケーションの場合に
特に有用であると考えられる。)
It may be a requirement of the system to completely disable certain types of interrupts. FIG. 6 illustrates a circuit 100 for enabling and disabling interrupts. This includes an interrupt pending register 10 containing the interrupt sources 110 of the M interrupts.
2 is included. Hardware or software
Providing a programmable interrupt enable mask 104 that is read / write accessible from a programming source 112 to provide any of a number (M) of interrupts in the system, including the SII and DII type interrupts described above. One can be completely disabled. In the circuit illustrated in FIG.
4 and the corresponding bit in the interrupt pending register 102 are ANDed, resulting in an overall O
Calculate R and generate interrupt 60. This is the S
Another interrupt programmability level provided by the present invention for completely disabling type II and DII type interrupt generation. (Even if the interrupt is disabled by the mask 104,
It is also possible that register 102 functions as a polled register. In that case, higher level software for register 102 may use a polling technique similar to that described above with reference to FIG. 5 to determine if an interrupt event has occurred. This may be particularly useful for software applications that do not support user-level interrupts. )

【0046】本発明は、たとえば図1の媒体22や図3
ないし図5のアダプタ・メモリ70などのコンピュータ
使用可能媒体を有する製造品(たとえば1つまたは複数
のコンピュータ・プログラム製品)に組み込むことがで
きる。この媒体の中には、たとえば、本発明の機構を提
供し、容易にするコンピュータ可読プログラム・コード
手段が実施されている。この製造品は、システムの一部
として組み込むことも別個に販売することもできる。上
記の製造品に組み込まれているか他のメモリ構成要素内
に入っているかを問わず、本発明は、前述のフォーマッ
トされたメッセージ、記述子、コマンド、よびその他の
データ構造も含み、これらも本発明の機構を容易にす
る。
The present invention can be applied to, for example, the medium 22 shown in FIG.
5 may be incorporated into an article of manufacture (eg, one or more computer program products) having a computer usable medium, such as the adapter memory 70 of FIG. Within this medium, for example, computer readable program code means for providing and facilitating the features of the present invention are implemented. This article of manufacture can be incorporated as part of the system or sold separately. The present invention, whether incorporated in the above-described article of manufacture or contained in other memory components, also includes the formatted messages, descriptors, commands, and other data structures described above, which are also included in the present invention. Facilitates the inventive mechanism.

【0047】[0047]

【0048】[0048]

【図面の簡単な説明】[Brief description of the drawings]

【図1】通信媒体によって結合された複数のプロセッサ
を有するメッセージ処理システムの例を示す図である。
FIG. 1 illustrates an example of a message processing system having a plurality of processors coupled by a communication medium.

【図2】本発明による、メッセージ発信元ノード及びメ
ッセージ宛先ノードと、メッセージの着信時の発信元及
び宛先開始割込みを示す、ハードウェア/ソフトウェア
混成図である。
FIG. 2 is a hybrid hardware / software diagram illustrating a message source node and a message destination node, and a source and destination start interrupt when a message arrives, according to the present invention.

【図3】図1及び図2に示す通信アダプタのうちの1つ
の通信アダプタのハードウェア・サブシステムの例を示
す図である。
FIG. 3 is a diagram illustrating an example of a hardware subsystem of one of the communication adapters illustrated in FIGS. 1 and 2;

【図4】割込み制御フィールドを含むヘッダ部分とデー
タ部分とを有し、図3に例示する通信アダプタのメモリ
内にあるメッセージ・パケット・データ構造の例を示す
図である。
FIG. 4 is a diagram showing an example of a message packet data structure having a header portion including an interrupt control field and a data portion, and located in a memory of the communication adapter illustrated in FIG. 3;

【図5】本発明による、着信メッセージと、メッセージ
受信待ち行列と、メッセージ処理コマンドと、発信元及
び宛先開始割込みとの関係を図示する、メッセージ宛先
ノードのコマンドとデータの流れ図である。
FIG. 5 is a command and data flow diagram of a message destination node illustrating the relationship between an incoming message, a message reception queue, a message processing command, and a source and destination start interrupt according to the present invention.

【図6】プログラム可能割込みマスクを使用した本発明
の発信元及び宛先開始割込みのイネーブルとディスエー
ブルのための回路の例を示す図である。
FIG. 6 illustrates an example of a circuit for enabling and disabling source and destination start interrupts of the present invention using a programmable interrupt mask.

【符号の説明】[Explanation of symbols]

10 マルチプロセッサ・データ処理システム 12 プロセッサ 14 通信アダプタ 16 接続 18 ノード 20 スイッチ・ネットワーク 22 記憶媒体 70 アダプタ・メモリ 72 プロセッサ・インタフェース・コントローラ 74 アダプタ・フロー制御論理回路 76 スイッチ・インタフェース論理回路 80 メッセージ・パケット 82 ヘッダ部 84 データ部 100 割込みイネーブル/ディスエーブル回路 102 割込み保留レジスタ 104 割込みマスク 10 Multiprocessor Data Processing System 12 Processor 14 Communication Adapter 16 Connection 18 Node 20 Switch Network 22 Storage Medium 70 Adapter Memory 72 Processor Interface Controller 74 Adapter Flow Control Logic 76 Switch Interface Logic 80 Message Packet 82 Header section 84 Data section 100 Interrupt enable / disable circuit 102 Interrupt pending register 104 Interrupt mask

───────────────────────────────────────────────────── フロントページの続き (72)発明者 ダグラス・ジェームズ・ジョーゼフ アメリカ合衆国06812 コネチカット州 ニュー・フェアフィールド リータ・ド ライブ 54 (72)発明者 フランシス・エイ・カンプ アメリカ合衆国05453 バーモント州エ セックス・ジャンクション メイン・ス トリート 1224 アパートメント102 (56)参考文献 特開 平4−113442(JP,A) 特開 平5−94421(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 15/177 676 G06F 13/00 353 H04M 3/42 EPAT(QUESTEL) INSPEC(DIALOG) JICSTファイル(JOIS) WPI(DIALOG)────────────────────────────────────────────────── ─── Continued on Front Page (72) Inventor Douglas James Joseph United States 06812 New Fairfield, Connecticut Rita Drive 54 (72) Inventor Francis A. Camp United States 05453 Essex Junction, Vermont Maine Street 1224 Apartment 102 (56) References JP-A-4-113442 (JP, A) JP-A-5-94421 (JP, A) (58) Fields studied (Int. Cl. 7 , DB name) G06F 15 / 177 676 G06F 13/00 353 H04M 3/42 EPAT (QUESTEL) INSPEC (DIALOG) JICST file (JOIS) WPI (DIALOG)

Claims (21)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】メッセージ処理システムにおいて複数のメ
ッセージのうちの個々のメッセージの着信をメッセージ
ごとに宛先ノードに通知する方法であって、 前記複数のメッセージのうちの第1のメッセージについ
て、 前記第1のメッセージの送信元である発信元ノードにお
いて当該第1のメッセージ内に発信元開始割込み(SI
I)フィールドを設定するステップと、 前記宛先ノードにおける前記第1のメッセージの着信時
に、前記設定済みSIIフィールドに応答して、前記宛
先ノードにおいて第1の割込みを生成するステップと、 前記複数のメッセージのうちの第2のメッセージについ
て、 前記宛先ノードにおいて宛先開始割込み(DII)フィ
ールドを事前設定するステップと、 前記宛先ノードにおける前記第2のメッセージの着信時
に、前記事前設定済みDIIフィールドに応答して、前
記宛先ノードにおいて第2の割込みを生成するステップ
とを含む、前記方法。
1. A method for notifying a destination node of the arrival of individual messages of a plurality of messages in a message processing system for each message, wherein the first message of the plurality of messages is the first message. In the source node that is the source of the message, the source start interrupt (SI
I) setting a field; generating a first interrupt at the destination node in response to the configured SII field when the first message arrives at the destination node; Pre-setting a destination start interrupt (DII) field at said destination node for said second message, responsive to said pre-set DII field upon arrival of said second message at said destination node. And generating a second interrupt at the destination node.
【請求項2】前記第1及び第2のメッセージを除く前記
複数のメッセージの一部について、前記宛先ノードにお
いてメッセージ受信待ち行列をポーリングして前記メッ
セージの一部のいずれかが前記宛先ノードに着信してい
るかどうかを判断するステップと、 前記宛先ノードに前記メッセージの一部の少なくとも1
つのメッセージが着信していることが前記ポーリングか
ら判断されると、前記少なくとも1つのメッセージを処
理するステップとをさらに含む、請求項1記載の方法。
2. A message receiving queue is polled at the destination node for a part of the plurality of messages except the first and second messages, and one of the parts of the message arrives at the destination node. Determining at least one of a portion of the message to the destination node.
Processing the at least one message if it is determined from the polling that two messages are arriving.
【請求項3】プログラム可能な割込みイネーブル・マス
クを使用して、前記宛先ノードにおける前記第1の割込
みの生成または前記第2の割込みの生成をイネーブルす
るステップをさらに含む、請求項2記載の方法。
3. The method of claim 2, further comprising using a programmable interrupt enable mask to enable generation of the first interrupt or generation of the second interrupt at the destination node. .
【請求項4】前記宛先ノードにおいて前記第2のメッセ
ージが着信すべきバッファを割り振るステップをさらに
含み、バッファを割り振る当該ステップの間に、DII
フィールドを事前設定する前記ステップが遂行される、
請求項1記載の方法。
4. The method according to claim 1, further comprising the step of allocating a buffer at which the second message is to arrive at the destination node, during which the DII is allocated.
The steps of pre-setting the fields are performed;
The method of claim 1.
【請求項5】バッファを割り振る前記ステップが、 前記宛先ノードにおいて、前記DIIフィールドを含む
前記第2のメッセージ用の受信制御情報を保持するフォ
ーマット済み受信メッセージ記述子(RMD)を作成す
るステップを含む、請求項4記載の方法。
5. The step of allocating a buffer includes: at the destination node, creating a formatted receive message descriptor (RMD) holding receive control information for the second message including the DII field. The method of claim 4.
【請求項6】前記発信元ノードから前記宛先ノードに前
記第1のメッセージを送信するステップをさらに含み、
第1のメッセージを送信する当該ステップの間に、SI
Iフィールドを設定する前記ステップが遂行される、請
求項5記載の方法。
6. The method of claim 1, further comprising transmitting the first message from the source node to the destination node,
During the step of sending the first message, the SI
The method of claim 5, wherein said step of setting an I field is performed.
【請求項7】第1のメッセージを送信する前記ステップ
が、 前記発信元ノードにおいて、前記SIIフィールドを含
む前記第1のメッセージ用の送信制御情報を保持するフ
ォーマット済み送信メッセージ記述子(SMD)を作成
するステップを含む、請求項6記載の方法。
7. The method according to claim 7, wherein the step of transmitting a first message comprises: at the source node, a formatted transmission message descriptor (SMD) holding transmission control information for the first message including the SII field. The method of claim 6, comprising the step of creating.
【請求項8】前記第1のメッセージ、前記第2のメッセ
ージ、前記SMD、及び前記RMDの各々が、前記SI
Iフィールドと前記DIIフィールドを含むフォーマッ
ト済みヘッダ・データ構造を含み、前記メッセージ処理
システムにおける発信元開始割込みと宛先開始割込みと
をサポートする、請求項7記載の方法。
8. The method according to claim 1, wherein each of the first message, the second message, the SMD, and the RMD is the SI message.
The method of claim 7, comprising a formatted header data structure including an I field and the DII field, and supporting source start and destination start interrupts in the message processing system.
【請求項9】前記SIIフィールドと前記DIIフィー
ルドが前記フォーマット済みヘッダ・データ構造内の同
じフィールドを含む、請求項8記載の方法。
9. The method of claim 8, wherein said SII field and said DII field include the same field in said formatted header data structure.
【請求項10】前記SIIフィールドと前記DIIフィ
ールドが前記フォーマット済みヘッダ・データ構造内の
異なるフィールドを含む、請求項8記載の方法。
10. The method of claim 8, wherein said SII field and said DII field include different fields in said formatted header data structure.
【請求項11】メッセージ処理システムにおいて複数の
メッセージのうちの個々のメッセージの着信をメッセー
ジごとに宛先ノードに通知するシステムであって、 前記複数のメッセージのうちの第1のメッセージについ
て、 前記第1のメッセージの送信元である発信元ノードにお
いて当該第1のメッセージ内に発信元開始割込み(SI
I)フィールドを設定する手段と、 前記宛先ノードにおける前記第1のメッセージの着信時
に、前記設定済みSIIフィールドに応答して、前記宛
先ノードにおいて第1の割込みを生成する手段と、 前記複数のメッセージのうちの第2のメッセージについ
て、 前記宛先ノードにおいて宛先開始割込み(DII)フィ
ールドを事前設定する手段と、 前記宛先ノードにおける前記第2のメッセージの着信時
に、前記事前設定済みDIIフィールドに応答して、前
記宛先ノードにおいて第2の割込みを生成する手段とを
含む、前記システム。
11. A system for notifying a destination node of the arrival of each of a plurality of messages in a message processing system for each message, wherein the first message of the plurality of messages is the first message. In the source node that is the source of the message, the source start interrupt (SI
I) means for setting a field; means for generating a first interrupt at the destination node in response to the set SII field when the first message arrives at the destination node; Means for presetting a destination start interrupt (DII) field at said destination node; and responding to said preset DII field upon arrival of said second message at said destination node. Means for generating a second interrupt at the destination node.
【請求項12】前記第1及び第2のメッセージを除く前
記複数のメッセージの一部について、前記宛先ノードに
おいてメッセージ受信待ち行列をポーリングして前記メ
ッセージの一部のいずれかが前記宛先ノードに着信して
いるかどうかを判断する手段と、 前記宛先ノードに前記メッセージの一部の少なくとも1
つのメッセージが着信していることが前記ポーリングか
ら判断されると、前記少なくとも1つのメッセージを処
理する手段とをさらに含む、請求項11記載のシステ
ム。
12. A message receiving queue is polled at the destination node for a part of the plurality of messages except for the first and second messages, and one of the messages arrives at the destination node. Means for determining whether or not at least one of a portion of the message is sent to the destination node.
One of the messages that are coming is determined from the polling, further comprising a means for processing at least one message, system of claim 11.
【請求項13】プログラム可能な割込みイネーブル・マ
スクを使用して、前記宛先ノードにおける前記第1の割
込みの生成または前記第2の割込みの生成をイネーブル
する手段をさらに含む、請求項12記載のシステム。
13. The system of claim 12 , further comprising: means for using a programmable interrupt enable mask to enable the generation of the first interrupt or the generation of the second interrupt at the destination node. .
【請求項14】DIIフィールドを事前設定する前記手
段が、 前記宛先ノードにおいて前記第2のメッセージが着信す
べきバッファを割り振る手段をさらに含み、バッファを
割り振る当該手段内に、DIIフィールドを事前設定す
る前記手段が含まれる、請求項11記載のシステム。
14. The means for presetting a DII field further comprises: means for allocating a buffer at which the second message should arrive at the destination node, wherein the DII field is preset in the means for allocating a buffer. The system of claim 11 , wherein said means is included.
【請求項15】バッファを割り振る前記手段が、 前記宛先ノードにおいて、前記DIIフィールドを含む
前記第2のメッセージ用の受信制御情報を保持するフォ
ーマット済み受信メッセージ記述子(RMD)を作成す
る手段を含む、請求項14記載のシステム。
15. The means for allocating a buffer includes: means for creating, at the destination node, a formatted received message descriptor (RMD) holding reception control information for the second message including the DII field. 15. The system of claim 14 , wherein:
【請求項16】前記発信元ノードから前記宛先ノードに
前記第1のメッセージを送信する手段をさらに含み、第
1のメッセージを送信する当該手段内に、SIIフィー
ルドを設定する前記手段が含まれる、請求項15記載の
システム。
16. The system further comprising: means for transmitting the first message from the source node to the destination node, wherein the means for transmitting the first message includes the means for setting an SII field. The system according to claim 15 .
【請求項17】第1のメッセージを送信する前記手段
が、 前記発信元ノードにおいて、前記SIIフィールドを含
む前記第1のメッセージ用の送信制御情報を保持するフ
ォーマット済み送信メッセージ記述子(SMD)を作成
する手段を含む、請求項16記載のシステム。
17. The method of claim 1, wherein the means for transmitting a first message comprises: at the source node, a formatted transmission message descriptor (SMD) holding transmission control information for the first message including the SII field. 17. The system of claim 16 , including means for creating.
【請求項18】前記第1のメッセージ、前記第2のメッ
セージ、前記SMD、及び前記RMDの各々が、前記S
IIフィールドと前記DIIフィールドを含むフォーマ
ット済みヘッダ・データ構造を含み、前記メッセージ処
理システムにおける発信元開始割込みと宛先開始割込み
とをサポートする、請求項17記載のシステム。
18. The method according to claim 18, wherein each of the first message, the second message, the SMD, and the RMD is
20. The system of claim 17 , including a formatted header data structure including an II field and the DII field to support source start interrupts and destination start interrupts in the message processing system.
【請求項19】前記SIIフィールドと前記DIIフィ
ールドが前記フォーマット済みヘッダ・データ構造内の
同じフィールドを含む、請求項18記載のシステム。
19. including the same field of the SII field and the DII field is the formatted header data structure, the system of claim 18, wherein.
【請求項20】前記SIIフィールドと前記DIIフィ
ールドが前記フォーマット済みヘッダ・データ構造内の
異なるフィールドを含む、請求項18記載のシステム。
20. The system of claim 18 , wherein said SII field and said DII field include different fields in said formatted header data structure.
【請求項21】前記メッセージ処理システムがマルチプ
ロセッサ・データ処理システムから成り、前記発信元ノ
ードと前記宛先ノードが前記マルチプロセッサ・データ
処理システム内のそれぞれの処理ノードから成る、請求
11記載のシステム。
21. The message processing system consists multiprocessor data processing system, said source node and the destination node is comprised of each of the processing nodes of the multiprocessor data processing system of claim 11, wherein the system .
JP10088626A 1997-04-08 1998-04-01 Message arrival notification method and system Expired - Fee Related JP3023339B2 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US08/824,697 US6098104A (en) 1997-04-08 1997-04-08 Source and destination initiated interrupts for message arrival notification, and related data structures
US08/826888 1997-04-08
US08/824697 1997-04-08
US08/835,434 US6098105A (en) 1997-04-08 1997-04-08 Source and destination initiated interrupt method for message arrival notification
US08/826,888 US6105071A (en) 1997-04-08 1997-04-08 Source and destination initiated interrupt system for message arrival notification
US08/835434 1997-04-08

Publications (2)

Publication Number Publication Date
JPH10301912A JPH10301912A (en) 1998-11-13
JP3023339B2 true JP3023339B2 (en) 2000-03-21

Family

ID=27420167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10088626A Expired - Fee Related JP3023339B2 (en) 1997-04-08 1998-04-01 Message arrival notification method and system

Country Status (1)

Country Link
JP (1) JP3023339B2 (en)

Also Published As

Publication number Publication date
JPH10301912A (en) 1998-11-13

Similar Documents

Publication Publication Date Title
JP3606541B2 (en) Method for handling early arrival messages in a multi-node asynchronous data communication system
JP4624110B2 (en) Usage of direct memory access to perform database operations between two or more machines
KR0170500B1 (en) Multiprocessor system
US5386512A (en) System for deriving and testing mutual capability set after receiving updated capability from other processors and before requesting service information
US5325492A (en) System for asynchronously delivering self-describing control elements with a pipe interface having distributed, shared memory
EP0753817B1 (en) Method and apparatus for data communication
EP1784735B1 (en) Apparatus and method for supporting memory management in an offload of network protocol processing
US5634015A (en) Generic high bandwidth adapter providing data communications between diverse communication networks and computer system
EP0257348A2 (en) Multiprocessor interrupt rerouting mechanism
JPH06309252A (en) Interconnection interface
US5291480A (en) Synchronous node controllers for switching network
US5293377A (en) Network control information without reserved bandwidth
JP2507230B2 (en) Interface device and method and communication adapter
KR20000006114A (en) Method and apparatus for providing a network interface
JPH065524B2 (en) Storage device management method
KR100298961B1 (en) Source and destination initiated interrupt system for message arrival notification
US5878226A (en) System for processing early arrival messages within a multinode asynchronous data communications system
KR920004771B1 (en) Bus flow control mechanism
US6052387A (en) Enhanced interface for an asynchronous transfer mode segmentation controller
US20020087700A1 (en) Method for managing socket in mobile communication system
US20020009098A1 (en) Communication control method and device
US6098105A (en) Source and destination initiated interrupt method for message arrival notification
JP3023339B2 (en) Message arrival notification method and system
US6098104A (en) Source and destination initiated interrupts for message arrival notification, and related data structures
JP2001325212A (en) Method and device for transmitting data block from source processor to destination processor in multiprocessor system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees