JP2016027470A - 高稼働率環境においてアプリケーションを同期的に実行する方法および装置 - Google Patents
高稼働率環境においてアプリケーションを同期的に実行する方法および装置 Download PDFInfo
- Publication number
- JP2016027470A JP2016027470A JP2015133056A JP2015133056A JP2016027470A JP 2016027470 A JP2016027470 A JP 2016027470A JP 2015133056 A JP2015133056 A JP 2015133056A JP 2015133056 A JP2015133056 A JP 2015133056A JP 2016027470 A JP2016027470 A JP 2016027470A
- Authority
- JP
- Japan
- Prior art keywords
- partition
- execution
- bottom plate
- primary
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000009183 running Effects 0.000 title claims abstract description 31
- 238000005192 partition Methods 0.000 claims abstract description 167
- 238000012544 monitoring process Methods 0.000 claims abstract description 15
- 230000008859 change Effects 0.000 claims description 11
- 238000003780 insertion Methods 0.000 claims description 9
- 230000037431 insertion Effects 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 25
- 238000007726 management method Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 16
- 238000007667 floating Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 230000001360 synchronised effect Effects 0.000 description 10
- 230000007547 defect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000001816 cooling Methods 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1687—Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1691—Temporal synchronisation or re-synchronisation of redundant processing components using a quantum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/822—Collecting or measuring resource availability data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2015—Redundant power supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2038—Error 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 with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2046—Error 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 where the redundant components share persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/87—Monitoring of transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
【解決手段】少なくとも、一次及び2次の2つの実行パーティションと、監視パーティションと、を含む複数のパーティション内に複数のモジュールを構成するステップ2000と、一次実行パーティションによって処理された入出力が監視パーティションを介して二次実行パーティションに送信し、各実行パーティションでアプリケーションを実行するステップ2100と、マイクロプロセッサのコンテキスト変化を利用することで実行を同期させるステップ2200と、破局的なエラー信号を監視パーティションに送信するステップ2300と、劣化モードに対して切り替えることで、単一のパーティションで継続される実行を継続するステップ2500を有する。
【選択図】図2
Description
メモリは、部品の中でも生の信頼性が最も劣っている。なぜならば、メモリ素子の超微細化のために、製造上の欠陥およびそれらの環境に影響を与える種々の端緒の外乱に対して非常に影響を受けやすくなっているからである。幸運にも、それらの問題に対して、受け入れ可能な動作信頼性をメモリが提供することができることを目的とした誤り訂正符号などのような多数の手段が、長い間に渡って研究されてきている。
入出力障害は、2つのシステムの間で交換されるプロトコルまたはデータパケットで検出される1または2以上のエラーによって特徴づけられる。それらのエラーの大部分は、伝送の(ノイズなどの)電磁気的環境に基づいており、問題は入出力トランザクションの再試行によって解決される。リンクが回路のハードウエア(ケーブル、コネクタ、レーザなど)の故障によって物理的に中断される場合には、その障害許容力は、通常は、代替のデータ通路が双方のシステムの間で直接的であるか、コンピュータネットワークを通じて伝えられるかに関わらず、代替のデータ通路を提供する入出力冗長チャネルによって供給される。
高稼働率システムにおいては、電源供給部およびファンまたは液圧ポンプ(hydraulic pumps)は常に冗長である。従って、それらの部品の故障は、ユーザアプリケーションには影響しない。修理は、電源または冷却部品の活線挿抜(hot swap)によってなされる。
プロセッサの障害は複合的な起源を有しており、説明することが求められるので、プロセッサは別個のクラスにある。
クリティカルリソースは、ソフトウエアのロックアウトによって保護された実行可能なデータまたは命令のセットである。クリティカルセクションは、実行中のコアがクリティカルリソースを使用するために再分類する一連の命令である。2以上のコアによる同じクリティカルセクションの同時実行から保護するためのソフトウエア・ロックアウトがキャシュメモリのプロセッサおよびコントローラの特別のハードウエア装置を実行する「テスト・アンド・セット」タイプの特別な命令を使用することは良く知られている。クリティカルセクションの出力で、問題となる実行中のコアで動作しているプロセスは、ソフトウエア・ロックアウトをいわゆるオープン状態に置き換えることによってクリティカルリソースを開放しなければならない。
入出力ドライバおよびファームウエアは、それらのハードウエアとの密接な関わりおよびそれらのリアルタイム性能を目指す高い最適化によって特徴付けられる。ハードウエアの進化のそれぞれは、ソフトウエアが電子基板において固体状態で基板に取り付けられていなければ、このソフトウエアのアップデートを要求することができるが、欠陥状況は、非常にまれな条件下でしか起こらないので、ファームウエアまたはドライバを旧式のバージョンで動作させることは良く見られる。
オペレーティングシステム、即ちOSによって管理されるアプリケーションは、このOSのプロシージャに従っており、もし、それらがプロセッサ・コアのパワーの100%を使って結局デッドロックになれば、通常、強制終了される。システムのクリティカルリソースをブロックしない別の欠陥は、結果の正確さに影響を与えるアプリケーションの論理エラーに対応するものであるが、これは本発明に関連していない。
−少なくとも以下を含む複数のパーティション内に複数のモジュールを構成するステップと、
○ 数と特性とが同一である複数のノードを含む、一次実行パーティションおよび二次実行パーティションである、2つの実行パーティションと、
○ 少なくとも1つのモジュールを含む監視パーティションと、を含む。
−各実行パーティションでアプリケーションを実行するステップと、
なお、一次実行パーティションで処理された入出力が、一次実行パーティションと二次実行パーティションとの間の分散トランザクションとしてそれらの入出力のログをとる監視パーティションを介して二次パーティションに送信される。
−マイクロプロセッサのコンテキスト変化を番号付けることによって、一次実行パーティションおよび二次実行パーティションの実行を同期させるステップと、
なお、一次および二次の実行パーティションにおける最新のコンテキスト数の間の違いに対応する時間のずれが所定の値よりも低くなければならない。
−破局的なエラー信号を監視パーティションに送信する送信ステップと、
なお、前記信号は、実行中のパーティションのモジュールの障害の特徴を示している。
−いわゆる劣化モードに対して切り替えることによって、実行を継続するステップと、を有しており、
なお、実行は、単一のパーティションで続けられ、一次実行パーティションの障害の場合には、二次実行パーティションが新しい一次実行パーティションになるような変更動作を行う。
−マイクロプロセッサのコンテキスト変化を強制し、これにより同期を実行するために、割り込みが所定の周波数で強制される。
−所定の周波数は、約20Hzであり、非同期は従って50msに抑制されている。
−アプリケーションは、ハイパーバイザによって仮想化されている。
−仮想マシンは単一のプロセッサ・コアで実行されており、仮想マシンは一次実行パーティションおよび二次実行パーティションで同一である。
−複数のパーティション内に複数のモジュールを構成するステップは、環境のサービスの停止なしに動的に行われる。
−環境の見かけの不稼働率(unavailability)は、一次および二次パーティションにおけるアプリケーションの実行の間の非同期に等しく、不稼働率は従って、実行の同期化によって制約されている。
−装置は、モジュールの底板が、底板に取り付けられた挿入ガイドを含み、これらの挿入ガイドは、次の2つのタイプである、フレームに挿入された複数のモジュールを含む。
○ 第1のタイプは、最終的なガイド動作および底板のコネクタの保護を確保する。
○ 第2のタイプは、初期的なガイド動作を確保するために、円錐状に終端した円筒形状を有する。
各ガイドは、フレームに対応する手段を有する。
−第1のタイプは、円錐状に終端した円筒形状を有し、その長さは、第2のタイプの長さよりも約1センチメートル短い。
−第1のタイプは、円錐状に終端した円筒形状と協働することができる凹状部分である。
−第2のタイプの少なくとも1つのガイドは、底板に堅固に取り付けられている。
−第1のタイプの少なくとも1つのガイドは、底板にゆるやかに取り付けられている。
−第1のタイプのガイドと協働する少なくとも1つの円筒状のガイドは、フレームにゆるやかに取り付けられている。
−底板は、第1のタイプのガイドを4つと、第2のタイプのガイドを2つ含んでいる。
−ガイドは、底板の対称軸に関して対称的に分布している。
−一次実行パーティションおよび二次実行パーティションである、数および特性が同一の複数のノードを含む2つの実行パーティション。
我々の実施例においては、一次実行パーティションは第1パーティションAであり、二次実行パーティションは第2パーティションBである。
−少なくとも1つのモジュールを含む監視パーティション。
我々の実施例においては、監視パーティションは第3パーティションCである。
−一次実行パーティションA(図2の2310)で障害が生じている場合:変更ステップ2400が動作される場合であり、二次実行パーティションBが新しい一次実行パーティションになって、その後、実行を続けるステップ2500になる。
−二次実行パーティションB(図2の2320)で障害が生じている場合:実行を続けるステップ2500が直接的に行われる場合である。
マルチモジュールシステムの自動構成/再構成を支援するために、8個のポートを有する、MSM(管理スイッチモジュール)と呼ばれるイーサネット(登録商標)スイッチが、相互接続モジュールに組み込まれている。このスイッチは、2つの5ポートスイッチ、4つのダウンリンク、およびアップリンクのポートが回路基板の配線(track)に接続されている1つのアップリンクから構成することができる。この実施形態は、複数のベースボード管理コントローラ(BMCs)がそれらの対話手段の全体を失う件数を制約することによって相互接続モジュールの障害許容力をさらに改善する。
本発明の別の構成要素は、同期クロックのネットワークである。相互接続モジュールのサブネットワークは、異なるモジュールのプロセッサの間にほとんど完全な同期システムを構築するために、全てのモジュールの全てのFPGAを全対全に接続する。FPGAの論理は、初期化または再構成の際に、クロックのネットワークを、論理パーティションの数に応じた数のクロックサブネットワークがパーティションされることを可能にする。それぞれのクロックサブネットワークにおいて、通常、起動ロジックを含んでいるプロセッサであるマスタープロセッサは、そのクロックをそのパーティションに属する全てのプロセッサに分配する。FPGAは、パーティションが唯一のクロックを受信するように各論理パーティションを分離する。このクロックは矩形波信号であり、その周波数は例えば25Mhzのように数メガヘルツである。この信号は、好ましくは、相互接続モジュールのケーブルによって誘導されることができるどんな位相ノイズをも除去するために各モジュールの入力でPLL回路によって濾過されることができる。再起動の際に、各モジュールは、そのパーティションのクロックによって駆動されるカウンタを起動する。このクロックはそのパーティションのプロセッサにとって共通であり、プロセッサのそれぞれは、そのモジュールに任意の時点で発生したどんなイベントでもタイムスタンプすることができる同期時間基準を有しているので、複数のイベントのタイミングをそれらのそれぞれの順番に対して不明確さなしに再構成することができる。
インフラストラクチュアは、モジュールの間に物理的なリンクを提供する全てのハードウエア部品によって定義される。このインフラストラクチュアの信頼性を保証するために、平均故障間隔であるMTBFがモジュールのマザーボードのMTBFよりも桁違いに大きい受動部品を最大限使用することが好ましい。従って、このインフラストラクチュアによって引き起こされる故障の数は、システムの稼働率の評価に際して無視することができる。前述したシステムにおいては、インフラストラクチュアは、バックプレーンとも呼ばれる相互接続モジュールによって構成されており、XQPIインターフェースとも呼ばれる高速リンクのインターフェースを8個のモジュールの間に分配しており、および、8個のモジュールとMSMスイッチとの間にローカルおよび帯域外のイーサネット(登録商標)インターフェースを分配している。
−モジュールコネクタ3040の片側に設置されている第1ガイド3060および第2ガイド3070、ガイドのこの配置は、コネクタが少なくとも機械的に保護されることを可能にする。第1のタイプの第1ガイドおよび第2ガイドは、実質的に同じ長さを有し、そして以下である。
○ 円筒状に形作られている。
○ 底板に取り付けられている。
○ それらの自由端で円錐状で終端している。
○ 少なくとも1センチメートル、しかし5センチメートル未満である数センチメートルの長さである。
−第2のタイプの第3ガイド3080は、以下である。
○ 第1ガイドと同様な形状をしている。
○ 実質的に第1ガイドより長い、その値は約1センチメートルであり、実際には1センチメートルである。
○ 底板によって形成された長方形の長軸の中心上に、第1および第2ガイドから数センチメートル離れて配置されている。
−第1コネクタ支持部4010。
−第2コネクタ支持部4020。
−第2ガイド3070。
−モジュールコネクタ3040。
−円筒形状のリセスを有する長方形平行六面体の形状であり、その円筒の軸がマザーボード5010の底板5020に垂直である、第1ガイド部分5060。
−第1ガイド部分と同一の第2ガイド部分5070。
−第1コネクタ支持部4010。
−第2コネクタ支持部4020。
前述の8モジュール構成は、パーティションの各プロセッサが別なパーティションにおける冗長なプロセッサである、1+1の冗長システムをサポートすることを意図していると考えられる。この構成は、説明するためには最も簡単であるが、セキュリティーのためには、パーティションの各プロセッサが、2または3の別なパーティションにそれぞれ存在している2または3の冗長なプロセッサをそれぞれ有している、1+2、または1+3の冗長性構成を用いることができる。
本発明は、シングルコア上で動作するOSのみを使用している。事実、マルチコア・プロセッサ上で動作するOSのコアを製造することができるにもかかわらず、本発明におけるそのようなコアの実装は、プロセス同期化の解決できない問題を引き起こすかもしれない。このことは、物理的なプロセッサが、シングルコア・プロセッサであることを意味しない。マルチコア・プロセッサの使用は、唯一のコアのみを受容する所定のOSによるハイパーバイザ層によって保証された物理的リソースの割り当てによって制約されるのみである。他方、同じコアが複数の個別のOSに属しているとみなされることは、なにも妨げない。後者の場合、性能または応答時間のみが影響を受けることができる。以下の説明においては単純なルールが想定される。これは、1コアが1OSに等しく、勿論、各OS下では、ユーザは彼らが望む限り多くのアプリケーションを同時に実行するができるというものである。それらのアプリケーションによって生成される計算負荷は、通常、OSのコアのスケジューラによって多重化される。負荷が高くなればなるほど、性能はより低くなる。
以下においては、パーティションAおよびパーティションBで並列に実行中の2つのコアのスケジューラが、完全な同期を維持したままであることができるという方法が述べられる。
同じパーティションAまたはBにおいて実行している複数の仮想マシンの場合を区別するために、2つの仮想マシンの1つがAで別の1つがBで実行しているとき、後者の状況は、「ノンコヒーレント仮想マシン」と呼ばれる。これは、AおよびBのメモリはXQPIモジュール間インターフェースのためにコヒーレントではないことを思い出すためである。
Claims (17)
- 超高速広帯域ネットワークによって相互接続された複数の計算モジュールを含む高稼働率環境においてアプリケーションを同期的に実行する方法であって、
−少なくとも、
数と特性が同一である複数のノードを含む、一次実行パーティションおよび二次実行パーティションである、2つの実行パーティションと、
少なくとも1つのモジュールを含む監視パーティションと、
を含む複数のパーティション内に複数のモジュールを構成するステップ(2000)と、
−各実行パーティションで前記アプリケーションを実行する実行ステップであって、
前記一次実行パーティションで処理された入出力が、前記一次実行パーティションと前記二次実行パーティションとの間の分散トランザクションとしてそれらの入出力のログをとる前記監視パーティションを介して前記二次パーティションに送信される実行ステップ(2100)と、
−マイクロプロセッサのコンテキスト変化を番号付けることによって、前記一次実行パーティションおよび前記二次実行パーティションの実行を同期させる同期ステップであって、
前記一次実行パーティションおよび前記二次実行パーティションにおける最新のコンテキスト数の間の違いに対応する時間のずれが所定の値よりも低くなければならない、同期ステップ(2200)と、
−破局的なエラー信号を前記監視パーティションに送信する送信ステップであって、前記信号は実行中のパーティションのモジュールの障害の特徴を示している、送信ステップ(2300)と、
−いわゆる劣化モードに対して切り替えることによって実行を継続する継続ステップであって、前記実行は単一のパーティションで続けられ、前記一次実行パーティションの障害の場合には、前記二次実行パーティションが新しい一次実行パーティションになるような変更動作(2400)を行う、継続ステップ(2500)と、
を有することを特徴とする方法。 - マイクロプロセッサのコンテキスト変化を強制し、これにより同期を実行する(2200)ために、割り込みが所定の周波数で強制されることを特徴とする、請求項1に記載の同期実行方法。
- 前記所定の周波数は、約20Hzであり、非同期は従って50msに抑制されていることを特徴とする請求項2に記載の方法。
- 前記アプリケーションは、ハイパーバイザによって仮想化されていることを特徴とする請求項1から3のいずれか一項に記載の方法。
- 前記仮想マシンは単一のプロセッサ・コアで実行されており、前記仮想マシンは、前記一次実行パーティションおよび前記二次実行パーティションで同一であることを特徴とする請求項4に記載の方法。
- 複数のパーティション内に前記複数のモジュールを構成するステップ(2000)は、前記環境のサービスの停止なしに動的に行われることを特徴とする請求項1から5のいずれか一項に記載の方法。
- 環境の見かけの不稼働率は、前記一次実行パーティションおよび前記二次実行パーティションにおけるアプリケーションの実行の間の非同期に等しく、不稼働率は従って、実行の同期化(2200)によって制約されていることを特徴とする、請求項1から6のいずれか一項に記載の方法。
- 請求項1から7のいずれか一項に記載の方法を実行する命令コードに対応するファイルを含んでいるデジタル記憶装置。
- 請求項1から7のいずれか一項に記載の方法を実施する装置。
- フレームに挿入された前記複数のモジュールを含む請求項8または9に記載の装置であって、モジュールの底板は、前記底板に取り付けられた挿入ガイドを含み、
これらのガイドは、
最終的なガイド動作、および前記底板のコネクタの保護を確保する第1のタイプと、
初期的なガイド動作を確保するために円錐状に終端した円筒形状を有する第2のタイプとの、2つのタイプであり、
各ガイドは、前記フレームに対応する手段を有することを特徴とする装置。 - 前記第1のタイプは、円錐状に終端した円筒形状を有し、その長さは、前記第2のタイプの長さよりも約1センチメートル短いことを特徴とする、請求項10に記載の装置。
- 前記第1のタイプは、円錐状に終端した円筒形状と協働することができる凹状部分であることを特徴とする、請求項10に記載の装置。
- 前記第2のタイプの少なくとも1つのガイドは、前記底板に堅固に取り付けられていることを特徴とする、請求項10から12のいずれか一項に記載の装置。
- 前記第1のタイプの少なくとも1つのガイドは、前記底板にゆるやかに取り付けられていることを特徴とする、請求項11から13のいずれか一項に記載の装置。
- 前記第1のタイプのガイドと協働する少なくとも1つの円筒状のガイドは、前記フレームにゆるやかに取り付けられていることを特徴とする、請求項12または13に記載の装置。
- 前記底板は、前記第1のタイプのガイドを4個と、前記第2のタイプのガイドを2個含むことを特徴とする、請求項10から15のいずれか一項に記載の装置。
- 前記ガイドは、前記底板の対称軸に関して対称的に分布していることを特徴とする、請求項10から16のいずれか一項に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1456274A FR3023398B1 (fr) | 2014-07-01 | 2014-07-01 | Procede et dispositif d'execution synchronisee d'une application dans un environnement a haute disponibilite |
FR1456274 | 2014-07-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016027470A true JP2016027470A (ja) | 2016-02-18 |
Family
ID=51726669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015133056A Pending JP2016027470A (ja) | 2014-07-01 | 2015-07-01 | 高稼働率環境においてアプリケーションを同期的に実行する方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9575850B2 (ja) |
EP (1) | EP2975517B1 (ja) |
JP (1) | JP2016027470A (ja) |
BR (1) | BR102015015928A2 (ja) |
FR (1) | FR3023398B1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019115977A (ja) * | 2017-12-26 | 2019-07-18 | キヤノン株式会社 | 画像形成装置、その制御方法およびプログラム |
CN109739568B (zh) * | 2018-12-19 | 2021-12-21 | 卡斯柯信号有限公司 | 一种基于2乘2取2架构的安全平台启动方法 |
CN109947596A (zh) * | 2019-03-19 | 2019-06-28 | 浪潮商用机器有限公司 | Pcie设备故障系统宕机处理方法、装置及相关组件 |
CN110071851B (zh) * | 2019-04-19 | 2022-01-25 | 成都飞机工业(集团)有限责任公司 | 一种测量飞行试验数据延迟的系统及方法 |
CN111177893B (zh) * | 2019-12-11 | 2023-05-02 | 中电普信(北京)科技发展有限公司 | 基于多线程的并行离散仿真事件驱动方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4342083A (en) * | 1980-02-05 | 1982-07-27 | The Bendix Corporation | Communication system for a multiple-computer system |
WO1993009494A1 (en) * | 1991-10-28 | 1993-05-13 | Digital Equipment Corporation | Fault-tolerant computer processing using a shadow virtual processor |
US7966538B2 (en) * | 2007-10-18 | 2011-06-21 | The Regents Of The University Of Michigan | Microprocessor and method for detecting faults therein |
US8826077B2 (en) * | 2007-12-28 | 2014-09-02 | International Business Machines Corporation | Defining a computer recovery process that matches the scope of outage including determining a root cause and performing escalated recovery operations |
US9342358B2 (en) * | 2012-09-14 | 2016-05-17 | General Electric Company | System and method for synchronizing processor instruction execution |
-
2014
- 2014-07-01 FR FR1456274A patent/FR3023398B1/fr not_active Expired - Fee Related
-
2015
- 2015-06-30 EP EP15174627.8A patent/EP2975517B1/fr active Active
- 2015-07-01 US US14/788,867 patent/US9575850B2/en active Active
- 2015-07-01 BR BR102015015928A patent/BR102015015928A2/pt not_active Application Discontinuation
- 2015-07-01 JP JP2015133056A patent/JP2016027470A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
FR3023398B1 (fr) | 2016-07-01 |
US9575850B2 (en) | 2017-02-21 |
EP2975517A3 (fr) | 2016-04-13 |
US20160004608A1 (en) | 2016-01-07 |
EP2975517A2 (fr) | 2016-01-20 |
FR3023398A1 (fr) | 2016-01-08 |
BR102015015928A2 (pt) | 2016-01-05 |
EP2975517B1 (fr) | 2021-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934183B2 (en) | Server comprising a plurality of modules | |
CN102325192B (zh) | 云计算实现方法和系统 | |
AU2002324671B2 (en) | Computer system partitioning using data transfer routing mechanism | |
US9389976B2 (en) | Distributed persistent memory using asynchronous streaming of log records | |
JP2016027470A (ja) | 高稼働率環境においてアプリケーションを同期的に実行する方法および装置 | |
US20080046774A1 (en) | Blade Clustering System with SMP Capability and Redundant Clock Distribution Architecture Thereof | |
CN108270726B (zh) | 应用实例部署方法及装置 | |
US20060281630A1 (en) | Autonomic recovery from hardware errors in an input/output fabric | |
AU2002324671A1 (en) | Computer system partitioning using data transfer routing mechanism | |
JP2004252591A (ja) | 計算機システム、i/oデバイス及びi/oデバイスの仮想共有方法 | |
GB2492620A (en) | Midplane for blade server management | |
EP2084600A1 (en) | Replacing system hardware | |
CN115225642B (zh) | 超融合系统的弹性负载均衡方法及系统 | |
KR20090081405A (ko) | 파티션 유닛을 교체하는 방법 및 컴퓨터 판독가능 매체 | |
US11086615B2 (en) | Virtual appliance upgrades in high-availability (HA) computing clusters | |
CN113608836A (zh) | 一种基于集群的虚拟机高可用方法及系统 | |
JP2011034161A (ja) | サーバシステム及びサーバシステムの管理方法 | |
TWI756007B (zh) | 用以進行全快閃記憶體陣列伺服器的高可用性管理的方法與設備 | |
US20220215001A1 (en) | Replacing dedicated witness node in a stretched cluster with distributed management controllers | |
US12093724B2 (en) | Systems and methods for asynchronous job scheduling among a plurality of managed information handling systems | |
CN100559322C (zh) | 具对称式多处理器性能的刀锋式丛集系统之时序分配结构 | |
CN109995560A (zh) | 云资源池管理系统及方法 | |
KR101444783B1 (ko) | 시스템 가용성 향상을 위한 시스템 운용 방법 | |
JP4571056B2 (ja) | 情報処理装置に新たに装置を組み込むための方法、情報処理装置及びプログラム | |
CN100472457C (zh) | 多处理器环境中从控制块挂起恢复的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180608 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190507 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20190726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200303 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20201006 |