JP4986844B2 - Hpcノード障害の検出及び管理を行うシステム及び方法 - Google Patents

Hpcノード障害の検出及び管理を行うシステム及び方法 Download PDF

Info

Publication number
JP4986844B2
JP4986844B2 JP2007508456A JP2007508456A JP4986844B2 JP 4986844 B2 JP4986844 B2 JP 4986844B2 JP 2007508456 A JP2007508456 A JP 2007508456A JP 2007508456 A JP2007508456 A JP 2007508456A JP 4986844 B2 JP4986844 B2 JP 4986844B2
Authority
JP
Japan
Prior art keywords
nodes
node
job
board
subset
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
JP2007508456A
Other languages
English (en)
Other versions
JP2007533031A (ja
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.)
Raytheon Co
Original Assignee
Raytheon Co
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 Raytheon Co filed Critical Raytheon Co
Publication of JP2007533031A publication Critical patent/JP2007533031A/ja
Application granted granted Critical
Publication of JP4986844B2 publication Critical patent/JP4986844B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/358Infiniband Switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、一般に、データ処理の分野に関し、特に、HPCノード障害の検出及び管理を行うシステム及び方法に関する。
高性能計算(HPC)は多くの場合、複雑な物理的現象又はアルゴリズム現象をモデリングし、シミュレーションし、解析する科学者及び技術者によって用いられる計算システムによって特徴付けられる。現在、HPCマシンは通常、ノードと呼ばれる数多くの、1つ又は複数のプロセッサから成るHPCクラスタを用いて設計されている。大半の大規模の科学アプリケーション及び工学アプリケーションの場合、性能は、個々のノードの速度ではなく、個々のノードの並列スケーラビリティによって主に判定される。したがって、スケーラビリティは多くの場合、そのような高性能クラスタを構築するか購入するうえでの制約要因である。スケーラビリティは通常、i)ハードウェア、ii)メモリ帯域幅、I/O帯域幅、及び通信帯域幅、iii)ソフトウェア、iv)アーキテクチャ、並びにv)アプリケーションに基づいたものとみなされる。従来の大半のHPC環境における処理帯域幅、メモリ帯域幅、及びI/O帯域幅は通常、うまくバランスがとれておらず、したがって、うまくスケーリングされていない。多くのHPC環境は、ハイエンドのデータ処理要件を満たすI/O帯域幅を有していないか、インストールされている不必要な構成部分が多すぎるブレードによって構築されており、このことはシステムの信頼度を劇的に低減する傾向にある。
よって、多くのHPC環境は、生産指向環境における効率的な処理を行ううえでの頑健なクラスタ管理ソフトウェアを備えていない場合がある。
本明細書及び特許請求の範囲は、複数のHPCノードのうちの1つに障害が発生したことを判定する工程を含む、HPCノード障害を管理するシステム及び方法を提供する。各HPCノードは統合ファブリックを備える。障害が発生したノードは次いで、仮想のHPCノード・リストから除去される。この仮想リストは、複数のHPCノード毎に1つの論理エントリを有する。
本発明は、重要な技術上の利点をいくつか有する。例えば、本発明の考えられる1つの効果は、集中スイッチング機能を少なくとも部分的に、削減するか、分散させるか、除去することによって、本発明が、通常のHPC帯域幅の、場合によっては、4倍乃至8倍の、より大きな入出力(I/O)性能を提供することができることである。実際に、特定の実施例では、I/O性能はプロセッサ性能にほぼ等しい場合がある。このうまくバランスがとれた手法が通信オーバヘッドから受ける影響はより少ない場合がある。したがって、本発明によって、ブレード性能及び全体システム性能が向上し得る。考えられる更なる利点は、相互接続レーテンシの低減である。更に、本発明は、通常のブレードよりも、容易にスケーリング可能であり、信頼度が高く、フォールト・トレランスが高い場合がある。なお別の効果としては、大学や技術研究所に転嫁される場合がある、HPCサーバの製造に係わるコスト及び/又は、HPC処理を行うことに係わるコストの削減があり得る。本発明は、少なくとも一部分は、バランスされているアーキテクチャに基づいて、より頑健でかつ効率的な管理ソフトウェアを更に可能にすることができる。本発明の種々の実施例は、これらの効果を何ら有しない場合があり、これらの効果の一部又は全部を有する場合もある。本発明の他の技術上の利点は、当業者に容易に明らかとなるであろう。
本明細書及び特許請求の範囲、並びにその利点がより徹底的に分かるために、次に、下記明細書を添付図面とともに参照する。
図1は、ソフトウェアのアプリケーション及び処理、例えば、大気シミュレーション、気象シミュレーションや衝撃シミュレーションを、HPC手法を用いて実行する高性能計算(HPC)システム100を示す構成図である。システム100は、処理性能に実質的に同様なI/O性能を備えている、種々の計算ノード115間で動的に割り当てられるHPC機能をユーザに提供する。一般に、これらのノード115は、とりわけ、この、入出力(I/O)性能の増加とファブリック・レーテンシの低減が理由で容易にスケーリング可能である。例えば、分散アークテクチャにおけるノード115のスケーラビリティは、
S(N)=1/((FP/N)+FS)*(1−Fc*(1−RR/L))
である、アムダールの法則の派生形によって表すことができる。ここで、S(N)=N個のプロセッサに対する高速化であり、Fp=並列コードの割合であり、Fs=非並列コードの割合であり、Fc=通信に充てられる処理の割合であり、RR/L=遠隔メモリ帯域幅の局所メモリ帯域幅に対する比である。したがって、HPCシステム100が、処理性能にほぼ等しいか、ほぼ近づいているI/O性能を提供することによって、HPCシステム100はHPCアプリケーションの全体効率を向上させ、システム管理の容易化を可能にする。
HPCシステム100は、(科学者や技術者などの)ユーザがジョブ150を投入してHPCサーバ102上で処理することを可能にする分散クライアント/サーバ・システムである。例えば、システム100は、1つ又は複数の管理ワークステーション又は局所クライアント120にネットワーク106を介して接続されるHPCサーバ102を含み得る。しかし、システム100は、スタンドアロン型計算環境又は何れかの別の適切な環境であり得る。要約すれば、システム100は、スケーラビリティの高いノード115を含み、かつ、ユーザが、ジョブ150を投入し、スケーラブルなノード150をジョブ150に動的に割り当て、割り当てられたノード115を用いてジョブ150を自動的に実行することを可能にする何れかのHPC計算環境である。ジョブ150は、HPC手法を用いて処理され、何れかの適切なユーザによって投入されるよう処理可能な何れかのバッチ・ジョブ又はオンライン・ジョブであり得る。例えば、ジョブ150は、シミュレーション、モデル、又は何れかの別の高性能要件に対する要求であり得る。ジョブ150は、クラスタ化データベース、オンライン・トランザクション処理システムやクラスタ化アプリケーション・サーバなどのデータ・センター・アプリケーションを実行する要求であってもよい。本明細書及び特許請求の範囲に記載の「dynamically」の語は一般に、特定の処理が少なくとも部分的に、実行時に1つ又は複数の変数に基づいて判定されることを表す。本明細書及び特許請求の範囲に記載の「automatically」の語は一般に、適切な処理が実質的に、HPCシステム100の少なくとも一部によって行われるということを表す。この「automatically」の語が更に、何れかの適切なユーザ又は管理者による、システム100との相互作用を、本願の開示の範囲から逸脱することなく想定していることが分かる。
HPCサーバ102は、複数の、バランスされたノード115及びクラスタ管理ノード130を用いてジョブ150を処理するよう動作可能な何れかの、局所コンピュータ又は遠隔コンピュータを備える。一般に、HPCサーバ102は、ブレード・サーバや別の分散サーバなどの分散コンピュータを備える。サーバ102は、その構成がどんなものであっても、複数のノード115を含む。ノード115は、例えば、ブレード、汎用パーソナル・コンピュータ(PC)、マッキントッシュ、ワークステーション、ユニックス(Unix(登録商標))ベースのコンピュータや何れかの別の適切な装置などの何れかのコンピュータ装置又は処理装置を備える。一般に、図1は、本願の開示とともに用い得るコンピュータの一例に過ぎないものを備える。例えば、図1は本願開示とともに用い得る一サーバ102を示すが、システム100は、サーバ以外のコンピュータ、並びにサーバ・プールを用いて実施することが可能である。すなわち、本願の開示は、汎用コンピュータ以外のコンピュータ、並びに、通常のオペレーティング・システムなしのコンピュータを想定している。本明細書及び特許請求の範囲に記載の「computer」の語は、パソコン、ワークステーション、ネットワーク・コンピュータや、何れかの別の適切な処理装置を包含することが意図されている。HPCサーバ102又はコンポーネント・ノード115は、リナックス(Linux)、ユニックス(Unix(登録商標))、ウィンドウズ(登録商標)・サーバや、何れかの別の適切なオペレーティング・システムを含む何れかのオペレーティング・システムを実行するよう形成し得る。一実施例によれば、HPCサーバ102は、遠隔ウェブ・サーバを含んでいてもよく、遠隔ウェブ・サーバに通信可能に結合されていてもよい。したがって、サーバ102は、ノード115を動的に割り当ててHPCジョブ150を処理するのに適した何れかの組み合わせでソフトウェア及び/又はハードウェアを備えている何れかのコンピュータを備え得る。
概略を述べれば、HPCサーバ102は、管理ノード105、複数のノード115を備えるグリッド110、及びクラスタ管理エンジン130を含む。特に、サーバ102は、i)デュアル・プロセッサ、ii)大容量の、高帯域幅のメモリ、iii)デュアル・ホスト・チャネル・アダプタ(HCA)、iv)統合ファブリック・スイッチング、v)FPGAサポート、及びvi)冗長な電源入力すなわちN+1個の電源の構成部分の一部又は全部を備えている複数のブレード(ノード115)を含む標準の19インチ(48.26cm)のラックであり得る。これらの種々の構成部分によって、障害がノード・レベルに限定されることが可能になる。しかし、HPCサーバ102及びノード115がこれらの構成部分を全部含まない場合があることが分かる。
管理ノード105は、実質的に専ら、管理者を管理するか支援する少なくとも1つのブレードを備える。例えば、管理ノード105は2つのブレードを備える場合があり、2つのブレードのうちの1つは(アクティブ構成/パッシブ構成などの)冗長性を有する。一実施例では、管理ノード105は、HPCノード115と同じタイプのブレード又は計算装置であり得る。しかし、管理ノード105は、少なくとも部分的にグリッド110を管理するよう動作可能な状態にとどまっている限り、何れかの数の回路を含み、何れかの適切な方法で構成される何れかのノードであり得る。多くの場合、管理ノード105は、グリッド110に併せて表している複数のHPCノード115から物理的又は論理的に分離されている。図示する実施例では、管理ノード105は、グリッド110にリンク108を介して通信可能に結合し得る。リンク108は、何れかの適切な通信プロトコルを実施する何れかの通信管路を備え得る。一実施例では、リンク108は管理ノード105とグリッド110との間の、ギガビット又は10ギガビットのイーサネット(登録商標)通信を備える。
グリッド110は、処理能力を向上させるよう相互接続されるノード群115である。通常、グリッド110は、3次元トーラスであるが、本願の開示の範囲から逸脱することなく、メッシュ、超立方体や、何れかの別の形状若しくは構成であり得る。グリッド110におけるノード115間のリンクは、例えばファイバや銅などの、電気信号又は電磁気信号を伝達することが可能な、直列又は並列の、アナログ・リンク、ディジタル・リンクや、何れかの別のタイプのリンクであり得る。各ノード115は統合スイッチによって構成される。このことによって、ノード115が3次元トーラスの基本的な構成体により容易になることを可能にし、別のノード115間のXYZ距離を最小にすることに寄与する。更に、このことは、最大でギガビット・レベルの速度での大容量システムで銅線を機能させる場合があり、一部の実施例では、最長のケーブルは5メートル未満である。要約すれば、ノード115は、一般に、最近傍通信、及びI/O帯域幅の増加に最適化される。
各ノード115は、クラスタ管理エンジン130と通信可能に結合されるクラスタ・エージェント132を含み得る。一般に、エージェント132は要求又はコマンドを管理ノード105及び/又はクラスタ管理エンジン130から受信する。エージェント132は、ノード115の物理ステータスを判定し、処理データを「ハートビート(heartbeat)」などによって管理ノード105に通信するよう動作可能な何れかのハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせを含み得る。別の実施例では、管理ノード105は、エージェント132を周期的にポーリングして関連ノード115のステータスを判定し得る。エージェント132は、クラスタ管理エンジン130の少なくとも一部分と互換である状態のままである限り、例えば、C、C++、アセンブラ、ジャバ(Java(登録商標))、ビジュアル・ベーシック(Visual Basic)や他の言語又はそれらの組み合わせなどの何れかの適切なコンピュータ言語で記述される場合がある。
クラスタ管理エンジン130は、ノード115を動的に、割り当て、管理し、ノード115を用いてジョブ150を実行するよう動作可能な、何れかのハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせを含み得る。例えば、クラスタ管理エンジン130は、C、C++、ジャバ、ビジュアル・ベーシック、アセンブラ、4GLの何れかの適切なバージョン、及びその他の言語又はそれらの何れかの組み合わせを含む何れかの適切なコンピュータ言語で作成又は記述される場合がある。クラスタ管理エンジン130を図1に単一のマルチタスク・モジュールとして示しているが、このエンジンによって行われる特徴と機能は、(図5に更に詳細に表すように)例えば、物理層モジュール、仮想層モジュール、ジョブ・スケジューラや、プレゼンテーション・エンジンなどの、複数のモジュールによって行うことができることが分かる。更に、管理ノード105の外に示すが、管理ノード105は通常、クラスタ管理エンジン130に関連した1つ又は複数の処理を実行し、クラスタ管理エンジン130を記憶させ得る。更に、クラスタ管理エンジン130は、本願の開示の範囲から逸脱することなく、別のソフトウェア・モジュールの子モジュール又はサブモジュールであり得る。よって、クラスタ管理エンジン130は、ノード115及びジョブ150をインテリジェントに管理するよう動作可能な1つ又は複数のソフトウェア・モジュールを備える。
サーバ102は、クライアント・サーバ環境や別の分散環境においてネットワーク106を介してクライアント120などの別のコンピュータ・システムと通信するインタフェース104を含み得る。特定の実施例では、サーバ102はジョブ150又はジョブ・ポリシーをネットワーク106から受信してディスク・ファーム140に記憶させる。ディスク・ファーム140は、ノードを相互接続するものと同じ広帯域インタフェースを用いて計算アレイに直接接続することもできる。一般に、インタフェース104は、適切な組み合わせにおけるものであり、かつ、ネットワーク106と通信するよう動作可能な、ソフトウェア及び/又はハードウェアにコード化された論理を備える。特に、インタフェース104は、物理信号を通信するよう動作可能な通信ネットワーク106又はハードウェアに関連した1つ又は複数の通信プロトコルをサポートするソフトウェアを備え得る。
ネットワーク106は、コンピュータ・サーバ102と、クライアント120などの何れかの別のコンピュータとの間の無線通信又は有線通信を容易にする。実際に、サーバ102とクライアント120との間に存在するものとして図示しているが、ネットワーク106は、本願の開示の範囲から逸脱することなく、種々のノード115間に存在する場合もある。すなわち、ネットワーク106は、種々の計算構成部分間での通信を容易にするよう動作可能な何れかの1つ若しくは複数のネットワーク、又はサブネットワークに及ぶ。ネットワーク106は、例えば、インターネット・プロトコル(IP)パケット、フレーム・リレイ・フレーム、非同期転送モード(ATM)・セル、音声、ビデオ、データ、及び別の適切な情報をネットワーク・アドレス間で通信することができる。ネットワーク106は、1つ又は複数の場所での、1つ又は複数の、ローカル・エリア・ネットワーク(LAN)、無線アクセス・ネットワーク(RAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネットとして知られるグローバル・コンピュータ・ネットワークの全部若しくは一部分、及び/又はいずれかの別の1つ又は複数の通信システムを含み得る。
一般に、ディスク・ファーム140は、ジョブ150、プロファイル、ブート画像、又は別のHPC情報を記憶させる何れかのメモリ、データベース又はストレージ・エリア・ネットワーク(SAN)である。図示する実施例によれば、ディスク・ファーム140は、1つ又は複数のストレージ・クライアント142を含む。ディスク・ファーム140は、いくつかの通信プロトコル、例えば、インフィニバンド(InfiniBand)(IB)、ギガビット(Gigabit)・イーサネット(登録商標)(Ethernet(登録商標))
(GE)又はファイバチャネル(FibreChannel)(FC)のうちの何れかによってデータ・パケットを処理し、ルーティングすることができる。データ・パケットは通常、ディスク・ファーム140内のデータを伝送するのに用いられる。データ・パケットは、発信元識別子及び宛て先識別子を有するヘッダを含み得る。発信元識別子、例えば、発信元アドレスは情報の発信元を識別し、宛て先識別子、例えば宛て先アドレスは情報の受信先を識別する。
クライアント120は、ジョブ投入画面又は管理手続き(administration)がユーザにグラフィカル・ユーザ・インタフェース(GUI)126を介して提示されるよう動作可能な何れかの装置である。概略を述べれば、図示するクライアント120は、少なくともGUI126を含み、システム100に関連した何れかの適切なデータを受信し、送信し、処理し、記憶するよう動作可能な電子計算機装置を備える。通信可能にサーバ102に結合される何れかの数のクライアント120が存在し得ることが分かる。更に、「client 120」及び「user of client 120」は、本願の開示の範囲から逸脱することなく、適宜、同義で用い得る。更に、図示を容易にするよう、各クライアントは1つのユーザによって用いられるという点で表している。しかし、多くのユーザが1つのコンピュータを用いて、ジョブ150を同じGUI126を用いて通信することができることを本明細書は想定している。
本明細書記載の通り、クライアント120は、パソコン、タッチ画面端末、ワークステーション、ネットワーク・コンピュータ、キオスク、無線データ・ポート、携帯電話機、携帯情報端末(PDA)、これら若しくは別の装置内の1つか複数のプロセッサ、又は何れかの別の適切な処理装置を包含することが意図されている。例えば、クライアント120は、情報を受け入れることが可能な、キーパッド、タッチ画面、マウスや、別の装置などの入力装置、ディジタル・データ、視覚情報を含む、サーバ102若しくはクライアント120の処理に関連した情報を伝える出力装置、又はGUI126を含むコンピュータを備え得る。入力装置も出力装置も、磁気コンピュータ・ディスク、CD-ROMや別の適切な媒体などの固定記憶媒体又は取り外し可能記憶媒体を含んで、管理手続き及びジョブ投入画面、すなわちGUI126を介してクライアント120のユーザからの入力を受信し、出力をそのユーザに備え得る。
GUI126は、i)クライアント120のユーザがシステム100とインタフェースをとって1つ又は複数のジョブ150を投入する工程;及び/又はii)システム管理者(若しくはネットワーク管理者)がクライアント120を用いて、何れかの適切な監視目的でシステム100とインタフェースをとる工程;を可能にするよう動作可能なグラフィカル・ユーザ・インタフェースを備える。一般に、GUI126は、HPCシステム100によって備えられるデータの効率的でかつユーザ・フレンドリな提示をクライアント120のユーザに備える。GUI126は、ユーザによって操作される相互作用フィールド、プルダウン・リスト、及びボタンを有する複数のカスタム化可能なフレーム又は表示を備えることができる。一実施例では、GUI126は、種々のジョブ・パラメータ・フィールドを表示し、クライアント120のユーザからのコマンドを入力装置のうちの1つを介して受信するジョブ投入ディスプレイ(表示)を表示させる。あるいは、又は組み合わせにおいて、GUI126は、ノード115の物理ステータス及び論理ステータスを図4A乃至4Bに示すようにシステム管理者に提示し、種々のコマンドを管理者から受信することができる。管理者コマンドは、ノードを利用可能(不能)なものとしてマーキングするコマンド、保守のためにノードをシャットダウンさせるコマンド、ノードを再ブートするコマンドや、何れかの別の適切なコマンドを含み得る。更に、グラフィカル・ユーザ・インタフェース(graphical user interface)の語を単数形又は複数形で用いて、1つ又は複数のグラフィカル・ユーザ・インタフェースと、特定のグラフィカル・ユーザ・インタフェースの表示のそれぞれを表すことができることが分かる。したがって、GUI126には、情報をシステム100において処理し、結果をユーザに効率的に提示する、汎用ウェブ・ブラウザなどの何れかのグラフィカル・ユーザ・インタフェースを想定している。サーバ102は、クライアント120からのデータをウェブ・ブラウザ(例えば、マイクロソフト(Microsoft)社のインターネット・エクスプローラ(Internet Explorer)又はネットスケープ(Netscape)社のナビゲータ(Navigator))を介して受け入れ、ネットワーク106を用いて適切なHTML応答又はXML応答を戻すことが可能である。
処理の一局面では、HPCサーバ102はまず、初期化又はブートされる。この処理中に、クラスタ管理エンジン130は、グリッド110におけるノード115の存在、状態、位置、及び/又は別の特性を判定する。上記のように、このことは、各ノードが初期化されるか、又は管理ノード105によってほぼ即時にポーリングされると通信される「ハートビート」に基づく場合がある。次に、クラスタ管理エンジン130は、グリッド110の種々の部分を1つ又は複数の仮想クラスタ220に、例えば、所定のポリシーに基づいて動的に割り当てることができる。一実施例では、クラスタ管理エンジン130は、考えられる障害についてノード115を継続して監視し、ノード115のうちの1つに障害が発生したことを判定すると、種々の回復手法のうちの何れかを用いて障害を効果的に管理する。クラスタ管理エンジン130は、一意の実行環境を仮想クラスタ220の割り当てノード毎に管理し、備える場合もある。実行環境は、ホスト名、IPアドレス、オペレーティング・システム、構成サービス、局所ファイル・システム及び共有ファイル・システム、並びにインストールされているアプリケーション群並びにデータ群を含み得る。クラスタ管理エンジン130は、関連ポリシーによって、かつ優先度などのクラスタ間ポリシーによってノードを仮想クラスタ220から動的に加えるか又は減らすことができる。
ユーザは、クライアント120にログオンすると、GUI126を介してジョブ投入画面が提示される場合がある。ユーザがジョブ・パラメータを入力し、ジョブ150を投入すると、クラスタ管理エンジン130はジョブ投入、関連パラメータ、及び、ジョブ150、ユーザ又はユーザ群に関連した何れかの所定のポリシーを処理する。クラスタ管理エンジン130は更に、適切な仮想クラスタ220を、少なくとも部分的にはこの情報に基づいて判定する。エンジン130は次いで、ジョブ空間230を仮想クラスタ220内に割り当て、ジョブ150を割り当てノード115にわたってHPC手法を用いて実行する。少なくとも部分的にはこの向上したI/O性能に基づいて、HPCサーバ102はジョブ150の処理をよりすばやく完了し得る。完了すると、クラスタ管理エンジンは結果160をユーザに通信する。
図2A乃至図2Dは、システム100におけるグリッド210とその利用又はトポロジの種々の実施例を示す。図2Aは、複数のノード・タイプを用いたグリッド210の一構成、すなわち3次元トーラスを示す。例えば、図示するノード・タイプは外部I/Oノード、FSサーバ、FSメタデータ・サーバ、データベース・サーバ、及び計算ノードである。図2Bは、グリッド210の「フォールディング(折り畳むこと)」の例を示す。フォールディングは一般に、グリッド215の物理的な一エッジが、対応する軸方向のエッジと接続し、それによってより頑健なトポロジすなわちエッジレス・トポロジを備えることが可能になる。この実施例では、ノード215をラップアラウンドして、ノード・ライン216によるほぼシームレスなトポロジ接続を備える。ノード・ライン216は、2つ以上のノード215を相互接続する何れかの通信プロトコルを実施する何れかの適切なハードウェアであり得る。例えば、ノード・ライン216はギガビット・イーサネット(登録商標)を実施する銅線ケーブル又は光ファイバ・ケーブルであり得る。
図2Cは、中に割り当てられた1つの仮想クラスタ220を備えるグリッド210を示す。1つの仮想クラスタ220しか示していないが、グリッド210における仮想クラスタ220は、本願の開示の範囲から逸脱することなく、(ゼロを含む)何れかの数、存在し得る。仮想クラスタ220は、関連ジョブ150を処理する論理的なノード群215である。例えば、仮想クラスタ220は、同様なジョブ150を投入すると思われる、1つの研究グループ、部署、研究所、又は何れかの別のユーザ群に関連し得る。仮想クラスタ220は、何れかの形状であり得るものであり、グリッド210内に何れかの数のノード215を含み得る。実際に、図示する仮想クラスタ220は物理的に隣接している複数のノード215を含んでいるが、クラスタ220は、ジョブ150を処理するよう動作可能な論理的に関連したノード215の分散クラスタであり得る。
仮想クラスタ220は、何れかの適切な時点で割り当てることができる。例えば、クラスタ220は、システム100が初期化されると、例えば起動パラメータに基づいて割り当ててもよく、例えば、変動する、サーバ102のニーズに基づいて動的に割り当ててもよい。更に、仮想クラスタ220は経時的にその形状及びサイズを変えて、変動する要求、デマンド、及び状況にすばやく対応することができる。例えば、仮想クラスタ220は、先行時点ではクラスタ220の一部であった第2ノード215の障害に応じて、自動的に割り当てられる第1ノード215を含むよう動的に変えることができる。特定の実施例では、クラスタ220は、ノード215を処理の要求に応じて共有することができる。
図2Dは、仮想クラスタ220例内に割り当てられる種々のジョブ空間230a及び230bそれぞれを示す。一般には、ジョブ空間230は、受信ジョブ150を完了するよう動的に割り当てられる仮想クラスタ220内のノード215の群である。通常、実行ジョブ150毎に1つのジョブ空間230が存在し、逆も同様であるが、ジョブ空間230は、本願の開示の範囲から逸脱することなくノード215を共有することができる。ジョブ空間230の寸法は、ユーザ又は管理者によって手作業で入力してもよく、ジョブ・パラメータ、ポリシー、及び/又は何れかの別の適切な特性に基づいて動的に判定してもよい。
図3A乃至図3Cは、グリッド110における個々のノード115の種々の実施例を示す。これらの図の実施例は、例であるが、ノード115はブレード315によって表す。ブレード315は、ジョブ150の、スレッドや処理などの、全部又は一部分を処理するよう動作可能な何れかの向きにおける何れかの計算装置を備える。例えば、ブレード315は、標準的なXeon(ゼオン)64(商標)マザーボード、標準的なPCI-Express Opteron(PCI-エクスプレス・オプテロン)(商標)マザーボード、又は何れかの別の適切な計算カードであり得る。
ブレード315は、ファブリック・スイッチング構成部分をグリッド110におけるノード115にわたって一様に分散させ、それによって場合によっては、何れかの集中スイッチング機能を削減するか又は除去し、フォールト・トレランスを向上させ、メッセージが並列に進むことを可能にする統合ファブリック・アーキテクチャである。特に、ブレード315は、統合スイッチ345を含む。スイッチ345は、種々のトポロジを可能にし得る何れかの数のポートを含む。例えば、スイッチ345は、3次元メッシュ又は3次元トーラスのトポロジの高密度化を可能にする8ポートのスイッチであり得る。これらの8つのポートは、X軸に沿って隣接ノード115にリンクする2つの「X」接続、Y軸に沿って隣接ノード115にリンクする2つの「Y」接続、Z軸に沿って隣接ノード115にリンクする2つの「Z」接続、及び管理ノード105にリンクする2つの接続を含む。一実施例では、スイッチ345は、標準的な8ポートのインフィニバンド4xスイッチICであり、それによって内蔵ファブリック・スイッチングを容易に備える場合がある。スイッチ345は、4次元トーラスなどの多次元トポロジ、又は4次元以上の別の非伝統的なトポロジを可能にする24のポート・スイッチを備える場合もある。更に、ノード115は、対角線軸に沿って更に相互接続され、それによって比較的遠隔な場所にあるノード115間での通信のジャンプ又はホップを削減する場合がある。例えば、第1ノード115は、北東方向の軸に沿っていくつかの3次元「ジャンプ(jumps)」離れた場所に物理的に存在する第2ノード115と接続し得る。
図3Aは、概略を述べれば、少なくとも2つの、プロセッサ320a並びに320b、局所メモリ若しくは遠隔メモリ340、及び統合スイッチ(又は統合ファブリック)345を含むブレード315を示す。プロセッサ320は、命令を実行し、データを操作して、例えば中央処理装置(CPU)などのブレード315の処理を行う。プロセッサ320への言及は、該当する場合、複数のプロセッサ320を含むことを表す。一実施例では、プロセッサ320は、ゼオン64プロセッサ若しくはイタニウム(Itanium)(商標)プロセッサ、又は別の同様なプロセッサ若しくはその派生物を備え得る。例えば、ゼオン64プロセッサは、2MBのキャッシュとハイパスレッディングとを備えている3.4GHzチップであり得る。この実施例では、デュアル・プロセッサ・モジュールは、効率を向上させるネーティブなPCI/エクスプレスを含み得る。よって、プロセッサ320は、効率的なメモリ帯域幅を有し、通常、プロセッサ・チップに内蔵されているメモリ・コントローラを有する。
ブレード315は、ノースブリッジ(Northbridge)321、サウスブリッジ(Southbridge)322、PCIチャネル325、HCA335、及びメモリ340を含む場合もある。ノースブリッジ321はプロセッサ320と通信し、メモリ340、PCIバス、レベル2キャッシュ、及び何れかの別の関連構成部分との通信を制御する。一実施例では、ノースブリッジ321は、フロントサイド・バス(FSB)を用いてプロセッサ320と通信する。サウスブリッジ322は、ブレード315の入出力(I/O)機能の多くを管理する。別の実施例では、ブレード315は、グラフィックス及びAGPメモリ・コントローラ・ハブ(GMCH)及びI/Oコントローラ・ハブ(ICH)を含むインテル(Intel)社ハブ・アーキテクチャ(Hub Architecture)(IHA)(商標)を実施し得る。
PCIチャネル325は、統合構成部分間の通信速度を増加させるよう企図された何れかの高速で低レーテンシのリンクを備える。このことは、ブレード315におけるバス数の削減に役立ち、それによってシステムのボトルネックを削減することが可能になる。HCA335は、サーバ102内にチャネル・ベースのI/Oを備えている何れかの構成部分を備える。各HCA335は、2.65GB/secの合計帯域幅を備え、それによって、スイッチ345に対してPE毎に1.85GB/秒を可能にし、例えば、BIOS(基本入出力システム)、イーサネット(登録商標)管理インタフェース他などのI/Oに対してPE毎に800MB/秒を可能にすることができる。これによって、更に、スイッチ345の合計帯域幅が13.6Gigaflops/秒のピーク値に対して3.7GB/秒になることが可能になる、すなわち、0.27Bytes/FlopのI/O速度は、Gigaflops毎50MB/秒である。
メモリ340は、何れかのメモリ・モジュール又はデータベース・モジュールを含み、かつ、磁気媒体、光媒体、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、取り外し可能媒体、又は何れかの別の適切な、局所メモリ構成部分若しくは遠隔メモリ構成部分を、限定なく含む揮発性メモリ若しくは不揮発性メモリの形態をとり得る。図示する実施例では、メモリ340は、少なくとも6.4GB/秒で動作する8GBのデュアル・ダブル・データ・レート(DDR)メモリ構成部分から構成される。メモリ340は、本願の開示から逸脱することなく、HPCジョブ150を管理又は実行する何れかの適切なデータを含み得る。
図3Bは、2つのプロセッサ320a及び320b、メモリ340、ハイパ・トランスポート(HyperTransport)/周辺機器構成部分相互接続(HT/PCI)ブリッジ330a及び330b、並びに2つのHCA335a及び335bを含むブレード315を示す。
例示的ブレード315は、少なくとも2つのプロセッサ320を含む。プロセッサ320は、例えば中央処理装置(CPU)などのブレード315の処理を行うよう、命令を実行し、データを操作する。図示する実施例では、プロセッサ320は、オプテロン(Opteron)・プロセッサ、又は別の同様なプロセッサ若しくは派生物を備え得る。この実施例では、オプテロン・プロセッサの設計は、グリッド110を構築する、うまくバランスされたブロックの形成をサポートする。とにかく、デュアル・プロセッサ・モジュールは、4乃至5ギガフロップを利用可能な性能を備え、次世代技術はメモリ帯域幅の制約の解決に寄与することができる。しかし、ブレード315は、本願の開示の範囲から逸脱することなく、3つ以上のプロセッサ320を含み得る。よって、プロセッサ320は、効率的なメモリ帯域幅を有し、通常、プロセッサ・チップに内蔵されているメモリ・コントローラを有する。この実施例では、各プロセッサ320は、1つ又は複数のハイパ・トランスポート(HyperTransport)(商標)(又は同様な管路のタイプ)のリンク325を有する。
一般に、HTリンク325は、統合構成部分間の通信速度を増加させるよう企図される何れかの高速で低レーテンシのリンクを備える。このことは、ブレード315におけるバス数の削減に役立ち、それによってシステムのボトルネックを削減することが可能になる。HTリンク325は、キャッシュ・コヒーレント・マルチプロセッサ・ブレード315のプロセッサ間通信をサポートする。HTリンク325を用いて、最大8つのプロセッサ320をブレード315上に配置させ得る。利用される場合、ハイパ・トランスポートは、6.4GB/秒、12.8GB/秒又はそれを上回る帯域幅を備え、それによって、レガシー型PCIバスに対して40倍を上回るデータ・スループット増加を備えることができる。更に、ハイパ・トランスポート技術は、PCIなどのレガシー型I/O標準及びPCI-Xなどの他の技術と互換であり得る。
ブレード315は、HT/PCIブリッジ330及びHCA335を更に含む。PCIブリッジ330は、PCI局所バス標準第2.2版あるいは第3.0版、若しくはPCIエクスプレス標準1.0a、又はその何れかの派生物に準拠して企図し得る。HCA335は、サーバ102内にチャネル・ベースのI/Oを備える何れかの構成部分を備える。一実施例では、HCA335は、インフィニバンドHCAを備える。インフィニバンド・チャネルは通常、ホスト・チャネル・アダプタ及びターゲット・チャネル・アダプタを接続することによって形成され、これによって、図3Bに更に詳細に示すインフィニバンド・ファブリックへの遠隔記憶及びネットワーク接続性が可能になる。ハイパ・トランスポート325から、PCI-エクスプレス・ブリッジ330及びHCA335までによって、プロセッサ320毎に全2重の2GB/秒のI/Oチャネルが形成され得る。特定の実施例では、これは、分散HPC環境100におけるプロセッサ間通信をサポートするうえで十分な帯域幅を備える。更に、これは、プロセッサ320の性能とほぼ又はかなりバランスされているI/O性能をブレード315に備える。
図3Cは、ドーター・ボードを含むブレード315の別の実施例を示す。この実施例では、ドーター・ボードは、3.2GB/秒以上のキャッシュ・コヒーレント・インタフェースをサポートすることができる。ドーター・ボードは、フィールドでプログラム可能な1つ又は複数のゲート・アレイ(FPGA)350を含むよう動作可能である。例えば、図示するドーター・ボードは、それぞれ350a及び350bによって表す2つのFPGA350を含む。一般に、FPGA350は、非標準インタフェースと、カスタム・アルゴリズムを処理する機能と、信号処理アプリケーション、画像処理アプリケーション、又は暗号化/復号処理アプリケーション用のベクタ・プロセッサと、高帯域幅とをブレード315に備える。例えばFPGAは、例えば、低精度の高速フーリエ変換(FFT)関数や行列算術関数などの特定の関数用の汎用プロセッサの性能の10乃至20倍の加速倍率を備えることによってブレード315の機能を補完することができる。
前述の図及びその説明は、(ブレード315の例として示す)種々のスケーラブルなノード115を実施することを例証する図を備える。しかし、これらの図は例証的なものに過ぎず、システム100には、種々のスケーラビリティ手法を実施する構成要素の何れかの適切な組み合わせ及び配置を用いることが想定されている。本発明は、部分的にはブレード・サーバ102に関して図示し、説明したが、当業者は、本発明の教示を何れかのクラスタ化HPCサーバ環境に適用できることが分かる。よって、本明細書及び特許請求の範囲記載の手法を組み入れた前述のクラスタ化サーバ102は、本願の開示の範囲から逸脱することなく、局所のものでも分散のものでもよい。よって、これらのサーバ102は、高性能計算能力を、I/Oレーテンシを削減する一方で備える、構成要素の何れかの適切な組み合わせ及び配置を組み入れたHPCモジュール(又はノード115)を含み得る。更に、図示した種々のHPCモジュールの処理の組み合わせ及び/又は分離を適宜、行うことができる。例えば、グリッド110は、実質的に同様な複数のノード115、又は異なるハードウェア・アーキテクチャ若しくはファブリック・アーキテクチャを実施する種々のノード115を含み得る。
図4A及び図4Bは、システム100による、管理グラフィカル・ユーザ・インタフェース400の種々の実施例を示す。多くの場合、管理GUI400は、クライアント120にGUI126を用いて提示される。一般に、管理GUI400は、システム管理者への種々の管理用対話画面若しくは管理用対話ディスプレイ、及び/又はユーザへの種々のジョブ投入画面若しくはジョブ・プロファイル画面を提示する。これらの画面又はディスプレイは、種々の収集情報表示に組み立てられるグラフィカル構成要素から成る。例えば、GUI400は、(図4Aに示す)グリッド110の物理的状態の表示、又は(図4Bに示す)グリッド110におけるノード115の論理的な、割り当てすなわちトポロジの表示を提示することができる。
図4Aは、例示的なディスプレイ400aを示す。ディスプレイ400aは、ノード115を効果的に管理するために管理者に提示される情報を含み得る。例証的な実施例は、グリッド110の論理的な「ピクチャ」すなわちスクリーンショットを備えている標準的なウェブ・ブラウザを含む。例えば、このピクチャは、グリッド110及び構成ノード115の物理的状態を備えることができる。各ノード115は、何れかの数の色のうちの1つであり、各色が種々の状態を表す場合がある。例えば、障害ノード115は赤色であり得るものであり、利用ノード又は割り当てノード115は黒色であり得るものであり、非割り当てノード115は濃く塗られたものであり得る。更に、ディスプレイ400aは、管理者が、ノード115のうちの1つの上にポインタを移動させ、その種々の物理的属性を視ることを可能にし得る。例えば、管理者には、「ノード」、「利用可能性」、「プロセッサ利用率」、「メモリ利用率」、「温度」、「物理位置」、及び「アドレス」を含む情報を提示することができる。当然、これらは例示的なデータ・フィールドに過ぎず、何れかの適切な物理ノード情報又は論理ノード情報を管理者に表示することができる。ディスプレイ400aは、管理者が、グリッド110の表示を回転させるか、又は何れかの別の適切な関数を行うことを可能にする場合もある。
図4Bは、例示的なディスプレイ400bを示す。ディスプレイ400bは、グリッド100の論理的状態の表示すなわちピクチャを提示する。図示する実施例は、グリッド110内に割り当てられる仮想クラスタ220を提示する。ディスプレイ400bは更に、1つ又は複数のジョブ150を実行するためにクラスタ220内に割り当てられる2つの例示的なジョブ空間230を表示する。ディスプレイ400bは、管理者が、ポインタをグラフィカル仮想クラスタ220上で移動させて、(割り当て又は非割り当てなどの)種々の状態によってグループ化されるノード115の数を視ることを可能にし得る。更に、管理者は、適切なジョブ情報が提示されるようにジョブ空間230のうちの1つの上にポインタを移動させることができる。例えば、管理者は、ジョブ名、開始時間、ノード数、推定終了時間、プロセッサ利用度、I/O利用度他を視ることができる場合がある。
(例示的なディスプレイ400a及び400bそれぞれによって上記に表す)管理GUI126が例証な目的のためのものにすぎず、図示するグラフィカル構成要素、並びに、図示しない更なる管理構成要素を何ら含まない場合があり、それらの構成要素の一部又は全部を含む場合もあることが分かる。
図5は、システム100による、エンジン500として図中に示すクラスタ管理エンジン130の一実施例を示す。この実施例では、クラスタ管理エンジン500は、複数のサブモジュール又は構成部分、すなわち、物理マネージャ505、仮想マネージャ510、ジョブ・スケジューラ515、及び局所のメモリ又は変数520を含む。
物理マネージャ505は、種々のノード115の物理的状態を判定し、この判定状態に基づいてノード115を効果的に管理するよう動作可能な何れかのソフトウェア、論理、ファームウェア、又は別のモジュールである。物理マネージャはこのデータを用いて、ノード115の障害を効率的に判定し、この障害に効率的に応答することができる。一実施例では、物理マネージャ505は複数のエージェント132に通信可能に結合され、各エージェントは1つのノード115上に存在する。上記のように、エージェント132は、少なくとも物理情報を収集し、マネージャ505に通信する。物理マネージャ505は、クライアント120のある場所にいるシステム管理者にネットワーク106を介して警告を通信するよう更に動作可能であり得る。
仮想マネージャ510は、仮想クラスタ220と、ノード115の論理的状態とを管理するよう動作可能な何れかのソフトウェア、論理、ファームウェア、又は別のモジュールである。一般に、仮想マネージャ510は、ノード115の論理的表現をノード115の物理的状態とリンクする。こうしたリンクに基づいて、仮想マネージャ510は、ノード障害や、HPC処理を増加させる(システム又はユーザの)要求に応じる場合などに、仮想クラスタ220を生成し、こうしたクラスタ220に対する種々の変更を処理することができる。仮想マネージャ510は、非割り当てノード115などの仮想クラスタ220の状態をジョブ・スケジューラ515に通信して、非実行状態又は待ち行列に入っている状態のHPC処理及びHPCジョブ150の動的バックフィルを可能にすることもできる。仮想マネージャ510は更に、ジョブ150の特定ノード115との互換性を判定し、この情報をジョブ・スケジューラ515に通信することができる。特定の実施例では、仮想マネージャ510は、個々の仮想クラスタ220を表すオブジェクトであり得る。
クラスタ管理エンジン500は、ジョブ・スケジューラ515を含む場合もある。ジョブ・スケジューラ・サブモジュール515は、システムの資源の特徴を、プロセッサ及び時間割り当てとともに処理して、最適なジョブ空間230及び時間を判定する、トポロジを意識したモジュールである。多くの場合に考慮される要因として、プロセッサ、処理、メモリ、相互接続、ディスク、視覚化エンジン他を含む。すなわち、ジョブ・スケジューラ515は通常、ジョブ150を受信するようGUI126と相互作用し、種々のノード115の状態を維持するよう物理マネージャ505と相互作用し、特定の仮想クラスタ220内にジョブ空間230を動的に割り当てるよう仮想マネージャ510と相互作用する。この動的割り当ては、多くの場合、グリッド110の現在のトポロジの知識を組み入れ、適宜、仮想クラスタ220の現在のトポロジの知識を組み入れる種々のアルゴリズムによって実現される。ジョブ・スケジューラ515は、シリアル・プログラム及びパラレル・プログラムのバッチ実行及び対話型実行を処理する。スケジューラ515は、ジョブ150によって提示される種々の課題の選択及び実行に関するポリシー502を実施する方法も備えるものである。
クラスタ管理エンジン500は、ジョブ・スケジューラ515などによって、効率的なチェック・ポインティングを行うよう更に動作可能であり得る。再起動ダンプは通常、ディスクに書き込まれるデータの75%を超えるデータを備える。このI/Oは、多くの場合、処理がプラットフォーム障害によって喪失されないように行われる。このことに基づいて、ファイル・システムのI/Oは、プロダクティブI/O及びディフェンシブI/Oの2つの部分に分離することが可能である。プロダクティブI/Oは、例えば、視覚化ダンプ、主要物理変数の経時的なトレーシング他などの科学的方法を行ううえでユーザが要求する、データの書き込みである。ディフェンシブI/Oは、かなりの期間にわたって実行される大規模シミュレーションを管理するよう行われる。よって、I/O帯域幅の増加によって、チェック・ポインティングに係わる時間及びリスクが大いに削減される。
エンジン500に戻れば、局所メモリ520は、システム100の複数の特徴の論理的な記述(すなわちデータ構造)を備える。局所メモリ520は、互換コードによって定義、処理、又は取り出しを行うよう動作可能な何れかの物理データ記憶機構又は論理データ記憶機構に記憶させることができる。例えば、局所メモリ520は、1つ又は複数の拡張マーク付け言語(XML)のテーブル又は文書を備え得る。種々の構成要素は、SQLステートメント若しくはSQLスクリプト、仮想記憶アクセス方法(VSAM)ファイル、フラット・ファイル、2進データ・ファイル、ビートリーブ(Btrieve)・ファイル、データベース・ファイル、又はコンマで区切られた値(CSV)ファイルによって記述することができる。各構成要素が変数、テーブル、又は何れかの別の適切なデータ構造を備え得ることが分かる。局所メモリ520は1つのサーバ102上に記憶されているか、複数のサーバ又はノードにわたって記憶されている複数のテーブル若しくはファイルを備える場合もある。更に、エンジン500内に存在しているように示されているが、局所メモリ520の一部又は全部は、本願の開示の範囲から逸脱することなく内部のものか外部のものであり得る。
図示する局所メモリ520は、物理リスト521、仮想リスト522、グループ・ファイル523、ポリシー・テーブル524、及びジョブ・キュー525を含む。しかし、図示していないが、局所メモリ520は、本願の開示の範囲から逸脱することなく、ジョブ・テーブル及び監査ログを含む別のデータ構造を含み得る。図示された構造に戻れば、物理リスト521はノード115についての識別管理情報及び物理的な管理情報を記憶させるよう動作可能である。物理リスト521は、ノード115毎に少なくとも1つのレコードを含む多次元のデータ構造であり得る。例えば、物理レコードは、「ノード」、「利用可能性」、「プロセッサ利用率」、「メモリ利用率」、「温度」、「物理位置」、「アドレス」、「ブート画像」他などのフィールドを含み得る。各レコードが上記例示的フィールドを全く含まない場合があり、上記例示的フィールドの一部又は全部を含む場合もあることが分かる。一実施例では、物理レコードは、例えば仮想リスト522などの別のテーブルへの外部キーを備え得る。
仮想リスト522は、ノード115についての論理管理情報又は仮想管理情報を記憶するよう動作可能である。仮想リスト522は、ノード115毎に少なくとも1つのレコードを含む多次元データ構造であり得る。例えば、仮想レコードは、「ノード」、「利用可能性」、「ジョブ」、「仮想クラスタ」、「2次ノード」、「論理位置」、「互換性」他などのフィールドを含み得る。各レコードが、上記例示的なフィールドを何ら含まない場合があり、上記例示的なフィールドの一部又は全部を含む場合もあることが分かる。一実施例では、仮想レコードは、例えばグループ・ファイル523などの別のテーブルへのリンクを含み得る。
グループ・ファイル523は、アクセス・コントロール・リスト(すなわちACL)などの、ユーザ・グループ情報及びセキュリティ情報を記憶させるよう動作可能な1つ又は複数のテーブル若しくはレコードを備える。例えば、各グループ・レコードは、ユーザが利用可能なサービス、ノード115、又はジョブのリストを含み得る。各論理グループは、ジョブ150を投入するか、システム100の少なくとも一部を管理することができる1つ又は複数のユーザの事業グループ若しくは事業単位、部署、プロジェクト、セキュリティ・グループ、又は何れかの別の集合と関連し得る。この情報に基づいて、クラスタ管理エンジン500は、ジョブ150を投入するユーザが有効なユーザであるかを判定し、判定結果が肯定の場合、ジョブを実行するうえで最適なパラメータを判定することができる。更に、グループ・テーブル523は、各ユーザ・グループを、仮想クラスタ200と関連させるか、特定のグループの領域内に存在するノードなどの1つ又は複数の物理ノード115と関連付けることができる。これによって、各グループが、資源をめぐって競合することなく個々の処理空間を有することが可能になる。しかし、上記のように、仮想クラスタ220の形状及びサイズは、動的である場合があり、必要性、時間、又は何れかの別のパラメータによって変動し得る。
ポリシー・テーブル524は、1つ又は複数のポリシーを含む。ポリシー・テーブル524及びポリシー524を適宜、同義に用い得ることが分かる。ポリシー524は一般に、ジョブ150及び/又は仮想クラスタ220についての処理情報及び管理情報を記憶している。例えば、ポリシー524は、問題サイズ、問題実行時間、時間スロット、強制排除、ノード115又は仮想クラスタ220のユーザ割り当て率、及び同様なものを含む何れかの数のパラメータ又は変数を含み得る。
ジョブ・キュー525は、実行を待つ1つ又は複数の、ジョブ150のストリームを表す。一般に、キュー525は、(ゼロを含む)何れかの数のジョブ150又は、それに対する参照を記憶させる、バブル・アレイ、データベース・テーブルや、ポインタ・アレイなどの何れかの適切なデータ構造を備える。グリッド110又は複数のキュー525と関連する1つのキュー525が存在し、各キュー525が、グリッド110内の一意の仮想クラスタ220の1つと関連付けられる場合がある。
動作の一局面では、クラスタ管理エンジン500は、計算を行い、情報を交換することによって問題を協調して解決するN個のタスクから成るジョブ150を受信する。クラスタ管理エンジン500は、N個のノード115を割り当て、N個のタスクそれぞれを1つの特定のノード515に何れかの適切な手法を用いて割り当て、それによって問題が効率的に解決されることが可能になる。例えば、クラスタ管理エンジン500は、ユーザによって供給される、ジョブ・タスク配置ストラテジなどのジョブ・パラメータを利用し得る。とにかく、クラスタ管理エンジン500は、サーバ102のアーキテクチャを駆使しようとし、同様に、ユーザにとってより高速なターンアラウンドを備え、システム100の全体スループットを向上させると思われる。
一実施例では、クラスタ管理エンジン500は更に、次の例のトポロジの何れかによって、ノード115を選択し、割り当てる。
特定された2次元(x,y)又は3次元(x,y,z)。ノード115を割り当て、タスクを特定の次元で順序付けし、それによって、効率的な近傍間通信を確保することができる。特定されたトポロジは、物理的な通信トポロジが問題トポロジに一致し、それによって、ジョブ150の協調タスクが近傍タスクと頻繁に通信することが可能になることが望ましい種々のジョブ150を管理する。例えば、2x2x2次元(2,2,2)における8つのタスクの要求は立方体に割り当てられることになる。最善のフィットの目的では、2Dの割り当ては、効率的な近傍間通信を確保する一方で(図2Dに記載するように)3次元に「フォールディング」することが可能である。クラスタ管理エンジン500は、特定された次元の形状を何れかの向きで自由に割り当てることができる場合がある。例えば、2x2x8のボックスは、垂直方向又は水平方向に、利用可能な物理ノード内に割り当てることができる。
最善のフィットの立方体。クラスタ管理エンジン500は、N個のノード115を立方体の体積において割り当てる。このトポロジはジョブ150を効率的に処理し、それにより、何れかの2つのノード115間の距離を最小にすることによって、協調タスクが何れかの他のタスクとデータを交換することが可能になる。
最善のフィットの球体。クラスタ管理エンジン500は、N個のノード115を球体の体積において割り当てる。例えば、第1タスクが球体の中心ノード115に配置され、残りのタスクが中央ノード115を取り囲むノード115上に配置される場合がある。残りのタスクの配置順序は通常、重要でないことが分かる。このトポロジは、第1タスクと全ての他のタスクとの間の距離を最小にすることができる。このことによって、タスク2乃至Nが第1タスクと通信するが、互いには通信しない大規模の問題クラスが効率的に処理される。
任意。クラスタ管理エンジン500がN個のノード115を割り当てるが、ノード115が論理的に位置特定されるか物理的に位置特定されることに対する考慮の度合いは低くなっている。一実施例では、このトポロジはバックフィル目的でのグリッド110の積極的な利用を奨励し、別のジョブ150への影響はわずかなものである。
上記トポロジと、付随する説明は例証する目的に過ぎず、使用される実際のトポロジもそうしたトポロジを割り当てる手法も表さない場合があることが分かる。
クラスタ管理エンジン500は、ジョブ150のパラメータ又はポリシー524のパラメータとして記憶される配置重みを利用し得る。一実施例では、配置重みは0と1との間のモディファイア(modifier)値であり、この値は、要求されるタスク配置ストラテジ(又は処理配置ストラテジ)によってクラスタ管理エンジン500がどれだけ積極的にノード115を配置させようとするものであるかを表す。この例では、0の値は最適なストラテジ(又は次元)が考えられる場合にのみノード115を配置させることを表し、1の値は、要求を処理するのに十分な、空き状態のノード115が存在するか、別のかたちで利用可能なノード115が存在する限り、直ちにノード115を配置させることを表す。通常、配置重みは、大規模のジョブ150の枯渇を妨げ、HPCシステム100のジョブ・スループットを確保するために、資源予約などの管理ポリシー524をオーバライドするものでない。
上記図示と、付随する説明は、ノード115及びジョブ150を管理する論理的な手法を実施するエンジン500の例示的なモジュール図を備える。しかし、この図は例証的なものに過ぎず、システム100には、これら並びにその他のアルゴリズムを実施する論理構成要素の何れかの適切な組み合わせ及び配置を用いることが想定されている。よって、これらのソフトウェア・モジュールは、ノード115及びジョブ150を効果的に管理する構成要素の何れかの適切な組み合わせ及び配置を含み得る。更に、種々の図示モジュールの処理は、適宜、組み合わせ、かつ/又は分離することができる。
図6は、本願の開示の一実施例による、ジョブ投入を動的に処理する方法600の例を示す流れ図である。概括的に、図6は、バッチ・ジョブ投入を受信し、ジョブ・パラメータ及び関連ポリシー524に基づいてノード115をジョブ空間230に動的に割り当て、割り当て空間を用いてジョブ150を実行する方法600を表す。以下の説明は、方法600を行ううえでのクラスタ管理モジュール130の処理に焦点を当てる。しかし、システム100には、機能が適切な状態のままである限り、記載機能の一部又は全てを実施する論理構成要素の何れかの適切な組み合わせ及び配置を用いることを想定している。
方法600は、工程605から始まり、HPCサーバ102はジョブ投入150をユーザから受信する。上記のように、一実施例では、ユーザはジョブ150を、クライアント120を用いて投入し得る。別の実施例では、ユーザは、HPCサーバ102を用いてジョブ150を直接投入し得る。次に、工程610で、クラスタ管理エンジン130は、ユーザに基づいてグループ523を選択する。ユーザが検証されると、クラスタ管理エンジン130は、工程615で、ユーザをグループ・アクセス制御リスト(ACL)と比較する。しかし、クラスタ管理エンジン130が何れかの適切なセキュリティ手法を用いてユーザを検証することができることが分かる。判定グループ523に基づいて、クラスタ管理エンジン130は、ユーザが要求サービスに対するアクセスを有するかを判定する。要求されるサービス及びホスト名に基づいて、クラスタ管理エンジン130は、工程620で、仮想クラスタ220を選択する。通常、仮想クラスタ220を、ジョブ150の投入前に識別し、割り当て得る。しかし、仮想クラスタ220が確立されていない場合、クラスタ管理エンジン130は上記手法のうちの何れかを用いて仮想クラスタ220を自動的に割り当て得る。次に、工程625で、クラスタ管理エンジン130は、ジョブ150の投入に基づいてポリシー524を取り出す。一実施例では、クラスタ管理エンジン130は、ユーザ、ジョブ150、又は何れかの別の適切な基準に関連した適切なポリシー524を判定し得る。クラスタ管理エンジン130は更に、工程630で、ジョブ150の寸法を判定するか別の方法で計算する。適切な寸法が長さ、幅、高さ、又は何れかの別の適切なパラメータ若しくは特性を含み得ることが分かる。上記のように、これらの寸法は仮想クラスタ220内の適切なジョブ空間230(又はノード115の部分集合)を判定するのに用いられる。初期パラメータが確立された後、クラスタ管理130は、工程635乃至665で、HPCサーバ102上でジョブ150を実行しようとする。
判定工程635では、クラスタ管理エンジン130は、既に確立されているパラメータを用いて、所望のジョブ空間230を割り当てるのに十分利用可能なノードが存在しているかを判定する。ノード115が十分存在していない場合には、工程640で、クラスタ管理エンジン130が、仮想クラスタ220におけるノード115の最も早く利用可能な部分集合230を判定する。次いで、クラスタ管理エンジン130が、工程645で、部分集合230が利用可能であるまでジョブ・キュー125にジョブ150を追加する。処理は次いで判定工程635に戻る。利用可能なノード115が十分になると、クラスタ管理エンジン130は、工程650で、利用可能なノード115から最適な部分集合230を動的に判定する。最適な部分集合230は、最速処理時間、最高信頼度のノード115、物理位置若しくは仮想位置、又は最初に利用可能なノード115を含む何れかの適切な基準を用いて判定し得ることが分かる。工程655では、クラスタ管理エンジン130は判定部分集合230を選択仮想クラスタ220から選択する。次に、工程660で、クラスタ管理エンジン130は、選択部分集合230を用いてジョブ150に選択ノード115を割り当てる。一実施例によれば、クラスタ管理エンジン130は、仮想ノード・リスト522におけるノード115の状態を「非割り当て」から「割り当て」に変更し得る。部分集合230が適切に割り当てられると、クラスタ管理エンジン130は工程665で、ジョブ・パラメータ、取り出したポリシー524、及び何れかの他の適切なパラメータに基づいて割り当て空間を用いてジョブ150を実行する。何れかの適切な時点では、クラスタ管理エンジン130は、ジョブ結果160をユーザに通信するか、又は別の方法で提示することができる。例えば、結果160をフォーマット化し、GUI126を介してユーザに提示することができる。
図7は、本願の開示の一実施例による、グリッド110における仮想クラスタ220の動的バックフィルを行う方法700の例を示す流れ図である。概略を述べれば、方法700は、仮想クラスタ220において利用可能な空間を判定する工程、その空間と互換の最適ジョブ150を判定する工程、及びその利用可能空間において判定ジョブ150を実行する工程を表す。以下の説明は、この方法を行ううえでのクラスタ管理モジュール130の処理に焦点を当てる。しかし、上記流れ図と同様に、システム100には、上記機能の一部又は全部を実施する論理構成要素の何れかの適切な組み合わせ及び配置を用いることが想定されている。
方法700は工程705から開始し、クラスタ管理エンジン130は、ジョブ・キュー525をソートする。図示する実施例では、クラスタ管理エンジン130は、キュー525に記憶されているジョブ150の優先度に基づいてキュー525をソートする。しかし、クラスタ管理エンジン130が、適切又は最適なジョブ150が実行されることになるように何れかの適切な特性を用いてキュー525をソートすることができることが分かる。次に、工程710で、クラスタ管理エンジン130は、仮想クラスタ220のうちの1つにおける利用可能ノード115の数を判定する。当然、クラスタ管理エンジン130がグリッド110又は、仮想クラスタ220のうちの何れか1つ又は複数のものにおける、利用可能なノード115の数を判定する場合もある。工程715では、クラスタ管理エンジン130は第1ジョブ150を、ソートされるジョブ・キュー525から選択する。次に、720で、クラスタ管理エンジン130は、選択ジョブ150の最適な形状(又は他の寸法)を動的に判定する。選択ジョブ150の最適な形状又は寸法が判定されると、クラスタ管理エンジン130が、工程725乃至745で、適切な仮想クラスタ220においてジョブ150のバックフィルを行うことが可能かを判定する。
判定工程725では、選択ジョブ150に利用可能なノード115が十分に存在するかをクラスタ管理エンジン130が判定する。利用可能なノード115が十分に存在する場合、工程730で、クラスタ管理エンジン130が何れかの適切な手法を用いて、選択ジョブ150にノード115を動的に割り当てる。例えば、クラスタ管理エンジン130は、図6に表す手法を用い得る。次に、工程735で、クラスタ管理エンジン130は、仮想クラスタ220における利用可能なノードの数を再計算する。工程740で、クラスタ管理エンジン130は割り当てノード115のジョブ150を実行する。ジョブ150が実行されることによって(、又は、選択ジョブ150に十分なノード115が存在しなかった場合)、クラスタ管理エンジン130は工程745で、ソートされるジョブ・キュー525における次のジョブ150を選択し、処理は工程720に戻る。ループとして図示したが、クラスタ管理エンジン130が、何れかの適切な時点で方法700に示す手法を開始し、実行し、終結する場合があることが分かる。
図8は、本願の開示の一実施例による、グリッド110におけるノード115の障害を動的に管理する方法800の例を示す流れ図である。概略を述べれば、方法800は、ノード115に障害が起きたということを判定する工程、ジョブの回復及び管理を自動的に行う工程、及び障害ノード115を2次ノード115と置き換える工程を表す。以下の説明は、この方法を行ううえでのクラスタ管理モジュール130の処理に焦点を当てる。しかし、上記流れ図と同様に、システム100には、上記機能の一部又は全部を実施する論理構成要素の何れかの適切な組み合わせ及び配置を用いることが想定されている。
方法800は工程805から始まり、クラスタ管理エンジン130は、ノード115に障害が起こったことを判定する。上記のように、クラスタ管理エンジン130は、何れかの適切な手法を用いて、ノード115に障害が起こったということを判定し得る。例えば、クラスタ管理エンジン130は、種々の時点でノード115(又はエージェント132)を取り出し得るものであり、ノード115から応答がないことに基づいてノード115に障害が起こったということを判定し得る。別の例では、ノード115上に存在しているエージェント132は「ハートビート」を通信し得るものであり、この「ハートビート」がないことはノード115の障害を示し得る。次に、工程810で、クラスタ管理エンジン130は障害ノード115を仮想クラスタ220から取り除く。一実施例では、クラスタ管理エンジン130は仮想リスト522におけるノード115の状態を「割り当て」から「障害」に変更し得る。クラスタ管理エンジン130は次いで、判定工程815で、ジョブ150が障害ノード115に関連しているかを判定する。ノード115と関連しているジョブ150が何らない場合には、処理は終了する。上記のように、処理が終了する前に、クラスタ管理エンジン130は、管理者にエラー・メッセージを通信してもよく、置き換えノード115を自動的に判定してもよく、何れかの別の適切な処理を行ってもよい。障害ノード115に関連したジョブ150が存在する場合、クラスタ管理エンジン130は、工程820で、ジョブ150と関連した別のノード115を判定する。次に、工程825では、クラスタ管理エンジン130は全ての適切なノード115のジョブ150を強制終了する。例えば、クラスタ管理エンジン130は、ジョブ150を終了するよう、強制終了ジョブ・コマンドを実行するか、又は何れかの別の適切な手法を用いる場合がある。次に、工程830では、クラスタ管理エンジン130は、仮想リスト522を用いてノード115の割り当て解除を行う。例えば、クラスタ管理エンジン130は、仮想リスト522におけるノード115の状態を「割り当て」から「利用可能」に変更し得る。ジョブが終結され、全ての適切なノード115の割り当て解除が行われると、工程835乃至850で、クラスタ管理エンジン130は利用可能ノード115を用いてジョブ150を再実行しようとする。
工程835では、クラスタ管理エンジン130は、ポリシー524と、工程825での強制終了ジョブ150のパラメータとを取り出す。クラスタ管理エンジン130は次いで、工程840で、取り出したポリシー524及びジョブ・パラメータに基づいて、仮想クラスタ220におけるノード115の最適部分集合230を判定する。ノード115の部分集合230が判定されると、工程845で、クラスタ管理エンジン130はノード115の部分集合230を動的に割り当てる。例えば、クラスタ管理エンジン130は、仮想リスト522におけるノード115のステータスを「非割り当て」から「割り当て」に変更し得る。このノード115の部分集合が、ジョブ150が実行していた元のノード部分集合とは異なり得るということが分かる。例えば、クラスタ管理エンジン130は、この実行をプロンプトしたノード障害が理由で別のノード部分集合が最適であるということを判定し得る。別の例では、2次ノード115が障害ノード115を置き換えるよう動作可能であり、新たな部分集合230が旧ジョブ空間230と実質的に同様であるということをクラスタ管理エンジン130が判定した場合がある。割り当て部分集合230が判定され、割り当てられると、工程850で、クラスタ管理エンジン130はジョブ150を実行する。
上記流れ図と、付随する説明は、例証的方法600、700及び800を示す。要約すれば、システム100には、これらやその他のタスクを行うのに適切な何れかの手法を用いることを想定している。よって、この流れ図における工程の多くは、表しているものと同時に行われる場合及び/又は表しているものとは異なる順序で行われる場合がある。更に、システム100は、当該方法が適切な状態のままである限り、工程を追加して方法を用いる場合、工程を少なくして方法を用いる場合、及び/又は別の工程を備えている方法を用いる場合がある。
本願の開示は、特定の実施例、及び概括的に関連している方法によって表したが、これらの実施例並びに方法の改変及び置換は当業者に明らかである。よって、例示的実施例の上記説明は本願の開示を規定するものでも制約するものでもない。他の変更、置換及び改変も、本願の開示の趣旨及び範囲から逸脱することなく可能である。
本明細書の一実施例による、高性能計算システム例を示す図である。 図1のシステムにおけるグリッドとその利用との種々の実施例を示す図である。 図1のシステムにおけるグリッドとその利用との種々の実施例を示す図である。 図1のシステムにおけるグリッドとその利用との種々の実施例を示す図である。 図1のシステムにおけるグリッドとその利用との種々の実施例を示す図である。 図1のシステムにおける個々のノードの種々の実施例を示す図である。 図1のシステムにおける個々のノードの種々の実施例を示す図である。 図1のシステムにおける個々のノードの種々の実施例を示す図である。 図1のシステムによる、グラフィカル・ユーザ・インタフェースの種々の実施例を示す図である。 図1のシステムによる、グラフィカル・ユーザ・インタフェースの種々の実施例を示す図である。 図1におけるシステムによる、クラスタ管理ソフトウェアの一実施例を示す図である。 図1の高性能計算システムによる、バッチ・ジョブを投入する方法を示す流れ図である。 図1の高性能計算システムによる、グリッドの動的なバックフィルを行う方法を示す流れ図である。 図1の高性能計算システムによる、ノード障害を動的に管理する方法を示す流れ図である。

Claims (28)

  1. ノード障害を管理する方法であって、
    ノードのリストにおけるグリッドの複数のノードそれぞれの状態を管理ノードによって維持する工程と、
    複数のノードのうちの1つに障害が発生したことを前記管理ノードによって識別する工程であって、各ノードが、ボードに統合されたスイッチ、及び前記ボードに統合された1つ又は複数のプロセッサを含み、各ノードにおける前記スイッチは、他のノードと相互接続するよう動作可能であり、前記グリッドにおける前記複数のノードにわたって一様に分散させたスイッチング機能を供給し、前記グリッドの複数のトポロジを可能にするための複数のポートを備える工程と、
    前記ノードのリストからの前記障害が発生したノードにジョブが関連付けられているか否かを前記管理ノードによって判定する工程と、
    前記ジョブの少なくとも一部分は前記障害が発生したノード上で実行された旨を前記管理ノードによって判定する工程と、
    前記ジョブの少なくとも前記一部分を前記管理ノードによって終結させる工程と、
    前記ジョブに関連付けられた前記ノードのリストにおける前記障害が発生したノードの状態を前記管理ノードによって変更する工程であって、前記リストが、前記複数のノード毎に1つの論理エントリを備える工程と、
    前記ジョブが、前記ノードのリストからの前記複数のノードの第1の部分集合と関連付けられていた旨を前記管理ノードによって判定する工程と、
    前記第1の部分集合のノードそれぞれにおいて前記ジョブを前記管理ノードによって終結させる工程と、
    前記ジョブの実行から前記ノードの前記第1の部分集合を前記管理ノードによって割り当て解除する工程と、
    前記ジョブの実行のために、ノードの第2の部分集合を前記管理ノードによって再割り当てする工程と
    を備え、前記ノードの第2の部分集合は、前記障害が発生したノードを含まないことを特徴とする方法。
  2. 請求項1記載の方法であって、
    直接リンクを介して少なくとも2つの第1のプロセッサを互いに前記管理ノードによって通信可能に相互接続する工程であって、前記第1のプロセッサは第1のノードの第1の
    ボードに統合される工程と、
    前記第1のボードに統合された前記第1のノードの第1のスイッチを前記第1のプロセッサに前記管理ノードによって通信可能に相互接続する工程とを含み、前記第1のスイッチは、6つの第2のノードの少なくとも6つの第2のボードに前記第1のプロセッサを通信可能に結合するよう動作可能であり、前記6つの第2のノードの少なくとも6つの第2のボードそれぞれは、前記第1のボード及び5つの第3のノードの少なくとも5つの第3のボードに第2のプロセッサを通信可能に結合するよう動作可能な前記第2のボードに統合された第2のスイッチ、及び前記第2のボードに統合された少なくとも2つの第2のプロセッサを備え、前記5つの第3のノードの少なくとも5つの第3のボードそれぞれは、前記第3のボードに統合された少なくとも2つの第3のプロセッサ及び前記第3のボードに統合された第3のスイッチを備え、前記第1のプロセッサは、特定の第2のボード上の特定の第2のプロセッサと、前記特定の第2のボード上の前記第2のスイッチ及び前記第1のボード上の前記第1のスイッチを介して通信するよう動作可能であり、前記第1のプロセッサは、特定の第3のボード上の特定の第3のプロセッサと、前記特定の第3のボード上の前記第3のスイッチ、前記第1のボードと前記特定の第3のボードとの間の特定の第2のボード上の特定の第2のスイッチ、及び、前記第1のボード上の前記第1のスイッチを介して、前記特定の第2のボード上の第2のプロセッサを介して通信することなく、通信するよう動作可能であることを特徴とする方法。
  3. 請求項1記載の方法であって、割り当て解除後に、前記障害が発生していないノードの部分集合のそれぞれの状態を「利用可能」に前記管理ノードによって変更する工程を更に備えることを特徴とする方法。
  4. 請求項1記載の方法であって、
    前記ジョブの実行のために、ノードの前記第2の部分集合を割り当てる工程は、
    1つ又は複数のジョブ・パラメータ及び関連ポリシーに基づいて、前記複数のノードの仮想クラスタにおける前記終結ジョブに割り当てられたジョブ空間の寸法を前記管理ノードによって判定する工程と、
    前記判定された寸法に基づいて、前記複数のノードの前記第2の部分集合を含む前記仮想クラスタにおける別のジョブ空間を前記終結ジョブに前記管理ノードによって動的に割り当てる工程と、
    ノードの前記第2の部分集合に対して、前記終結ジョブを前記管理ノードによって再実行する工程とを備えることを特徴とする方法。
  5. 請求項4記載の方法であって、ノードの前記第2の部分集合は、ノードの第1の部分集合からのノードを含むことを特徴とする方法。
  6. 請求項1記載の方法であって、ノードの前記第2の部分集合を割り当てる工程が、
    割り当てられていないノードのトポロジから最適ノード部分集合を前記管理ノードによって判定する工程であって、前記最適ノード部分集合は、最速処理時間、最高信頼度のノード、物理的な場所又は論理的な場所、及び第1の利用可能ノードのうちの1つ又は複数から判定される工程と、
    前記最適ノード部分集合を割り当てる工程とを備えることを特徴とする方法。
  7. 請求項1記載の方法であって、
    前記障害が発生したノードの置換ノードを前記管理ノードによって位置特定する工程と、
    前記置換ノードの前記論理エントリを変更することにより、前記ノードのリストを前記管理ノードによって更新する工程とを更に備えることを特徴とする方法。
  8. 請求項1記載の方法であって、前記複数のノードのうちの1つに障害が発生したことを判定する工程は、前記管理ノードにノードそれぞれによって送信される反復する通信が、前記障害が発生したノードから受信されていない旨を前記管理ノードによって判定する工程を備えることを特徴とする方法。
  9. 請求項1記載の方法であって、前記複数のノードのうちの1つに障害が発生したことを判定する工程が、前記管理ノードによるポーリングによって達成されることを特徴とする方法。
  10. ノード障害を管理するコードを含むコンピュータ読み取り可能な媒体であって、前記コードは実行すると、
    ノードのリストにおけるグリッドの複数のノードそれぞれの状態を維持し、
    複数のノードのうちの1つに障害が発生したことを識別する
    よう動作可能であり、各ノードが、ボードに統合されたスイッチ、及び前記ボードに統合された1つ又は複数のプロセッサを含み、各ノードにおける前記スイッチは、他のノードと相互接続するよう動作可能であり、前記グリッドにおける前記複数のノードにわたって一様に分散させたスイッチング機能を供給し、前記グリッドの複数のトポロジを可能にするための複数のポートを備え、
    更に、前記コードは、
    前記ノードのリストからの前記障害が発生したノードにジョブが関連付けられているか否かを判定し、
    前記ジョブの少なくとも一部分は前記障害が発生したノード上で実行された旨を判定し、
    前記ジョブの少なくとも前記一部分を終結させ、
    前記ジョブに関連付けられた前記ノードのリストにおける前記障害が発生したノードの状態を変更するよう動作可能であり、前記リストが、前記複数のノード毎に1つの論理エントリを備え、
    更に、前記コードは、
    前記ジョブが、前記ノードのリストからの前記複数のノードの第1の部分集合と関連付けられる旨を判定し、
    前記第1の部分集合のノードそれぞれにおいて前記ジョブを終結させ、
    前記ジョブの実行から前記ノードの第1の部分集合を割り当て解除し、
    前記ジョブの実行のために、ノードの第2の部分集合を再割り当てするよう動作可能であり、前記ノードの第2の部分集合は、前記障害が発生したノードを含まないことを特徴とするコンピュータ読み取り可能な媒体。
  11. 請求項10記載のコンピュータ読み取り可能な媒体であって、前記コードは更に、
    直接リンクを介して少なくとも2つの第1のプロセッサを互いに通信可能に相互接続するよう動作可能であり、前記第1のプロセッサは第1のノードの第1のボードに統合され、
    更に、前記第1のボードに統合された前記第1のノードの第1のスイッチを前記第1のプロセッサに通信可能に相互接続するよう動作可能であり、前記第1のスイッチは、6つの第2のノードの少なくとも6つの第2のボードに前記第1のプロセッサを通信可能に結合するよう動作可能であり、前記6つの第2のノードの少なくとも6つの第2のボードそれぞれは、前記第1のボード及び5つの第3のノードの少なくとも5つの第3のボードに第2のプロセッサを通信可能に結合するよう動作可能な前記第2のボードに統合された第2のスイッチ、及び前記第2のボードに統合された少なくとも2つの第2のプロセッサを備え、前記5つの第3のノードの少なくとも5つの第3のボードそれぞれは、前記第3のボードに統合された少なくとも2つの第3のプロセッサ及び前記第3のボードに統合された第3のスイッチを備え、前記第1のプロセッサは、特定の第2のボード上の特定の第2のプロセッサと、前記特定の第2のボード上の前記第2のスイッチ及び前記第1のボード上の前記第1のスイッチを介して通信するよう動作可能であり、前記第1のプロセッサは、特定の第3のボード上の特定の第3のプロセッサと、前記特定の第3のボード上の前記第3のスイッチ、前記第1のボードと前記特定の第3のボードとの間の特定の第2のボード上の特定の第2のスイッチ、及び、前記第1のボード上の前記第1のスイッチを介して、前記特定の第2のボード上の第2のプロセッサを介して通信することなく、通信するよう動作可能であることを特徴とするコンピュータ読み取り可能な媒体。
  12. 請求項11記載のコンピュータ読み取り可能な媒体であって、前記コードは、障害が発生していないノードの前記第1の部分集合のそれぞれの状態を「利用可能」に変更するよう更に動作可能であることを特徴とするコンピュータ読み取り可能な媒体。
  13. 請求項11記載のコンピュータ読み取り可能な媒体であって、前記ジョブの実行のために、ノードの前記第2の部分集合を割り当てるコードは、
    1つ又は複数のジョブ・パラメータ及び関連ポリシーに基づいて、前記複数のノードの仮想クラスタにおける前記終結ジョブに割り当てられたジョブ空間の寸法を判定し、
    前記判定された寸法に基づいて、前記複数のノードの前記第2の部分集合を含む前記仮想クラスタにおける別のジョブ空間を前記終結ジョブに動的に割り当て、
    ノードの前記第2の部分集合に対して、前記終結ジョブを再実行するよう更に動作可能であることを特徴とするコンピュータ読み取り可能な媒体。
  14. 請求項13記載のコンピュータ読み取り可能な媒体であって、ノードの前記第2の部分集合は、ノードの前記第1の部分集合からのノードを含むことを特徴とするコンピュータ読み取り可能な媒体。
  15. 請求項10記載のコンピュータ読み取り可能な媒体であって、ノードの前記第2の部分集合を割り当てるよう動作可能な前記コードは、
    割り当てられていないノードのトポロジから最適ノード部分集合を判定するよう動作可能であり、前記最適ノード部分集合は、最速処理時間、最高信頼度のノード、物理的な場所又は論理的な場所、及び第1の利用可能ノードのうちの1つ又は複数から判定され、
    更に、前記最適ノード部分集合を割り当てるよう動作可能なコードを含むことを特徴とするコンピュータ読み取り可能な媒体。
  16. 請求項10記載のコンピュータ読み取り可能な媒体であって、前記コードは、
    前記障害が発生したノードの置換ノードを位置特定し、
    前記置換ノードの前記論理エントリを変更することにより、前記ノードのリストを更新する
    よう更に動作可能であることを特徴とするコンピュータ読み取り可能な媒体。
  17. 請求項10記載のコンピュータ読み取り可能な媒体であって、前記複数のノードのうちの1つに障害が発生した旨を判定するよう動作可能なコードは、前記管理ノードにノードそれぞれによって送信される反復する通信が、前記障害が発生したノードから受信されていない旨を判定するよう動作可能なコードを備えることを特徴とするコンピュータ読み取り可能な媒体。
  18. 請求項10記載のコンピュータ読み取り可能な媒体であって、前記複数のノードのうちの1つに障害が発生した旨を判定するよう動作可能なコードが、ポーリングによって達成されることを特徴とするコンピュータ読み取り可能な媒体。
  19. ノード障害を管理するシステムであって、
    複数のノードであって、それぞれのノードが、ボードに統合されたスイッチ、及び前記ボードに統合された1つ又は複数のプロセッサを含み、各ノードにおける前記スイッチは、他のノードと相互接続するよう動作可能であり、グリッドにおける前記複数のノードにわたって一様に分散させたスイッチング機能を供給し、前記グリッドの複数のトポロジを可能にするための複数のポートを備えるノードと、
    管理ノードとを備え、該管理ノードは、
    ノードのリストにおける前記グリッドの複数のノードそれぞれの状態を維持し、
    前記複数のノードのうちの1つに障害が発生したことを識別するよう動作可能であり、各ノードは統合ファブリックを備え、
    更に、該管理ノードは、
    前記ノードのリストからの前記障害が発生したノードにジョブが関連付けられているか否かを判定し、
    前記ジョブの少なくとも一部分は前記障害が発生したノード上で実行された旨を判定し、
    前記ジョブの少なくとも前記一部分を終結させ、
    ジョブに関連付けられた前記ノードのリストにおける前記障害が発生したノードの状態を変更するよう動作可能であり、前記リストが、前記複数のノード毎に1つの論理エントリを備え、
    更に、該管理ノードは、
    前記ジョブが、前記ノードのリストからの前記複数のノードの第1の部分集合と関連付けられていた旨を判定し、
    前記第1の部分集合のノードそれぞれにおいて前記ジョブを終結させ、
    前記ジョブの実行から前記ノードの第1の部分集合を割り当て解除する
    よう動作可能であることを特徴とするシステム。
  20. 請求項19記載のシステムであって、各ノードは、
    直接リンクを介して互いに通信するよう動作可能な少なくとも2つの第1のプロセッサであって、第1のノードの第1のボードに統合される第1のプロセッサと、
    前記第1のボードに統合された前記第1のノードの第1のスイッチと
    を備え、前記第1のプロセッサは、前記第1のスイッチに通信可能に結合され、前記第1のスイッチは、6つの第2のノードの少なくとも6つの第2のボードに前記第1のプロセッサを通信可能に結合するよう動作可能であり、前記6つの第2のノードの少なくとも6つの第2のボードそれぞれは、前記第1のボード及び5つの第3のノードの少なくとも5つの第3のボードに第2のプロセッサを通信可能に結合するよう動作可能な前記第2のボードに統合された第2のスイッチ、及び前記第2のボードに統合された少なくとも2つの第2のプロセッサを備え、前記5つの第3のノードの少なくとも5つの第3のボードそれぞれは、前記第3のボードに統合された少なくとも2つの第3のプロセッサ及び前記第3のボードに統合された第3のスイッチを備え、前記第1のプロセッサは、特定の第2のボード上の特定の第2のプロセッサと、前記特定の第2のボード上の前記第2のスイッチ及び前記第1のボードの前記第1のスイッチを介して通信するよう動作可能であり、前記第1のプロセッサは、特定の第3のボード上の特定の第3のプロセッサと、前記特定の第3のボード上の前記第3のスイッチ、前記第1のボードと前記特定の第3のボードとの間の特定の第2のボード上の特定の第2のスイッチ、及び、前記第1のボードの前記第1のスイッチを介して、前記特定の第2のボード上の第2のプロセッサを介して通信することなく、通信するよう動作可能であることを特徴とするシステム。
  21. 請求項19記載のシステムであって、前記管理ノードは、割り当て解除後に、前記障害が発生していないノードの前記第1の部分集合のそれぞれの状態を「利用可能」に変更するよう更に動作可能であることを特徴とするシステム。
  22. 請求項19記載のシステムであって、前記管理ノードは、
    1つ又は複数のジョブ・パラメータ及び関連ポリシーに基づいて、前記複数のノードの仮想クラスタにおける前記終結ジョブに割り当てられたジョブ空間の寸法を判定し、
    前記判定された寸法に基づいて、前記複数のノードの第2の部分集合を含む別のジョブ空間を前記終結ジョブに動的に割り当て、
    ノードの前記第2の部分集合に対して、前記終結ジョブを再実行する
    よう更に動作可能であることを特徴とするシステム。
  23. 請求項22記載のシステムであって、ノードの前記第2の部分集合は、ノードの前記第1の部分集合からのノードを含むことを特徴とするシステム。
  24. 請求項19記載のシステムであって、前記管理ノードは、
    割り当てられていないノードのトポロジから最適ノード部分集合を判定する機能であって、前記最適ノード部分集合は、最速処理時間、最高信頼度のノード、物理的な場所又は論理的な場所、及び第1の利用可能ノードのうちの1つ又は複数から判定される機能、及び、
    前記最適ノード部分集合を割り当てる機能を行うことにより、前記ジョブの再実行のためにノードの第2の部分集合を割り当てることを特徴とするシステム。
  25. 請求項19記載のシステムであって、前記管理ノードは、
    前記障害が発生したノードの置換ノードを位置特定し、
    前記置換ノードの前記ノードのリストにおける論理エントリの状態を変更する
    よう更に動作可能であることを特徴とするシステム。
  26. 請求項19記載のシステムであって、前記複数のノードのうちの1つに障害が発生したことを判定するよう動作可能な前記管理ノードは、前記管理ノードにノードそれぞれによって送信される反復する通信が、前記障害が発生したノードから受信されていない旨を判定するよう動作可能な管理ノードを含むことを特徴とするシステム。
  27. 請求項19記載のシステムであって、前記管理ノードは、前記複数のノードのうちの1つに障害が発生したことを、ポーリングによって判定するよう動作可能であることを特徴とするシステム。
  28. 請求項19記載のシステムであって、前記管理ノードは、前記ジョブの実行のために、ノードの第2の部分集合を再割り当てするよう動作可能であり、前記ノードの第2の部分集合は、前記障害が発生したノードを含まず、前記管理ノードは、前記ノードの第2の部分集合を使用して前記ジョブを再実行するよう動作可能であることを特徴とするシステム。
JP2007508456A 2004-04-15 2005-04-12 Hpcノード障害の検出及び管理を行うシステム及び方法 Active JP4986844B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/826,959 2004-04-15
US10/826,959 US7711977B2 (en) 2004-04-15 2004-04-15 System and method for detecting and managing HPC node failure
PCT/US2005/012313 WO2005106668A1 (en) 2004-04-15 2005-04-12 System and method for detecting and managing hpc node failure

Publications (2)

Publication Number Publication Date
JP2007533031A JP2007533031A (ja) 2007-11-15
JP4986844B2 true JP4986844B2 (ja) 2012-07-25

Family

ID=34967846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007508456A Active JP4986844B2 (ja) 2004-04-15 2005-04-12 Hpcノード障害の検出及び管理を行うシステム及び方法

Country Status (4)

Country Link
US (1) US7711977B2 (ja)
EP (1) EP1735708A1 (ja)
JP (1) JP4986844B2 (ja)
WO (1) WO2005106668A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US20050235055A1 (en) * 2004-04-15 2005-10-20 Raytheon Company Graphical user interface for managing HPC clusters
US8190714B2 (en) 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US8244882B2 (en) 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US7433931B2 (en) * 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
US7529963B2 (en) * 2005-02-07 2009-05-05 International Business Machines Corporation Cell boundary fault detection system
US7506196B2 (en) * 2005-02-07 2009-03-17 International Business Machines Corporation System and method for detecting a faulty object in a system
US8495411B2 (en) * 2005-02-07 2013-07-23 International Business Machines Corporation All row, planar fault detection system
US7506197B2 (en) * 2005-02-07 2009-03-17 International Business Machines Corporation Multi-directional fault detection system
US7451342B2 (en) * 2005-02-07 2008-11-11 International Business Machines Corporation Bisectional fault detection system
US7826379B2 (en) * 2005-02-07 2010-11-02 International Business Machines Corporation All-to-all sequenced fault detection system
US7437595B2 (en) * 2005-02-07 2008-10-14 International Business Machines Corporation Row fault detection system
US7827435B2 (en) * 2005-02-15 2010-11-02 International Business Machines Corporation Method for using a priority queue to perform job scheduling on a cluster based on node rank and performance
US8195976B2 (en) 2005-06-29 2012-06-05 International Business Machines Corporation Fault-tolerance and fault-containment models for zoning clustered application silos into continuous availability and high availability zones in clustered systems during recovery and maintenance
KR100730279B1 (ko) * 2005-12-16 2007-06-19 삼성전자주식회사 스타 토로스 토폴로지를 이용하여 칩 상의 디바이스를연결한 컴퓨터 칩
US8516444B2 (en) * 2006-02-23 2013-08-20 International Business Machines Corporation Debugging a high performance computing program
US20070242611A1 (en) * 2006-04-13 2007-10-18 Archer Charles J Computer Hardware Fault Diagnosis
US7697443B2 (en) * 2006-04-13 2010-04-13 International Business Machines Corporation Locating hardware faults in a parallel computer
US7796527B2 (en) * 2006-04-13 2010-09-14 International Business Machines Corporation Computer hardware fault administration
US7661015B2 (en) * 2006-05-16 2010-02-09 Bea Systems, Inc. Job scheduler
US9384103B2 (en) * 2006-05-16 2016-07-05 Oracle International Corporation EJB cluster timer
GB0611038D0 (en) * 2006-06-02 2006-07-12 Ibm Apparatus and method for cluster recovery
US20080101395A1 (en) * 2006-10-30 2008-05-01 Raytheon Company System and Method for Networking Computer Clusters
US7512836B2 (en) 2006-12-11 2009-03-31 International Business Machines Corporation Fast backup of compute nodes in failing midplane by copying to nodes in backup midplane via link chips operating in pass through and normal modes in massively parallel computing system
US9330230B2 (en) * 2007-04-19 2016-05-03 International Business Machines Corporation Validating a cabling topology in a distributed computing system
US7831866B2 (en) * 2007-08-02 2010-11-09 International Business Machines Corporation Link failure detection in a parallel computer
JP5056504B2 (ja) * 2008-03-13 2012-10-24 富士通株式会社 制御装置、情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラム
US9032407B2 (en) * 2009-05-25 2015-05-12 Panasonic Intellectual Property Corporation Of America Multiprocessor system, multiprocessor control method, and multiprocessor integrated circuit
JP5328743B2 (ja) * 2010-10-13 2013-10-30 インテル・コーポレーション 多数コアプロセッサの信頼性強化
CA2753747C (en) 2010-12-14 2019-08-13 International Business Machines Corporation Method for operating a node cluster system in a network and node cluster system
US8495425B2 (en) * 2011-03-01 2013-07-23 International Business Machines Corporation System and method to efficiently identify bad components in a multi-node system utilizing multiple node topologies
US20120324456A1 (en) 2011-06-16 2012-12-20 Microsoft Corporation Managing nodes in a high-performance computing system using a node registrar
JP6010975B2 (ja) * 2012-03-30 2016-10-19 日本電気株式会社 ジョブ管理装置、ジョブ管理方法、及びプログラム
US8990616B2 (en) * 2012-09-28 2015-03-24 International Business Machines Corporation Final faulty core recovery mechanisms for a two-dimensional network on a processor array
US9160617B2 (en) 2012-09-28 2015-10-13 International Business Machines Corporation Faulty core recovery mechanisms for a three-dimensional network on a processor array
US9258191B2 (en) * 2012-12-13 2016-02-09 Microsoft Technology Licensing, Llc Direct network having plural distributed connections to each resource
US9037898B2 (en) 2012-12-18 2015-05-19 International Business Machines Corporation Communication channel failover in a high performance computing (HPC) network
US9262560B2 (en) 2013-03-13 2016-02-16 Saudi Arabian Oil Company Automatic recovery of reservoir simulation runs from processing system failures
US9304877B2 (en) 2014-01-24 2016-04-05 International Business Machines Corporation Mobile agent based memory replication
JP2016038649A (ja) 2014-08-06 2016-03-22 富士通株式会社 並列計算機システム及び並列計算機システムの制御方法
FR3030076B1 (fr) * 2014-12-10 2016-12-09 Bull Sas Procede de gestion d'un reseau de nœuds de calcul
PT3523723T (pt) 2016-10-05 2021-09-20 Partec Ag Sistema e método computacional de alto desempenho
TWI830623B (zh) * 2023-03-15 2024-01-21 神雲科技股份有限公司 主機板檢測方法

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885770A (en) * 1987-09-04 1989-12-05 Digital Equipment Corporation Boot system for distributed digital data processing system
US4868818A (en) * 1987-10-29 1989-09-19 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Fault tolerant hypercube computer system architecture
US5020059A (en) * 1989-03-31 1991-05-28 At&T Bell Laboratories Reconfigurable signal processor
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5301104A (en) * 1990-08-07 1994-04-05 Honeywell Inc. Method for allocating processing elements interconnected in a hypercube topology
US5280607A (en) * 1991-06-28 1994-01-18 International Business Machines Corporation Method and apparatus for tolerating faults in mesh architectures
CA2106280C (en) * 1992-09-30 2000-01-18 Yennun Huang Apparatus and methods for fault-tolerant computing employing a daemon monitoring process and fault-tolerant library to provide varying degrees of fault tolerance
US5781715A (en) * 1992-10-13 1998-07-14 International Business Machines Corporation Fault-tolerant bridge/router with a distributed switch-over mechanism
US5513313A (en) * 1993-01-19 1996-04-30 International Business Machines Corporation Method for generating hierarchical fault-tolerant mesh architectures
US5450578A (en) * 1993-12-23 1995-09-12 Unisys Corporation Method and apparatus for automatically routing around faults within an interconnect system
JP3541212B2 (ja) 1993-12-28 2004-07-07 富士通株式会社 プロセッサ割当て装置
US6408402B1 (en) * 1994-03-22 2002-06-18 Hyperchip Inc. Efficient direct replacement cell fault tolerant architecture
ES2153891T3 (es) * 1994-03-22 2001-03-16 Hyperchip Inc Arquitectura resistente a los defectos basada en celdas con uso beneficioso de celdas de reserva no asignadas.
JPH07319691A (ja) * 1994-03-29 1995-12-08 Toshiba Corp 資源保護装置、特権保護装置、ソフトウェア利用法制御装置、及びソフトウェア利用法制御システム
JPH08227356A (ja) 1994-12-21 1996-09-03 Tec Corp データ処理装置
US5682491A (en) * 1994-12-29 1997-10-28 International Business Machines Corporation Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier
US5603044A (en) * 1995-02-08 1997-02-11 International Business Machines Corporation Interconnection network for a multi-nodal data processing system which exhibits incremental scalability
US5805785A (en) * 1996-02-27 1998-09-08 International Business Machines Corporation Method for monitoring and recovery of subsystems in a distributed/clustered system
US5805786A (en) * 1996-07-23 1998-09-08 International Business Machines Corporation Recovery of a name server managing membership of a domain of processors in a distributed computing environment
US6393581B1 (en) * 1996-08-29 2002-05-21 Cornell Research Foundation, Inc. Reliable time delay-constrained cluster computing
JPH10116261A (ja) * 1996-10-14 1998-05-06 Hitachi Ltd 並列計算機システムのチェックポイントリスタート方法
KR100207598B1 (ko) * 1997-01-27 1999-07-15 윤종용 상호연결망으로서 파이브 채널을 사용한 클러스터시스템
US5933631A (en) * 1997-03-17 1999-08-03 International Business Machines Corporation Dynamic boot filesystem selection
US6088330A (en) * 1997-09-09 2000-07-11 Bruck; Joshua Reliable array of distributed computing nodes
US6167502A (en) * 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
US6230252B1 (en) * 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6480927B1 (en) * 1997-12-31 2002-11-12 Unisys Corporation High-performance modular memory system with crossbar connections
US6477663B1 (en) * 1998-04-09 2002-11-05 Compaq Computer Corporation Method and apparatus for providing process pair protection for complex applications
US6195760B1 (en) 1998-07-20 2001-02-27 Lucent Technologies Inc Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network
US6683696B1 (en) * 1998-10-27 2004-01-27 Hewlett-Packard Development Company, L.P. Filter based data imaging method for an image forming device
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US6496941B1 (en) * 1998-12-29 2002-12-17 At&T Corp. Network disaster recovery and analysis tool
US6480972B1 (en) * 1999-02-24 2002-11-12 International Business Machines Corporation Data processing system and method for permitting a server to remotely perform diagnostics on a malfunctioning client computer system
US6453426B1 (en) * 1999-03-26 2002-09-17 Microsoft Corporation Separately storing core boot data and cluster configuration data in a server cluster
JP3471654B2 (ja) * 1999-04-06 2003-12-02 富士通株式会社 ライセンスサーバ、著作権者システム、利用者システム、システム、記録媒体およびコンテンツ利用制御方法
US6718486B1 (en) * 2000-01-26 2004-04-06 David E. Lovejoy Fault monitor for restarting failed instances of the fault monitor
US6597956B1 (en) * 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US7096268B1 (en) * 1999-09-01 2006-08-22 Matsushita Electric Industrial Co., Ltd. Copyrighted data processing method and apparatus
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US6741983B1 (en) * 1999-09-28 2004-05-25 John D. Birdwell Method of indexed storage and retrieval of multidimensional information
US6629266B1 (en) * 1999-11-17 2003-09-30 International Business Machines Corporation Method and system for transparent symptom-based selective software rejuvenation
JP2001175492A (ja) * 1999-12-20 2001-06-29 Hitachi Ltd 分散システムにおけるジョブ再実行装置
US6748437B1 (en) * 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method for creating forwarding lists for cluster networking
JP3329804B2 (ja) * 2000-02-21 2002-09-30 株式会社東芝 監視制御装置
US6460149B1 (en) * 2000-03-03 2002-10-01 International Business Machines Corporation Suicide among well-mannered cluster nodes experiencing heartbeat failure
US7299290B2 (en) * 2000-03-22 2007-11-20 Yottayotta, Inc. Method and system for providing multimedia information on demand over wide area networks
US6658504B1 (en) * 2000-05-16 2003-12-02 Eurologic Systems Storage apparatus
US20040034794A1 (en) * 2000-05-28 2004-02-19 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
JP4292693B2 (ja) 2000-07-07 2009-07-08 株式会社日立製作所 計算機資源分割装置および資源分割方法
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
JP2002108839A (ja) * 2000-09-28 2002-04-12 Mitsubishi Electric Corp 通信ネットワークシステム、ジョブ割当方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US7055148B2 (en) * 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
US6735660B1 (en) * 2000-12-21 2004-05-11 International Business Machines Corporation Sideband signal transmission between host and input/output adapter
WO2002084509A1 (en) 2001-02-24 2002-10-24 International Business Machines Corporation A novel massively parrallel supercomputer
US7107337B2 (en) * 2001-06-07 2006-09-12 Emc Corporation Data storage system with integrated switching
US6952766B2 (en) * 2001-03-15 2005-10-04 International Business Machines Corporation Automated node restart in clustered computer system
US7028228B1 (en) * 2001-03-28 2006-04-11 The Shoregroup, Inc. Method and apparatus for identifying problems in computer networks
US6918051B2 (en) * 2001-04-06 2005-07-12 International Business Machines Corporation Node shutdown in clustered computer system
US6820221B2 (en) * 2001-04-13 2004-11-16 Hewlett-Packard Development Company, L.P. System and method for detecting process and network failures in a distributed system
US7231430B2 (en) * 2001-04-20 2007-06-12 Egenera, Inc. Reconfigurable, virtual processing system, cluster, network and method
US6675264B2 (en) * 2001-05-07 2004-01-06 International Business Machines Corporation Method and apparatus for improving write performance in a cluster-based file system
US7155512B2 (en) 2001-05-23 2006-12-26 Tekelec Methods and systems for automatically configuring network monitoring system
US8010558B2 (en) * 2001-06-05 2011-08-30 Silicon Graphics International Relocation of metadata server with outstanding DMAPI requests
US6950833B2 (en) * 2001-06-05 2005-09-27 Silicon Graphics, Inc. Clustered filesystem
US6988193B2 (en) * 2001-06-28 2006-01-17 International Business Machines Corporation System and method for creating a definition for a target device based on an architecture configuration of the target device at a boot server
US20030005039A1 (en) * 2001-06-29 2003-01-02 International Business Machines Corporation End node partitioning using local identifiers
US8032625B2 (en) * 2001-06-29 2011-10-04 International Business Machines Corporation Method and system for a network management framework with redundant failover methodology
SE0102405D0 (sv) 2001-07-04 2001-07-04 Software Run Ab A system and a method for selecting a preconfigured operating system for a server
GB0116310D0 (en) 2001-07-04 2001-08-29 New Transducers Ltd Contact sensitive device
US7065764B1 (en) * 2001-07-20 2006-06-20 Netrendered, Inc. Dynamically allocated cluster system
US7016299B2 (en) * 2001-07-27 2006-03-21 International Business Machines Corporation Network node failover using path rerouting by manager component or switch port remapping
EP1283464A1 (en) * 2001-08-06 2003-02-12 Hewlett-Packard Company A boot process for a computer, a boot ROM and a computer having a boot ROM
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
US7073053B1 (en) * 2001-10-11 2006-07-04 Cisco Technology, Inc. Method and apparatus for a boot progression scheme for reliably initializing a system
US6904482B2 (en) * 2001-11-20 2005-06-07 Intel Corporation Common boot environment for a modular server system
EP1318453A1 (en) * 2001-12-07 2003-06-11 Hewlett-Packard Company Scheduling system, method and apparatus for a cluster
CA2365729A1 (en) * 2001-12-20 2003-06-20 Platform Computing (Barbados) Inc. Topology aware scheduling for a multiprocessor system
US7046687B1 (en) * 2002-01-16 2006-05-16 Tau Networks Configurable virtual output queues in a scalable switching system
US7093004B2 (en) * 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
US6918063B2 (en) * 2002-02-04 2005-07-12 International Business Machines Corporation System and method for fault tolerance in multi-node system
US7640547B2 (en) * 2002-02-08 2009-12-29 Jpmorgan Chase & Co. System and method for allocating computing resources of a distributed computing system
DE10214067B4 (de) * 2002-03-28 2010-01-21 Advanced Micro Devices, Inc., Sunnyvale Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren
US7043539B1 (en) * 2002-03-29 2006-05-09 Terraspring, Inc. Generating a description of a configuration for a virtual network system
US7139798B2 (en) * 2002-05-17 2006-11-21 Groove Networks, Inc. Method and apparatus for connecting a secure peer-to-peer collaboration system to an external system
DE10234992A1 (de) * 2002-07-31 2004-02-19 Advanced Micro Devices, Inc., Sunnyvale Retry-Mechanismus für blockierende Schnittstellen
US7765299B2 (en) * 2002-09-16 2010-07-27 Hewlett-Packard Development Company, L.P. Dynamic adaptive server provisioning for blade architectures
US7127597B2 (en) * 2002-09-24 2006-10-24 Novell, Inc. Mechanism for controlling boot decisions from a network policy directory based on client profile information
US20040210656A1 (en) * 2003-04-16 2004-10-21 Silicon Graphics, Inc. Failsafe operation of storage area network
US7287179B2 (en) * 2003-05-15 2007-10-23 International Business Machines Corporation Autonomic failover of grid-based services
US7007125B2 (en) * 2003-06-24 2006-02-28 International Business Machines Corporation Pass through circuit for reduced memory latency in a multiprocessor system
US7379983B2 (en) * 2003-06-25 2008-05-27 International Business Machines Corporation Merging scalable nodes into single-partition merged system using service processors of nodes
AU2004280976A1 (en) * 2003-10-08 2005-04-21 Unisys Corporation Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system
US7207039B2 (en) * 2003-12-24 2007-04-17 Intel Corporation Secure booting and provisioning
US8484348B2 (en) * 2004-03-05 2013-07-09 Rockstar Consortium Us Lp Method and apparatus for facilitating fulfillment of web-service requests on a communication network
US20050256942A1 (en) * 2004-03-24 2005-11-17 Mccardle William M Cluster management system and method
US8190714B2 (en) * 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US9178784B2 (en) * 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US8335909B2 (en) * 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US20050235055A1 (en) * 2004-04-15 2005-10-20 Raytheon Company Graphical user interface for managing HPC clusters
US8336040B2 (en) * 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US8244882B2 (en) * 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US7433931B2 (en) * 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
US7475274B2 (en) * 2004-11-17 2009-01-06 Raytheon Company Fault tolerance and recovery in a high-performance computing (HPC) system
JP2007141305A (ja) 2005-11-16 2007-06-07 Hitachi Global Storage Technologies Netherlands Bv 磁気ディスク装置

Also Published As

Publication number Publication date
EP1735708A1 (en) 2006-12-27
WO2005106668A1 (en) 2005-11-10
US7711977B2 (en) 2010-05-04
JP2007533031A (ja) 2007-11-15
US20050246569A1 (en) 2005-11-03

Similar Documents

Publication Publication Date Title
JP4986844B2 (ja) Hpcノード障害の検出及び管理を行うシステム及び方法
JP4833965B2 (ja) Hpcアーキテクチャに基づいたクラスタ管理のシステム及び方法
US10621009B2 (en) System and method for topology-aware job scheduling and backfilling in an HPC environment
JP4560435B2 (ja) 高性能計算システム及び高性能計算方法
JP2007533034A (ja) Hpcクラスタを管理するためのグラフィカル・ユーザ・インタフェース

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101109

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101116

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110701

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111101

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120306

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4986844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

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

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