JP4854802B2 - コンピュータネットワーク内で単一コンピュータの通信を制御するための方法 - Google Patents

コンピュータネットワーク内で単一コンピュータの通信を制御するための方法 Download PDF

Info

Publication number
JP4854802B2
JP4854802B2 JP2010232646A JP2010232646A JP4854802B2 JP 4854802 B2 JP4854802 B2 JP 4854802B2 JP 2010232646 A JP2010232646 A JP 2010232646A JP 2010232646 A JP2010232646 A JP 2010232646A JP 4854802 B2 JP4854802 B2 JP 4854802B2
Authority
JP
Japan
Prior art keywords
network
communication
operating system
library
protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2010232646A
Other languages
English (en)
Other versions
JP2011018383A (ja
Inventor
トーマス ヴァルシュコ
ヨアヒム ブルーム
Original Assignee
パルテク アクチェンゲゼルシャフト
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 パルテク アクチェンゲゼルシャフト filed Critical パルテク アクチェンゲゼルシャフト
Publication of JP2011018383A publication Critical patent/JP2011018383A/ja
Application granted granted Critical
Publication of JP4854802B2 publication Critical patent/JP4854802B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/10Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、コンピュータネットワーク内で単一コンピュータの通信を制御するための方法に関しており、この方法によって、その単一コンピュータのネットワークを効率的な並列コンピュータとして用いることができるようになる。
従来型のパーソナルコンピューター(PC)又はワークステーションである単一コンピュータ、いわゆるワークステーションコンピュータは、近年、計算速度と、従って計算機能が大幅に改良され、専門分野及び商業分野の両方で、複数のプログラムを実行できるようになっている。しかし、特に、例えば中企業又は大企業の組織の、適用及び生産順序のシミュレーションに関わる商業分野や、研究及び科学の分野では、目下最高の性能を有するPCの計算能力でも、経済的に許容できる期間で未処理のデータを処理するには不十分である。通常、そのような計算集約的なタスクでは、いわゆる大型コンピュータにアクセスする必要があるが、非常に経費が嵩む。
長い間、それぞれ一般的なPCで実現されている幾つかの並列接続された単一コンピュータからコンピュータネットワークをセットアップすることで、大型コンピュータに替わる安価な代替システムを構築する試みが行われてきた。そのため、単一コンピュータは、通常、特別なプロセッサとは対照的に、価格の割に性能が良く追加開発時間の短い標準的なプロセッサで構成されている。従って、並列コンピュータとも呼ばれるコンピュータのネットワークのセットアップ又はアーキテクチャは、単一プロセッサ間の通信を実現する通信インターフェースを備えたユニプロセッサアーキテクチャの拡張、並びに拡張されたユニプロセッサアーキテクチャの複製に限定されている。
既知のコンピュータネットワークをセットアップするために、数多くのワークステーションコンピュータ、いわゆる(計算)ノード、標準的なネットワークLAN(ローカルエリアネットワーク)に対し追加的に操作される特別に高性能のネットワークSAN(システムエリアネットワーク)、並びに計算ノード用のオペレーションシステムが用いられる。現在は、一般的なプロセッサを備えたシステムが、既知のコンピュータネットワークで、ワークステーションコンピュータ又は計算ノードとして用いられている。単一のプロセッサシステム(ユニプロセッサ)とは別に、小型SMP(対称型マルチプロセッサ)システム(デュアルプロセッサ)も、ノードコンピュータとして用いることができる。ノードコンピュータの拡張(メインメモリ、ハードディスク、プロセッサなど)は、かなりの程度、ユーザーの要求次第である。
単一コンピュータのオペレーションシステム内のネットワークを統合するための従来のプロセスを図1に示している。オペレーションシステムカーネル10内の主要構成要素は、標準的ネットワークLANに対しては第1ネットワーク特定デバイスドライバ11であり、高性能ネットワークSANに対しては第2ネットワーク特定デバイスドライバ12である。並列に配置されたデバイスドライバ11及び12の両方には、事前接続ネットワーク選択ユニット13次第でアクセスされ、デバイスドライバ11及び12それぞれが、ネットワーク特定通信インターフェースをネットワークプロトコルによって予測されるインターフェースに合わせる。ネットワークの特定の制御、並びにその統合は、相当の範囲がユーザーには隠されている。更に、ユーザーは、システムライブラリ14により提供される通信オペレーションを用い、オペレーションシステムカーネル10内のプロトコルユニット15内の通信プロトコルをサービスした後にだけ、異なる通信ネットワークへの実際の移行が起こる。従って、従来の通信経路は、システムライブラリアプリケーションA又はBから始まり、結局はシステムライブラリ14の通信インターフェース23経由でプログラミング環境26、オペレーションシステム10へのアクセス、プロトコルユニット15内の通信プロトコルのサービス、ネットワーク選択ユニット13でのネットワーク選択、選択されたネットワークに属するネットワークカード16又は17の形態でのハードウェアへアクセスするまでの各デバイスドライバ11又は12による制御を用いることによって作り出される。
通信性能と計算性能との間のバランスが調和している場合、大型コンピュータは、分配の増加で示されるように、基本的に有意である。しかし、大型コンピュータに対する費用対効果に優れる代替案として、コンピュータバンドルを上手くやるのは、今ではむしろ穏当とされ、通信試行の低い特定のアプリケーションクラスに限られている。この理由の1つは、LANセクターで利用可能な通信ネットワークに関してデータ転送性能が低位から中位にあることであるが、これは、SANセクターでの新しい高性能ネットワークの到来により取り除かれた。しかし、そのような高性能のネットワークを用いる場合、オペレーションシステム内に固定されている従来の通信経路は、上記のように、高性能のネットワークの性能的能力を徹底的に使い果たすことはできず、大部分使い果たすことすらできないということがすぐに明らかになっている。これは、通信経路自体のアーキテクチャ、並びに、並列処理のためではなく長距離ネットワークでの利用のために設計されている標準化された通信プロトコル(例えばTCP/IP)の使用に原因がある。
長距離分野で用いられるネットワークの限定された機能範囲には、経路検索、流れ制御、断片化又は非断片化、シーケンス維持、バッファ記憶装置、エラー検出、及びエラー処理のための機構が含まれており、それらはすべて標準化された通信プロトコル(例えばTCP/IP)の機能範囲に含まれている。更に、標準化された通信プロトコルは、しばしば機能性を提供するが、並列システムで使用している間は、むしろ邪魔である。特別に固定されたパケットサイズ、大規模チェック合計計算、複数のプロトコル層及びパケットヘッダー内の複数の情報が、これに当たる。この避け難い情報提供が、時間を浪費しており、プログラム開発者からみれば望ましくない遅延時間である。厄介なことに、図1に示す通信経路は、それ自体を下地のネットワークの機能性に合わせることはできず、常に与えられた最小の範囲を想定している。このことは、特定の高性能ネットワークを利用している場合には、プロトコルソフトウェア内に既に存在する機能性の履行に繋がり、これが、サービスを著しく遅らせ、その上に置かれたアプリケーションを決定的に邪魔する。
この問題を解決するために、通信経路上の無駄を可能な限り排除することに焦点を当てた待ち時間削減のための方法を用いることは、周知である。従って、出発点は、利用されている通信ネットワークのみならず、利用されているネットワークプロトコル、オペレーションシステムとの対話、並びに、アプリケーション層に提供される通信インターフェースの定義及び実体の全てにもある。通信待ち時間の削減は、通信経路又は通信ハードウェアの高い層から低い層へのタスクの特定の再配置に基づいており、通信経路全体の再構築に繋がる。
本発明は、コンピュータネットワーク内の単一コンピュータの通信を制御するための方法を提供するという問題に基づいており、本方法では、通信待ち時間が基本的に削減され、データ処理能力が高まる。
本発明によれば、この問題は、請求項1による方法によって解決される。それによって、従来の通信経路を標準化されたネットワークLANへ提供し、それと並列に第2通信経路を高性能ネットワークSANへ提供するだけのことが基本的な概念から生まれ、このことは、通信ハードウェアがユーザーのアドレスエリアの外側から制御されるように、オペレーションシステムを少なくともかなりの程度までバイパスすることによって、アプリケーションがSAN通信ハードウェアへ直接アクセスできるようにする。この手順は、通信オペレーションの効率限界経路から、オペレーションシステム、並びに従来の通信プロトコルを完全に除去する可能性を提供する。ユーザー側のアプリケーションは、少なくともライブラリ上に置かれ、その間、又はその後すぐに、ネットワーク選択ユニットが2つのネットワークの内の1つを選択する。従って、ネットワーク選択がプロトコルのサービス前に起こり、プロトコルのサービスはオペレーションシステム内で起こる。従来型の通信経路のアーキテクチャではプロトコルのサービスとデバイスドライバとの間でのみ起こる、このネットワークの選択の再配置により、早期に、即ち、オペレーションシステムカーネルへのアクセス前又は直後、何より通信プロトコルのサービス前に、通信接続をより速い追加の通信経路へ再経路付けすることができる。しかし、この再経路付けは、所望の通信接続が高性能ネットワーク、従って追加の通信経路を通しても取り扱える場合にのみ、発生する。そうでない場合は、従来の通信経路がオペレーションシステムによって用いられる。この方法だと、高性能で柔軟性を備えた連結ワークステーションコンピュータのネットワーク内で、効率的な並列処理の達成されることが分かる。
本発明の更なる詳細事項並びに特徴は、添付図面を参照しながら以下の説明を読めば理解頂けるであろう。
従来の通信アーキテクチャの概略図である。 本発明の第1の実施例による通信アーキテクチャの概略図である。 本発明の方法による修正の説明を加えた、図1及び図2による通信アーキテクチャの概略比較図である。 本発明の第2の実施例による通信アーキテクチャの概略図である。 本発明の方法による修正の説明を加えた、図1及び図4による通信アーキテクチャの概略比較図である。 本発明の第3の実施例による通信アーキテクチャの概略図である。 本発明の方法による修正の説明を加えた、図1及び図6による通信アーキテクチャの概略比較図である。
先ず、次に、本発明の方法を利用しているコンピュータネットワークの基本要素について論じている。従来のPCは、先に述べたように、単一の場所又はノードのコンピュータとして用いられている。高性能ネットワークは、標準的なネットワークLANとは別に操作されており、例えば1.28Gbit/sの可能な限り高い伝送容量と、多次元で、自由選択可能且つスケーラブルなネットワークトポロジと、ネットワークアダプタの自由なプログラミング性とを備えていなくてはならない。
ユニックス又はその派生物は、コンピュータネットワーク内のノードコンピュータのオペレーションシステムとして用いられている。更に、システムソフトウェアは、コンピュータネットワークを一般的な単一の構成要素から設計しなくてはならない。基本的に、システムソフトウェアは、以下の構成要素、
・ネットワークアダプタを制御するためのプログラム
・ネットワークアダプタをオペレーションシステムへ統合するためのデバイスドライバ
・通信接続を制御し、処理するためのベースライブラリ
・プログラミングインターフェース及びプログラミング環境を標準化するためのユーザーライブラリ
・コンピュータネットワークをセットアップし、管理し、制御するためのプログラム
・コンピュータネットワークを構成し管理するためのサービスプログラム、を備えている。
図2は本発明による通信アーキテクチャの概略図であり、図1と関連して既に説明した機能には、同じ参照番号を付している。図2に示すように、3つの代表的アプリケーションA、B及びCは、最終的にはプログラミング環境25又は26の挿入により、通信インターフェース23又は25を通してベースライブラリ18にアクセスし、そこでネットワーク選択ユニット13が統合される。ネットワーク選択ユニット13は、オペレーションシステムカーネル10内のプロトコルユニット15にアクセスして、その後、ハードウェア用の第1デバイスドライバ11にアクセスし、又は標準的なネットワークLANのネットワークカード16に接続してもよい。更に、既知のシステムライブラリ14が、プロトコルユニット15へ割り当てられる。
代わりに、ネットワーク選択ユニット13は、第2通信経路19にアクセスしてもよく、第2通信経路19は、オペレーションシステムカーネル10をバイパスして、ベースライブラリ18を高性能ネットワークSANのハードウェア又はネットワークカード17に直接接続する。しかし、管理タスクを実行するだけで実際の通信には全く統合されないデバイスドライバ12が、同様に第2通信経路19に割り当てられる。ベースライブラリ18でのネットワーク選択中、又はその直後、即ち、オペレーションシステムカーネル10へのアクセス前を基準にして、通信接続は、初期の状態で、更に速い第2通信経路19へ再経路付けすることができ、このやり方では、オペレーションシステムカーネル10をバイパスすることによって、高性能ネットワークSANへ直接接続されることになる。例えば、SANの環境が一時的に利用できなかったり、目標がLANの環境によってしか達成できないために、第2通信経路19経由の通信接続が不可能な場合は、第1通信経路、即ち、オペレーションシステム通信及び標準的なネットワークLANへ戻る。
用いられている高性能ネットワークSANは、並行処理の要求に対して最適化されていなければならない。これにより、一般的にはソフトウェアとして実現されている機能性がネットワークハードウェアの担当に移される。特に、これは、a)接続されているノードコンピュータが増えている間の性能割込を避ける、ネットワークのスケーラビリティと、
b)高層のプロトコルが飛躍的に簡潔になる、ネットワーク内での経路検索と、c)高層での流れ制御機構が飛躍的に簡潔になる、失うことのないデータ通信と後続パッケージのシーケンス維持と、
d)帯域幅の無駄を避けるための可変パケットサイズと、
e)多くの情報無しに管理し、パッケージを作成するための労力を低減する最小限の通信プロトコルと、に当てはまる。
スリムな通信プロトコルを提供するために、ネットワークハードウェア内に直接再配置することのできる全てのプロトコルタスクは、そこに再配置される。例えば、これは、流れ制御、並びにパケットストリームのシーケンスロイヤルティによる確実なデータ伝送である。更に、通信プロトコルを可能な限りスリムに設計するために、利用可能なコンテクスト情報が用いられる。特に、並列コンピュータのネットワークが、既知数のノードと既知のトポロジを備えている閉じたネットワークであるということは、例えば、可能性のある全ての経路を予め統計学的に計算することができるので、経路検索と経路選択の問題含みの特性を単純化し、又、全てのノードを予め知ることができ、明確に識別できるので、ノードの識別も単純化することになる。更に、外部システムが並列設計コンピュータのネットワーク内には存在しないので、利用されているプロトコルは、外部システムとの通信関係に基づく互換性の制約を受けない。要するに、本システムの知識を論理的必然性として活用すれば、一般的にはオペレーションシステムカーネル内に固定されている第2通信経路19に関わるプロトコルを完全に取り除くことができる。
マルチプロセッサの能力、即ち、コンピュータネットワークの機能性に必要とされる、複数のプロセスが同時に通信接続を提供する能力は、ベースライブラリ内の対応する機構によって、本発明のシステムアーキテクチャ内で達成される。
ユーザーの視点からすると、標準化された通信インターフェースを使えば、ユーザーは、それほどの労力を掛けなくても各目標システム上で複数のアプリケーションを転送することができるので、標準化された通信インターフェースの存在は非常に重要である。更に、標準化された通信インターフェースは、新しいコンピュータ世代への変更中に、アプリケーションを再度特別に調整する必要のないことを保障する。このために、第1通信経路又はオペレーションシステム通信のインターフェースと構文法的及び意味論的に等価であるプログラミングインターフェース23が、本発明に従ってユーザーに提供される。それに基づいて、最終的には標準化されたプログラミング環境26を用いることによって、アプリケーションA又はBは、ベースライブラリ18を通して通信をサービスすることができる。更に、特定のインターフェース24を通してベースライブラリ18と対話する、特別に調整されたバージョンの、標準化され(MPI、メッセージパッシングインターフェース)又は広範囲に配信されたプログラミング環境25(PVM、パラレルバーチャルマシン)が提供される。プログラミングインターフェース23は、本質的に、ローカルネットワーク内での配信されたデータ処理からのアプリケーションと、本発明のシステムへのその転送に適している。しかし、プログラミング環境25又は26、PVM及びMPIは、商業的並列コンピュータへのコネクタ、及びそれらのコンピュータで実行されているアプリケーションを表している。
図3では、左側の、既に図1に示されている従来型通信アーキテクチャを、右側の、図2で示した本発明の通信アーキテクチャと直接比較しており、両方の図面の間の矢印は、単一の通信プロセスステップの再配置を示している。
図3の矢印(1)は、オペレーションシステムの下層から直接ベースライブラリ18までの、SANネットワークへのアクセスの再配置を示している。この方法では、通信アーキテクチャは、一般的にはオペレーションシステム内に在る全ての制約から解放される。これによって、システム内に存在しているメモリ管理構成要素の能力が、論理アドレスフィールドを物理的なメモリ領域から自由自在に構成するために利用される。いわゆる基本原理は、通信ハードウェアに用いられ、ユーザーレベル通信として指定することができる。
図3の矢印(2)で示されているように、今までオペレーションシステムカーネル10内に配置されていた、プロトコル内で生成された機能性、特に、流れ制御、並びにパケットストリームのシーケンスロイヤリティを介した確実なデータ伝送は、今までオペレーションシステムカーネル10内に配置されていた第2通信経路19用のプロトコルが取り除けるように、SANネットワークハードウェア17に直接再配置されるか、又はベースライブラリに再配置される。ネットワークハードウェア17用にプログラム可能なネットワークアダプタが存在する場合、ネットワークによって排他的に作成された所望の機能性を有することができる。
本発明によれば、一般的にはオペレーションシステムカーネル10内のプロトコルサービスとデバイスドライバとの間に配置されているネットワーク選択は、オペレーションシステムからベースライブラリ18へ再配置される(矢印(3)を参照)。従って、オペレーションシステムカーネルを通過する前に、より速い第2通信経路19へ通信接続を経路付けすることができる。
オペレーションシステムの機能性の、オペレーションシステムからベースライブラリへの矢印(4)に従うマッピングは、ベースライブラリの多重処理可能性によって実現される。このために必要な、セマフォーによる限界プログラムセグメントとデータ領域を保護するための手順は、オペレーションシステムの設計から既知である。
アプリケーションのプログラミングインターフェース23は、システムライブラリからベースライブラリへもマップされ(矢印(5b)を参照)、更に等価なプログラミング環境25(矢印(5a)を参照)を提供し、プログラミング環境25は、それが関する限り、インターフェース24を通してベースライブラリ18に直接アクセスする。どちらの方法も、アプリケーションを、より簡単に、より良く、より速く本発明の通信アーキテクチャへ転送できるように作用する。
オペレーションシステムにおける従来の通信アーキテクチャとは対照的に、今まで説明してきた通信アーキテクチャは、著しい性能上の利点を提供するが、どちらかといえば不利な副作用もある。一面では、通信インターフェースの安全に関して制約を設けることによって性能が達成されるが、別の面では、高速通信の利用を求める標準的なアプリケーションは、特定のシステムライブラリに接続しなければならない。両方の限界点を取り除くために、図4に示す通信アーキテクチャが提案されている。しかし図3とは対照的に、ネットワーク選択13をライブラリ18からオペレーションシステムカーネル10内へ新たに再配置すると、プロトコル処理へ実際にアクセスする前に、オペレーションシステム内の通信インターフェースの一般的な安全性が、ベースライブラリ18への特別な接続無しに管理するユーザーアプリケーションとは対照的に通信インターフェースの所望の透明性と共に保障される。
図4は、通信アーキテクチャの更に進化した実施例を詳細に示している。アプリケーションA及びBは、必要ならばプログラミング環境26を挿入することによって、オペレーションシステムカーネル10の後に接続されているシステムライブラリ14にアクセスする。標準的なネットワークLANと高性能ネットワークSANとの間の選択は、オペレーションシステム10へのアクセス直後に、ネットワーク選択ユニット13で行われる。標準的なネットワークLANが選択された場合、通信プロトコルがプロトコルユニット15でサービスされ、その後LANネットワークハードウェア16用のデバイスドライバ11が接続される。高性能ネットワークSANが選択された場合、SANネットワークハードウェア17には、通信経路19を通して直接アクセスすることができる。ここで、通信経路19は、プロトコル層21とデバイスドライバ12も含んでいるが、デバイスドライバ12は、管理タスクにサービスするだけで、実際の通信には組み込まれない。
SANネットワークハードウェア17によるオペレーションシステムカーネル10へのアクセス直後のネットワーク選択の後にシステムライブラリ14と接続する通信経路19に加えて、オペレーションシステムカーネルの外側に、ベースライブラリ18が提供され、ベースライブラリ18には、適したプログラミング環境25の挿入によってアプリケーションCがアクセスし、ベースライブラリ18は、オペレーションシステムカーネルの外側に配置されている通信経路19’を通してSANネットワークハードウェア17に直接アクセスする。この方法では、いわゆる特権のない通信末端が提供され、オペレーションシステムをバイパスすることによって、SANネットワークハードウェア17へアクセスできるようになるが、純粋なユーザーレベル通信とは逆に、オペレーションシステムの全ての保護機構を条件とすることになる。しかし、オペレーションシステムの保護機構をバイパスすることなく、SANネットワークハードウェア17の制御が非常に効率的であるのは、この結果である。通信末端は、それ自体閉じており、オペレーションシステムによって管理保護されている保護ユニットであり、それぞれが1つのアプリケーションに排他的に割り当てられているので、異なるアプリケーションは異なる通信末端を利用するようになっており、例えば、両方の通信末端が同じハードウェアを通してサービスされるにもかかわらず、アプリケーションAはアプリケーションBの末端にアクセスできないようになっている。
図4に示す通信アーキテクチャでは、高性能ネットワークSANと、図2に関連して先に説明したスリムな通信プロトコルに対する要件が実現されている。更に、この場合には、標準化されたプログラミングインターフェースと、標準化又は広範囲に使用されるプログラミング環境も提供されている。
図5では、図1に関連付けて説明した従来の通信アーキテクチャと、図4による新しい通信アーキテクチャとを比較した、機能性とアクセスポイントの再配置を示しており、両方の図の間に入っている矢印は、1つの再配置を表している。
SANネットワークへの、オペレーションシステムの下層から、矢印(1a)及び(1b)で示すような、オペレーションシステムカーネル内の通信経路19のプロトコル層21まで、及び/又は、直接にアプリケーションのアドレス領域又はアプリケーションの1部であるベースライブラリ18までのアクセスの再配置は、一般的にはオペレーションシステム内に在る全ての制約からシステムを解放する。これによって、メモリ管理構成要素の能力が、論理アドレス領域を物理的メモリ領域から自由自在に構成するために利用される。ネットワークアダプタ内の追加の機能性と組み合わせて、特権のない末端が作られる。
一般的なプロトコルで作成された大部分の機能性は、矢印(2)に従って直接SANネットワークハードウェア、並びに通信経路19のプロトコル層21へ再配置される。図2に関連してプロトコル機能性の再配置に関して述べた事柄は、ここでも対応して適用される。
従来の通信アーキテクチャではプロトコルサービスとデバイスドライバとの間に発生するネットワーク選択は、通信オペレーションがより速い通信経路19に早く再経路付けされるように、実際のプロトコルサービス前で、図示の例ではオペレーションシステムカーネル10へのアクセス直後に、矢印(3)に従って再配置される。しかし、ここで、この再経路付けは、所望の通信接続が通信経路19を通じて取り扱われる場合にだけ起こる。そうでない場合は、従来のオペレーションシステム通信へ戻される。矢印(4)に従った、オペレーションシステムからSANネットワークハードウェアへの機能性の再配置は、提供された通信インターフェースの多重処理可能性によって、個々の通信末端という形で実現される。必要なメモリ構成要素の保護のための手順は既知であり、コンピュータのメモリ管理構成要素によってハードウェア側で実行される。
アプリケーションA及びBが、オペレーションシステムの正規の通信インターフェース、即ちシステムライブラリを用いる場合、このアプリケーションのためのネットワーク選択の位置付けに基づいて、高性能通信の統合は完全に透明である。しかし、既知の並列コンピュータプログラミング環境(PVM又はMPI)が利用される場合、通信経路内で更なる最適化が可能である。この最適化は、等価又は最適化されたプログラミング環境を提供することによって支援され、図5の矢印(5)で示されているように、アプリケーションインターフェースがこのプログラミング環境に再配置されるようになる。
図4による通信アーキテクチャでは、ネットワーク選択は、オペレーションシステムへのアクセス直後に起こる。このため、通常、オペレーションシステムカーネルの修正が必要である。オペレーションシステムがこの位置で修正実行を許可しない場合は、図6に示す代替通信アーキテクチャを使用してもよい。基本的に、このアーキテクチャは、ネットワーク選択13がオペレーションシステムカーネルから事前配置済みPSシステムライブラリ22へ再配置されている点で、図4によるアーキテクチャと異なる。このPSシステムライブラリ22は、従来のシステムライブラリとベースライブラリの機能性を基本的に一本化し、ユーザーにシステムライブラリと同じインターフェースを外側に提供する。アプリケーションが、なお存在している正規のシステムライブラリ14の替わりに、PSシステムライブラリ22を用いる場合、全ての内部通信接続は、可能な限り、SAN高性能ネットワークを通して取り扱われる。
更に以下の修正は、機能性とアクセスポイントの再配置に繋がり、既に図5に関連して説明した。ネットワーク選択(矢印(3))は、PSシステムライブラリ22へ再配置され、これによりPSシステムライブラリ22は、実際のシステムライブラリの全機能を提供する。ネットワーク選択のPSシステムライブラリへの再配置は、通信接続が、SAN高性能ネットワークのより速い通信経路19へ、早期に、即ち、オペレーションシステムカーネルへのアクセス前、何より標準プロトコルのサービス前に再経路付けできるようにする。しかし、この接続でも、この再配置は、所望の通信接続がこの通信経路19を通してサービスされる場合にのみ起こる。そうでなければ、従来のオペレーションシステム通信へ戻される。
図5に関連して既に説明したように、アプリケーションのプログラミングインターフェースは、システムライブラリからベースライブラリへ再配置され(矢印(5b))、等価なプログラミング環境が提供され(矢印(5a))、関係の在る限り、ベースライブラリに直接アクセスする。

Claims (8)

  1. 複数コンピュータのシステム内の個々のコンピュータの通信を制御するための方法であって、前記個々のコンピュータは、標準的なネットワーク及び高性能ネットワークによって互いに接続されており、個々のコンピュータのそれぞれは、オペレーティングシステムカーネル(10)内に、通信プロトコルをサービスするために前記標準的なネットワークと接続されているプロトコルユニット(15)と、前記オペレーティングシステムカーネル(10)の上流にあるライブラリ(14;14、18;14、18、22)とを備えており、アプリケーション(A、B、C)は、前記ライブラリ上の通信インターフェース(23、24)に置かれ、前記標準的なネットワークと前記高性能ネットワークとの間の選択がネットワーク選択ユニット(13)で行われ、オペレーティングシステムカーネル(10)をバイパスしたもとで前記ライブラリ(18)を前記高性能ネットワークに直接接続する高性能通信経路(19’)が提供されている方法において、前記ネットワーク選択は、前記ライブラリの前記通信インターフェース(23、24)の下流で、且つ、前記オペレーティングシステムカーネル(10)への入口の上流で行われ、前記ライブラリは前記高性能ネットワークに、前記オペレーティングシステムカーネル(10)の前記プロトコルユニット(15)をバイパスしたもとで前記オペレーティングシステム(10)内の高性能通信経路(19)を介して接続されていることを特徴とする方法。
  2. 前記ネットワーク選択は、前記アプリケーションによって決定された目標アドレスに基づいて実行されることを特徴とする請求項1に記載の方法。
  3. 通信接続が前記通信経路(19)を介して確立できなかった場合に、前記標準的なネットワークにアクセスされることを特徴とする請求項1から2のいずれか1項に記載の方法。
  4. スリムな通信プロトコルを形成するために、プロトコルタスクはネットワークハードウェア(17)に移動させられることを特徴とする請求項1から3のいずれか1項に記載の方法。
  5. 他の個々のコンピュータと標準的なネットワーク及び高性能ネットワークによって互いに接続されることが可能な個々のコンピュータであって、オペレーティングシステムカーネル(10)内に、通信プロトコルをサービスするために前記標準的なネットワークと接続されているプロトコルユニット(15)と、
    前記オペレーティングシステムカーネル(10)の上流にあるライブラリ(14;14、18;14、18、22)と、を備えており、
    アプリケーション(A、B、C)は、前記ライブラリ上の通信インターフェース(23、24)に置かれ、前記標準的なネットワークと前記高性能ネットワークとの間の選択がネットワーク選択ユニット(13)で行われ、前記個々のコンピュータは、前記オペレーティングシステムカーネル(10)をバイパスしたもとで前記ライブラリ(18)を前記高性能ネットワークに直接接続する通信経路(19’)を有し、前記ネットワーク選択は、前記ライブラリの前記通信インターフェース(23、24)の下流で、且つ、前記オペレーティングシステムカーネル(10)への入口の上流で行われ、前記ライブラリは前記高性能ネットワークに、前記オペレーティングシステムカーネル(10)の前記プロトコルユニット(15)をバイパスしたもとで前記オペレーティングシステム(10)内の高性能通信経路(19)を介して接続されていることを特徴とする個々のコンピュータ。
  6. 前記ネットワーク選択は、前記アプリケーションによって決定された目標アドレスに基づいて実行されることを特徴とする請求項5記載の個々のコンピュータ。
  7. 前記高性能ネットワークとの通信接続が前記通信経路(19)又は前記別の通信経路(19’)を介して確立できなかった場合に、前記標準的なネットワークにアクセスされることを特徴とする請求項5からのいずれか1項に記載の個々のコンピュータ。
  8. スリムな通信プロトコルを形成するために、プロトコルタスクはネットワークハードウェア(17)に移動させられることを特徴とする請求項5からのいずれか1項に記載の個々のコンピュータ。
JP2010232646A 2000-02-29 2010-10-15 コンピュータネットワーク内で単一コンピュータの通信を制御するための方法 Expired - Lifetime JP4854802B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10009570.4 2000-02-29
DE10009570A DE10009570A1 (de) 2000-02-29 2000-02-29 Verfahren zur Steuerung der Kommunikation von Einzelrechnern in einem Rechnerverbund

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001564551A Division JP4644410B2 (ja) 2000-02-29 2001-02-28 コンピュータネットワーク内で単一コンピュータの通信を制御するための方法

Publications (2)

Publication Number Publication Date
JP2011018383A JP2011018383A (ja) 2011-01-27
JP4854802B2 true JP4854802B2 (ja) 2012-01-18

Family

ID=7632854

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001564551A Expired - Lifetime JP4644410B2 (ja) 2000-02-29 2001-02-28 コンピュータネットワーク内で単一コンピュータの通信を制御するための方法
JP2010232646A Expired - Lifetime JP4854802B2 (ja) 2000-02-29 2010-10-15 コンピュータネットワーク内で単一コンピュータの通信を制御するための方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001564551A Expired - Lifetime JP4644410B2 (ja) 2000-02-29 2001-02-28 コンピュータネットワーク内で単一コンピュータの通信を制御するための方法

Country Status (10)

Country Link
US (1) US7308509B2 (ja)
EP (4) EP1424833B1 (ja)
JP (2) JP4644410B2 (ja)
KR (1) KR100802585B1 (ja)
AT (4) ATE348475T1 (ja)
AU (1) AU4244001A (ja)
DE (5) DE10009570A1 (ja)
DK (1) DK1262051T3 (ja)
ES (3) ES2279236T3 (ja)
WO (1) WO2001065799A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10009570A1 (de) * 2000-02-29 2001-08-30 Partec Ag Verfahren zur Steuerung der Kommunikation von Einzelrechnern in einem Rechnerverbund
US7512686B2 (en) 2000-12-21 2009-03-31 Berg Mitchell T Method and system for establishing a data structure of a connection with a client
US20020116397A1 (en) 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet through multiple router devices
US7287090B1 (en) 2000-12-21 2007-10-23 Noatak Software, Llc Method and system for identifying a computing device in response to a request packet
US20030212735A1 (en) * 2002-05-13 2003-11-13 Nvidia Corporation Method and apparatus for providing an integrated network of processors
GB2413872B (en) * 2002-05-13 2006-03-01 Nvidia Corp Method and apparatus for providing an integrated network of processors
CN1628452B (zh) * 2002-05-17 2010-09-01 株式会社Ntt都科摩 传输序列的碎片整理
US7397797B2 (en) * 2002-12-13 2008-07-08 Nvidia Corporation Method and apparatus for performing network processing functions
US7913294B1 (en) 2003-06-24 2011-03-22 Nvidia Corporation Network protocol processing for filtering packets
GB0408876D0 (en) * 2004-04-21 2004-05-26 Level 5 Networks Ltd User-level stack
US20070168536A1 (en) * 2006-01-17 2007-07-19 International Business Machines Corporation Network protocol stack isolation
CN101833479B (zh) * 2010-04-16 2014-05-21 中国人民解放军国防科学技术大学 多网络环境下基于强化学习的mpi消息调度方法
DE102011083779A1 (de) * 2011-09-29 2013-04-04 Hilti Aktiengesellschaft Befestigungssystem
JP5815041B2 (ja) * 2011-10-21 2015-11-17 三菱電機株式会社 家電機器及び通信制御方法
CN107770620B (zh) * 2017-09-21 2020-10-30 广州视源电子科技股份有限公司 请求信息响应方法、系统及可读存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0610677A3 (en) * 1993-02-12 1995-08-02 Ibm Communication device management module operating in two modes.
JPH06309251A (ja) * 1993-04-26 1994-11-04 Hitachi Ltd 高速の通信アダプタを実装した計算機
JP3024901B2 (ja) * 1994-05-24 2000-03-27 三菱電機株式会社 多重化ネットワーク制御装置
US5689638A (en) * 1994-12-13 1997-11-18 Microsoft Corporation Method for providing access to independent network resources by establishing connection using an application programming interface function call without prompting the user for authentication data
JP3390608B2 (ja) * 1996-08-28 2003-03-24 株式会社日立製作所 ストレージネットワーク制御方法
GB9625020D0 (en) * 1996-11-29 1997-01-15 Northern Telecom Ltd Network restoration
US6427173B1 (en) * 1997-10-14 2002-07-30 Alacritech, Inc. Intelligent network interfaced device and system for accelerated communication
US6167446A (en) * 1997-11-03 2000-12-26 Inca Technology, Inc. Automatically configuring network-name-services
US5991797A (en) * 1997-12-23 1999-11-23 Intel Corporation Method for directing I/O transactions between an I/O device and a memory
US6493343B1 (en) 1998-01-07 2002-12-10 Compaq Information Technologies Group System and method for implementing multi-pathing data transfers in a system area network
US6163834A (en) 1998-01-07 2000-12-19 Tandem Computers Incorporated Two level address translation and memory registration system and method
US6173374B1 (en) * 1998-02-11 2001-01-09 Lsi Logic Corporation System and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer network
US6246683B1 (en) * 1998-05-01 2001-06-12 3Com Corporation Receive processing with network protocol bypass
JP3628514B2 (ja) * 1998-05-14 2005-03-16 株式会社日立製作所 計算機間データ送受信方法
US6842833B1 (en) * 1998-06-30 2005-01-11 Hewlett-Packard Development Company, L.P. Computer system and method for transferring data between multiple peer-level storage units
US6272591B2 (en) * 1998-10-19 2001-08-07 Intel Corporation Raid striping using multiple virtual channels
US6658469B1 (en) * 1998-12-18 2003-12-02 Microsoft Corporation Method and system for switching between network transport providers
US6965911B1 (en) * 1998-12-21 2005-11-15 Intel Corporation Efficiently exporting local device access onto a system area network using a direct-call interface
US6389432B1 (en) * 1999-04-05 2002-05-14 Auspex Systems, Inc. Intelligent virtual volume access
US6223270B1 (en) * 1999-04-19 2001-04-24 Silicon Graphics, Inc. Method for efficient translation of memory addresses in computer systems
US6760783B1 (en) * 1999-05-21 2004-07-06 Intel Corporation Virtual interrupt mechanism
US7350028B2 (en) * 1999-05-21 2008-03-25 Intel Corporation Use of a translation cacheable flag for physical address translation and memory protection in a host
US6742051B1 (en) * 1999-08-31 2004-05-25 Intel Corporation Kernel interface
US6757291B1 (en) * 2000-02-10 2004-06-29 Simpletech, Inc. System for bypassing a server to achieve higher throughput between data network and data storage system
DE10009570A1 (de) * 2000-02-29 2001-08-30 Partec Ag Verfahren zur Steuerung der Kommunikation von Einzelrechnern in einem Rechnerverbund
US6349361B1 (en) * 2000-03-31 2002-02-19 International Business Machines Corporation Methods and apparatus for reordering and renaming memory references in a multiprocessor computer system

Also Published As

Publication number Publication date
ATE259131T1 (de) 2004-02-15
ATE348474T1 (de) 2007-01-15
ES2279236T3 (es) 2007-08-16
EP1424834B1 (de) 2006-12-13
ATE348475T1 (de) 2007-01-15
KR100802585B1 (ko) 2008-02-13
DE50101437D1 (de) 2004-03-11
JP2011018383A (ja) 2011-01-27
JP4644410B2 (ja) 2011-03-02
DE50111656D1 (de) 2007-01-25
DK1262051T3 (da) 2004-05-24
EP1262051B1 (de) 2004-02-04
EP1424833A2 (de) 2004-06-02
US20030041177A1 (en) 2003-02-27
AU4244001A (en) 2001-09-12
ES2211784T3 (es) 2004-07-16
DE50111657D1 (de) 2007-01-25
EP1262051A1 (de) 2002-12-04
EP1424833A3 (de) 2004-06-09
JP2003526150A (ja) 2003-09-02
EP1424835A2 (de) 2004-06-02
ATE348473T1 (de) 2007-01-15
EP1424833B1 (de) 2006-12-13
DE50111655D1 (de) 2007-01-25
EP1424834A3 (de) 2004-06-09
ES2279237T3 (es) 2007-08-16
DE10009570A1 (de) 2001-08-30
EP1424835B1 (de) 2006-12-13
EP1424834A2 (de) 2004-06-02
US7308509B2 (en) 2007-12-11
KR20030017470A (ko) 2003-03-03
EP1424835A3 (de) 2004-06-09
WO2001065799A1 (de) 2001-09-07

Similar Documents

Publication Publication Date Title
JP4854802B2 (ja) コンピュータネットワーク内で単一コンピュータの通信を制御するための方法
US20200201661A1 (en) Guaranteeing availability of target data to remote initiators via a hybrid source/target credit scheme
US20020161848A1 (en) Systems and methods for facilitating memory access in information management environments
Lauria et al. MPI-FM: High performance MPI on workstation clusters
US6829685B2 (en) Open format storage subsystem apparatus and method
US7664909B2 (en) Method and apparatus for a shared I/O serial ATA controller
KR100372492B1 (ko) 네트워크 프로세서를 사용하는 서버 클러스터 접속
KR100555394B1 (ko) Ngio/infiniband 어플리케이션용 리모트 키검증을 위한 방법 및 메커니즘
EP2115551B1 (en) Apparatus and methods for clustering multiple independent pci express hierarchies
JP3783017B2 (ja) ローカル識別子を使ったエンド・ノード区分
US20020107903A1 (en) Methods and systems for the order serialization of information in a network processing environment
US20020107971A1 (en) Network transport accelerator
JP2009110512A (ja) ネットワークオンチップ、およびネットワークオンチップで以ってデータを処理する方法
US6785760B2 (en) Performance of a PCI-X to infiniband bridge
WO2009071941A1 (en) Control path i/o virtualisation
Van Meter A brief survey of current work on network attached peripherals
JPH09288654A (ja) 多重データソース及びシンク間のリファレンスによるコンピュータシステムデータi/o
US20150127864A1 (en) Hardware first come first serve arbiter using multiple request buckets
US5805572A (en) Single-system image network subsystem in a clustered system
US7979656B2 (en) Minimizing configuration changes in a fabric-based data protection solution
US11966370B1 (en) Pseudo-local multi-service enabled file systems using a locally-addressable secure compute layer
Balaji et al. Bridging the Ethernet-Ethernot performance gap
Huang et al. An ultra-low latency and compatible PCIe interconnect for rack-scale communication
US20240338330A1 (en) Apparatus and method for supporting data input/output operation based on a data attribute in a shared memory device or a memory expander
Cohen et al. Applying Amdahl's Other Law to the data center

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110331

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110623

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110628

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110801

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110831

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: 20111013

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111025

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4854802

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term