JPH04345245A - Communication processing unit - Google Patents
Communication processing unitInfo
- Publication number
- JPH04345245A JPH04345245A JP3118291A JP11829191A JPH04345245A JP H04345245 A JPH04345245 A JP H04345245A JP 3118291 A JP3118291 A JP 3118291A JP 11829191 A JP11829191 A JP 11829191A JP H04345245 A JPH04345245 A JP H04345245A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- packet
- sender
- receiver
- cpu
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 393
- 238000004891 communication Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 claims description 50
- 238000012806 monitoring device Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 36
- 238000013500 data storage Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 abstract description 5
- 230000015654 memory Effects 0.000 description 52
- 238000004364 calculation method Methods 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 8
- 239000013256 coordination polymer Substances 0.000 description 6
- 230000007423 decrease Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 241001246312 Otis Species 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
【0001】0001
【産業上の利用分野】本発明は、複数CPUを用いて通
信処理を並列に行なう通信処理装置に関するものである
。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a communication processing device that performs communication processing in parallel using a plurality of CPUs.
【0002】0002
【従来の技術】図9は従来の複数CPUを使用する通信
処理装置の構成例である。図9において受信処理の場合
は、パケットはネットワークインタフェース901から
内部バス911を介して共有メモリ921に格納される
。N個のCPU931〜93Nは、各CPUに割り当て
られている処理を、それぞれの持つローカルメモリ94
1〜94Nを使用して実行し、共有メモリ921内のパ
ケットを処理して元の形式にデータを復元する。復元さ
れたデータはホストインタフェース951を介してホス
トコンピュータに渡される。2. Description of the Related Art FIG. 9 shows an example of the configuration of a conventional communication processing device using a plurality of CPUs. In the case of reception processing in FIG. 9, the packet is stored in the shared memory 921 from the network interface 901 via the internal bus 911. The N CPUs 931 to 93N perform the processing assigned to each CPU in their own local memory 94.
1 to 94N to process the packets in shared memory 921 and restore the data to its original format. The restored data is passed to the host computer via host interface 951.
【0003】送信処理の場合は、ホストインタフェース
951を介して、ホストコンピュータから送信するデー
タが共有メモリ921に格納される。N個のCPU93
1〜93Nは、各CPUに割り当てられている処理を、
それぞれの持つローカルメモリ941〜94Nを使用し
て実行し、共有メモリ921内のデータを処理してパケ
ットを生成する。生成されたパケットはネットワークフ
ェース901を介して網上に送出される。In the case of transmission processing, data to be transmitted from the host computer via the host interface 951 is stored in the shared memory 921 . N CPU93
1 to 93N indicate the processing assigned to each CPU,
It is executed using the respective local memories 941 to 94N, and processes data in the shared memory 921 to generate packets. The generated packet is sent out onto the network via network interface 901.
【0004】このような構成を持つ通信処理装置では各
CPUが協調して共有メモリ921にアクセスしつつ、
各CPUに割り当てられた処理を実行して通信処理を行
うことによって、単一CPUで処理する場合よりも1C
PUあたりの処理負荷を軽減することによって高速な通
信処理を実現することを目的としている。[0004] In a communication processing device having such a configuration, each CPU cooperatively accesses the shared memory 921 while
By executing the processing assigned to each CPU and performing communication processing, it is possible to
The purpose is to realize high-speed communication processing by reducing the processing load per PU.
【0005】[0005]
【発明が解決しようとする課題】しかし並列処理の一般
的な問題として各CPUの処理の分担、いわゆる処理の
粒度の問題がある。例えば2つのCPUを使用して並列
処理を行なった場合、一方のCPUに非常に負担のかか
る処理をさせて、もう一方のCPUに負担の非常に軽い
処理をさせていたのでは、装置全体の処理能力は大きな
負荷のかかっているCPUの処理能力に支配されてしま
い、結果的に単一CPUで処理する場合と同じ程度の処
理能力しか出せない。のみならず、共有メモリのアクセ
ス権の調停などのオーバーヘッドによって、むしろ単一
CPU処理よりも低い能力しか出ないような場合も起こ
りうる。However, a general problem with parallel processing is the problem of the division of processing among each CPU, the so-called problem of processing granularity. For example, if two CPUs are used to perform parallel processing, one CPU may be tasked with processing that is extremely burdensome, and the other CPU may be tasked with processing that is very light. The processing power is dominated by the processing power of the heavily loaded CPU, and as a result, the processing power is only about the same as when processing with a single CPU. Moreover, due to overheads such as arbitration of shared memory access rights, there may be cases where the performance is lower than that of a single CPU.
【0006】従って、並列処理を行なわせる場合にはで
きるだけ各CPUに均一に処理負担を割り当て、一つあ
るいは一部のCPUだけに極端に負荷がかかっていたり
、あるいは一つあるいは一部のCPUの負荷が極端に軽
いような状態が発生しないようにする事が肝要である。Therefore, when performing parallel processing, it is necessary to allocate the processing load as evenly as possible to each CPU, and to avoid cases where only one or some of the CPUs are extremely loaded, or where one or some of the CPUs are It is important to prevent a situation where the load is extremely light from occurring.
【0007】一方、一連の通信処理において、各処理段
階の処理量は各時点における通信特有の種々の要因によ
って変化する。On the other hand, in a series of communication processing, the amount of processing at each processing stage changes depending on various factors specific to communication at each point in time.
【0008】例えば一般にパケットのヘッダやトレーラ
の長さはある程度固定的な長さでありそう極端に長さが
変化しないのに対し、パケットのデータボディ部は全く
データが無い場合から数キロバイト〜数メガバイトまで
極端に変化する。従ってパケットヘッダだけに対する処
理(アドレス処理など)はどんな場合でもほぼ一定の処
理量であるのに対し、パケット全体に渡る処理(チェッ
クサム処理など)の処理量はパケット長に応じて非常に
大きく変化する。[0008] For example, in general, the length of the header or trailer of a packet is a fixed length to some extent and does not change drastically, whereas the data body of a packet ranges from several kilobytes to several kilobytes with no data at all. Extremely variable up to megabytes. Therefore, processing for only the packet header (address processing, etc.) requires a nearly constant amount of processing in any case, whereas processing for the entire packet (checksum processing, etc.) varies greatly depending on the packet length. do.
【0009】また、通信の階層構造を考慮した場合、O
SIのワイングラスモデルなどにも見られるように、通
信の中間層(ネットワーク層〜セション層)は比較的少
ない種類のプロトコルが使用されているのに対し、上位
のアプリケーション層はごく簡単なものから非常に複雑
なものまで多種多様のプロトコルが存在する。このよう
な多階層プロトコルの処理を並列処理する場合、多くは
各階層ごとに並列化を行なっているが、これでは中間層
の処理の負担がほぼ一定なのに対し、使用するアプリケ
ーションによって上位層処理の処理量が大幅に変化する
。従って、例えば中間層処理に1CPU、上位層処理に
1CPUを割り当てるような2CPUによる並列処理を
行なうと、簡単なアプリケーション実行時の装置全体の
処理能力は中間層を処理するCPUの処理能力に、また
逆に複雑なアプリケーション実行時の装置全体の処理能
力は上位層を処理するCPUの処理能力に支配されるこ
とが予想される。[0009] Furthermore, when considering the hierarchical structure of communication, O
As can be seen in SI's wine glass model, relatively few types of protocols are used in the communication middle layer (network layer to session layer), whereas the upper application layer uses a wide variety of protocols, ranging from very simple ones. A wide variety of protocols exist, some of which are extremely complex. When parallelizing the processing of such a multi-layer protocol, parallelization is often performed for each layer, but in this case, the processing load on the middle layer is almost constant, whereas the processing load on the upper layer varies depending on the application used. The amount of processing changes significantly. Therefore, if you perform parallel processing using two CPUs, for example allocating one CPU to middle layer processing and one CPU to upper layer processing, the processing capacity of the entire device when running a simple application will be equal to the processing capacity of the CPU processing the middle layer, and On the contrary, it is expected that the processing power of the entire device when executing a complex application is dominated by the processing power of the CPU processing the upper layer.
【0010】このように、通信処理をいくつかのCPU
で並列に処理する場合、各CPUの処理量を固定的に均
一にすることは非常に困難であり、図9に示したような
予め各CPUの処理分担が固定的に決められている並列
処理構成では並列処理による効果が十分に期待できない
。[0010] In this way, communication processing is performed by several CPUs.
When processing in parallel, it is very difficult to make the processing amount of each CPU fixed and uniform, and parallel processing, in which the processing share of each CPU is fixed in advance, as shown in Figure 9, is very difficult. The configuration does not allow for sufficient effects from parallel processing.
【0011】本発明はこのような課題を鑑み、各時点に
おける通信の状況に応じて、各CPUの処理負担を常に
均一にする機能を提供することを目的とする。SUMMARY OF THE INVENTION In view of the above problems, it is an object of the present invention to provide a function that always equalizes the processing load of each CPU depending on the communication situation at each point in time.
【0012】0012
【課題を解決するための手段】上記の目的を達成するた
めに、本発明の通信処理装置においては、第1の方法と
して、複数のCPUによってパケットを並列に処理する
通信処理装置において、処理しているパケットの長さを
調べて求めるパケット長監視装置と、前記パケット長監
視装置から出力されるパケット長データをもとにその時
点までに入来した全ての、あるいは一部のパケットのパ
ケット長統計をとるパケット長統計処理装置と、前記パ
ケット長統計処理装置が出力するパケット長統計をもと
にパケット処理の分担範囲を各CPU毎に指示するパケ
ット処理分担指示装置とを有する通信処理装置を構成す
る。[Means for Solving the Problems] In order to achieve the above object, in the communication processing device of the present invention, as a first method, a plurality of CPUs process packets in parallel. A packet length monitoring device determines the length of the packets that have been received by checking the length of the packet, and calculates the packet length of all or some of the packets that have come in up to that point based on the packet length data output from the packet length monitoring device. A communication processing device comprising a packet length statistics processing device for taking statistics, and a packet processing assignment instruction device for instructing each CPU to assign a range of packet processing based on the packet length statistics outputted by the packet length statistics processing device. Configure.
【0013】第2の方法として、複数のCPUによって
パケットを並列に処理する通信処理装置において、処理
するパケットのプロトコル種別を監視するプロトコル種
別監視装置と、前記プロトコル種別監視装置が出力する
プロトコル種別データをもとにその時点までに入来した
全ての、あるいは一部のパケットのプロトコルの種別の
統計をとるプロトコル種別統計処理装置と、前記プロト
コル種別統計処理装置が出力するプロトコル種別統計を
もとにパケット処理の分担範囲を各CPU毎に指示する
パケット処理分担指示装置とを有する通信処理装置を構
成する。As a second method, in a communication processing device that processes packets in parallel using a plurality of CPUs, a protocol type monitoring device that monitors the protocol type of the packet to be processed, and protocol type data outputted by the protocol type monitoring device. A protocol type statistics processing device that calculates statistics on the protocol types of all or some of the packets that have arrived up to that point based on the protocol type statistics processing device; A communication processing device is configured that includes a packet processing assignment instructing device for instructing each CPU to assign a range of packet processing.
【0014】第3の方法として、複数のCPUによって
パケットを並列に処理する通信処理装置において、処理
するパケットの発信者および受信者を調べて求める発受
信者監視装置と、前記発受信者監視装置が出力する発信
者データおよび受信者データをもとにその時点までに処
理した全ての、あるいは一部のパケットの発信者および
受信者の統計をとる発受信者統計処理装置と、前記発受
信者統計処理装置が出力する発受信者統計データをもと
にパケット処理の分担範囲を各CPU毎に指示するパケ
ット処理分担指示装置とを有する通信処理装置を構成す
る。As a third method, in a communication processing device that processes packets in parallel by a plurality of CPUs, a sender/receiver monitoring device that checks and determines the sender and receiver of a packet to be processed, and the sender/receiver monitoring device. a sender/receiver statistics processing device that calculates statistics on senders and receivers of all or some of the packets processed up to that point based on sender data and receiver data output by the sender/receiver; A communication processing device is configured that includes a packet processing assignment instruction device that instructs each CPU to assign a range of packet processing based on sender/receiver statistical data outputted by the statistical processing device.
【0015】第4の方法として、複数のCPUによって
パケットを並列に処理する通信処理装置において、処理
するパケットの発信者および受信者を調べて求める発受
信者監視装置と、各発受信者間で使用される通信プロト
コル種別を監視するプロトコル種別監視装置と、前記発
受信者監視装置が出力する発信者データおよび受信者デ
ータ、ならびに前記プロトコル種別監視装置が出力する
各発受信者間で使用されているプロトコル種別情報とを
もとに、その時点までに処理した全ての、あるいは一部
のパケットのパケット種別と該パケットの発信者および
受信者の統計をとる発受信者間プロトコル種別統計処理
装置と、前記発受信者間プロトコル種別統計処理装置が
出力する発受信者間プロトコル種別統計データを蓄積す
る発受信者間プロトコル種別統計データ蓄積装置と、前
記発受信者間プロトコル種別統計データ蓄積装置に蓄積
されたデータをもとに特定の発受信者間ではどのプロト
コルが次回の通信で利用されるかを推定する利用プロト
コル推定装置と、前記利用プロトコル推定装置の推定に
基づいてパケット処理の分担範囲を各CPU毎に指示す
るパケット処理分担指示装置とを有する通信処理装置を
構成する。[0015] As a fourth method, in a communication processing device that processes packets in parallel using a plurality of CPUs, a sender/receiver monitoring device that checks and determines the sender and receiver of the packet to be processed, and a A protocol type monitoring device that monitors the type of communication protocol used, sender data and recipient data output by the sender/receiver monitoring device, and data used between each sender/receiver output by the protocol type monitoring device. a sender-receiver protocol type statistics processing device that calculates statistics on the packet types of all or some of the packets processed up to that point and the sender and receiver of the packets based on the protocol type information in the packet; , a sender-receiver protocol type statistical data storage device for accumulating sender-receiver protocol type statistical data outputted by the sender-receiver protocol type statistical data storage device; a used protocol estimating device that estimates which protocol will be used in the next communication between a specific sender and receiver based on the received data; and a used protocol estimating device that estimates the range of packet processing to be shared based on the estimation of the used protocol estimating device. A communication processing device is configured that includes a packet processing allocation instruction device that instructs each CPU.
【0016】[0016]
【作用】第1の方法により、データボディ部のデータ量
の多いパケットを多く処理している状況なら、チェック
サム計算などのパケットに含まれるデータ全体に対する
処理に多くのCPUを割当てるようにし、逆にデータボ
ディ部のデータ量の少ないパケットを多く処理している
状況ならパケットヘッダおよびパケットトレーラに対す
る処理に多くのCPUを割り当てるようにして、受信す
るパケットのパケット長の状況に応じて各CPUの処理
負担を均一にすることによって、パケット処理の並列化
による処理の高速化などの長所を効果的に引き出すこと
ができるようになる。[Effect] With the first method, if a large number of packets with a large amount of data in the data body are being processed, a large number of CPUs will be allocated to processing the entire data included in the packet, such as checksum calculation, and vice versa. If you are processing many packets with a small amount of data in the data body part, allocate many CPUs to processing the packet header and packet trailer, and adjust the processing of each CPU according to the packet length of the received packet. By making the load uniform, it becomes possible to effectively take advantage of advantages such as faster processing due to parallelization of packet processing.
【0017】第2の方法により、処理している各種・各
層のプロトコルの内、あるプロトコルの処理が非常に多
いような状況では、そのプロトコルの処理に多くのCP
Uを割り当てるようにすることによってパケット処理の
並列化による処理の高速化などの長所を効果的に引き出
すことができるようになる。According to the second method, in a situation where there is a large number of processes for a certain protocol among the various protocols and layers being processed, many CPUs are required to process that protocol.
By allocating U, it becomes possible to effectively take advantage of advantages such as increased processing speed due to parallelization of packet processing.
【0018】また、処理数は少なくても処理が複雑であ
るために1回の処理量が非常に大量なプロトコルが処理
されているような状況では、そのプロトコルの処理に多
くのCPUを割り当てるようにすることによってパケッ
ト処理の並列化による処理の高速化などの長所を効果的
に引き出すことができるようになる。[0018] Furthermore, in a situation where a protocol is being processed that requires a very large amount of processing at one time due to the complexity of the processing even though the number of processing is small, it is necessary to allocate a large number of CPUs to the processing of that protocol. By doing so, it becomes possible to effectively take advantage of advantages such as faster processing due to parallelization of packet processing.
【0019】第3の方法により、ある発受信者間の通信
処理量が非常に多い状況では、その発受信者間の通信処
理の各CPUでの負荷を均一化するようにCPUを割り
当てることによってパケット処理の並列化による処理の
高速化などの長所を効果的に引き出すことができるよう
になる。According to the third method, in a situation where the amount of communication processing between a certain sender and receiver is extremely large, by allocating CPUs so as to equalize the load on each CPU for communication processing between the sender and receiver. It becomes possible to effectively take advantage of advantages such as faster processing due to parallelization of packet processing.
【0020】第4の方法により、ある発受信者間で通信
が開始されようとしたとき、過去に発受信者間プロトコ
ル種別統計データ蓄積装置に蓄積されたその発受信者間
ではどのプロトコルを使用した通信が多くなされている
かの統計情報から、あらかじめ今から開始される通信で
利用される通信プロトコルを予測して各CPUの処理分
担を速やかにその通信の高速化に適した状態にすること
ができる。[0020] According to the fourth method, when communication is about to start between a certain sender and receiver, which protocol is used between the sender and receiver stored in the past in the protocol type statistical data storage device between the sender and receiver. It is possible to predict in advance the communication protocol that will be used for communication that is about to start based on statistical information on how many communications are being performed, and quickly change the processing division of each CPU to a state suitable for speeding up the communication. can.
【0021】[0021]
【実施例】図1は本発明の第1の実施例における通信処
理装置の構成図を示すものである。図1において通信処
理装置はネットワークインタフェース101、内部バス
111、共有メモリ121、3個のCPU131〜13
3、各CPUが使用するローカルメモリ141〜143
、ホストインタフェース151、パケット長監視装置1
61、パケット長統計処理装置171、およびパケット
処理分担指示装置181とで構成されている。DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows a block diagram of a communication processing device according to a first embodiment of the present invention. In FIG. 1, the communication processing device includes a network interface 101, an internal bus 111, a shared memory 121, and three CPUs 131 to 13.
3. Local memory 141 to 143 used by each CPU
, host interface 151, packet length monitoring device 1
61, a packet length statistical processing device 171, and a packet processing assignment instruction device 181.
【0022】ここではネットワーク層とトランスポート
層の代表的なプロトコルであるTCP/IPを処理する
場合について説明する。[0022] Here, a case will be described in which TCP/IP, which is a typical protocol for the network layer and transport layer, is processed.
【0023】TCP/IPプロトコルの受信処理の内容
は、大きく分けて、(1)チェックサム計算、(2)発
受信アドレスの確認、(3)データの再構成、(4)フ
ロー制御、(5)タイマ処理、(6)誤り回復処理、に
分割できる。[0023] The contents of the TCP/IP protocol reception process can be broadly divided into (1) checksum calculation, (2) confirmation of sending and receiving addresses, (3) data reconfiguration, (4) flow control, and (5) ) timer processing, and (6) error recovery processing.
【0024】また、同じくTCP/IPプロトコルの送
信処理の内容は、大きく分けて、(1)チェックサム計
算、(2)発受信アドレスの確認、(3’)データの分
割、(4)フロー制御、(5)タイマ処理、(6)誤り
回復処理、に分割できる。[0024] Similarly, the contents of the TCP/IP protocol transmission process are broadly divided into (1) checksum calculation, (2) confirmation of sending and receiving addresses, (3') data division, and (4) flow control. , (5) timer processing, and (6) error recovery processing.
【0025】この内、(1)のチェックサム計算はパケ
ット内の全データに対して処理を必要とするものであり
、(2)、(3)、(3’)、(4)の処理はパケット
ヘッダおよびトレーラだけに対して処理が行なわれる。
また(5)と(6)はパケットそのものに対する処理で
はなく、パケットの到着状況などの周辺情報に対する処
理である。Among these, the checksum calculation in (1) requires processing for all data in the packet, and the processing in (2), (3), (3'), and (4) is Processing is performed only on packet headers and trailers. Further, (5) and (6) are not processes for the packet itself, but processes for peripheral information such as the arrival status of the packet.
【0026】まず受信処理について説明する。当初の設
定では、CPU131に(1)のチェックサム処理が、
CPU132に(2)発受信アドレスの確認、(3)デ
ータの再構成、(4)フロー制御が、またCPU133
には(5)タイマ処理、(6)誤り回復処理が割り当て
られていたものとする。受信時にはネットワークインタ
フェース101から受信パケットが内部バス111を介
して次々に共有メモリ121に格納される。CPU13
1〜133はローカルメモリ141〜143を使用して
、それぞれに予め割り当てられている処理を共有メモリ
内のパケットに対して実行する。First, reception processing will be explained. In the initial settings, the CPU 131 performs checksum processing (1).
The CPU 132 performs (2) confirmation of sending and receiving addresses, (3) data reconfiguration, and (4) flow control, and the CPU 133
It is assumed that (5) timer processing and (6) error recovery processing are assigned to. During reception, packets received from the network interface 101 are stored one after another in the shared memory 121 via the internal bus 111. CPU13
1 to 133 use local memories 141 to 143 to execute processes assigned to each in advance on packets in the shared memory.
【0027】この間パケット長監視装置161はCPU
131〜133が処理中のパケットの長さをチェックす
る。これは単純にパケットのバイト数をカウントしても
よいし、IPヘッダを解析してその中のパケット長情報
を取り出してもよい。巨大なパケットの場合には前者の
方法では処理時間がかかるので後者の方法を取る方が一
般には良いが、網の信頼性が不十分で誤りが多く発生す
る場合は後者の方法では間違ったパケット長を得てしま
う場合があるので、網の信頼性とのかねあいでいずれの
方法を採るかを決定する必要がある。During this time, the packet length monitoring device 161
131 to 133 check the length of the packet being processed. This may be done by simply counting the number of bytes in the packet, or by analyzing the IP header and extracting the packet length information therein. In the case of large packets, the former method requires processing time, so it is generally better to use the latter method, but if the network is unreliable and many errors occur, the latter method may result in incorrect packets. Therefore, it is necessary to decide which method to use, taking into consideration the reliability of the network.
【0028】パケット長監視装置161は、求めたパケ
ット長をパケット長統計処理装置171に渡す。パケッ
ト長統計処理装置171はパケット長監視装置161か
ら渡されるパケット長データの統計をとり、現在どのよ
うな長さのパケットが多く受信されているかを観測する
。この観測結果をパケット処理分担指示装置181に通
知する。The packet length monitoring device 161 passes the determined packet length to the packet length statistical processing device 171. The packet length statistics processing device 171 takes statistics on the packet length data passed from the packet length monitoring device 161, and observes what length of packets are currently being received. This observation result is notified to the packet processing assignment instruction device 181.
【0029】パケット処理分担指示装置181はパケッ
ト長統計処理装置171から通知される現在の受信パケ
ットのパケット長の傾向の情報をもとに、必要ならば各
CPUの処理分担を変更する。The packet processing assignment instructing device 181 changes the processing assignment of each CPU, if necessary, based on the information on the trend of the packet length of the current received packets notified from the packet length statistical processing device 171.
【0030】例えば、現在データを少ししか含まない、
短いパケットを多く受信している状態にあるという結果
をパケット長統計処理装置171から得たとする。この
場合、チェックサム計算の処理量が非常に少なくなるの
で、さきに述べた本実施例の当初のCPUの処理割当て
ではCPU131の処理量が少なくなり、他の2つのC
PUによるパケット処理が完了するまでの間待機状態と
なりCPU131の処理能力を無駄にしてしまうことに
なる。For example, if the current data contains only a small amount of data,
Assume that the packet length statistical processing device 171 obtains a result that a large number of short packets are being received. In this case, the amount of processing for checksum calculation becomes extremely small, so in the initial CPU processing allocation of this embodiment described earlier, the amount of processing for the CPU 131 is reduced, and the other two CPUs are
The CPU 131 remains in a standby state until the packet processing by the PU is completed, and the processing capacity of the CPU 131 is wasted.
【0031】そこでパケット処理分担指示装置181は
CPU131に対してチェックサム計算に加えて、例え
ば(3)のデータの再構成処理も実行するように指示し
、逆にCPU132にはデータの再構成処理を実行しな
いように指示する。これによってCPU131の負荷が
増加し、一方CPU132の負荷が減少するのでCPU
の処理の均一化を図ることができる。Therefore, the packet processing allocation instructing device 181 instructs the CPU 131 to perform the data reconfiguration process in (3) in addition to the checksum calculation, and conversely, the CPU 132 instructs the data reconfiguration process Instruct not to run. As a result, the load on the CPU 131 increases, while the load on the CPU 132 decreases, so the CPU
It is possible to achieve uniform processing.
【0032】次に送信処理について説明する。当初の設
定では、CPU131に(1)のチェックサム処理が、
CPU132に(2)発受信アドレスの確認、(3’)
データの分割、(4)フロー制御が、またCPU133
には(5)タイマ処理、(6)誤り回復処理が割り当て
られていたものとする。送信時にはホストインタフェー
ス151から送信データが内部バス111を介して共有
メモリ121に格納される。CPU131〜133はロ
ーカルメモリ141〜143を使用して、それぞれに予
め割り当てられている処理を共有メモリ内のデータに対
して実行する。この結果共有メモリ121内のデータは
一般にいくつかのセグメントに分割され、それぞれのセ
グメントにヘッダが付与されてネットワークインタフェ
ース101から網上に送出される。Next, the transmission process will be explained. In the initial settings, the CPU 131 performs checksum processing (1).
To the CPU 132 (2) Confirm the sending/receiving address, (3')
Data division, (4) flow control is also performed by the CPU 133.
It is assumed that (5) timer processing and (6) error recovery processing are assigned to. At the time of transmission, transmission data is stored in the shared memory 121 from the host interface 151 via the internal bus 111. The CPUs 131 to 133 use the local memories 141 to 143 to execute processes assigned to them in advance on data in the shared memory. As a result, the data in the shared memory 121 is generally divided into several segments, a header is added to each segment, and the data is sent out from the network interface 101 onto the network.
【0033】この時同時にパケット長監視装置161は
生成された各パケットの長さをチェックする。これは(
3’)のデータの分割処理を行なうCPU(今の例では
CPU132)がパケット長監視装置161に通知する
のが一番単純な方法である。At the same time, the packet length monitoring device 161 checks the length of each generated packet. this is(
The simplest method is for the CPU (CPU 132 in this example) that performs the data division process of step 3') to notify the packet length monitoring device 161.
【0034】パケット長監視装置161は、得たパケッ
ト長をパケット長統計処理装置171に渡す。パケット
長統計処理装置171はパケット長監視装置161から
渡されるパケット長データの統計をとり、現在どのよう
な長さのパケットが多く送信されているかを観測する。
この観測結果をパケット処理分担指示装置181に通知
する。The packet length monitoring device 161 passes the obtained packet length to the packet length statistical processing device 171. The packet length statistics processing device 171 takes statistics on the packet length data passed from the packet length monitoring device 161, and observes what length of packets are currently being transmitted. This observation result is notified to the packet processing assignment instruction device 181.
【0035】パケット処理分担指示装置181はパケッ
ト長統計処理装置171から通知される現在の送信パケ
ットのパケット長の傾向の情報をもとに、必要ならば各
CPUの処理分担を変更する。The packet processing assignment instructing device 181 changes the processing assignment of each CPU, if necessary, based on the information on the trend of the packet length of the current transmitted packet notified from the packet length statistical processing device 171.
【0036】例えば、現在データを少ししか含まない、
短いパケットを多く送信している状態にあるという結果
をパケット長統計処理装置171から得たとする。この
場合、チェックサム計算の処理量が非常に少なくなるの
で、さきに述べた本実施例の当初のCPUの処理割当て
ではCPU131の処理量が少なくなり、他の2つのC
PUによるパケット処理が完了するまでの間待機状態と
なりCPU131の処理能力を無駄にしてしまうことに
なる。For example, if the current data contains only a small amount of data,
Assume that the packet length statistical processing device 171 obtains a result that a large number of short packets are being transmitted. In this case, the amount of processing for checksum calculation becomes extremely small, so in the initial CPU processing allocation of this embodiment described earlier, the amount of processing for the CPU 131 is reduced, and the other two CPUs are
The CPU 131 remains in a standby state until the packet processing by the PU is completed, and the processing capacity of the CPU 131 is wasted.
【0037】そこでパケット処理分担指示装置181は
CPU131に対してチェックサム計算に加えて、例え
ば(3’)データの分割処理も実行するように指示し、
逆にCPU132には(3’)データの分割処理を実行
しないように指示する。これによってCPU131の負
荷が増加し、一方CPU132の負荷が減少するのでC
PUの処理の均一化を図ることができる。Therefore, the packet processing allocation instructing device 181 instructs the CPU 131 to perform, for example, (3') data division processing in addition to checksum calculation.
Conversely, the CPU 132 is instructed not to perform (3') data division processing. As a result, the load on the CPU 131 increases, while the load on the CPU 132 decreases.
It is possible to equalize the processing of the PU.
【0038】図2は本発明の第1の実施例におけるパケ
ット処理分担指示装置181の処理分担アルゴリズムの
例を示すものである。FIG. 2 shows an example of the processing allocation algorithm of the packet processing allocation instruction device 181 in the first embodiment of the present invention.
【0039】図2において、パケット処理分担指示装置
181がパケット長統計処理装置171から現在処理し
ているパケット長の傾向を受け取ると(ステップ201
)、現在の各CPUの処理分担状態が、いま受け取った
パケット長のための処理分担と同じかどうかをチェック
する(ステップ202)。両者が同じであれば再びパケ
ット長統計処理装置171からのデータ受信状態に戻る
(ステップ201)。両者が違っていれば、新しいパケ
ット長傾向用の処理分担割当て情報を割当てテーブルか
ら読み取り(ステップ203)、その情報にしたがって
各CPUにそれぞれが処理する内容を指示する(ステッ
プ204)。その後再びパケット長統計処理装置171
からのデータ受信状態に戻る(ステップ201)。In FIG. 2, when the packet processing assignment instruction device 181 receives the trend of the length of the packet currently being processed from the packet length statistical processing device 171 (step 201
), it is checked whether the current processing allocation status of each CPU is the same as the processing allocation for the packet length just received (step 202). If both are the same, the process returns to the state of receiving data from the packet length statistical processing device 171 (step 201). If they are different, the new processing allocation information for the packet length trend is read from the allocation table (step 203), and the contents to be processed are instructed to each CPU according to the information (step 204). After that, the packet length statistical processing device 171
The process returns to the state of receiving data from (step 201).
【0040】図3は本発明の第1の実施例における処理
分担割当て情報のテーブルである。図3において、処理
しているパケット長が短いものが多い場合には、CPU
131に(1)チェックサム処理と(3)データの再構
成、あるいは(3’)データの分割処理を、CPU13
2には(2)発受信アドレスの確認と(4)フロー制御
を、またCPU133には(5)タイマ処理、(6)誤
り回復処理を割り当てるように設定してある。FIG. 3 is a table of processing assignment information in the first embodiment of the present invention. In Figure 3, if the packets being processed are mostly short, the CPU
131, the CPU 13 performs (1) checksum processing, (3) data reconstruction, or (3') data division processing.
The CPU 133 is set to be assigned (2) confirmation of sending/receiving addresses and (4) flow control, and the CPU 133 is assigned (5) timer processing and (6) error recovery processing.
【0041】また、逆に処理しているパケット長が長い
ものが多い場合にはCPU131に(1)チェックサム
処理を、CPU132に(2)発受信アドレスの確認、
(3)データの再構成、あるいは(3’)データの分割
処理、(4)フロー制御を、またCPU133には(5
)タイマ処理、(6)誤り回復処理を割り当てるように
設定してある。Conversely, if there are many packets being processed that are long, the CPU 131 (1) performs checksum processing, and the CPU 132 (2) confirms the sender/receiver address.
(3) data reconfiguration, or (3') data division processing, (4) flow control, and the CPU 133 (5)
) timer processing and (6) error recovery processing.
【0042】以上、本実施例ではTCP/IPプロトコ
ルを処理する場合について説明したが、通信プロトコル
の処理は基本的にどれも類似しているので、TCP/I
P以外のプロトコル処理も同様の構成ならびに処理方法
で処理の高速化を図ることができる。[0042] So far, this embodiment has explained the case of processing the TCP/IP protocol, but since the processing of all communication protocols is basically similar, the TCP/IP protocol
Processing of protocols other than P can be speeded up using the same configuration and processing method.
【0043】図4は本発明の第2の実施例における通信
処理装置の構成図を示すものである。FIG. 4 shows a configuration diagram of a communication processing device according to a second embodiment of the present invention.
【0044】図4において通信処理装置はネットワーク
インタフェース401、内部バス411、共有メモリ4
21、5個のCPU431〜435、各CPUが使用す
るローカルメモリ441〜445、ホストインタフェー
ス451、プロトコル種別監視装置461、プロトコル
種別統計処理装置471、およびパケット処理分担指示
装置481とで構成されている。In FIG. 4, the communication processing device includes a network interface 401, an internal bus 411, and a shared memory 4.
21, five CPUs 431 to 435, local memories 441 to 445 used by each CPU, a host interface 451, a protocol type monitoring device 461, a protocol type statistical processing device 471, and a packet processing allocation instruction device 481. .
【0045】ここではネットワーク層とトランスポート
層のプロトコルとしてTCP/IPを使用し、その上で
動作する第1のアプリケーション(ただし本実施例でい
うアプリケーションには、セション層・プレゼンテーシ
ョン層・アプリケーション層を含む)としてOSIで規
定される電子メールシステム(MOTIS/MHS)を
、また第2のアプリケーションとしてTELNETを使
用する場合について説明する。[0045] Here, TCP/IP is used as the protocol for the network layer and transport layer, and the first application that operates on it (however, the application in this example includes the session layer, presentation layer, and application layer). A case will be described in which an e-mail system (MOTIS/MHS) defined by OSI is used as a second application (including a second application) and TELNET is used as a second application.
【0046】一般的に言って、OSIの電子メールシス
テム(以下MOTISと略す。)のプロトコルは非常に
大きく、1プロトコルデータ単位あたりの処理量も多い
。特にアプリケーション層のプロトコルデータをプレゼ
ンテーション層以下で扱う形式のプロトコルデータに変
換する機能、すなわちASN.1エンコード/デコード
の処理が非常に大量の処理を必要とする。Generally speaking, the protocol of the OSI electronic mail system (hereinafter abbreviated as MOTIS) is very large, and the processing amount per unit of protocol data is large. In particular, ASN. One encode/decode process requires a very large amount of processing.
【0047】一方のTELNETは軽量のプロトコルで
あり、その処理自体はあまり負荷を増大させない。On the other hand, TELNET is a lightweight protocol, and its processing itself does not increase the load much.
【0048】また、ネットワーク層・トランスポート層
のプロトコルであるTCP/IP自体も、1パケットあ
たりの処理量はMOTISなどとくらべてさほど大きく
はないが、MOTISとTELNETの双方から使用さ
れるので処理するパケット数が多くなり、全体としての
処理量は比較的多くなる。[0048]Also, although the amount of processing per packet of TCP/IP itself, which is a network layer/transport layer protocol, is not as large as that of MOTIS, it is used by both MOTIS and TELNET. The number of packets to be processed increases, and the overall amount of processing becomes relatively large.
【0049】従って単純にCPUに処理を割り当てるな
らMOTISに多くのCPUを割当て、ついでTCP/
IP、そしてTELNETに一番少なくCPUを割り当
てればよいことになる。 しかし、MOTISとTE
LNETでは利用者が要求する反応時間が全く異なる。
すなわち、MOTISでやりとりされる情報である電子
メールは、通常の郵便と同じように一般にさほど高速に
相手に到着することを要求されない。また、受け取る側
も常にメールが届いているかどうかを監視していて、到
着と同時に速やかに読み出すわけではなく、溜っている
メールをある程度の間隔をおいて読み出すのが普通であ
る。従ってMOTIS側の処理は一般にさほど高速に処
理する必要は無いと言える。Therefore, if you simply assign processing to CPUs, assign many CPUs to MOTIS, and then
It is sufficient to allocate the least number of CPUs to IP and TELNET. However, MOTIS and TE
In LNET, the reaction time required by users is completely different. That is, e-mail, which is information exchanged through MOTIS, is generally not required to reach the recipient very quickly, just like regular mail. In addition, the receiving side always monitors whether or not mail has arrived, and usually reads the accumulated mail at certain intervals, rather than reading it immediately upon arrival. Therefore, it can be said that the processing on the MOTIS side generally does not need to be processed very fast.
【0050】一方TELNETはMOTISの場合とは
逆に、利用者が端末に向かっていて、自分が送出した情
報に対する相手からの反応を常に待ち受けているのが普
通である。
従ってTELNETプロトコルの処理には常に高速性が
要求される。On the other hand, in TELNET, contrary to MOTIS, the user is usually at the terminal and is always waiting for a response from the other party to the information he/she has sent. Therefore, high speed is always required for TELNET protocol processing.
【0051】つまり、この見地からはTELNETプロ
トコルの処理により多くのCPUを割り当てることが得
策と言うことになる。In other words, from this point of view, it is a good idea to allocate more CPUs to TELNET protocol processing.
【0052】その他にも各瞬間でのアプリケーションの
使用状況も考慮しなければならない。すなわち、MOT
ISが多く使用されているか、あるいはTELNETが
多く使用されているか、あるいはほぼ同程度使用されて
いるかによってCPU割り当てを変える必要性が発生す
る。[0052] In addition, the usage status of the application at each moment must also be considered. That is, M.O.T.
It is necessary to change CPU allocation depending on whether IS is used a lot, TELNET is used a lot, or about the same amount.
【0053】また、TELNETは一般にごく短いパケ
ットのやりとりが大半であるのに対し、MOTISはか
なり長大なパケットのやりとりが大半である。従って、
第1の実施例で述べたパケット長によるCPUの処理分
担の割り当て変更も考慮しなければならない。[0053] In general, TELNET mostly exchanges very short packets, whereas MOTIS mostly exchanges quite long packets. Therefore,
It is also necessary to consider changing the allocation of CPU processing according to the packet length described in the first embodiment.
【0054】本実施例の当初の設定では、CPU431
にTCP/IPのチェックサム計算以外の処理、CPU
432にはTCP/IPのチェックサム処理、CPU4
33にMOTIS送信処理、CPU434にMOTIS
受信処理、CPU435にTELNETの処理全体が割
り当てられていたものとする。In the initial setting of this embodiment, the CPU 431
Processing other than TCP/IP checksum calculation, CPU
432 is TCP/IP checksum processing, CPU4
MOTIS transmission processing to 33, MOTIS to CPU434
Assume that the entire TELNET processing is assigned to the CPU 435 for reception processing.
【0055】受信時にはネットワークインタフェース4
01から受信パケットが内部バス411を介して次々に
共有メモリ421に格納される。CPU431〜435
はローカルメモリ441〜445を使用して、それぞれ
に予め割り当てられている処理を共有メモリ内のパケッ
トに対して実行する。[0055] At the time of reception, the network interface 4
The received packets from 01 onwards are stored in the shared memory 421 one after another via the internal bus 411. CPU431-435
uses the local memories 441 to 445 to execute pre-allocated processing on packets in the shared memory.
【0056】この間、プロトコル種別監視装置461は
CPU431〜435が処理中のパケットのプロトコル
種別をチェックする。これはCPU431〜435から
現在解析しているプロトコルが何であるかについての情
報を受け取るのが最も単純であろう。During this time, the protocol type monitoring device 461 checks the protocol type of the packet being processed by the CPUs 431-435. This would be simplest by receiving information from the CPUs 431-435 about what protocol is currently being analyzed.
【0057】プロトコル種別監視装置461は、得られ
たプロトコルの種別を、プロトコル種別統計処理装置4
71に渡す。プロトコル種別統計処理装置471はプロ
トコル種別監視装置461から渡されるプロトコル種別
データの統計をとり、現在どのようなプロトコルのパケ
ットが多く受信されているかを観測する。この観測結果
をパケット処理分担指示装置481に通知する。The protocol type monitoring device 461 transmits the obtained protocol type to the protocol type statistical processing device 4.
Pass it to 71. The protocol type statistics processing device 471 takes statistics on the protocol type data passed from the protocol type monitoring device 461, and observes what kind of protocol packets are currently being received. This observation result is notified to the packet processing assignment instruction device 481.
【0058】パケット処理分担指示装置481はプロト
コル種別統計処理装置471から通知される現在の受信
パケットのプロトコル種別の傾向の情報を基に、必要な
らば各CPUの処理分担を変更する。The packet processing assignment instructing device 481 changes the processing assignment of each CPU, if necessary, based on the information on the tendency of the protocol type of the current received packets notified from the protocol type statistical processing device 471.
【0059】例えば、現在TELNETパケットを多く
処理している状態にあるという結果をプロトコル種別統
計処理装置471から得たとする。この場合、当初CP
U433および434に割り当てられていたMOTIS
の処理をCPU433だけとし、CPU434と435
とでTELNETプロトコルの処理を行なうようにする
。また、先にも説明したように、TELNETでやりと
りされるパケットはごく短いものである場合が多いので
、第1の実施例で述べたようにTCP/IPの処理にお
いてヘッダ処理の処理量が増加し、チェックサム計算の
処理量が少なくなるので、CPU432をTCP/IP
ヘッダ処理に割り当て、チェックサムを含むその他のT
CP/IP処理をCPU431で処理するように割り当
てを変更することによってTELNETを主として通信
処理の高速化を図る。For example, assume that the protocol type statistical processing device 471 obtains a result that a large number of TELNET packets are currently being processed. In this case, the initial CP
MOTIS assigned to U433 and 434
The processing is performed only by the CPU 433, and the CPU 434 and
TELNET protocol processing is performed with this. Additionally, as explained earlier, the packets exchanged in TELNET are often very short, so the amount of header processing increases in TCP/IP processing as described in the first embodiment. However, since the amount of checksum calculation processing is reduced, the CPU 432 is
Other T assigned to header processing and including checksum
By changing the allocation so that the CP/IP processing is processed by the CPU 431, the speed of communication processing mainly for TELNET is increased.
【0060】その後、今度はMOTISパケットの処理
が多くなって来れば、当初の設定、すなわちCPU43
1にTCP/IPのチェックサム計算以外の処理、CP
U432にはTCP/IPのチェックサム処理、CPU
433にMOTIS送信処理、CPU434にMOTI
S受信処理、CPU435にTELNETの処理全体を
割り当てている状態に戻す。この割り当てによって長大
なパケットが多く使用されるMOTISプロトコルを主
として通信の高速処理ができるようになる。[0060] After that, when the processing of MOTIS packets increases, the initial setting, that is, the CPU 43
1. Processing other than TCP/IP checksum calculation, CP
U432 includes TCP/IP checksum processing, CPU
MOTIS transmission processing to 433, MOTI to CPU 434
S reception processing returns to the state where the entire TELNET processing is assigned to the CPU 435. This allocation makes it possible to perform high-speed communication processing mainly in the MOTIS protocol, which uses many long packets.
【0061】また、TELNETパケットとMOTIS
パケットが同程度に処理されている場合には、高速な反
応を要求されるTELNETを主とした高速化を目指し
たCPU割り当てにする。ただし、この場合は全体とし
て処理するパケット数が増えているためMOTISおよ
びTELNET双方で使用するTCP/IPパケット処
理の処理能力を向上させることが必要となる。また、M
OTISパケットを多く処理しなければならないのでT
CP/IPのチェックサム処理が負担となって全体の高
速処理を妨げる可能性があるし、TELNETパケット
も多く処理しなければならないので、TCP/IPパケ
ットヘッダ処理が負担となって全体の高速処理を妨げる
可能性もある。そこでCPU431でTCP/IPチェ
ックサム処理、CPU432でTCP/IPのヘッダ処
理、CPU433でそれ以外のTCP/IP処理、CP
U434でMOTISプロトコル処理、CPU435で
TELNETプロトコル処理を行なう割り当てにして、
TCP/IPの処理速度を向上させるCPUの処理分担
にする。[0061] Also, TELNET packet and MOTIS
If the packets are being processed to the same degree, the CPU will be allocated with the aim of increasing the speed mainly for TELNET, which requires a high-speed response. However, in this case, since the number of packets to be processed as a whole increases, it is necessary to improve the throughput of TCP/IP packet processing used in both MOTIS and TELNET. Also, M
T because it is necessary to process many OTIS packets.
CP/IP checksum processing becomes a burden and may impede overall high-speed processing, and many TELNET packets must also be processed, so TCP/IP packet header processing becomes a burden and may impede overall high-speed processing. There is also a possibility that it may hinder. Therefore, the CPU 431 performs TCP/IP checksum processing, the CPU 432 performs TCP/IP header processing, the CPU 433 performs other TCP/IP processing, and
Assign U434 to perform MOTIS protocol processing and CPU435 to perform TELNET protocol processing,
The processing is shared by the CPU, which improves the processing speed of TCP/IP.
【0062】処理の終了したデータは共有メモリ421
からホストインタフェース451を経由してホストに渡
される。The processed data is stored in the shared memory 421
The data is passed from the host via the host interface 451 to the host.
【0063】送信の際は受信時の逆で、ホストからホス
トインタフェース451を介して共有メモリ421上に
送信データが格納される。CPU431〜435はロー
カルメモリ441〜445を使用して、それぞれに予め
割り当てられている処理を共有メモリ内の送信データに
対して実行し、ホストから指定されたプロトコルのパケ
ットを生成し、ネットワークインタフェース401を経
由してネットワーク上に送出する。During transmission, the transmission data is stored in the shared memory 421 from the host via the host interface 451, which is the reverse of the reception. The CPUs 431 to 435 use the local memories 441 to 445 to execute pre-allocated processes on the transmission data in the shared memory, generate packets of the protocol specified by the host, and send the packets to the network interface 401. Send it out on the network via .
【0064】この際生成されるパケットのプロトコル種
別を、前記受信の場合と同様プロトコル種別監視装置4
61とプロトコル種別統計処理装置471とによって統
計をとり、パケット処理分担指示装置481によってC
PUの処理分担を変更する。The protocol type of the packet generated at this time is determined by the protocol type monitoring device 4 as in the case of reception.
61 and the protocol type statistics processing device 471, and the packet processing allocation instruction device 481 collects the statistics.
Change the processing assignment of PU.
【0065】以上のようにして、現在処理しているプロ
トコルの種別の統計情報からCPUへの処理割り当てを
変更することによって各CPUの処理量を均一化し、全
体の処理速度の向上を図ることができる。As described above, by changing the processing allocation to the CPU based on the statistical information of the type of protocol currently being processed, it is possible to equalize the processing amount of each CPU and improve the overall processing speed. can.
【0066】図5は本発明の第2の実施例におけるパケ
ット処理分担指示装置481の処理分担アルゴリズムの
例を示すものである。FIG. 5 shows an example of the processing allocation algorithm of the packet processing allocation instruction device 481 in the second embodiment of the present invention.
【0067】図5において、パケット処理分担指示装置
481がプロトコル種別統計処理装置471から現在処
理しているプロトコル種別の傾向を受け取ると(ステッ
プ501)、現在の各CPUの処理分担状態が、いま受
け取ったプロトコル種別の高速処理のための処理分担と
同じかどうかをチェックする(ステップ502)。両者
が同じであれば再びプロトコル種別統計処理装置471
からのデータ受信状態に戻る(ステップ501)。両者
が違っていれば、新しいプロトコル種別用の処理分担割
当て情報を割当てテーブルから読み取り(ステップ50
3)、その情報にしたがって各CPUにそれぞれが処理
する内容を指示する(ステップ504)。その後再びプ
ロトコル種別統計処理装置471からのデータ受信状態
に戻る(ステップ501)。In FIG. 5, when the packet processing allocation instruction device 481 receives the trend of the protocol type currently being processed from the protocol type statistical processing device 471 (step 501), the current processing allocation status of each CPU is determined based on the current processing allocation status of each CPU. It is checked whether the processing allocation is the same as the processing allocation for high-speed processing of the selected protocol type (step 502). If both are the same, the protocol type statistical processing device 471
The process returns to the state of receiving data from (step 501). If they are different, processing allocation information for the new protocol type is read from the allocation table (step 50).
3) Instruct each CPU what to process according to the information (step 504). Thereafter, the process returns to the state of receiving data from the protocol type statistical processing device 471 (step 501).
【0068】図6は本発明の第2の実施例における処理
分担割当て情報のテーブルである。図6において、TE
LNETパケットの処理が多い場合には、CPU431
でTCP/IPヘッダ処理以外のTCP/IP処理(含
チェックサム計算処理)、CPU432でTCP/IP
ヘッダ処理、CPU433でMOTISプロトコル処理
、CPU434でTELNET送信処理、CPU435
でTELNET受信処理を行なうように設定している。FIG. 6 is a table of processing assignment information in the second embodiment of the present invention. In Figure 6, T.E.
If a large number of LNET packets are processed, the CPU 431
The CPU 432 performs TCP/IP processing other than TCP/IP header processing (including checksum calculation processing).
Header processing, MOTIS protocol processing by CPU 433, TELNET transmission processing by CPU 434, CPU 435
It is set to perform TELNET reception processing.
【0069】逆にMOTISパケットの処理が多い場合
には、CPU431でTCP/IPチェックサム計算処
理以外のTCP/IP処理、CPU432でTCP/I
Pチェックサム計算処理、CPU433でMOTIS送
信処理、CPU434でMOTIS受信処理、CPU4
35でTELNETプロトコルの処理を行なうようにす
る。On the other hand, when there are many MOTIS packets to be processed, the CPU 431 performs TCP/IP processing other than TCP/IP checksum calculation processing, and the CPU 432 performs TCP/IP processing other than TCP/IP checksum calculation processing.
P checksum calculation processing, CPU 433 performs MOTIS transmission processing, CPU 434 performs MOTIS reception processing, CPU 4
35 to perform TELNET protocol processing.
【0070】またTELNETパケットとMOTISパ
ケットの処理が同程度である場合には、CPU431で
TCP/IPチェックサム計算処理、CPU432でT
CP/IPヘッダ処理、CPU433でそれら以外のT
CP/IPプロトコル処理、CPU434でMOTIS
プロトコル処理、CPU435でTELNETプロトコ
ルの処理を行なうようにする。[0070] Furthermore, if the TELNET packet and MOTIS packet are processed at the same level, the CPU 431 performs TCP/IP checksum calculation processing, and the CPU 432 performs TCP/IP checksum calculation processing.
CP/IP header processing, other T in CPU 433
CP/IP protocol processing, MOTIS with CPU434
Protocol processing: The CPU 435 performs TELNET protocol processing.
【0071】図7は本発明の第3の実施例における通信
処理装置の構成図を示すものである。FIG. 7 shows a configuration diagram of a communication processing device according to a third embodiment of the present invention.
【0072】図7において通信処理装置はネットワーク
インタフェース701、内部バス711、共有メモリ7
21、5個のCPU731〜735、各CPUが使用す
るローカルメモリ741〜745、ホストインタフェー
ス751、発受信者監視装置761、発受信者統計処理
装置771、およびパケット処理分担指示装置781と
で構成されている。In FIG. 7, the communication processing device includes a network interface 701, an internal bus 711, and a shared memory 7.
21, five CPUs 731 to 735, local memories 741 to 745 used by each CPU, a host interface 751, a sender/receiver monitoring device 761, a sender/receiver statistical processing device 771, and a packet processing allocation instruction device 781. ing.
【0073】ここではネットワーク層とトランスポート
層のプロトコルとしてTCP/IPを使用し、その上で
動作する第1のアプリケーション(本実施例で言うアプ
リケーションには、セション層・プレゼンテーション層
・アプリケーション層を含む)としてOSIで規定され
る電子メールシステム(MOTIS/MHS)を、また
第2のアプリケーションとしてTELNETが使用可能
であり、第1の利用者は主にMOTISを利用し、第2
の利用者は主にTELNETを利用する場合について説
明する。[0073] Here, TCP/IP is used as the protocol for the network layer and transport layer, and the first application (in this example, the application includes the session layer, presentation layer, and application layer) runs on it. ) can be used as an e-mail system (MOTIS/MHS) specified by OSI, and TELNET as a second application.
The following describes the case where the user mainly uses TELNET.
【0074】本実施例の当初の設定では、CPU731
にTCP/IPのチェックサム計算以外の処理、CPU
732にはTCP/IPのチェックサム処理、CPU7
33にMOTIS送信処理、CPU734にMOTIS
受信処理、CPU735にTELNETの処理全体が割
り当てられていたものとする。[0074] In the initial settings of this embodiment, the CPU 731
Processing other than TCP/IP checksum calculation, CPU
732 has TCP/IP checksum processing, CPU7
MOTIS transmission processing to 33, MOTIS to CPU734
Assume that the entire TELNET process is assigned to the CPU 735 for reception processing.
【0075】受信時にはネットワークインタフェース7
01から受信パケットが内部バス711を介して次々に
共有メモリ721に格納される。CPU731〜735
はローカルメモリ741〜745を使用して、それぞれ
に予め割り当てられている処理を共有メモリ内のパケッ
トに対して実行する。
処理が終了した受信データは、ホストインタフェース7
51を介してホストに渡される。[0075] At the time of reception, the network interface 7
The received packets from 01 onwards are stored in the shared memory 721 one after another via the internal bus 711. CPU731-735
uses the local memories 741 to 745 to perform processing assigned to each in advance on packets in the shared memory. The received data that has been processed is sent to the host interface 7.
51 to the host.
【0076】送信時にはホストインタフェース751か
ら送信データが内部バス711を介して共有メモリ72
1に格納される。CPU731〜735はローカルメモ
リ741〜745を使用して、それぞれに予め割り当て
られている処理を共有メモリ内のデータに対して実行す
る。処理が終了して生成されたパケットはネットワーク
インタフェース701を介してネットワーク上に送出さ
れる。At the time of transmission, transmission data is sent from the host interface 751 to the shared memory 72 via the internal bus 711.
It is stored in 1. The CPUs 731 to 735 use the local memories 741 to 745 to execute processes assigned to them in advance on data in the shared memory. A packet generated after the processing is completed is sent out onto the network via the network interface 701.
【0077】これらの処理の間、発受信者監視装置76
1はCPU731〜735が処理中のパケットの発信者
と受信者をチェックする。これはCPU731〜735
から現在処理しているパケットの発受信者が誰であるか
についての情報を受け取るのが最も単純であろう。During these processes, the sender/recipient monitoring device 76
1, the CPUs 731 to 735 check the sender and receiver of the packet being processed. This is CPU731-735
The simplest method would be to receive information about who is the sender/receiver of the packet currently being processed.
【0078】発受信者監視装置761は、得られた発受
信者情報を、発受信者統計処理装置771に渡す。発受
信者統計処理装置771は発受信者監視装置761から
渡される発受信者の統計をとり、現在どの発信者と受信
者の間でパケットが多く送受信されているかを観測する
。この観測結果をパケット処理分担指示装置781に通
知する。The sender/recipient monitoring device 761 passes the obtained sender/recipient information to the sender/recipient statistical processing device 771 . The sender/receiver statistics processing device 771 takes statistics on the sender/receiver passed from the sender/receiver monitoring device 761, and observes which sender and recipient are currently sending and receiving the most packets. This observation result is notified to the packet processing assignment instruction device 781.
【0079】パケット処理分担指示装置781は発受信
者統計処理装置771から通知される現在どの発受信者
間でパケットが多くやりとりされているかの傾向の情報
を基に、必要ならば各CPUの処理分担を変更する。The packet processing allocation instructing device 781 adjusts the processing of each CPU, if necessary, based on the trend information of which sender/receiver is currently exchanging the most packets, which is notified from the sender/receiver statistical processing device 771. Change assignments.
【0080】例えば、現在第2の利用者による通信を多
く処理している状態にあるという結果を発受信者統計処
理装置771から得たとする。この場合は利用されてい
るアプリケーションプロトコルはTELNETであるの
で、当初CPU733および734に割り当てられてい
たMOTISの処理をCPU733だけとし、CPU7
34と735とでTELNETプロトコルの処理を行な
うようにする。また、先にも説明したように、TELN
ETでやりとりされるパケットはごく短いものである場
合が多いので、第1の実施例で述べたようにTCP/I
Pの処理においてヘッダ処理の処理量が増加し、チェッ
クサム計算の処理量が少なくなるので、CPU732を
TCP/IPヘッダ処理に割り当て、チェックサムを含
むその他のTCP/IP処理をCPU731で処理する
ように割り当てを変更することによってTELNETを
主とした第2の利用者の通信処理の高速化を図る。For example, assume that the sender/receiver statistical processing device 771 obtains a result indicating that a large number of communications by the second user are currently being processed. In this case, the application protocol being used is TELNET, so the MOTIS processing that was originally assigned to CPUs 733 and 734 is reduced to only CPU 733, and CPU 7
34 and 735 to perform TELNET protocol processing. Also, as explained earlier, TEL
Packets exchanged via ET are often very short, so as described in the first embodiment, TCP/I
In the processing of P, the amount of processing for header processing increases and the amount of processing for checksum calculation decreases, so the CPU 732 is assigned to TCP/IP header processing and other TCP/IP processing including checksum is processed by CPU 731. By changing the allocation to , the speed of communication processing for the second user, mainly using TELNET, is increased.
【0081】その後、今度は第1の利用者のパケットの
処理が多くなって来れば、当初の設定、すなわちCPU
731にTCP/IPのチェックサム計算以外の処理、
CPU732にはTCP/IPのチェックサム処理、C
PU733にMOTIS送信処理、CPU734にMO
TIS受信処理、CPU735にTELNETの処理全
体を割り当てている状態に戻す。この割り当てによって
長大なパケットが多く使用されるMOTISプロトコル
を利用している第1の利用者の通信の高速処理ができる
ようになる。After that, when the number of packets processed by the first user increases, the initial setting, that is, the CPU
731, processing other than TCP/IP checksum calculation,
The CPU 732 performs TCP/IP checksum processing, C
MOTIS transmission processing to PU733, MO to CPU734
The TIS reception process and the entire TELNET process are assigned to the CPU 735 again. This allocation enables high-speed processing of communication by the first user who uses the MOTIS protocol, which uses many long packets.
【0082】また、第1の利用者のパケットと第2の利
用者のパケットが同程度に処理されている場合には、第
2の利用者が使用している、高速な反応を要求されるT
ELNETを主とした高速化を目指したCPU割り当て
にする。ただし、この場合はMOTISパケットも多く
処理しなければならないのでTCP/IPのチェックサ
ム処理が負担となって全体の高速処理を妨げる可能性が
ある。そこでCPU731でTCP/IPチェックサム
処理、CPU732でTCP/IPのヘッダ処理、CP
U733でそれ以外のTCP/IP処理、CPU734
でMOTISプロトコル処理、CPU735でTELN
ETプロトコル処理を行なう割り当てにして、TCP/
IPの処理速度を向上させるCPUの処理分担にする。[0082] Furthermore, if the first user's packets and the second user's packets are processed to the same degree, the second user's packets, which require a fast response, T
The CPU allocation will be aimed at increasing the speed mainly for ELNET. However, in this case, since many MOTIS packets must be processed, the TCP/IP checksum processing becomes a burden and may impede overall high-speed processing. Therefore, the CPU 731 performs TCP/IP checksum processing, the CPU 732 performs TCP/IP header processing, and
U733 performs other TCP/IP processing, CPU734
MOTIS protocol processing, CPU735 TELN
ET protocol processing, TCP/
The processing is shared by the CPU, which improves the IP processing speed.
【0083】図8は本発明の第4の実施例における通信
処理装置の構成図を示すものである。図8において通信
処理装置はネットワークインタフェース801、内部バ
ス811、共有メモリ821、5個のCPU831〜8
35、各CPUが使用するローカルメモリ841〜84
5、ホストインタフェース851、発受信者監視装置8
61、プロトコル種別監視装置862、発受信者間プロ
トコル種別統計処理装置871、発受信者間プロトコル
種別統計データ蓄積装置872、利用プロトコル推定装
置873、およびパケット処理分担指示装置881とで
構成されている。FIG. 8 shows a configuration diagram of a communication processing device according to a fourth embodiment of the present invention. In FIG. 8, the communication processing device includes a network interface 801, an internal bus 811, a shared memory 821, and five CPUs 831 to 8.
35. Local memory 841 to 84 used by each CPU
5, host interface 851, sender/recipient monitoring device 8
61, a protocol type monitoring device 862, a protocol type statistical processing device 871 between sender and receiver, a protocol type statistical data storage device 872 between sender and receiver, a usage protocol estimation device 873, and a packet processing allocation instruction device 881. .
【0084】ここではネットワーク層とトランスポート
層のプロトコルとしてTCP/IPを使用し、その上で
動作する第1のアプリケーション(本実施例で言うアプ
リケーションには、セション層・プレゼンテーション層
・アプリケーション層を含む)としてOSIで規定され
る電子メールシステム(MOTIS/MHS)を、また
第2のアプリケーションとしてTELNETが使用可能
である場合について説明する。[0084] Here, TCP/IP is used as the protocol for the network layer and transport layer, and the first application (in this example, the application includes the session layer, presentation layer, and application layer) runs on it. ), and a case where TELNET can be used as a second application will be described.
【0085】本実施例の当初の設定では、CPU831
にTCP/IPのチェックサム計算以外の処理、CPU
832にはTCP/IPのチェックサム処理、CPU8
33にMOTIS送信処理、CPU834にMOTIS
受信処理、CPU835にTELNETの処理全体が割
り当てられていたものとする。[0085] In the initial settings of this embodiment, the CPU 831
Processing other than TCP/IP checksum calculation, CPU
832 has TCP/IP checksum processing, CPU8
MOTIS transmission processing to 33, MOTIS to CPU834
Assume that the entire TELNET processing is assigned to the CPU 835 for reception processing.
【0086】受信時にはネットワークインタフェース8
01から受信パケットが内部バス811を介して次々に
共有メモリ821に格納される。CPU831〜835
はローカルメモリ841〜845を使用して、それぞれ
に予め割り当てられている処理を共有メモリ内のパケッ
トに対して実行する。
処理が終了した受信データは、ホストインタフェース8
51を介してホストに渡される。[0086] At the time of reception, the network interface 8
The received packets from 01 onwards are stored in the shared memory 821 one after another via the internal bus 811. CPU831-835
uses the local memories 841 to 845 to execute pre-allocated processing on packets in the shared memory. The received data that has been processed is sent to the host interface 8.
51 to the host.
【0087】送信時にはホストインタフェース851か
ら送信データが内部バス811を介して共有メモリ82
1に格納される。CPU831〜835はローカルメモ
リ841〜845を使用して、それぞれに予め割り当て
られている処理を共有メモリ内のデータに対して実行す
る。処理が終了して生成されたパケットはネットワーク
インタフェース801を介してネットワーク上に送出さ
れる。At the time of transmission, transmission data is sent from the host interface 851 to the shared memory 82 via the internal bus 811.
It is stored in 1. The CPUs 831 to 835 use the local memories 841 to 845 to execute processes assigned to them in advance on data in the shared memory. A packet generated after the processing is completed is sent out onto the network via the network interface 801.
【0088】これらの処理の間、発受信者監視装置86
1はCPU831〜835が処理中のパケットの発信者
と受信者をチェックする。また、プロトコル種別監視装
置862はそのパケットのプロトコル種別をチェックす
る。これはCPU831〜835から現在処理している
パケットの発受信者が誰であるか、および処理している
プロトコルは何かについての情報を受け取るのが最も単
純であろう。During these processes, the sender/recipient monitoring device 86
1, the CPUs 831 to 835 check the sender and receiver of the packet being processed. Further, the protocol type monitoring device 862 checks the protocol type of the packet. The simplest way to do this would be to receive information from the CPUs 831 to 835 about who is the sender/receiver of the packet currently being processed and what protocol is being processed.
【0089】発受信者監視装置861およびプロトコル
種別監視装置862は、それぞれ得た情報を発受信者間
プロトコル種別統計処理装置871に渡す。発受信者間
プロトコル種別統計処理装置871は発受信者監視装置
861およびプロトコル種別監視装置862から渡され
る発受信者およびプロトコル種別の統計をとり、現在ど
の発信者と受信者の間でどのプロトコルのパケットが多
く送受信されているかを観測する。この観測結果を発受
信者間プロトコル種別統計データ蓄積装置872に蓄積
していく。The sender/recipient monitoring device 861 and the protocol type monitoring device 862 pass the respective obtained information to the sender/receiver protocol type statistical processing device 871 . The sender-receiver protocol type statistics processing device 871 takes statistics on the sender-receiver and protocol type passed from the sender-receiver monitoring device 861 and the protocol type monitoring device 862, and determines which protocol is currently being used between which sender and receiver. Observe whether many packets are being sent and received. The observation results are stored in the sender-receiver protocol type statistical data storage device 872.
【0090】このようにして、特定の受信者と送信者の
間でどのプロトコルが多く使用されるかについての統計
情報が発受信者間プロトコル種別統計データ蓄積装置8
72に蓄積される。この結果第1の受信者と第1の発信
者の間ではTELNETプロトコルが多く利用されてい
るという結果になっているものとする。[0090] In this way, statistical information about which protocols are frequently used between a particular receiver and a sender is stored in the sender-receiver protocol type statistical data storage device 8.
72. Assume that the result is that the TELNET protocol is often used between the first receiver and the first sender.
【0091】ここで第1の受信者と第1の発信者の間で
新たに通信が開始されようとして本通信処理装置に通信
開始要求が来たものとする。本通信処理装置は通信開始
要求を受けて両者の間の通信を処理するための準備を行
なうのだが、この際に利用プロトコル推定装置873が
開始されようとしている通信の発信者と受信者を確認し
て、該当する発信者と受信者間でどの通信プロトコルが
多く利用されて来たかを発受信者間プロトコル種別統計
データ蓄積装置872に蓄えた情報を検索して調べる。
この結果この両者間ではTELNETが特に多用されて
いることがわかるので、利用プロトコル推定装置873
はパケット処理分担指示装置881にTELNETの高
速処理を指示する。[0091] Here, it is assumed that a new communication is about to be started between the first receiver and the first sender, and a communication start request is received by the communication processing device. This communication processing device receives a communication start request and prepares to process the communication between the two parties, but at this time, the usage protocol estimating device 873 confirms the sender and receiver of the communication that is about to be started. Then, information stored in the sender-receiver protocol type statistical data storage device 872 is searched to find out which communication protocol has been frequently used between the corresponding sender and receiver. As a result, it can be seen that TELNET is particularly frequently used between the two, so the usage protocol estimation device 873
instructs the packet processing assignment instructing device 881 to perform high-speed TELNET processing.
【0092】パケット処理分担指示装置881は利用プ
ロトコル推定装置873からの指示に基づき、TELN
ETの処理の高速化用に各CPUの処理を分担する。[0092] The packet processing allocation instructing device 881 transmits TELN based on the instruction from the usage protocol estimating device 873.
The processing of each CPU is divided to speed up the processing of ET.
【0093】例えば、当初CPU833および834に
割り当てられていたMOTISの処理をCPU833だ
けとし、CPU834と835とでTELNETプロト
コルの処理を行なうようにする。また、先にも説明した
ように、TELNETでやりとりされるパケットはごく
短いものである場合が多いので、第1の実施例で述べた
ようにTCP/IPの処理においてヘッダ処理の処理量
が増加し、チェックサム計算の処理量が少なくなるので
、CPU832をTCP/IPヘッダ処理に割り当て、
チェックサムを含むその他のTCP/IP処理をCPU
831で処理するように割り当てを変更することによっ
てTELNETを主とした通信処理の高速化を図る。For example, the MOTIS processing originally assigned to the CPUs 833 and 834 is set to only the CPU 833, and the TELNET protocol processing is performed by the CPUs 834 and 835. Additionally, as explained earlier, the packets exchanged in TELNET are often very short, so the amount of header processing increases in TCP/IP processing as described in the first embodiment. However, since the amount of processing for checksum calculation is reduced, the CPU 832 is allocated to TCP/IP header processing,
Other TCP/IP processing including checksums is performed by the CPU.
By changing the allocation so that processing is performed using 831, communication processing mainly using TELNET is accelerated.
【0094】[0094]
【発明の効果】以上説明したように、本発明によれば、
複数CPUを使用して通信処理を行なう装置において、
処理されるパケットのパケット長やプロトコルの種類、
および発信者と受信者などの通信に特有の要因によって
変動する各CPUの処理量を均一化することができるよ
うになり、これによって一部のCPUに極端に大きな処
理負荷がかかってそれらのCPUの処理速度の低下のた
めに全体の処理速度が低下することや、一部のCPUの
処理量が少なくなって、他のCPUの処理が完了するま
での間待機状態となって処理能力を無駄にしてしまうこ
とを防ぐことができ、全てのCPUを有効に活用して複
数CPUによる処理能力を最大限に引き出すことが可能
となる。[Effects of the Invention] As explained above, according to the present invention,
In a device that performs communication processing using multiple CPUs,
The packet length and protocol type of the packet being processed,
It is now possible to equalize the processing load of each CPU, which varies depending on factors specific to the communication between the sender and receiver, etc., and this makes it possible to equalize the processing load of each CPU, which may be affected by an extremely large processing load on some CPUs. The overall processing speed decreases due to a decrease in the processing speed of the CPU, and the processing capacity of some CPUs decreases, resulting in a standby state until the processing of other CPUs is completed, wasting processing power. This makes it possible to effectively utilize all CPUs and maximize the processing power of multiple CPUs.
【0095】また、第4の実施例に示したように、ある
特定の送信者と受信者間での通信が開始されるにあたり
、過去の統計を基にその両者間でどの様な通信が行なわ
れるかを予想してあらかじめその通信の処理を効率的に
行えるようにCPUに処理を割り当てておくことにより
、より迅速に最適なCPUの処理分担を行なうことがで
きるようになる。[0095] Furthermore, as shown in the fourth embodiment, when communication begins between a specific sender and receiver, it is possible to determine what kind of communication took place between them based on past statistics. By anticipating whether communication will occur and allocating processing to the CPUs in advance so that the communication can be processed efficiently, it becomes possible to more quickly and optimally allocate processing among the CPUs.
【図1】本発明の第1の実施例における通信処理装置の
構成図である。FIG. 1 is a configuration diagram of a communication processing device in a first embodiment of the present invention.
【図2】本発明の第1の実施例におけるパケット処理分
担指示装置181の処理分担アルゴリズムの例を示す図
である。FIG. 2 is a diagram showing an example of a processing allocation algorithm of the packet processing allocation instruction device 181 in the first embodiment of the present invention.
【図3】本発明の第1の実施例における処理分担割当て
情報のテーブルを示す図である。FIG. 3 is a diagram showing a table of processing allocation information in the first embodiment of the present invention.
【図4】本発明の第2の実施例における通信処理装置の
構成図である。FIG. 4 is a configuration diagram of a communication processing device in a second embodiment of the present invention.
【図5】本発明の第2の実施例におけるパケット処理分
担指示装置481の処理分担アルゴリズムの例を示す図
である。FIG. 5 is a diagram showing an example of a processing allocation algorithm of the packet processing allocation instruction device 481 in the second embodiment of the present invention.
【図6】本発明の第2の実施例における処理分担割当て
情報のテーブルを示す図である。FIG. 6 is a diagram showing a table of processing allocation information in the second embodiment of the present invention.
【図7】本発明の第3の実施例における通信処理装置の
構成図である。FIG. 7 is a configuration diagram of a communication processing device in a third embodiment of the present invention.
【図8】本発明の第4の実施例における通信処理装置の
構成図である。FIG. 8 is a configuration diagram of a communication processing device in a fourth embodiment of the present invention.
【図9】従来の複数CPUを使用する通信処理装置の構
成例である。FIG. 9 is a configuration example of a conventional communication processing device using multiple CPUs.
101 ネットワークインタフェース111 内部
バス
121 共有メモリ
131〜133 CPU
141〜143 ローカルメモリ
151 ホストインタフェース
161 パケット長監視装置
171 パケット長統計処理装置
181 パケット処理分担指示装置
401 ネットワークインタフェース411 内部
バス
421 共有メモリ
431〜435 CPU
441〜445 ローカルメモリ
451 ホストインタフェース
461 プロトコル種別監視装置
471 プロトコル種別統計処理装置481 パケ
ット処理分担指示装置
701 ネットワークインタフェース711 内部
バス
721 共有メモリ
731〜735 CPU
741〜745 ローカルメモリ
751 ホストインタフェース
761 発受信者監視装置
771 発受信者統計処理装置
781 パケット処理分担指示装置
801 ネットワークインタフェース811 内部
バス
821 共有メモリ
831〜835 CPU
841〜845 ローカルメモリ
851 ホストインタフェース
861 発受信者監視装置
862 プロトコル種別監視装置
871 発受信者間プロトコル種別統計処理装置87
2 発受信者間プロトコル種別統計データ蓄積装置8
73 利用プロトコル推定装置
881 パケット処理分担指示装置
901 ネットワークインタフェース911 内部
バス911
921 共有メモリ921
931〜93N CPU
941〜94N ローカルメモリ
951 ホストインタフェース101 Network interface 111 Internal bus 121 Shared memory 131-133 CPU 141-143 Local memory 151 Host interface 161 Packet length monitoring device 171 Packet length statistical processing device 181 Packet processing allocation instruction device 401 Network interface 411 Internal bus 421 Shared memory 431-435 CPU 441-445 Local memory 451 Host interface 461 Protocol type monitoring device 471 Protocol type statistical processing device 481 Packet processing allocation instruction device 701 Network interface 711 Internal bus 721 Shared memory 731-735 CPU 741-745 Local memory 751 Host interface 761 Transmission/reception sender monitoring device 771 sender/receiver statistical processing device 781 packet processing allocation instruction device 801 network interface 811 internal bus 821 shared memory 831-835 CPU 841-845 local memory 851 host interface 861 sender/receiver monitoring device 862 protocol type monitoring device 871 Inter-recipient protocol type statistical processing device 87
2 Protocol type statistical data storage device 8 between sender and receiver
73 Usage protocol estimation device 881 Packet processing allocation instruction device 901 Network interface 911 Internal bus 911 921 Shared memory 921 931 to 93N CPU 941 to 94N Local memory 951 Host interface
Claims (4)
理する通信処理装置において、処理しているパケットの
長さを調べるパケット長監視装置と、前記パケット長監
視装置から出力されるパケット長データをもとにその時
点までに入来した全ての、あるいは一部のパケットのパ
ケット長統計をとるパケット長統計処理装置と、前記パ
ケット長統計処理装置が出力するパケット長統計をもと
にパケット処理の分担範囲を各CPU毎に指示するパケ
ット処理分担指示装置とを有する通信処理装置。1. A communication processing device that processes packets in parallel using a plurality of CPUs, comprising: a packet length monitoring device that checks the length of the packet being processed; and packet length data output from the packet length monitoring device. and a packet length statistics processing device that calculates packet length statistics of all or some of the packets that have arrived up to that point, and a division of packet processing based on the packet length statistics output by the packet length statistics processing device. A communication processing device including a packet processing allocation instruction device that instructs a range for each CPU.
理する通信処理装置において、処理するパケットのプロ
トコル種別を監視するプロトコル種別監視装置と、前記
プロトコル種別監視装置が出力するプロトコル種別デー
タをもとにその時点までに入来した全ての、あるいは一
部のパケットのプロトコルの種別の統計をとるプロトコ
ル種別統計処理装置と、前記プロトコル種別統計処理装
置が出力するプロトコル種別統計をもとにパケット処理
の分担範囲を各CPU毎に指示するパケット処理分担指
示装置とを有する通信処理装置。2. A communication processing device that processes packets in parallel using a plurality of CPUs, including a protocol type monitoring device that monitors the protocol type of the packet to be processed, and a protocol type monitoring device that monitors the protocol type data output from the protocol type monitoring device. A protocol type statistics processing device that takes statistics on the protocol type of all or some of the packets that have come in up to that point, and a division of packet processing based on the protocol type statistics output by the protocol type statistics processing device. A communication processing device including a packet processing allocation instruction device that instructs a range for each CPU.
理する通信処理装置において、処理するパケットの発信
者および受信者を調べて求める発受信者監視装置と、前
記発受信者監視装置が出力する発信者データおよび受信
者データをもとにその時点までに処理した全ての、ある
いは一部のパケットの発信者および受信者の統計をとる
発受信者統計処理装置と、前記発受信者統計処理装置が
出力する発受信者統計データをもとにパケット処理の分
担範囲を各CPU毎に指示するパケット処理分担指示装
置とを有する通信処理装置。3. A communication processing device that processes packets in parallel using a plurality of CPUs, comprising: a sender/receiver monitoring device that checks and determines the sender and receiver of a packet to be processed; a sender-receiver statistical processing device that takes statistics on senders and receivers of all or some of the packets processed up to that point based on user data and receiver data, and the sender-recipient statistical processing device A communication processing device comprising: a packet processing assignment instruction device that instructs each CPU to assign a range of packet processing based on sender/receiver statistical data to be outputted.
理する通信処理装置において、処理するパケットの発信
者および受信者を調べて求める発受信者監視装置と、各
発受信者間で使用される通信プロトコル種別を監視する
プロトコル種別監視装置と、前記発受信者監視装置が出
力する発信者データおよび受信者データ、ならびに前記
プロトコル種別監視装置が出力する各発受信者間で使用
されているプロトコル種別情報とをもとに、その時点ま
でに処理した全ての、あるいは一部のパケットのパケッ
ト種別と該パケットの発信者および受信者の統計をとる
発受信者間プロトコル種別統計処理装置と、前記発受信
者間プロトコル種別統計処理装置が出力する発受信者間
プロトコル種別統計データを蓄積する発受信者間プロト
コル種別統計データ蓄積装置と、前記発受信者間プロト
コル種別統計データ蓄積装置に蓄積されたデータをもと
に特定の発受信者間ではどのプロトコルが次回の通信で
利用されるかを推定する利用プロトコル推定装置と、前
記利用プロトコル推定装置の推定に基づいてパケット処
理の分担範囲を各CPU毎に指示するパケット処理分担
指示装置とを有する通信処理装置。4. In a communication processing device that processes packets in parallel by a plurality of CPUs, a sender/receiver monitoring device that checks and determines the sender and receiver of a packet to be processed, and communication used between each sender/receiver. A protocol type monitoring device that monitors protocol types, sender data and recipient data output by the sender/receiver monitoring device, and protocol type information used between each sender/receiver output by the protocol type monitoring device. a sender-receiver protocol type statistics processing device that calculates statistics on the packet types of all or some of the packets processed up to that point and the sender and receiver of the packets based on the above information; a sender-receiver protocol type statistical data storage device that accumulates sender-receiver protocol type statistical data outputted by the sender-receiver protocol type statistical data storage device; A usage protocol estimating device that estimates which protocol will be used in the next communication between a specific sender and receiver, and a range of packet processing assigned to each CPU based on the estimation of the usage protocol estimating device. A communication processing device having a packet processing allocation instruction device for instructing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3118291A JPH04345245A (en) | 1991-05-23 | 1991-05-23 | Communication processing unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3118291A JPH04345245A (en) | 1991-05-23 | 1991-05-23 | Communication processing unit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04345245A true JPH04345245A (en) | 1992-12-01 |
Family
ID=14733043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3118291A Pending JPH04345245A (en) | 1991-05-23 | 1991-05-23 | Communication processing unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04345245A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065776A (en) * | 2004-08-30 | 2006-03-09 | Hitachi Kokusai Electric Inc | Software radio equipment |
US7319885B2 (en) | 2002-03-22 | 2008-01-15 | Kabushiki Kaisha Toshiba | Radio communication apparatus and method |
-
1991
- 1991-05-23 JP JP3118291A patent/JPH04345245A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7319885B2 (en) | 2002-03-22 | 2008-01-15 | Kabushiki Kaisha Toshiba | Radio communication apparatus and method |
JP2006065776A (en) * | 2004-08-30 | 2006-03-09 | Hitachi Kokusai Electric Inc | Software radio equipment |
JP4643205B2 (en) * | 2004-08-30 | 2011-03-02 | 株式会社日立国際電気 | Software defined radio |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11546644B2 (en) | Bandwidth control method and apparatus, and device | |
US7519067B2 (en) | Method, system, and computer product for controlling input message priority | |
EP2613479A1 (en) | Relay device | |
US9197566B2 (en) | Information processing method, recording medium, and information processing apparatus | |
US11620227B2 (en) | Data processing method, network interface card, and server | |
JP7487316B2 (en) | Service level configuration method and apparatus | |
US8532102B2 (en) | Simple fairness protocols for daisy chain interconnects | |
EP1554644A2 (en) | Method and system for tcp/ip using generic buffers for non-posting tcp applications | |
CN115858160B (en) | Remote direct memory access virtualized resource allocation method and device and storage medium | |
CN109104742A (en) | Congestion window method of adjustment and sending device | |
US6973503B2 (en) | Preventing at least in part control processors from being overloaded | |
US8885673B2 (en) | Interleaving data packets in a packet-based communication system | |
US7245615B1 (en) | Multi-link protocol reassembly assist in a parallel 1-D systolic array system | |
CN115955447B (en) | Data transmission method, switch and switch system | |
US6425067B1 (en) | Systems and methods for implementing pointer management | |
US6657959B1 (en) | Systems and methods for implementing ABR with guaranteed MCR | |
JPH04345245A (en) | Communication processing unit | |
CN109787922B (en) | Method and device for acquiring queue length and computer readable storage medium | |
KR102082484B1 (en) | Apparatus for transmitting and receiving data | |
KR100429543B1 (en) | Method for processing variable number of ports in network processor | |
US20040249933A1 (en) | Network interface parameters | |
CN112688985B (en) | Communication method and device | |
CN114070776B (en) | Improved time-sensitive network data transmission method, device and equipment | |
KR102082486B1 (en) | Method for transmitting and receiving data | |
US20230112747A1 (en) | Method for allocating resource for storing visualization information, apparatus, and system |