JP6836087B1 - Information processing systems, platforms, and programs - Google Patents

Information processing systems, platforms, and programs Download PDF

Info

Publication number
JP6836087B1
JP6836087B1 JP2019227674A JP2019227674A JP6836087B1 JP 6836087 B1 JP6836087 B1 JP 6836087B1 JP 2019227674 A JP2019227674 A JP 2019227674A JP 2019227674 A JP2019227674 A JP 2019227674A JP 6836087 B1 JP6836087 B1 JP 6836087B1
Authority
JP
Japan
Prior art keywords
platform
data
transmission buffer
platforms
reception
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.)
Active
Application number
JP2019227674A
Other languages
Japanese (ja)
Other versions
JP2021096659A (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.)
Fujitsu Client Computing Ltd
Original Assignee
Fujitsu Client Computing Ltd
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
Application filed by Fujitsu Client Computing Ltd filed Critical Fujitsu Client Computing Ltd
Priority to JP2019227674A priority Critical patent/JP6836087B1/en
Priority to GBGB2014862.3A priority patent/GB202014862D0/en
Application granted granted Critical
Publication of JP6836087B1 publication Critical patent/JP6836087B1/en
Publication of JP2021096659A publication Critical patent/JP2021096659A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】送信用バッファの解放に起因する通信速度の低下を抑制する。【解決手段】本開示の第1態様にかかる情報処理システムは、複数のプラットフォームと、中継装置と、を備える。第1プラットフォームは、第1ブリッジドライバを備える。第1ブリッジドライバは、第2プラットフォームへのデータの送信要求に応じて、第1プラットフォームの送信用バッファにデータを書き込むとともに中継装置に第2プラットフォームへのデータの転送を実行させ、第2プラットフォームに対してデータの受信要求を送信する。第1ブリッジドライバは、送信用バッファにデータを書き込むごとに、送信用バッファのうちのデータが書き込まれた領域を上書き不可能なロック領域に設定し、書き込まれたデータの送受信が完了しており、かつ第2ブリッジドライバからの受信完了通知が複数回受信された場合に、ロック領域を上書き可能なアンロック領域に設定する。【選択図】図6PROBLEM TO BE SOLVED: To suppress a decrease in communication speed due to release of a transmission buffer. An information processing system according to a first aspect of the present disclosure includes a plurality of platforms and a relay device. The first platform comprises a first bridge driver. The first bridge driver writes data to the transmission buffer of the first platform and causes the relay device to transfer the data to the second platform in response to the data transmission request to the second platform, and causes the second platform to transfer the data. In response to this, a data reception request is sent. Each time the first bridge driver writes data to the transmission buffer, the area in which the data is written in the transmission buffer is set as a lock area that cannot be overwritten, and transmission / reception of the written data is completed. In addition, when the reception completion notification from the second bridge driver is received a plurality of times, the lock area is set to an unlockable area that can be overwritten. [Selection diagram] Fig. 6

Description

本開示は、情報処理システム、プラットフォーム、およびプログラムに関する。 This disclosure relates to information processing systems, platforms, and programs.

複数のプロセッサ(プラットフォーム)と、当該複数のプロセッサを通信可能に接続するバスを有する中継装置と、を備えた情報処理システムが知られている。このような情報処理システムでは、プロセッサ間におけるデータの送受信が、いずれかの装置の送信用バッファを介して行われることが一般的である。 An information processing system including a plurality of processors (platforms) and a relay device having a bus for communicably connecting the plurality of processors is known. In such an information processing system, data transmission / reception between processors is generally performed via a transmission buffer of any device.

特開2008−041027号公報Japanese Unexamined Patent Publication No. 2008-041027

ところで、上記のような送信用バッファを介したプロセッサ(プラットフォーム)間でのデータの送受信においては、送受信が完了するまで、送信用バッファのうちのデータが書き込まれた領域を上書き不可能なロック領域に設定することが一般的である。この場合、書き込まれたデータの送受信が完了された時点で、ロック領域が上書き可能なアンロック領域に変更される、すなわち送信用バッファが解放されることが一般的である。 By the way, in the transmission / reception of data between processors (platforms) via the transmission buffer as described above, a lock area in which the data is written in the transmission buffer cannot be overwritten until the transmission / reception is completed. It is common to set to. In this case, when the transmission / reception of the written data is completed, the lock area is generally changed to an overwriteable unlock area, that is, the transmission buffer is generally released.

しかしながら、プロセッサ(プラットフォーム)間での通信が頻繁に発生する場合、データの送受信が1回完了するごとに、書き込まれたデータの送受信が完了した送信用バッファの解放を実行すると、通信の方に割かれるリソースが低減するので、通信速度の低下につながりやすい。 However, when communication between processors (platforms) occurs frequently, if the transmission buffer for which the transmission / reception of written data is completed is released every time the transmission / reception of data is completed, the communication becomes better. Since the resources allocated are reduced, it tends to lead to a decrease in communication speed.

本開示の第1態様にかかる情報処理システムは、複数のプラットフォームと、中継装置と、を備える。中継装置は、拡張バスを介して複数のプラットフォームを通信可能に接続する。複数のプラットフォームのうちの第1プラットフォームは、第1ブリッジドライバを備える。第1ブリッジドライバは、複数のプラットフォームのうちの第1プラットフォームとは異なる第2プラットフォームへのデータの送信要求に応じて、第1プラットフォームの送信用バッファにデータを書き込、第2プラットフォームに対してデータの受信要求を送信する。第2プラットフォームは、第2ブリッジドライバを備える。第2ブリッジドライバは、第1ブリッジドライバにより送信された受信要求に応じて、中継装置を介して送信用バッファから第2プラットフォームの所定の記憶領域に転送されたデータを取得し、第1プラットフォームに対してデータの受信完了通知を送信する。第1ブリッジドライバは、送信用バッファにデータを書き込むごとに、送信用バッファのうちのデータが書き込まれた領域を上書き不可能なロック領域に設定し、書き込まれたデータの送受信が完了しており、かつ第2ブリッジドライバからの受信完了通知が2以上の所定の回数受信された場合に、当該所定の回数の受信完了通知に対応するロック領域を上書き可能なアンロック領域に設定する。 The information processing system according to the first aspect of the present disclosure includes a plurality of platforms and a relay device. The relay device connects a plurality of platforms in a communicable manner via an expansion bus. The first platform of the plurality of platforms includes a first bridge driver. First bridge driver, the first platform of the plurality of platforms in response to a transmission request of data to the different second platform, writes the data to the transmission buffer of the first platform, to the second platform And send a data reception request. The second platform includes a second bridge driver. The second bridge driver acquires the data transferred from the transmission buffer to the predetermined storage area of the second platform via the relay device in response to the reception request transmitted by the first bridge driver, and transfers the data to the first platform. In response, a data reception completion notification is sent. Each time the first bridge driver writes data to the transmission buffer, the area in which the data is written in the transmission buffer is set as a lock area that cannot be overwritten, and transmission / reception of the written data is completed. In addition, when the reception completion notification from the second bridge driver is received two or more predetermined times, the lock area corresponding to the reception completion notification of the predetermined number of times is set as an overwriteable unlock area.

本開示の第2態様にかかるプラットフォームは、中継装置により拡張バスを介して通信可能に接続された複数のプラットフォームに含まれる。プラットフォームは、ブリッジドライバを備える。ブリッジドライバは、複数のプラットフォームのうちのプラットフォームとは異なる他のプラットフォームへのデータの送信要求に応じて、プラットフォームの送信用バッファにデータを書き込、他のプラットフォームに対してデータの受信要求を送信する。ブリッジドライバは、送信用バッファにデータを書き込むごとに、送信用バッファのうちのデータが書き込まれた領域を上書き不可能なロック領域に設定し、書き込まれたデータの送受信が完了しており、かつ受信要求に応じて中継装置を介して送信用バッファからプラットフォームの所定の記憶領域に転送されたデータを他のプラットフォームが取得することにより他のプラットフォームからプラットフォームに送信される受信完了通知が2以上の所定の回数受信された場合に、当該所定の回数の受信完了通知に対応するロック領域を上書き可能なアンロック領域に設定する。 The platform according to the second aspect of the present disclosure is included in a plurality of platforms communicably connected via an expansion bus by a relay device. The platform includes a bridge driver. Bridge driver, the platform of the plurality of platforms in response to the transmission request of the data to different other platforms, writes the data to the transmission buffer of the platform, the received data to other platforms Send the request. Each time the bridge driver writes data to the transmission buffer, the data-written area of the transmission buffer is set as a non-overwritable lock area, and the transmission / reception of the written data is completed. , reception completion notification transmitted from other platforms to the platform by a predetermined the data transferred to the storage area of the other platforms platforms from the transmission buffer via the relay apparatus acquires in response to the received request is 2 When the above predetermined number of times of reception is received, the lock area corresponding to the reception completion notification of the predetermined number of times is set as an overwriteable unlock area.

本開示の第3態様にかかるプログラムは、中継装置により拡張バスを介して通信可能に接続された複数のプラットフォームに含まれるプラットフォームとしてのコンピュータに、複数のプラットフォームのうちのプラットフォームとは異なる他のプラットフォームへのデータの送信要求に応じて、プラットフォームの送信用バッファにデータを書き込、他のプラットフォームに対してデータの受信要求を送信することと、送信用バッファにデータを書き込むごとに、送信用バッファのうちのデータが書き込まれた領域を上書き不可能なロック領域に設定し、書き込まれたデータの送受信が完了しており、かつ受信要求に応じて中継装置を介して送信用バッファから他のプラットフォームの所定の記憶領域に転送されたデータを他のプラットフォームが取得することにより他のプラットフォームからプラットフォームに送信される受信完了通知が2以上の所定の回数受信された場合に、当該所定の回数の受信完了通知に対応するロック領域を上書き可能なアンロック領域に設定することと、を実行させるためのプログラムである。 The program according to the third aspect of the present disclosure is a computer as a platform included in a plurality of platforms connected by a relay device so as to be communicable via an extension bus, and another platform different from the platform among the plurality of platforms. in response to the transmission request of the data to, write the data to the transmission buffer of the platform, and transmitting the received request data to other platforms, each time data is written to the transmit buffer, set override non locking region data is written region in the transmission buffer, and transmitting and receiving of the written data is completed, and, for transmission via the relay device in response to receiving request when the reception completion notification transmitted from other platforms the platform is received more than a predetermined number of times by the data transferred from the buffer in a predetermined storage area of the other platforms other platforms acquires, the This is a program for setting a lock area corresponding to a predetermined number of reception completion notifications to an overwriteable unlock area and executing the operation.

本開示の情報処理システム、プラットフォーム、およびプログラムによれば、送信用バッファの解放に起因する通信速度の低下を抑制することができる。 According to the information processing system, platform, and program of the present disclosure, it is possible to suppress a decrease in communication speed due to the release of the transmission buffer.

図1は、実施形態にかかる情報処理システムの全体構成を示した例示的かつ模式的なブロック図である。FIG. 1 is an exemplary and schematic block diagram showing the overall configuration of the information processing system according to the embodiment. 図2は、実施形態にかかる情報処理システムのプラットフォームおよび中継装置にハードウェア構成を例示的かつ模式的なブロック図である。FIG. 2 is an exemplary and schematic block diagram of a hardware configuration for the platform and relay device of the information processing system according to the embodiment. 図3は、実施形態にかかるプラットフォームのソフトウェア構成を示した例示的かつ模式的なブロック図である。FIG. 3 is an exemplary and schematic block diagram showing the software configuration of the platform according to the embodiment. 図4は、実施形態にかかる情報処理システムが実行する通信処理を説明するための例示的かつ模式的な図である。FIG. 4 is an exemplary and schematic diagram for explaining the communication processing executed by the information processing system according to the embodiment. 図5は、実施形態にかかる送信用バッファを介したデータの送受信を説明するための例示的かつ模式的な図である。FIG. 5 is an exemplary and schematic diagram for explaining the transmission and reception of data via the transmission buffer according to the embodiment. 図6は、実施形態にかかるプラットフォーム間でのデータの送受信時に実行される処理の流れを示した例示的かつ模式的なシーケンス図である。FIG. 6 is an exemplary and schematic sequence diagram showing a flow of processing executed when data is transmitted and received between platforms according to the embodiment.

以下、本開示の実施形態および変形例を図面に基づいて説明する。以下に記載する実施形態および変形例の構成、ならびに当該構成によってもたらされる作用および効果は、あくまで一例であって、以下の記載内容に限られるものではない。 Hereinafter, embodiments and modifications of the present disclosure will be described with reference to the drawings. The configurations of the embodiments and modifications described below, and the actions and effects brought about by the configurations are merely examples, and are not limited to the contents described below.

<実施形態>
図1は、実施形態にかかる情報処理システム1の全体構成を示した例示的かつ模式的なブロック図である。
<Embodiment>
FIG. 1 is an exemplary and schematic block diagram showing the overall configuration of the information processing system 1 according to the embodiment.

図1に示されるように、実施形態にかかる情報処理システム1は、複数のプラットフォーム10−1〜10−8、および中継装置30を備えている。プラットフォーム10−1〜10−8は、たとえば中継装置30が設けられたボード上の複数のスロットに挿入されている。これにより、プラットフォーム10−1〜10−8は、中継装置30を介して互いに通信可能に接続されている。 As shown in FIG. 1, the information processing system 1 according to the embodiment includes a plurality of platforms 10-1 to 10-8, and a relay device 30. Platforms 10-1 to 10-8 are inserted into a plurality of slots on a board provided with, for example, a relay device 30. As a result, the platforms 10-1 to 10-8 are communicably connected to each other via the relay device 30.

なお、以下では、互いに区別する必要が無い場合、複数のプラットフォーム10−1〜10−8のうちの任意のプラットフォームを、単にプラットフォーム10と記載することがある。また、図1には、情報処理システム1が8個のプラットフォーム10を備える構成が例示されているが、実施形態において、プラットフォーム10の個数は、複数であれば、8個以外であってもよい。 In the following, when it is not necessary to distinguish from each other, any platform among the plurality of platforms 10-1 to 10-8 may be simply referred to as platform 10. Further, FIG. 1 illustrates a configuration in which the information processing system 1 includes eight platforms 10, but in the embodiment, the number of platforms 10 may be other than eight as long as it is plural. ..

また、以下では、プラットフォーム10と中継装置30との間の通信がPCIe(Peripheral Component Interconnect-Express)(登録商標)に基づく通信規格に従って実行される場合について説明するが、実施形態では、PCIe(登録商標)以外の通信規格に従った通信が実行されてもよい。 Further, in the following, a case where communication between the platform 10 and the relay device 30 is executed according to a communication standard based on PCIe (Peripheral Component Interconnect-Express) (registered trademark) will be described, but in the embodiment, PCIe (registration) will be described. Communication according to a communication standard other than (trademark) may be executed.

プラットフォーム10−1〜2−8は、情報処理システム1の制御部およびGUI(Graphical User Interface)として機能するホスト装置と、AI(Artificial Intelligence)推論処理および画像処理などを実行する演算装置と、を含んでいる。以下では、一例として、プラットフォーム10−1がホスト装置として機能し、プラットフォーム10−2〜10−8が演算装置として機能するものとする。なお、演算装置としてのプラットフォーム10−2〜10−8は、それぞれが異なる機能を有していてもよいし、少なくとも一部が共通する機能を有していてもよい。 Platforms 10-1 to 2-8 include a host device that functions as a control unit and GUI (Graphical User Interface) of the information processing system 1, and an arithmetic unit that executes AI (Artificial Intelligence) inference processing and image processing. Includes. In the following, as an example, it is assumed that the platform 10-1 functions as a host device and the platforms 10-2 to 10-8 function as an arithmetic unit. The platforms 10-2 to 10-8 as arithmetic units may have different functions, or at least a part of them may have a common function.

プラットフォーム10−1〜2−8は、それぞれ、ルートコンプレックス11−1〜11−8を備えており、中継装置30は、ルートコンプレックス11−1〜11−8にそれぞれ対応したエンドポイント31−1〜31−8を備えている。以下では、互いに区別する必要が無い場合、ルートコンプレックス11−1〜11−8のうちの任意のルートコンプレックスを単にルートコンプレックス11と記載し、エンドポイント31−1〜31−8のうちの任意のエンドポイントを単にエンドポイント31と記載することがある。 Platforms 10-1 to 2-8 are respectively provided with a route complex 11-1 to 11-8, and the relay device 30 is an endpoint 31-1 to corresponding to the route complex 11-1 to 11-8, respectively. It is equipped with 31-8. In the following, if it is not necessary to distinguish from each other, any root complex among the root complexes 11-11 to 11-8 is simply referred to as a root complex 11, and any of the endpoints 31-1 to 1-18. The endpoint may simply be referred to as endpoint 31.

なお、図1には、プラットフォーム10とルートコンプレックス11とが1対1で対応している構成が例示されているが、実施形態では、プラットフォーム10とルートコンプレックス11とが必ずしも1対1で対応している必要はない。たとえば、実施形態では、1つのプラットフォーム10が2個以上のルートコンプレックス11を備えていてもよい。 Note that FIG. 1 illustrates a configuration in which the platform 10 and the root complex 11 have a one-to-one correspondence, but in the embodiment, the platform 10 and the root complex 11 always have a one-to-one correspondence. It doesn't have to be. For example, in an embodiment, one platform 10 may include two or more root complexes 11.

上述したプラットフォーム10および中継装置30は、次の図2に示されるようなハードウェア構成を有している。 The platform 10 and the relay device 30 described above have a hardware configuration as shown in FIG. 2 below.

図2は、実施形態にかかる情報処理システム1のプラットフォーム10および中継装置30のハードウェア構成を示した例示的かつ模式的なブロック図である。 FIG. 2 is an exemplary and schematic block diagram showing the hardware configuration of the platform 10 and the relay device 30 of the information processing system 1 according to the embodiment.

まず、プラットフォーム10のハードウェア構成について説明する。 First, the hardware configuration of the platform 10 will be described.

図2に示されるように、プラットフォーム10−1は、ルートコンプレックス11−1と、プロセッサ12−1と、メモリ13−1と、記憶部14−1と、を備えている。これらのハードウェア(回路:circuitry)は、バス(不図示)を介して通信可能に接続されている。 As shown in FIG. 2, platform 10-1 includes a root complex 11-1, a processor 12-1, a memory 13-1, and a storage unit 14-1. These hardwares (circuits) are communicably connected via buses (not shown).

また、他のプラットフォーム10−2〜10−8も、プラットフォーム10−1と同様のハードウェア構成を備えている。すなわち、プラットフォーム10−2〜10−8は、それぞれ、ルートコンプレックス11−2〜11−8と、プロセッサ12−2〜12−8と、メモリ13−2〜13−8と、記憶部14−2〜14−8と、を備えている。 Further, the other platforms 10-2 to 10-8 also have the same hardware configuration as the platform 10-1. That is, the platforms 10-2 to 10-8 have a root complex 11-2 to 11-8, a processor 12-2 to 12-8, a memory 13-2 to 13-8, and a storage unit 14-2, respectively. It is equipped with ~ 14-8.

以下では、互いに区別する必要が無い場合、プロセッサ12−1〜12−8のうちの任意のプロセッサを単にプロセッサ12と記載し、メモリ13−1〜13−8のうちの任意のメモリを単にメモリ13と記載し、記憶部14−1〜14−8のうちの任意の記憶部を単に記憶部14と記載することがある。 In the following, if it is not necessary to distinguish from each other, any processor among processors 12-1 to 12-8 is simply referred to as processor 12, and any memory among memories 13-1 to 13-8 is simply memory. It may be described as 13, and any storage unit among the storage units 14-1 to 14-8 may be simply described as the storage unit 14.

ルートコンプレックス11は、対応するエンドポイント31との通信を実行する。実施形態において、ルートコンプレックス11とエンドポイント31とは、たとえば通信規格の一つとしてのPCIe(Peripheral Component Interconnect Express)(登録商標)に従って通信を実行する。ただし、プラットフォーム10と中継装置30とは、PCIe(登録商標)以外の他の通信規格に従って通信を実行してもよい。 The route complex 11 executes communication with the corresponding endpoint 31. In the embodiment, the root complex 11 and the endpoint 31 perform communication according to, for example, PCIe (Peripheral Component Interconnect Express) (registered trademark) as one of the communication standards. However, the platform 10 and the relay device 30 may execute communication according to a communication standard other than PCIe (registered trademark).

プロセッサ12は、プラットフォーム10の各部の制御を司る。プロセッサ12は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、またはFPGA(Field Programmable Gate Array)などにより構成される。プロセッサ12は、マルチコアプロセッサとして構成されていてもよいし、2以上のプロセッサの組合せとして構成されていてもよい。 The processor 12 controls each part of the platform 10. The processor 12 includes, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), an FPGA (Field Programmable Gate Array), or the like. Consists of. The processor 12 may be configured as a multi-core processor or may be configured as a combination of two or more processors.

メモリ13は、プロセッサ12による制御に必要なデータおよびプロセッサ12による制御の結果として生成されるデータなどを記憶する。メモリ13は、たとえばROM(Read Only Memory)およびRAM(Random Access Memory)などにより構成される。ROMは、たとえばプロセッサ12が実行する各種のソフトウェア(コンピュータプログラム)や当該ソフトウェア用のデータを記憶し、RAMは、ROMに記憶されるソフトウェアを実行するための作業領域をプロセッサ12に提供する。 The memory 13 stores data required for control by the processor 12, data generated as a result of control by the processor 12, and the like. The memory 13 is composed of, for example, a ROM (Read Only Memory) and a RAM (Random Access Memory). The ROM stores, for example, various software (computer programs) executed by the processor 12 and data for the software, and the RAM provides the processor 12 with a work area for executing the software stored in the ROM.

記憶部14は、たとえばプロセッサ12が実行する各種のソフトウェア(コンピュータプログラム)および他のプラットフォーム10との間で送受信するデータなどを含む各種のデータを(不揮発的に)記憶する。記憶部14は、たとえばHDD(Hard Disk Drive)、SSD(Solid State Drive)、およびSCM(Storage Class Memory)などにより構成される。 The storage unit 14 (nonvolatilely) stores various data including various software (computer programs) executed by the processor 12 and data transmitted / received to / from another platform 10. The storage unit 14 is composed of, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), an SCM (Storage Class Memory), or the like.

プラットフォーム10は、メモリ13または記憶部14に格納されたコンピュータプログラムをプロセッサ12により実行することで、AI推論処理または画像処理を実行するための各種の機能を実現する。 The platform 10 realizes various functions for executing AI inference processing or image processing by executing a computer program stored in the memory 13 or the storage unit 14 by the processor 12.

なお、上記のコンピュータプログラムは、必ずしもメモリ13または記憶部14に記憶されている必要はない。たとえば、上記のコンピュータプログラムは、フレキシブルディスク(FD)のような各種の磁気ディスク、またはDVD(Digital Versatile Disk)のような各種の光ディスクなどといった、コンピュータで読み取り可能な記録媒体にインストール可能な形式または実行可能な形式で記録されたコンピュータプログラムプロダクトとして提供されてもよい。 The above computer program does not necessarily have to be stored in the memory 13 or the storage unit 14. For example, the computer programs described above may be in a format that can be installed on computer-readable recording media, such as various magnetic disks such as flexible disks (FDs) or various optical disks such as DVDs (Digital Versatile Disks). It may be provided as a computer program product recorded in an executable format.

また、上記のコンピュータプログラムは、インターネットなどのネットワーク経由で提供または配布されてもよい。すなわち、上記のコンピュータプログラムは、は、インターネットなどのネットワークに接続されたコンピュータ上に格納された状態で、当該コンピュータからネットワーク経由でダウンロードする、といった形で提供されてもよい。 In addition, the above computer program may be provided or distributed via a network such as the Internet. That is, the above computer program may be provided in the form of being stored on a computer connected to a network such as the Internet and being downloaded from the computer via the network.

次に、プラットフォーム10間の通信を中継する中継装置30のハードウェア構成について説明する。 Next, the hardware configuration of the relay device 30 that relays the communication between the platforms 10 will be described.

図2に示されるように、中継装置30は、エンドポイント31と、プロセッサ32と、メモリ33と、記憶部34と、内部バス35と、拡張バス36と、を備えている。 As shown in FIG. 2, the relay device 30 includes an endpoint 31, a processor 32, a memory 33, a storage unit 34, an internal bus 35, and an expansion bus 36.

エンドポイント31は、プラットフォーム10に対応するように設けられる。エンドポイント31は、拡張バス36を介して、プラットフォーム10のうちの第1プラットフォームから当該第1プラットフォームとは異なる第2プラットフォームへのデータの送信(転送)を実行する。 The endpoint 31 is provided to correspond to the platform 10. The endpoint 31 executes data transmission (transfer) from the first platform of the platform 10 to a second platform different from the first platform via the expansion bus 36.

たとえば、ルートコンプレックス11−5がDMA(Direct Memory Access)転送によりプラットフォーム10−1にデータを送信すると、中継装置30は、ルートコンプレックス11−5に対応したエンドポイント31−1から拡張バス36を介してデータを受信し、受信したデータをプラットフォーム10−1に転送する。 For example, when the route complex 11-5 transmits data to the platform 10-1 by DMA (Direct Memory Access) transfer, the relay device 30 starts from the endpoint 31-1 corresponding to the route complex 11-5 via the expansion bus 36. Data is received and the received data is transferred to the platform 10-1.

プロセッサ32は、中継装置30の各部を制御する。プロセッサ32は、プロセッサ12は、たとえばCPU、MPU、DSP、ASIC、PLD、またはFPGAなどにより構成される。プロセッサ12は、マルチコアプロセッサとして構成されていてもよいし、2以上のプロセッサの組合せとして構成されていてもよい。 The processor 32 controls each part of the relay device 30. The processor 32 includes, for example, a CPU, an MPU, a DSP, an ASIC, a PLD, an FPGA, or the like. The processor 12 may be configured as a multi-core processor or may be configured as a combination of two or more processors.

メモリ33は、プロセッサ32による制御に必要なデータおよびプロセッサ32による制御の結果として生成されるデータなどを記憶する。メモリ33は、たとえばROMおよびRAMなどにより構成される。 The memory 33 stores data required for control by the processor 32, data generated as a result of control by the processor 32, and the like. The memory 33 is composed of, for example, a ROM and a RAM.

記憶部34は、各種のデータを(不揮発的に)記憶する。記憶部34は、たとえばHDD、SSD、およびSCMなどにより構成される。 The storage unit 34 stores various data (nonvolatilely). The storage unit 34 is composed of, for example, an HDD, an SSD, an SCM, or the like.

中継装置30は、メモリ33または記憶部34に格納されたコンピュータプログラムをプロセッサ32により実行することで、プラットフォーム10間の通信を中継するための各種の機能を実現する。 The relay device 30 realizes various functions for relaying communication between the platforms 10 by executing a computer program stored in the memory 33 or the storage unit 34 by the processor 32.

内部バス35は、プロセッサ32、メモリ33、記憶部34、および拡張バス36を通信可能に接続する。 The internal bus 35 communicatively connects the processor 32, the memory 33, the storage unit 34, and the expansion bus 36.

拡張バス36は、複数のエンドポイント31、および内部バス35を通信可能に接続する。これにより、拡張バス36は、複数のエンドポイント31間でのデータの転送、すなわちプラットフォーム10間でのデータの転送が可能になる。なお、拡張バス36は、例えばPCIe(登録商標)に準拠したバスである。 The expansion bus 36 connects a plurality of endpoints 31 and the internal bus 35 in a communicable manner. As a result, the expansion bus 36 enables data transfer between a plurality of endpoints 31, that is, data transfer between platforms 10. The expansion bus 36 is, for example, a bus compliant with PCIe (registered trademark).

以上のようなハードウェア構成に基づき、実施形態にかかるプラットフォーム10は、次の図3に示されるようなソフトウェア構成を実現する。 Based on the hardware configuration as described above, the platform 10 according to the embodiment realizes the software configuration as shown in FIG. 3 below.

図3は、実施形態にかかるプラットフォーム10のソフトウェア構成を示した例示的かつ模式的な図である。 FIG. 3 is an exemplary and schematic diagram showing the software configuration of the platform 10 according to the embodiment.

図2に示されるように、ホスト装置としてのプラットフォーム10−1は、BIOS(Basic Input Output System)202と、OS(Operating System)203と、ドライバ204と、サービス205と、仮想LAN(Local Area Network)ドライバ206と、分散制御部207と、共通ソフトウェア208と、を実現する。これらのソフトウェア構成に基づき、プラットフォーム10−1は、アプリケーション209を実行し、プラットフォーム10−1に備えられたハードウェア資源としてのPC(Personal Computer)プラットフォーム1001を制御する。 As shown in FIG. 2, the platform 10-1 as a host device includes a BIOS (Basic Input Output System) 202, an OS (Operating System) 203, a driver 204, a service 205, and a virtual LAN (Local Area Network). ) The driver 206, the distributed control unit 207, and the common software 208 are realized. Based on these software configurations, platform 10-1 executes application 209 and controls a PC (Personal Computer) platform 1001 as a hardware resource provided in platform 10-1.

BIOS202は、プラットフォーム10−1の起動時におけるOS203の読み込み、およびプラットフォーム10−1に対する基本的な入出力制御などを実行する。OS203は、たとえばWindows(登録商標)であるが、他のOSであってもよい。 The BIOS 202 reads the OS 203 when the platform 10-1 is started, and executes basic input / output control for the platform 10-1. OS203 is, for example, Windows (registered trademark), but may be another OS.

OS203は、上記の拡張バスを制御するためのブリッジドライバ204Aを含む各種のドライバ204を読み込むことで、プラットフォーム10−1のルートコンプレックス11−1にアクセスし、他のプラットフォーム10との間で通信を実行する。また、OS203は、様々な制御を行うためのサービス205を読み込むことで、様々な処理を実行する。 OS203 accesses the route complex 11-1 of platform 10-1 by reading various drivers 204 including the bridge driver 204A for controlling the expansion bus, and communicates with other platforms 10. Execute. Further, the OS 203 executes various processes by reading the service 205 for performing various controls.

仮想LANドライバ206および分散制御部207は、ドライバ204およびサービス205の上層に実現されている。そして、共通ソフトウェア208は、仮想LANドライバ206および分散制御部207の上層でかつアプリケーション209の下層に実現されている。これにより、アプリケーション209は、共通ソフトウェア208を介して仮想LANドライバ206にアクセスすることで、他のプラットフォーム10が仮想的なLAN上に存在するものとみなして、他のプラットフォーム10との間で通信を実行する。 The virtual LAN driver 206 and the distributed control unit 207 are realized in the upper layers of the driver 204 and the service 205. The common software 208 is realized in the upper layer of the virtual LAN driver 206 and the distributed control unit 207 and in the lower layer of the application 209. As a result, the application 209 accesses the virtual LAN driver 206 via the common software 208, assuming that the other platform 10 exists on the virtual LAN, and communicates with the other platform 10. To execute.

一方、演算装置としてのプラットフォーム10−2および10−3は、Bootloader212と、OS213と、ドライバ214と、仮想LANドライバ215と、分散制御部216と、共通ソフトウェア217と、を実現する。これらのソフトウェア構成に基づき、プラットフォーム10−2および10−3は、それぞれ、分散処理Aおよび分散処理Bを実行し、プラットフォーム10−2および10−3に備えられたハードウェア資源としてのハードウェアプラットフォーム1011を制御する。 On the other hand, platforms 10-2 and 10-3 as arithmetic units realize Bootloader 212, OS 213, driver 214, virtual LAN driver 215, distributed control unit 216, and common software 217. Based on these software configurations, platforms 10-2 and 10-3 execute distributed processing A and distributed processing B, respectively, and are hardware platforms as hardware resources provided in platforms 10-2 and 10-3, respectively. Control 1011.

なお、図3では、簡単化のため、プラットフォーム10−2および10−3のソフトウェア構成についてのみ図示されているが、実施形態では、演算装置としての他のプラットフォーム10−4〜10−8も、プラットフォーム10−2および10−3と同様のソフトウェア構成を実現しうる。 In FIG. 3, for simplification, only the software configurations of platforms 10-2 and 10-3 are shown, but in the embodiment, other platforms 10-4 to 10-8 as arithmetic units are also shown. Software configurations similar to platforms 10-2 and 10-3 can be achieved.

Bootloader212は、対応するプラットフォーム10の電源投入時に起動し、OS213を起動させる。OS203は、たとえばLinux(登録商標)であるが、他のOSであってもよい。 The Bootloader 212 is started when the power of the corresponding platform 10 is turned on, and the OS 213 is started. OS203 is, for example, Linux®, but may be another OS.

OS213は、上記の拡張バスを制御するためのブリッジドライバ214Aを含む各種のドライバ214を読み込むことで、対応するルートコンプレックス11にアクセスし、他のプラットフォーム10との間との間で通信を実行する。 OS 213 accesses the corresponding route complex 11 by reading various drivers 214 including the bridge driver 214A for controlling the expansion bus, and executes communication with other platforms 10. ..

仮想LANドライバ215および分散制御部216は、ドライバ214の上層に実現されている。そして、共通ソフトウェア217は、仮想LANドライバ215および分散制御部216の上層でかつ対応する分散処理の下層に実現されている。これにより、分散処理A、分散処理Bは、共通ソフトウェア217を介して仮想LANドライバ215にアクセスすることで、他のプラットフォーム10が仮想的なLAN上に存在するものとみなして、他のプラットフォーム10との間で通信を実行する。 The virtual LAN driver 215 and the distributed control unit 216 are realized on the upper layer of the driver 214. The common software 217 is realized in the upper layer of the virtual LAN driver 215 and the distributed control unit 216 and in the lower layer of the corresponding distributed processing. As a result, the distributed processing A and the distributed processing B access the virtual LAN driver 215 via the common software 217, assuming that the other platform 10 exists on the virtual LAN, and the other platform 10 Execute communication with.

以上のソフトウェア構成に基づき、実施形態にかかる情報処理システム1は、プラットフォーム10間での通信の際に、次の図4に示されるような通信処理を実行する。図4には、ホスト装置としてのプラットフォーム10−1と演算装置としてのプラットフォーム10−5との間の通信処理が例示されているが、他のプラットフォーム10間の通信処理も同様に実行されうる。 Based on the above software configuration, the information processing system 1 according to the embodiment executes the communication process as shown in FIG. 4 below when communicating between the platforms 10. Although FIG. 4 illustrates the communication processing between the platform 10-1 as the host device and the platform 10-5 as the arithmetic unit, the communication processing between the other platforms 10 can be executed in the same manner.

図4は、実施形態にかかる情報処理システム1が実行する通信処理を説明するための例示的かつ模式的な図である。 FIG. 4 is an exemplary and schematic diagram for explaining the communication processing executed by the information processing system 1 according to the embodiment.

図4に示されるように、情報処理システム1は、所定の複数の層を含むレイヤー構造を有している。情報処理システム1は、複数の層を介して、プラットフォーム10間での通信を実行する。 As shown in FIG. 4, the information processing system 1 has a layer structure including a plurality of predetermined layers. The information processing system 1 executes communication between the platforms 10 via a plurality of layers.

たとえば、ホスト装置としてのプラットフォーム10−1のソフトウェアが演算装置としてのプラットフォーム10−5へとデータを送信(転送)する場合について説明する。この場合、プラットフォーム10−1のソフトウェアは、プラットフォーム10−1のトランザクション層、データリンク層、および物理層(PHY)を介して、中継装置30の物理層、より具体的にはプラットフォーム10−1が接続されたエンドポイント31−1に対応した物理層にデータを転送する。 For example, a case where the software of the platform 10-1 as a host device transmits (transfers) data to the platform 10-5 as an arithmetic unit will be described. In this case, the software of platform 10-1 is transmitted to the physical layer of the relay device 30, more specifically platform 10-1, via the transaction layer, data link layer, and physical layer (PHY) of platform 10-1. Data is transferred to the physical layer corresponding to the connected endpoint 31-1.

エンドポイント31−1に対応した物理層にデータが転送された場合、中継装置30は、当該データを、データリンク層を介してトランザクション層に受け渡す。そして、中継装置30は、トランザクション層において、プラットフォーム10−5が接続されたエンドポイント31−5にトンネリングによりデータを転送する。そして、中継装置300は、トンネリングにより転送されたデータを、データリンク層およびエンドポイント31−5に対応した物理層を介して、プラットフォーム10−5の物理層に転送する。 When data is transferred to the physical layer corresponding to the endpoint 31-1, the relay device 30 passes the data to the transaction layer via the data link layer. Then, the relay device 30 transfers data by tunneling to the endpoint 31-5 to which the platform 10-5 is connected in the transaction layer. Then, the relay device 300 transfers the data transferred by tunneling to the physical layer of the platform 10-5 via the data link layer and the physical layer corresponding to the endpoint 31-5.

なお、プラットフォーム10−5は、中継装置30から転送されたデータを、物理層、データリンク層、およびトランザクション層を介して、ソフトウェアに受け渡す。 The platform 10-5 passes the data transferred from the relay device 30 to the software via the physical layer, the data link layer, and the transaction layer.

このように、実施形態では、中継装置30のトランザクション層におけるデータのトンネリングにより、プラットフォーム10−1からプラットフォーム10−5へのデータの転送が実現される。また、プラットフォーム10−5からプラットフォーム10−1へのデータの転送は、上記とは逆の順序でデータが各層を移動することで実現される。 As described above, in the embodiment, the data transfer from the platform 10-1 to the platform 10-5 is realized by tunneling the data in the transaction layer of the relay device 30. Further, the transfer of data from the platform 10-5 to the platform 10-1 is realized by moving the data in each layer in the reverse order of the above.

なお、実施形態では、特定のプラットフォーム10に対して他のプラットフォーム10からのデータの転送が集中しない場合、異なる任意の複数組のプラットフォーム10間において並行してデータの転送を実行することも可能である。 In the embodiment, when the transfer of data from another platform 10 is not concentrated on a specific platform 10, it is also possible to execute data transfer in parallel between any plurality of different sets of platforms 10. is there.

すなわち、特定のプラットフォーム10に対して他のプラットフォーム10からの複数の通信が集中する場合、中継装置30は、当該他のプラットフォーム10からの複数の通信をシリアルに処理する。しかしながら、異なるプラットフォーム10同士が通信し、特定のプラットフォーム10に通信が集中しない場合には、中継装置30は、プラットフォーム10間の複数の通信を並行して処理することが可能である。 That is, when a plurality of communications from the other platform 10 are concentrated on the specific platform 10, the relay device 30 serially processes the plurality of communications from the other platform 10. However, when different platforms 10 communicate with each other and communication is not concentrated on a specific platform 10, the relay device 30 can process a plurality of communications between the platforms 10 in parallel.

ここで、実施形態において、プラットフォーム10間でのデータの送受信は、次の図5に示されるような形で、各プラットフォーム10に設けられる送信用バッファ502を介して実行される。なお、図5では、中継装置30の図示が省略されているが、図4を参照して既に説明した通り、プラットフォーム10間におけるDMA(Direct Memory Access)によるデータの送受信は、中継装置30により中継される。 Here, in the embodiment, the transmission / reception of data between the platforms 10 is executed via the transmission buffer 502 provided in each platform 10 in the form shown in FIG. 5 below. Although the relay device 30 is not shown in FIG. 5, as described above with reference to FIG. 4, data transmission / reception by DMA (Direct Memory Access) between the platforms 10 is relayed by the relay device 30. Will be done.

図5は、実施形態にかかる送信用バッファ502を介したデータの送受信を説明するための例示的かつ模式的な図である。 FIG. 5 is an exemplary and schematic diagram for explaining the transmission and reception of data via the transmission buffer 502 according to the embodiment.

図5に示されるように、各プラットフォーム10は、各プラットフォーム10に送信するデータを書き込む記憶領域としての送信用バッファ502を有している。ここでは、プラットフォーム10−1〜10−8がそれぞれ有する送信用バッファ502−1〜502−8を総称して送信用バッファ502と記載している(ただし、図5に図示されているのは送信用バッファ502−1および502−5のみである)。送信用バッファ502は、たとえばメモリ13上に実現される。 As shown in FIG. 5, each platform 10 has a transmission buffer 502 as a storage area for writing data to be transmitted to each platform 10. Here, the transmission buffers 502 to 502-8 of the platforms 10-1 to 10-8 are collectively referred to as the transmission buffer 502 (however, the one shown in FIG. 5 is the transmission buffer 502). Credit buffers 502-1 and 502-5 only). The transmission buffer 502 is realized, for example, on the memory 13.

なお、図5に示される例は、上述した図4に示される例と同様、プラットフォーム10−5からプラットフォーム10−1へとデータが送信される場合を想定している。したがって、以下では、プラットフォーム10−5の送信用バッファ502−5を介したデータの送受信について主に説明する。 Note that the example shown in FIG. 5 assumes a case where data is transmitted from the platform 10-5 to the platform 10-1 as in the example shown in FIG. 4 described above. Therefore, in the following, the transmission and reception of data via the transmission buffer 502-5 of the platform 10-5 will be mainly described.

図5に示される例では、まず、ステップS501において、プラットフォーム10−5のたとえば仮想LANドライバ206は、プラットフォーム10−1へのデータの送信要求を、プラットフォーム10−5の送信用バッファ502−5のうちSlot#0で示される領域に対して発行する。 In the example shown in FIG. 5, first, in step S501, for example, the virtual LAN driver 206 of the platform 10-5 sends a data transmission request to the platform 10-1 to the transmission buffer 502-5 of the platform 10-5. Issued to the area indicated by Slot # 0.

ここで、Slot#0で示される領域とは、プラットフォーム10−1へのデータの送信用の領域である。送信用バッファ502−5は、Slot#0で示されるアドレスレンジの他にも、他のプラットフォーム10へのデータの送信用の複数の領域を有している。 Here, the area represented by Slot # 0 is an area for transmitting data to the platform 10-1. The transmission buffer 502-5 has a plurality of areas for transmitting data to another platform 10 in addition to the address range indicated by Slot # 0.

そして、ステップS502において、プラットフォーム10−5のブリッジドライバ214Aは、上記の送信要求に応じて、Slоt#0で示される領域に、プラットフォーム10−1に送信すべきデータを書き込む。 Then, in step S502, the bridge driver 214A of the platform 10-5 writes the data to be transmitted to the platform 10-1 in the area indicated by Slоt # 0 in response to the above transmission request.

そして、ステップS503において、中継装置30(図5には不図示)は、たとえばEPtoEP(Endpoint to Endpoint)などの処理により、プラットフォーム10−5に対応したエンドポイント31−5とプラットフォーム10−1に対応したエンドポイント31−1とを接続し、プラットフォーム10−5からプラットフォーム10−1へとデータを転送する。 Then, in step S503, the relay device 30 (not shown in FIG. 5) corresponds to the endpoints 31-5 and the platform 10-1 corresponding to the platform 10-5 by processing such as EPtoEP (Endpoint to Endpoint). It connects to the endpoint 31-1 and transfers data from platform 10-5 to platform 10-1.

ところで、プラットフォーム10−5のブリッジドライバ214Aは、上記のステップS502におけるデータの書き込みが終了すると、プラットフォーム10−1に対して中継装置30を介したデータの受信要求を行う。 By the way, when the data writing in the above step S502 is completed, the bridge driver 214A of the platform 10-5 requests the platform 10-1 to receive the data via the relay device 30.

そして、ステップS504において、プラットフォーム10−1のブリッジドライバ204Aは、プラットフォーム10−5からの受信要求に応じて、中継装置30を介してプラットフォーム10−5から転送されたデータを取得し、取得したデータを、メモリ13−1に設けられるバッファを介して記憶部1401に格納する。 Then, in step S504, the bridge driver 204A of the platform 10-1 acquires the data transferred from the platform 10-5 via the relay device 30 in response to the reception request from the platform 10-5, and the acquired data. Is stored in the storage unit 1401 via a buffer provided in the memory 13-1.

このようにして、中継装置30を介したプラットフォーム10−5からプラットフォーム10−1へのデータの送信が実行される。 In this way, data transmission from platform 10-5 to platform 10-1 is executed via the relay device 30.

なお、図5に示されるように、プラットフォーム10−1も、プラットフォーム10−5の送信用バッファ502−5と同様の送信用バッファ502−1が設けられている。プラットフォーム10−1は、送信用バッファ502−1を利用して、他のプラットフォーム10へのデータの送信を実行することが可能である。さらに、図5では図示が省略されているが、他のプラットフォーム10も、同様の送信用バッファ502を有している。したがって、実施形態では、任意のプラットフォーム10間におけるデータの送受信を上記と同様の処理により実現することが可能である。 As shown in FIG. 5, the platform 10-1 is also provided with a transmission buffer 502-1 similar to the transmission buffer 502-5 of the platform 10-5. Platform 10-1 can use the transmission buffer 502-1 to execute data transmission to another platform 10. Further, although not shown in FIG. 5, other platforms 10 also have a similar transmit buffer 502. Therefore, in the embodiment, it is possible to realize the transmission / reception of data between arbitrary platforms 10 by the same processing as described above.

ところで、上記のような送信用バッファ502を介したデータの送受信においては、送受信が完了するまで、送信用バッファ502のうちのデータが書き込まれた領域を、上書き不可能なロック領域に設定することが一般的である。この場合、書き込まれたデータの送受信が完了された段階で、ロック領域が上書き可能なアンロック領域に変更される、すなわち送信用バッファ502が解放されることが一般的である。 By the way, in the transmission / reception of data via the transmission buffer 502 as described above, the area in which the data is written in the transmission buffer 502 is set as a lock area that cannot be overwritten until the transmission / reception is completed. Is common. In this case, when the transmission / reception of the written data is completed, the lock area is generally changed to an overwritable unlock area, that is, the transmission buffer 502 is released.

しかしながら、実施形態にかかる情報処理システム1のような、複数のプラットフォーム10が設けられた構成では、プラットフォーム10間での通信が頻繁に発生する場合もありうる。この場合、データの送受信が1回完了するごとに、書き込まれたデータの送受信が完了した送信用バッファ502の解放を実行すると、通信の方に割かれるリソースが低減するので、通信速度の低下が発生しやすい。 However, in a configuration in which a plurality of platforms 10 are provided, such as the information processing system 1 according to the embodiment, communication between the platforms 10 may occur frequently. In this case, if the transmission buffer 502 for which the transmission / reception of the written data is completed is released every time the transmission / reception of data is completed, the resources devoted to the communication are reduced, so that the communication speed is reduced. Likely to happen.

そこで、実施形態は、送信用バッファ502の解放を、データの送受信が1回完了するごとではなく、データの送受信が複数回完了することに応じて、書き込まれたデータの送受信が完了した箇所について実行するように構成されている。このような構成によれば、送信用バッファ502の解放の頻度が少なくなるので、通信の方により多くのリソースを割くことができる。したがって、送信用バッファ502の解放に起因する通信速度の低下を抑制することができる。 Therefore, in the embodiment, the release of the transmission buffer 502 is not performed every time the data transmission / reception is completed, but at a location where the transmission / reception of the written data is completed according to the data transmission / reception being completed a plurality of times. It is configured to run. According to such a configuration, the frequency of releasing the transmission buffer 502 is reduced, so that more resources can be devoted to communication. Therefore, it is possible to suppress a decrease in communication speed due to the release of the transmission buffer 502.

さらに、実施形態は、次の図6に示されるように、送信用バッファ502の空き、すなわち送信用バッファ502においてデータの送信のために書き込み可能なアンロック領域の大きさに関する空き情報に応じて、送信用バッファ502の解放の頻度を動的に変更することが可能なように構成されている。 Further, as shown in FIG. 6, the embodiment depends on the free information of the transmission buffer 502, that is, the size of the unlock area writable for data transmission in the transmission buffer 502. , The frequency of releasing the transmission buffer 502 can be changed dynamically.

図6は、実施形態にかかるプラットフォーム10間でのデータの送受信時に実行される処理の流れを示した例示的かつ模式的なシーケンス図である。 FIG. 6 is an exemplary and schematic sequence diagram showing a flow of processing executed when data is transmitted / received between platforms 10 according to the embodiment.

ここでは、一例として、プラットフォーム10−5からプラットフォーム10−1へのデータの送信(転送)について説明する。図6に示される例では、プラットフォーム10−5の仮想LANドライバ215およびブリッジドライバ214Aがそれぞれ「送信側仮想LANドライバ」および「送信側ブリッジドライバ」として図示され、プラットフォーム10−1のブリッジドライバ204Aが「受信側ブリッジドライバ」として図示されている。 Here, as an example, the transmission (transfer) of data from the platform 10-5 to the platform 10-1 will be described. In the example shown in FIG. 6, the virtual LAN driver 215 and the bridge driver 214A of platform 10-5 are illustrated as the "sender virtual LAN driver" and the "sender bridge driver", respectively, and the bridge driver 204A of platform 10-1 is It is illustrated as a "receiver bridge driver".

図6に示されるように、実施形態では、まず、ステップS610において、送信側仮想LANドライバとしての仮想LANドライバ215は、送信側ブリッジドライバとしてのブリッジドライバ214Aに対して、プラットフォーム10−1へのデータの送信要求を実行する。 As shown in FIG. 6, in the embodiment, first, in step S610, the virtual LAN driver 215 as the transmitting side virtual LAN driver is referred to the platform 10-1 with respect to the bridge driver 214A as the transmitting side bridge driver. Execute a data transmission request.

そして、ステップS620において、ブリッジドライバ214Aは、仮想LANドライバ215からの送信要求に応じて、プラットフォーム10−5の送信用バッファ502−5のうちプラットフォーム10−1へのデータの送信用の領域に、送信するデータを書き込み、中継装置30にプラットフォーム10−1へのデータの転送を実行させる。そして、ブリッジドライバ214Aは、送信用バッファ502−5の空きに関する空き情報を更新する。空き情報は、たとえば、送信用バッファ502−5の各領域がロック領域およびアンロック領域のいずれに設定されているかを示すフラグなどを管理するためのテーブルとして実現されうる。 Then, in step S620, the bridge driver 214A responds to the transmission request from the virtual LAN driver 215 to the area for transmitting data to the platform 10-1 in the transmission buffers 502-5 of the platform 10-5. The data to be transmitted is written, and the relay device 30 is made to execute the transfer of the data to the platform 10-1. Then, the bridge driver 214A updates the free information regarding the free space of the transmission buffer 502-5. The free information can be realized as a table for managing, for example, a flag indicating whether each area of the transmission buffer 502-5 is set in the lock area or the unlock area.

そして、ステップS630において、ブリッジドライバ214Aは、受信側ブリッジドライバとしてのブリッジドライバ204Aに、中継装置30を介してデータの受信要求を行う。 Then, in step S630, the bridge driver 214A requests the bridge driver 204A as the receiving side bridge driver to receive data via the relay device 30.

そして、ステップS640において、ブリッジドライバ204Aは、ブリッジドライバ214Aからの受信要求に応じて、送信用バッファ502−5から中継装置30により転送されたデータを取得する。このとき、送信用バッファ502−5におけるデータの取得が完了した箇所(領域)には、送受信完了のフラグが設定される。 Then, in step S640, the bridge driver 204A acquires the data transferred by the relay device 30 from the transmission buffer 502-5 in response to the reception request from the bridge driver 214A. At this time, the transmission / reception completion flag is set at the location (area) where the data acquisition is completed in the transmission buffer 502-5.

そして、ステップS650において、ブリッジドライバ204Aは、データの取得の完了に応じて、ブリッジドライバ214Aに、中継装置30を介して受信完了通知を送信する。 Then, in step S650, the bridge driver 204A transmits a reception completion notification to the bridge driver 214A via the relay device 30 in response to the completion of data acquisition.

そして、ステップS660において、ブリッジドライバ214Aは、ブリッジドライバ204Aからの受信完了通知に応じて、プラットフォーム10−5の送信用バッファ502の空き情報を確認する。そして、ブリッジドライバ214Aは、空き情報に応じて、以下に説明するような処理を実行する。 Then, in step S660, the bridge driver 214A confirms the free information of the transmission buffer 502 of the platform 10-5 in response to the reception completion notification from the bridge driver 204A. Then, the bridge driver 214A executes a process as described below according to the free information.

たとえば、空き情報が、送信用バッファ502−5の空き、すなわち送信用バッファ502−5においてデータの送信のために書き込み可能なアンロック領域がゼロであることを示す場合、ステップS671の処理が実行される。この場合、送信用バッファ502−5の解放の頻度が低いために送信用バッファ502−5の空きの不足が発生していると考えることができる。 For example, if the free information indicates that the transmission buffer 502-5 is free, that is, the transmit buffer 502-5 has zero writable unlock area for data transmission, the process of step S671 is executed. Will be done. In this case, it can be considered that there is a shortage of free space in the transmission buffer 502-5 because the frequency of releasing the transmission buffer 502-5 is low.

したがって、この場合、ステップS671において、ブリッジドライバ214Aは、送信用バッファ502の解放の頻度を上げる。たとえば、直近の設定が、受信完了通知がm回受信された場合に送信用バッファ502−5のうち書き込まれたデータの送受信が完了した箇所の解放を実行するという設定になっている場合、ブリッジドライバ214Aは、受信完了通知がm−1回受信された場合に送信用バッファ502−5のうち書き込まれたデータの送受信が完了した箇所の解放を実行するように、送信用バッファ502−5の解放を実行するか否かの基準となる受信完了通知の受信回数を減らす。なお、データの送受信が完了しているか否かは、上述した送受信完了のフラグなどに基づいて判定される。 Therefore, in this case, in step S671, the bridge driver 214A increases the frequency of releasing the transmission buffer 502. For example, if the latest setting is to release the part of the transmission buffer 502-5 where the transmission / reception of the written data is completed when the reception completion notification is received m times, the bridge The driver 214A of the transmission buffer 502-5 so as to release the portion of the transmission buffer 502-5 where the transmission / reception of the written data is completed when the reception completion notification is received m-1 times. Reduce the number of times the reception completion notification is received, which is the criterion for whether or not to execute the release. Whether or not data transmission / reception is completed is determined based on the transmission / reception completion flag or the like described above.

一方、空き情報が、送信用バッファ502−5の空きが閾値以上であることを示す場合、ステップS672の処理が実行される。閾値は、送信するデータの量を示す値よりも十分に大きい値として設定される。この場合、送信用バッファ502−5の解放の頻度を下げたとしても、送信用バッファ502−5の空きの不足が発生しにくいと考えることができる。 On the other hand, when the free information indicates that the free space in the transmission buffer 502-5 is equal to or greater than the threshold value, the process of step S672 is executed. The threshold is set as a value sufficiently larger than a value indicating the amount of data to be transmitted. In this case, even if the frequency of releasing the transmission buffer 502-5 is reduced, it can be considered that a shortage of free space in the transmission buffer 502-5 is unlikely to occur.

したがって、この場合、ステップS672において、ブリッジドライバ214Aは、送信用バッファ502−5の解放の頻度を下げる。たとえば、直近の設定が、受信完了通知がm回受信された場合に送信用バッファ502−5のうち書き込まれたデータの送受信が完了した箇所の解放を実行するという設定になっている場合、ブリッジドライバ214Aは、受信完了通知がm+1回受信された場合に送信用バッファ502−5のうち書き込まれたデータの送受信が完了した箇所の解放を実行するように、送信用バッファ502−5の解放を実行するか否かの基準となる受信完了通知の受信回数を増やす。 Therefore, in this case, in step S672, the bridge driver 214A reduces the frequency of releasing the transmission buffer 502-5. For example, if the latest setting is to release the part of the transmission buffer 502-5 where the transmission / reception of the written data is completed when the reception completion notification is received m times, the bridge The driver 214A releases the transmission buffer 502-5 so as to release the portion of the transmission buffer 502-5 where the transmission / reception of the written data is completed when the reception completion notification is received m + 1 times. Increase the number of times the reception completion notification is received, which is the criterion for whether or not to execute.

なお、空き情報が、送信用バッファ502−5の空きがゼロより大きく閾値より小さいことを示す場合、ステップS671およびS672のいずれの処理も実行されない。すなわち、この場合、ブリッジドライバ214Aは、送信用バッファ502−5の解放の頻度、すなわち送信用バッファ502−5の解放を実行するか否かの基準となる受信完了通知の受信回数を現状のまま維持する。 If the free information indicates that the free space in the transmission buffer 502-5 is larger than zero and smaller than the threshold value, neither of the processes of steps S671 and S672 is executed. That is, in this case, the bridge driver 214A keeps the frequency of releasing the transmission buffer 502-5, that is, the number of receptions of the reception completion notification which is a criterion for whether or not to execute the release of the transmission buffer 502-5, as it is. maintain.

そして、ブリッジドライバ214Aは、上記のような頻度の調整(または維持)を経た頻度で、送信用バッファ502−5を解放する。 Then, the bridge driver 214A releases the transmission buffer 502-5 at a frequency adjusted (or maintained) as described above.

たとえば、現在の設定が、受信完了通知がn回受信された場合に送信用バッファ502−5の解放を実行するという設定になっている場合、換言すれば送信用バッファ502−5の解放の現在の頻度が1/nに設定されている場合を考える。この場合において、ブリッジドライバ214Aは、直近n−1回の受信完了通知では送信用バッファ502−5の解放を行っていない場合にのみ、ステップS680において、送信用バッファ502−5のうち書き込まれたデータの送受信が完了した箇所を解放する。ただし、直近n−1回の受信完了通知のうちいずれかの受信完了通知に応じて送信用バッファ502−5が解放されている場合、ブリッジドライバ214Aは、送信用バッファ502−5の解放を実行しない。 For example, if the current setting is to execute the release of the transmission buffer 502-5 when the reception completion notification is received n times, in other words, the current setting of the release of the transmission buffer 502-5. Consider the case where the frequency of is set to 1 / n. In this case, the bridge driver 214A was written out of the transmission buffers 502-5 in step S680 only when the transmission buffer 502-5 was not released in the latest n-1 reception completion notification. Release the part where data transmission / reception is completed. However, when the transmission buffer 502-5 is released in response to any of the latest n-1 reception completion notifications, the bridge driver 214A releases the transmission buffer 502-5. do not do.

このようにして、実施形態では、送信用バッファ502−5の解放の頻度が動的に調整される。調整を経た頻度は、最適な頻度に収束していくものだと考えられる。 In this way, in the embodiment, the frequency of release of the transmission buffer 502-5 is dynamically adjusted. The frequency of adjustment is considered to converge to the optimum frequency.

なお、図6に示される例は、あくまで一例である。実施形態では、プラットフォーム10−5以外の他のプラットフォーム10のブリッジドライバ204Aまたは214Aが送信側ブリッジドライバになり、プラットフォーム10−1以外の他のプラットフォーム10のブリッジドライバ214Aが受信側ブリッジドライバになる場合も考えられる。 The example shown in FIG. 6 is just an example. In the embodiment, the bridge driver 204A or 214A of the platform 10 other than the platform 10-5 becomes the transmitting bridge driver, and the bridge driver 214A of the platform 10 other than the platform 10-1 becomes the receiving bridge driver. Is also possible.

以上説明したように、実施形態にかかる送信側ブリッジドライバは、送信用バッファ502にデータを書き込むごとに、送信用バッファ502のうちのデータが書き込まれた領域を上書き不可能なロック領域に設定し、書き込まれたデータの送受信が完了しており、かつ受信側ブリッジドライバからの受信完了通知が複数回受信された場合に、ロック領域を上書き可能なアンロック領域に設定する。このような構成によれば、たとえばデータの送受信が1回完了するごとに必ず送信用バッファ502の解放を実行する場合に比べて、送信用バッファ502の解放の頻度が少なくなるので、通信の方により多くのリソースを割くことができる。したがって、送信用バッファ502の解放に起因する通信速度の低下を抑制することができる。 As described above, the transmitting side bridge driver according to the embodiment sets the area in the transmission buffer 502 to which the data is written as a lock area that cannot be overwritten each time data is written to the transmission buffer 502. , When the transmission / reception of the written data is completed and the reception completion notification from the receiving bridge driver is received multiple times, the lock area is set to the unlockable area that can be overwritten. According to such a configuration, for example, the frequency of releasing the transmission buffer 502 is lower than that in the case where the transmission buffer 502 is always released every time data transmission / reception is completed. More resources can be devoted to it. Therefore, it is possible to suppress a decrease in communication speed due to the release of the transmission buffer 502.

より具体的に、実施形態にかかる送信側ブリッジドライバは、送信用バッファ502の空きに関する空き情報に基づいて、ロック領域をアンロック領域に設定するか否かの基準となる受信完了通知の受信回数を動的に変更する。このような構成によれば、送信用バッファ502の解放の頻度を空き情報に基づいて適切に調整することができる。 More specifically, the transmitting bridge driver according to the embodiment receives the reception completion notification, which is a criterion for whether or not to set the lock area as the unlock area, based on the free information regarding the free space of the transmission buffer 502. Dynamically change. According to such a configuration, the frequency of releasing the transmission buffer 502 can be appropriately adjusted based on the free information.

たとえば、実施形態にかかる送信側ブリッジドライバは、上記の空き情報が、送信用バッファ502の空きが所定以上であることを示す場合、ロック領域をアンロック領域に設定する頻度が下がるように、受信回数を変更する。このような構成によれば、空きに余裕がある場合にも送信用バッファ502の解放が実行されることに起因して通信の方に割かれるリソースが低減するのを抑制することができる。 For example, when the above-mentioned free information indicates that the free space of the transmission buffer 502 is equal to or more than a predetermined value, the transmitting bridge driver according to the embodiment receives the lock area so that the lock area is set to the unlock area less frequently. Change the number of times. According to such a configuration, it is possible to suppress a reduction in resources devoted to communication due to the release of the transmission buffer 502 even when there is a margin in the free space.

<変形例>
なお、上述した実施形態では、送信用バッファ502の解放の頻度が動的に調整される構成が例示されている。しかしながら、変形例として、送信用バッファ502の解放を実行するか否かの基準となる受信完了通知の受信回数を2以上の値として固定的に設定する構成も考えられる。このような構成によっても、たとえばデータの送受信が1回完了するごとに必ず送信用バッファ502のうち書き込まれたデータの送受信が完了した箇所の解放を実行する場合に比べて、送信用バッファ502の解放の頻度が少なくなるので、通信速度の低下を抑制することができる。
<Modification example>
In the above-described embodiment, a configuration in which the frequency of releasing the transmission buffer 502 is dynamically adjusted is exemplified. However, as a modification, a configuration in which the number of receptions of the reception completion notification, which is a criterion for whether or not to release the transmission buffer 502, is fixedly set as a value of 2 or more can be considered. Even with such a configuration, for example, the transmission buffer 502 has a transmission buffer 502 as compared with the case where the transmission / reception of the written data is completed every time the transmission / reception of data is completed. Since the frequency of release is reduced, it is possible to suppress a decrease in communication speed.

また、上述した実施形態では、一例として、送信用バッファ502の解放を実行するか否かの基準となる受信完了通知の受信回数を1つずつ増減させる構成が例示されている。しかしながら、変形例として、送信用バッファ502の解放を実行するか否かの基準となる受信完了通知の受信回数を2以上増減させる構成も考えられる。この場合、増減させる数が空き情報に応じて決定されてもよい。 Further, in the above-described embodiment, as an example, a configuration in which the number of receptions of the reception completion notification, which is a criterion for whether or not to release the transmission buffer 502, is increased or decreased by one is illustrated. However, as a modification, a configuration in which the number of receptions of the reception completion notification, which is a criterion for whether or not to release the transmission buffer 502, is increased or decreased by 2 or more can be considered. In this case, the number to be increased or decreased may be determined according to the free information.

また、上述した実施形態では、各部のI/OインターフェースとしてPCIe(登録商標)が例示されているが、I/OインターフェースはPCIe(登録商標)に限定されない。たとえば、各部のI/Oインターフェースは、データ転送バスによって、デバイス(周辺制御コントローラ)とプロセッサとの間でデータ転送を行える技術であればよい。データ転送バスは、1個の筐体等に設けられたローカルな環境(たとえば、1つのシステムまたは1つの装置)で高速にデータを転送できる汎用のバスであってよい。I/Oインターフェースは、パラレルインターフェース及びシリアルインターフェースのいずれであってもよい。 Further, in the above-described embodiment, PCIe (registered trademark) is exemplified as the I / O interface of each part, but the I / O interface is not limited to PCIe (registered trademark). For example, the I / O interface of each part may be a technology capable of transferring data between a device (peripheral controller) and a processor by a data transfer bus. The data transfer bus may be a general-purpose bus capable of transferring data at high speed in a local environment (for example, one system or one device) provided in one housing or the like. The I / O interface may be either a parallel interface or a serial interface.

I/Oインターフェースは、ポイント・ツー・ポイント接続ができ、データをパケットベースでシリアル転送可能な構成でよい。なお、I/Oインターフェースは、シリアル転送の場合、複数のレーンを有してよい。I/Oインターフェースのレイヤー構造は、パケットの生成及び復号を行うトランザクション層と、エラー検出等を行うデータリンク層と、シリアルとパラレルとを変換する物理層と、を有してよい。また、I/Oインターフェースは、階層の最上位であり1または複数のポートを有するルートコンプレックス、I/Oデバイスであるエンドポイント、ポートを増やすためのスイッチ、および、プロトコルを変換するブリッジなどを含んでよい。I/Oインターフェースは、送信するデータとクロック信号とをマルチプレクサによって多重化して送信してもよい。この場合、受信側は、デマルチプレクサでデータとクロック信号とを分離してよい。 The I / O interface may be configured so that point-to-point connection is possible and data can be serially transferred on a packet basis. The I / O interface may have a plurality of lanes in the case of serial transfer. The layer structure of the I / O interface may include a transaction layer that generates and decodes packets, a data link layer that performs error detection, and a physical layer that converts serial and parallel. The I / O interface also includes a root complex at the top of the hierarchy with one or more ports, endpoints that are I / O devices, switches for increasing ports, and bridges that translate protocols. It's fine. The I / O interface may multiplex the data to be transmitted and the clock signal by a multiplexer and transmit them. In this case, the receiving side may separate the data and the clock signal by a demultiplexer.

1 情報処理システム
10、10−1〜10−8 プラットフォーム(第1プラットフォーム、第2プラットフォーム)
30 中継装置
36 拡張バス
204A、214A ブリッジドライバ(第1ブリッジドライバ、第2ブリッジドライバ)
502 送信用バッファ
1 Information processing system 10, 10-1 to 10-8 platforms (1st platform, 2nd platform)
30 Relay device 36 Expansion bus 204A, 214A Bridge driver (1st bridge driver, 2nd bridge driver)
502 Transmission buffer

Claims (5)

複数のプラットフォームと、
拡張バスを介して前記複数のプラットフォームを通信可能に接続する中継装置と、
を備え、
前記複数のプラットフォームのうちの第1プラットフォームは、
前記複数のプラットフォームのうちの前記第1プラットフォームとは異なる第2プラットフォームへのデータの送信要求に応じて、前記第1プラットフォームの送信用バッファに前記データを書き込、前記第2プラットフォームに対して前記データの受信要求を送信する第1ブリッジドライバを備え、
前記第2プラットフォームは、
前記第1ブリッジドライバにより送信された前記受信要求に応じて、前記中継装置を介して前記送信用バッファから前記第2プラットフォームの所定の記憶領域に転送された前記データを取得し、前記第1プラットフォームに対して前記データの受信完了通知を送信する第2ブリッジドライバを備え、
前記第1ブリッジドライバは、前記送信用バッファに前記データを書き込むごとに、前記送信用バッファのうちの前記データが書き込まれた領域を上書き不可能なロック領域に設定し、書き込まれたデータの送受信が完了しており、かつ前記第2ブリッジドライバからの前記受信完了通知が2以上の所定の回数受信された場合に、当該所定の回数の受信完了通知に対応する前記ロック領域を上書き可能なアンロック領域に設定する、
情報処理システム。
With multiple platforms
A relay device that connects the multiple platforms so that they can communicate via an expansion bus,
With
The first platform among the plurality of platforms is
Wherein the plurality of the first platform of the platform in response to a transmission request of data to the different second platform, writes the data to the transmission buffer of the first platform relative to said second platform A first bridge driver for transmitting the data reception request is provided.
The second platform is
In response to the reception request transmitted by the first bridge driver, the data transferred from the transmission buffer to a predetermined storage area of the second platform is acquired via the relay device, and the first platform A second bridge driver for transmitting the data reception completion notification to the user is provided.
Each time the data is written to the transmission buffer, the first bridge driver sets the area of the transmission buffer in which the data is written as a lock area that cannot be overwritten, and transmits / receives the written data. Is completed, and when the reception completion notification from the second bridge driver is received two or more predetermined times , the lock area corresponding to the reception completion notification of the predetermined number of times can be overwritten. Set in the lock area,
Information processing system.
前記第1ブリッジドライバは、前記送信用バッファの空きに関する空き情報に基づいて、前記ロック領域を前記アンロック領域に設定するか否かの基準となる前記受信完了通知の受信回数を動的に変更する、
請求項1に記載の情報処理システム。
The first bridge driver dynamically changes the number of times of receiving the reception completion notification, which is a criterion for whether or not to set the lock area in the unlock area, based on the free information regarding the freeness of the transmission buffer. To do
The information processing system according to claim 1.
前記第1ブリッジドライバは、前記空き情報が、前記送信用バッファの空きが所定以上であることを示す場合、前記ロック領域を前記アンロック領域に設定する頻度が下がるように、前記受信回数を変更する、
請求項2に記載の情報処理システム。
When the free information indicates that the transmission buffer has more than a predetermined amount of free space, the first bridge driver changes the number of receptions so that the frequency of setting the lock area to the unlock area decreases. To do
The information processing system according to claim 2.
中継装置により拡張バスを介して通信可能に接続された複数のプラットフォームに含まれるプラットフォームであって、
前記複数のプラットフォームのうちの前記プラットフォームとは異なる他のプラットフォームへのデータの送信要求に応じて、前記プラットフォームの送信用バッファに前記データを書き込、前記他のプラットフォームに対して前記データの受信要求を送信するブリッジドライバを備え、
前記ブリッジドライバは、前記送信用バッファに前記データを書き込むごとに、前記送信用バッファのうちの前記データが書き込まれた領域を上書き不可能なロック領域に設定し、書き込まれたデータの送受信が完了しており、かつ前記受信要求に応じて前記中継装置を介して前記送信用バッファから前記他のプラットフォームの所定の記憶領域に転送された前記データを前記他のプラットフォームが取得することにより前記他のプラットフォームから前記プラットフォームに送信される受信完了通知が2以上の所定の回数受信された場合に、当該所定の回数の受信完了通知に対応する前記ロック領域を上書き可能なアンロック領域に設定する、
プラットフォーム。
A platform included in multiple platforms that are communicably connected via an expansion bus by a relay device.
Wherein the plurality of the platform of the platform in response to the transmission request of the data to different other platforms, writes the data to the transmission buffer of the platform, the reception of the data to the other platforms Equipped with a bridge driver to send requests
Each time the bridge driver writes the data to the transmission buffer, the bridge driver sets the area of the transmission buffer in which the data is written to a lock area that cannot be overwritten, and the transmission / reception of the written data is completed. and and and wherein by said data transferred from said transmitting buffer via the relay device in a predetermined storage area of the other platforms in response to the received request the other platform to get when the reception completion notification transmitted from other platforms to the platform has been received more than a predetermined number, to set the lock region corresponding to a reception completion notice of the predetermined number of times overwritable unlocking region ,
platform.
中継装置により拡張バスを介して通信可能に接続された複数のプラットフォームに含まれるプラットフォームとしてのコンピュータに、
前記複数のプラットフォームのうちの前記プラットフォームとは異なる他のプラットフォームへのデータの送信要求に応じて、前記プラットフォームの送信用バッファに前記データを書き込、前記他のプラットフォームに対して前記データの受信要求を送信することと、
前記送信用バッファに前記データを書き込むごとに、前記送信用バッファのうちの前記データが書き込まれた領域を上書き不可能なロック領域に設定し、書き込まれたデータの送受信が完了しており、かつ前記受信要求に応じて前記中継装置を介して前記送信用バッファから前記他のプラットフォームの所定の記憶領域に転送された前記データを前記他のプラットフォームが取得することにより前記他のプラットフォームから前記プラットフォームに送信される受信完了通知が2以上の所定の回数受信された場合に、当該所定の回数の受信完了通知に対応する前記ロック領域を上書き可能なアンロック領域に設定することと、
を実行させるための、プログラム。
To a computer as a platform included in multiple platforms connected to be communicable via an expansion bus by a relay device
Wherein the plurality of the platform of the platform in response to the transmission request of the data to different other platforms, writes the data to the transmission buffer of the platform, the reception of the data to the other platforms Sending a request and
Each time the data is written to the transmission buffer, the area of the transmission buffer to which the data is written is set as a lock area that cannot be overwritten, and the transmission / reception of the written data is completed. the from the other platforms by the data transferred from the transmission buffer through the relay device in a predetermined storage area of the other platforms in response to the received request the other platform to get When the reception completion notification sent to the platform is received two or more predetermined times , the lock area corresponding to the predetermined number of reception completion notifications is set as an overwriteable unlock area.
A program to execute.
JP2019227674A 2019-12-17 2019-12-17 Information processing systems, platforms, and programs Active JP6836087B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019227674A JP6836087B1 (en) 2019-12-17 2019-12-17 Information processing systems, platforms, and programs
GBGB2014862.3A GB202014862D0 (en) 2019-12-17 2020-09-21 Information processing system, platform, and computer-readable program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019227674A JP6836087B1 (en) 2019-12-17 2019-12-17 Information processing systems, platforms, and programs

Publications (2)

Publication Number Publication Date
JP6836087B1 true JP6836087B1 (en) 2021-02-24
JP2021096659A JP2021096659A (en) 2021-06-24

Family

ID=73040137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019227674A Active JP6836087B1 (en) 2019-12-17 2019-12-17 Information processing systems, platforms, and programs

Country Status (2)

Country Link
JP (1) JP6836087B1 (en)
GB (1) GB202014862D0 (en)

Also Published As

Publication number Publication date
GB202014862D0 (en) 2020-11-04
JP2021096659A (en) 2021-06-24

Similar Documents

Publication Publication Date Title
US8463934B2 (en) Unified system area network and switch
US8346997B2 (en) Use of peripheral component interconnect input/output virtualization devices to create redundant configurations
JP2024099640A (en) Unified address space for multiple hardware accelerators with dedicated low latency links
US7698477B2 (en) Method and apparatus for managing flow control in PCI express transaction layer
US7165131B2 (en) Separating transactions into different virtual channels
US8225005B2 (en) Use of peripheral component interconnect input/output virtualization devices to create high-speed, low-latency interconnect
US20060114918A1 (en) Data transfer system, data transfer method, and image apparatus system
US20060174048A1 (en) Apparatus for interconnecting a plurality of process nodes by serial bus
US6938094B1 (en) Virtual channels and corresponding buffer allocations for deadlock-free computer system operation
JP5310175B2 (en) Switch system and control method of switch system
US20050120173A1 (en) Device and method for performing information processing using plurality of processors
US20030095557A1 (en) Response virtual channel for handling all responses
US20180367504A1 (en) System, Apparatus And Method For Tunneling And/Or Multiplexing Via A Multi-Drop Interconnect
US6327637B1 (en) Interface tap for 1394-enabled serial bus device
EP2515241B1 (en) Unified system area network and switch
US20090292856A1 (en) Interserver communication mechanism and computer system
US20200358637A1 (en) Information processing system, and platform
JP6836087B1 (en) Information processing systems, platforms, and programs
US20070005847A1 (en) Data transfer control device and electronic instrument
KR102519480B1 (en) PCIe DEVICE AND COMPUTING SYSTEM INCLUDING THEREOF
JP6836088B1 (en) Information processing systems, platforms, and programs
JPH1040215A (en) Pci bus system
KR102518287B1 (en) Peripheral component interconnect express interface device and operating method thereof
US6112259A (en) Integrated circuit for direct memory access
CN118426976B (en) Memory expansion system, access method and device, medium and computer program product

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200303

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200714

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201005

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210118

R150 Certificate of patent or registration of utility model

Ref document number: 6836087

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250