JP6337606B2 - 情報処理装置、経路決定方法及びプログラム - Google Patents

情報処理装置、経路決定方法及びプログラム Download PDF

Info

Publication number
JP6337606B2
JP6337606B2 JP2014101263A JP2014101263A JP6337606B2 JP 6337606 B2 JP6337606 B2 JP 6337606B2 JP 2014101263 A JP2014101263 A JP 2014101263A JP 2014101263 A JP2014101263 A JP 2014101263A JP 6337606 B2 JP6337606 B2 JP 6337606B2
Authority
JP
Japan
Prior art keywords
processor
cpu
processors
group
communication path
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
JP2014101263A
Other languages
English (en)
Other versions
JP2015220522A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014101263A priority Critical patent/JP6337606B2/ja
Priority to US14/700,294 priority patent/US9916236B2/en
Publication of JP2015220522A publication Critical patent/JP2015220522A/ja
Application granted granted Critical
Publication of JP6337606B2 publication Critical patent/JP6337606B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17312Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Description

本発明は、プロセッサ間の通信技術に関する。
サーバには複数のCPU(Central Processing Unit)が搭載される場合がある。図1に、複数のCPUの接続形態の一例を示す。図1におけるCPU#0乃至3の各々には、メモリとI/O(Input/Output)デバイスとが接続されている。CPU#0乃至3の各々は他のCPUと接続するためのポートを2つ有しているため、他のCPUのうち2つのCPUとは直接(すなわち、ポイントツーポイントで)接続される。具体的には、CPU#0はCPU#1及び2と直接接続され、CPU#1はCPU#0及び3と直接接続され、CPU#2はCPU#0及び3と直接接続され、CPU#3はCPU#1及び2と直接接続される。
直接接続されていないCPUとCPUとの間の通信は、他のCPUを介して行われる。例えばCPU#0がCPU#3のキャッシュ又はCPU#3に接続されたメモリにアクセスする場合、CPU#1又はCPU#2を経由したアクセスを行うことになる。そのため、CPU#0乃至3の各々には、他のCPUから受信したパケットをルーティングする機能が備えられる。
ところで、上で示したような複数のCPUは動的再構成(Dynamic Reconfiguration)の対象になることがある。動的再構成とは、システムの運用を止めることなくCPU等のハードウエアの追加及び削除を行うことである。動的再構成には、ホットアド(Hot Add)とホットリムーヴ(Hot Remove)とがある。ホットアドは、例えばシステムの性能を高めるために実行される。ホットリムーヴは、例えば障害が発生する可能性が有るハードウエアを予め切り離すために行われる。
しかし、ホットリムーヴによってCPUが削除されると、通信経路を変更しなければCPU間の通信を行えない場合がある。例えば図1において、CPU#0とCPU#3との間の通信が、CPU#2を経由する通信経路で行われるとする。この場合、CPU#2がホットリムーヴによって削除されると、CPU#1を経由する通信経路に変更しなければCPU#0とCPU#3との間の通信を行えない。しかし、CPUの中には、動作中に通信経路を変更することができないものがある。従来技術は、このような問題には着目していない。
特開平5−204876号公報 特表2003−510720号公報
従って、本発明の目的は、1つの側面では、動的再構成の前後において同じ通信経路を利用するための技術を提供することである。
本発明に係る情報処理装置は、各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサを有する。そして、上で述べた複数のプロセッサのうち第1のプロセッサが、複数のプロセッサのうち第2のプロセッサと、複数のプロセッサのうち第2のプロセッサとは異なる第3のプロセッサとの間の1又は複数の通信経路を算出し、算出された1又は複数の通信経路の中から、第2のプロセッサと第3のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち第2のプロセッサ及び第3のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、特定された通信経路の情報を、特定された通信経路上のプロセッサに送信する処理を実行する。
1つの側面では、動的再構成の前後において同じ通信経路を利用できるようになる。
図1は、CPUの接続形態を示す図である。 図2は、本実施の形態におけるサーバの構成を示す図である。 図3は、パーティションの一例を示す図である。 図4は、パーティションの一例を示す図である。 図5は、動的再構成について説明するための図である。 図6は、セルの接続関係について説明するための図である。 図7は、セルの接続関係について説明するための図である。 図8は、制御プログラムについて説明するための図である。 図9は、制御CPUが実行する処理の処理フローを示す図である。 図10は、経路決定処理の処理フローを示す図である。 図11は、トポロジグラフの一例を示す図である。 図12は、選択処理の処理フローを示す図である。 図13は、8CPUの場合の経路の一例を示す図である。 図14は、8CPUの場合の経路の一例を示す図である。 図15は、ホットアドの際に制御CPUが実行する処理の処理フローを示す図である。 図16は、6CPUの場合の接続形態を示す図である。 図17は、6CPUの場合の接続形態を示す図である。 図18は、7CPUの場合の経路の一例を示す図である。 図19は、7CPUの場合の経路の一例を示す図である。 図20は、ホットリムーヴの際に制御CPUが実行する処理の処理フローを示す図である。 図21は、6CPUの場合の経路の一例を示す図である。 図22は、6CPUの場合の経路の一例を示す図である。 図23は、経路の決定方法を具体的に説明するための図である。 図24は、経路の決定方法を具体的に説明するための図である。 図25は、経路の決定方法を具体的に説明するための図である。 図26は、経路の決定方法を具体的に説明するための図である。 図27は、経路の決定方法を具体的に説明するための図である。 図28は、経路の決定方法を具体的に説明するための図である。 図29は、経路の決定方法を具体的に説明するための図である。 図30は、経路の決定方法を具体的に説明するための図である。 図31は、経路の決定方法を具体的に説明するための図である。 図32は、経路の決定方法を具体的に説明するための図である。 図33は、経路の決定方法を具体的に説明するための図である。 図34は、経路の決定方法を具体的に説明するための図である。 図35は、経路の決定方法を具体的に説明するための図である。 図36は、経路の決定方法を具体的に説明するための図である。
図2に、本実施の形態におけるサーバ1000の構成を示す。サーバ1000においては、管理モジュール10と、セルA乃至Dと、I/O(Input/Output)部15とがバックプレーン100を介して接続される。セルは、1又は複数のCPU、メモリ及び不揮発性メモリ等を含むボード(例えばシステムボード)である。サーバ1000は、マルチパーティションコンピュータシステムであり、各々が1又は複数のセルを含む複数のパーティションを含む。各パーティションは、物理的に独立したコンピュータシステムとして動作することができる。
管理モジュール10は、1又は複数のセルを含むパーティションの管理を行う。具体的には、管理モジュール10は、パーティションの生成についての指示をサーバ1000の管理者等から受け付け、受け付けた指示に従いセルA乃至Dを組み合わせることでパーティションを生成する。また、管理モジュール10は、パーティションの電源の制御についての指示をサーバ1000の管理者等から受け付け、受け付けた指示に従いパーティションの電源を制御する。
図3及び図4に、パーティションの一例を示す。図3の例では、セルAを含むパーティションP1と、セルBを含むパーティションP2と、セルCを含むパーティションP3と、セルDを含むパーティションP4とが有る。図4の例では、セルA及びセルBを含むパーティションP1と、セルCを含むパーティションP3と、セルDを含むパーティションP4とが有る。
図5を用いて、本実施の形態における動的再構成について説明する。図5の例では、セルDが動的再構成の対象である。セルA、セルB、セルC及びセルDを含むパーティションP1におけるセルDに対しホットリムーヴを実行すると、パーティションP1からセルDが切り離される。一方、セルA、セルB及びセルCを含むパーティションP1に対しセルDのホットアドを実行すると、パーティションP1に対しセルDが追加される。
本実施の形態においては、パーティションに含まれるセルのいずれかが制御セルである。制御セルは制御CPUを含むセルであり、動的再構成の対象にはならない。制御CPUは、制御プログラムを実行し、またOS(Operating System)を起動するCPUである。制御セルに含まれるCPUのうちどのCPUが制御CPUになるかは、例えばセルの製造時に決定される。
図2の説明に戻り、セルAは、CPU0及び1と、制御プログラム111を格納する不揮発性メモリ110と、メモリ112及び113とを含む。例えばセルAが制御セルであり且つCPU0が制御CPUであるとする。この場合、CPU0は、不揮発性メモリ110に格納された制御プログラム111を読み出し、制御プログラム111を実行する。また、CPU0は、記憶装置155に格納されたOSのプログラム157を読み出し、メモリ112に格納する。そして、CPU0は、メモリ112に格納されたOSのプログラム157を実行する。OSの起動後、CPU0及びCPU1は、記憶装置155に格納されたアプリケーションプログラム156を読み出し、メモリ112及び113に格納する。そして、CPU0及び1は、メモリ112及び113に格納されたアプリケーションプログラム156を実行する。
なお、セルB乃至Dの構成はセルAの構成と同様であるので、説明を省略する。
図6及び図7を用いて、セルA乃至Dの接続関係について説明する。図6に示すように、セルA乃至セルDの各々は、他のセルのいずれとも直接接続される。具体的には、セルAはセルB、セルC及びセルDと直接接続され、セルBはセルA、セルC及びセルDと直接接続され、セルCはセルA、セルB及びセルDと直接接続され、セルDはセルA、セルB及びセルCと直接接続される。よって、セルA乃至Dのいずれが制御セルであったとしても、制御セル以外のセルは制御セルと直接接続される。
図7に、より詳細な接続関係を示す。CPU0はCPU1、CPU2及びCPU6と直接接続され、CPU1はCPU0、CPU3及びCPU5と直接接続され、CPU2はCPU0、CPU3及びCPU4と直接接続され、CPU3はCPU1、CPU2及びCPU7と直接接続され、CPU4はCPU2、CPU5及びCPU6と直接接続され、CPU5はCPU1、CPU4及びCPU7と直接接続され、CPU6はCPU0、CPU4及びCPU7と直接接続され、CPU7はCPU3、CPU5及びCPU6と直接接続される。
図2の説明に戻り、I/O部15は、データの中継を行うスイッチ150と、例えばハードディスクを接続するためのカード及びNIC(Network Interface Card)等であるI/Oデバイス151乃至154とが接続される。I/Oデバイス154には、ハードディスク等の記憶装置155が接続される。記憶装置155には、アプリケーションプログラム156及びOSのプログラム157が格納される。
図8を用いて、制御プログラム111について説明する。制御プログラム111は、CPUの初期化(但し、経路の情報の初期化は含まれない)、メモリ及びI/O部15の初期化、並びにOSの起動等を行うためのプログラムを含む。また、制御プログラム111は、経路決定プログラム1111と、設定プログラム1112と、生成プログラム1113とを含む。生成プログラム1113は、CPUの接続関係を表すデータであるトポロジグラフを生成するためのプログラムである。経路決定プログラム1111は、生成されたトポロジグラフに基づき、CPU間の通信経路を決定するためのプログラムである。設定プログラム1112は、決定された通信経路の情報を、サーバ1000内のCPUに送信するためのプログラムである。なお、制御プログラム121乃至141は制御プログラム111と同様なので、説明を省略する。
次に、図9乃至図14を用いて、パーティションの起動時に制御セルが実行する処理について説明する。以下では、セルAが制御セルであり且つCPU0が制御CPUであるとする。
まず、制御CPUであるCPU0は、不揮発性メモリ110から制御プログラム111を読み出し、制御プログラム111の実行を開始する。そして、CPU0は、制御プログラム111に含まれる経路決定プログラム1111によって、経路決定処理を実行する(図9:ステップS1)。経路決定処理については、図10及び図11を用いて説明する。
まず、CPU0は、生成プログラム1113を呼び出す。そして、CPU0は、CPU0乃至7の実際の接続関係に基づき、パーティションに含まれていないセルを含む全セル(ここでは、CPU0乃至7)の接続関係を表すデータであるトポロジグラフを生成する(図10:ステップS11)。そしてCPU0は生成プログラム1113の実行を終了する。実際の接続関係は、例えば管理モジュール10から取得されたセル情報に基づき計算される。図11に、トポロジグラフの一例を示す。図11の例では、CPU0乃至7の各々について、直接接続されるCPUの識別情報が格納される。
CPU0は、CPU0乃至7の中から未処理のCPUを1つ選択する(ステップS13)。以下では、ステップS13において選択されたCPUを送信元CPUと呼ぶ。
CPU0は、選択処理を実行する(ステップS15)。選択処理については、図12を用いて説明する。
まず、CPU0は、送信元CPU以外のCPUの中から未処理のCPUを1つ特定する(図12:ステップS21)。以下では、ステップS21において特定されたCPUを宛先CPUと呼ぶ。
CPU0は、ステップS11において生成されたトポロジグラフを用いて、送信元CPUと宛先CPUとの間の経路を計算する(ステップS23)。ステップS23においては、所定のホップ数(本実施の形態においては3)以下である経路を全て求める。例えば送信元CPUがCPU6であり且つ宛先CPUがCPU1である場合には、経路「CPU6→CPU0→CPU1」、経路「CPU6→CPU7→CPU3→CPU1」、経路「CPU6→CPU7→CPU5→CPU1」、及び経路「CPU6→CPU4→CPU5→CPU1」が計算される。
CPU0は、ステップS23において計算された経路の中に、ホップ数が1である経路が有るか判断する(ステップS25)。ホップ数が1である経路が有る場合(ステップS25:Yesルート)、CPU0は、ホップ数が1である経路を選択し(ステップS27)、選択された経路の情報をメモリ112に格納する。そしてステップS39の処理に移行する。ステップS27において選択される経路は、例えば経路「CPU0→CPU1」である。
ホップ数が1である経路が無い場合(ステップS25:Noルート)、CPU0は、ステップS23において計算された経路の中に、全中間CPUが制御セル(本実施の形態においては、セルA)に含まれる経路が有るか判断する(ステップS29)。中間CPUとは、送信元CPUと宛先CPUとの間に有るCPUである。従って、ホップ数が1である経路には中間CPUが無い。
全中間CPUが制御セルに含まれる経路が有る場合(ステップS29:Yesルート)、CPU0は、全中間CPUが制御セルに含まれる経路のうち最短の経路を選択し(ステップS31)、選択された経路の情報をメモリ112に格納する。そしてステップS39の処理に移行する。ステップS31において選択される経路は、例えば経路「CPU1→CPU0→CPU2」である。
全中間CPUが制御セルに含まれる経路が無い場合(ステップS29:Noルート)、CPU0は、ステップS23において計算された経路の中に、送信元CPUを含むセル、制御セル及び宛先CPUを含むセルのみを経由する経路が有るか判断する(ステップS33)。
送信元CPUを含むセル、制御セル及び宛先CPUを含むセルのみを経由する経路が有る場合(ステップS33:Yesルート)、CPU0は、送信元CPUを含むセル、制御セル及び宛先CPUを含むセルのみを経由する経路のうち最短の経路を選択し(ステップS35)、選択された経路の情報をメモリ112に格納する。そしてステップS39の処理に移行する。ステップS35において選択される経路は、例えば「CPU1→CPU0→CPU2」という経路及び「CPU4→CPU5→CPU1→CPU3」という経路である。
送信元CPUを含むセル、制御セル及び宛先CPUを含むセルのみを経由する経路が無い場合(ステップS33:Noルート)、CPU0は、送信元CPUを含むセルに含まれ且つ送信元CPUより制御セルに近いCPUを経由する経路を選択し(ステップS37)、選択された経路の情報をメモリ112に格納する。ステップS37において選択される経路は、例えば経路「CPU4→CPU5→CPU7」である。
CPU0は、送信元CPU以外のCPUの中に未処理のCPUが有るか判断する(ステップS39)。未処理のCPUが有る場合(ステップS39:Yesルート)、次のCPUについて処理するため、ステップS21の処理に戻る。一方、未処理のCPUが無い場合(ステップS39:Noルート)、ステップS17の処理に戻る。
以上のような処理を実行すれば、動的再構成(特にホットリムーヴ)の影響を受けない経路を選択できるようになる。すなわち、「ホップ数が1である経路」は中間CPUが無いので動的再構成の影響を受けない。また、「全中間CPUが制御セルに含まれる経路」は、中間CPUが動的再構成の対象ではないので動的再構成の影響を受けない。
また、「送信元CPUを含むセル、制御セル及び宛先CPUを含むセルのみを経由する経路」及び「送信元CPUを含むセルに含まれ且つ送信元CPUより制御セルに近いCPUを経由する経路」は、本実施の形態においてはCPUが削除される順序及びCPUが追加される順序が決められているので、動的再構成の影響を受けない。これについては後述する。
図10の説明に戻り、CPU0は、未処理のCPUが有るか判断する(ステップS17)。未処理のCPUが有る場合(ステップS17:Yesルート)、次のCPUについて処理するため、ステップS13の処理に戻る。
未処理のCPUが無い場合(ステップS17:Noルート)、CPU0は、設定プログラム1112の実行を開始する。そして、CPU0は、メモリ112に格納された経路の情報を他のCPU(ここでは、CPU1乃至7)に送信する(ステップS19)。経路の情報は、例えば、管理モジュール10経由で他のCPUに送信される。そしてCPU0は設定プログラム1112及び経路決定プログラム1111の実行を終了し、ステップS3の処理に戻る。なお、他のCPUは、受信した経路の情報を、そのCPU以外のCPUとデータを交換するためのルーティングの際に利用する。
図13及び図14に、経路決定処理によって決定された経路の一例を示す。図13及び図14において、「アルゴリズム」の欄には、経路の決定に用いたアルゴリズムを表す番号が格納される。「ホップ数が1である経路」は1であり、「全中間CPUが制御セルに含まれる経路」は2であり、「送信元CPUを含むセル、制御セル及び宛先CPUを含むセルのみを経由する経路」は3であり、「送信元CPUを含むセルに含まれ且つ送信元CPUより制御セルに近いCPUを経由する経路」は4である。
ステップS19においては、他のCPUに対して図13及び図14に示した全情報を送信しなくてもよい。例えばCPU1に対しては8行目から14行目のデータ(すなわち、送信元CPUがCPU1であるデータ)を送信すれば、CPU1がルーティングを行うことができる。
なお、本実施の形態においては一旦経路が決定されると、その経路が固定的に使用される。例えばCPU1がCPU2にデータを送信する場合には「CPU1→CPU0→CPU2」という経路を固定的に使用し、それ以外の経路を使用しない。そして、決定された経路は動的再構成の影響を受けない。従って、仕様によりCPUが動作中に通信経路を変更することができない場合にも問題は生じない。
図9の説明に戻り、CPU0は、経路以外の事項について初期化を実行する(ステップS3)。ステップS3においては、例えば、I/O部15の初期化及びメモリ112の初期化等が行われる。
CPU0は、記憶装置155に格納されたOSのプログラム157を読み出し、メモリ112に格納する。そして、CPU0は、メモリ112に格納されたOSのプログラム157を用いてOSを起動する(ステップS5)。そして処理を終了する。
以上のような処理を実行すれば、経路は動的再構成の影響を受けないので、動的再構成の前後において同じ経路を利用できるようになる。
次に、図15乃至図22を用いて、動的再構成の際に制御CPU(ここでは、CPU0)が実行する処理について説明する。まず、ホットアドの際に制御CPUが実行する処理について説明する。なお、図15乃至図22を用いて説明する処理は、制御CPUが制御プログラム111を実行することによって行われる。
管理モジュール10は、ホットアドによって追加すべきセル及びそのセルが追加されるパーティションの指定を、サーバ1000の管理者等から受け付ける。管理モジュール10は、ホットアドによって追加すべきセル及びそのセルが追加されるパーティションの指定を、CPU0に通知する。
CPU0は、ホットアドによって追加すべきセル及びそのセルが追加されるパーティションの指定を管理モジュール10から受け取ることによって、ホットアドが行われることを検出する(図15:ステップS41)。
CPU0は、ホットアドによって追加すべきセルが制御セル(すなわち、セルA)であるか判断する(ステップS43)。制御セルである場合(ステップS43:Yesルート)、処理を終了する。
制御セルではない場合(ステップS43:Noルート)、CPU0は、ホットアドによって追加すべきセルに含まれるCPUのうち、制御セルにより近いCPUを第1CPUに設定する。また、CPU0は、ホットアドによって追加すべきセルに含まれるCPUのうち、制御セルからより遠いCPUを第2CPUに設定する(ステップS45)。例えばホットアドによって追加すべきセルがセルDである場合、制御セルまで1ホップであるCPU6が第1CPUであり、制御セルまで2ホップであるCPU7が第2CPUである。
CPU0は、第1CPUについて追加処理を実行する(ステップS47)。例えば、ステップS47を実行する前の状態が図16の状態であり、ステップS47によってCPU6が追加されたとすると、図17の状態になる。
CPU0は、第1CPUが追加されたシステムについて経路決定処理を実行する(ステップS49)。経路決定処理は図10乃至図12を用いて説明したとおりであるので、説明を省略する。例えば図17の状態について経路決定処理を実行すると、決定された経路は図18及び図19に示すようになる。図18及び図19は、CPU7が宛先CPUである経路及びCPU7が送信元CPUである経路が示されていないことを除いて、図13及び図14に示した経路と同じである。
CPU0は、経路以外の事項について初期化を実行する(ステップS51)。ステップS51においては、例えば、メモリ142の初期化等が行われる。
CPU0は、第2CPUについて追加処理を実行する(ステップS53)例えば、ステップS53を実行する前の状態が図17の状態であり、ステップS53によってCPU7が追加されたとすると、図7の状態になる。
CPU0は、第2CPUが追加されたシステムについて経路決定処理を実行する(ステップS55)。経路決定処理は図10乃至図12を用いて説明したとおりであるので、説明を省略する。例えば図7のような状態について経路決定処理を実行すると、決定された経路は図13及び図14に示すようになる。
CPU0は、経路以外の事項について初期化を実行する(ステップS57)。ステップS57においては、例えば、メモリ143の初期化等が行われる。そして処理を終了する。
次に、ホットリムーヴの際に制御CPUが実行する処理について説明する。まず、管理モジュール10は、ホットリムーヴによって削除すべきセル及びそのセルが削除されるパーティションの指定を、サーバ1000の管理者等から受け付ける。管理モジュール10は、ホットリムーヴによって削除すべきセル及びそのセルが削除されるパーティションの指定を示す情報を、CPU0に通知する。
CPU0は、ホットリムーヴによって削除すべきセル及びそのセルが削除されるパーティションの指定を管理モジュール10から受け取ることによって、ホットリムーヴが行われることを検出する(図20:ステップS61)。
CPU0は、ホットリムーヴによって削除すべきセルが制御セルであるか判断する(ステップS63)。制御セルである場合(ステップS63:Yesルート)、ホットリムーヴを実行できないので、処理を終了する。
制御セルではない場合(ステップS63:Noルート)、CPU0は、ホットリムーヴによって削除すべきセルに含まれるCPUのうち、制御セルからより遠いCPUを第1CPUに設定する。また、CPU0は、ホットリムーヴによって削除すべきセルに含まれるCPUのうち、制御セルにより近いCPUを第2CPUに設定する(ステップS65)。例えばホットリムーヴによって削除すべきセルがセルDである場合、制御セルまで2ホップであるCPU7が第1CPUであり、制御セルまで1ホップであるCPU6が第2CPUである。
CPU0は、第1CPUについて削除処理を実行する(ステップS67)。ステップS67においては、例えば、ステップS67を実行する前の状態が図7の状態であり、ステップS67によってCPU7が削除されたとすると、図17の状態になる。
CPU0は、第1CPUが削除されたシステムについて経路決定処理を実行する(ステップS69)。経路決定処理は図10乃至図12を用いて説明したとおりであるので、説明を省略する。例えば図17のような状態について経路決定処理を実行すると、決定された経路は図18及び図19に示すようになる。図18及び図19は、CPU7が宛先CPUである経路及びCPU7が送信元CPUである経路が示されていないことを除いて、図13及び図14に示した経路と同じである。
CPU0は、第2CPUについて削除処理を実行する(ステップS73)。例えば、ステップS73を実行する前の状態が図17の状態であり、ステップS73によってCPU6が削除されたとすると、図16の状態になる。
CPU0は、第2CPUが削除されたシステムについて経路決定処理を実行する(ステップS75)。経路決定処理は図10乃至図12を用いて説明したとおりであるので、説明を省略する。例えば図16のような状態について経路決定処理を実行すると、決定された経路は図21及び図22に示すようになる。図21及び図22は、CPU6が宛先CPUである経路及びCPU6が送信元CPUである経路が示されていないことを除いて、図18及び図19に示した経路と同じである。
以上のように、制御セルまでのホップ数に基づきCPUを削除する順序及びCPUを追加する順序を決定する。これにより、「送信元CPUを含むセル、制御セル及び宛先CPUを含むセルのみを経由する経路」及び「送信元CPUを含むセルに含まれ且つ送信元CPUより制御セルに近いCPUを経由する経路」は、動的再構成の影響を受けなくなる。
以下では、経路の決定について具体例を用いて説明する。まず、送信元CPUがCPU6である場合の経路について説明する。
図23に、CPU6からCPU0への経路のうち3ホップ以下である経路を示す。図23においては、「CPU6→CPU0」という経路と、「CPU6→CPU4→CPU2→CPU0」という経路とが示されている。ここでは、CPU6からCPU0への経路として、ホップ数が1である経路「CPU6→CPU0」が選択される。
図24に、CPU6からCPU1への経路のうち3ホップ以下である経路を示す。図24においては、「CPU6→CPU0→CPU1」という経路と、「CPU6→CPU7→CPU3→CPU1」という経路と、「CPU6→CPU4→CPU5→CPU1」という経路とが示されている。ここでは、CPU6からCPU1への経路として、全中間CPUが制御セルに含まれる経路「CPU6→CPU0→CPU1」が選択される。
図25に、CPU6からCPU2への経路のうち3ホップ以下である経路を示す。図25においては、「CPU6→CPU0→CPU2」という経路と、「CPU6→CPU4→CPU2」という経路と、「CPU6→CPU7→CPU3→CPU2」という経路とが示されている。ここでは、CPU6からCPU2への経路として、全中間CPUが制御セルに含まれる経路「CPU6→CPU0→CPU2」が選択される。
図26に、CPU6からCPU3への経路のうち3ホップ以下である経路を示す。図26においては、「CPU6→CPU0→CPU1→CPU3」という経路と、「CPU6→CPU0→CPU2→CPU3」という経路と、「CPU6→CPU4→CPU2→CPU3」という経路と、「CPU6→CPU7→CPU3」という経路とが示されている。ここでは、CPU6からCPU3への経路として、全中間CPUが制御セルに含まれる経路「CPU6→CPU0→CPU1→CPU3」が選択される。
図27に、CPU6からCPU4への経路のうち3ホップ以下である経路を示す。図27においては、「CPU6→CPU0→CPU2→CPU4」という経路と、「CPU6→CPU4」という経路と、「CPU6→CPU7→CPU5→CPU4」という経路とが示されている。ここでは、CPU6からCPU4への経路として、ホップ数が1である経路「CPU6→CPU4」が選択される。
図28に、CPU6からCPU5への経路のうち3ホップ以下である経路を示す。図28においては、「CPU6→CPU0→CPU1→CPU5」という経路と、「CPU6→CPU4→CPU5」という経路と、「CPU6→CPU7→CPU5」という経路とが示されている。ここでは、CPU6からCPU5への経路として、全中間CPUが制御セルに含まれる経路「CPU6→CPU0→CPU1→CPU5」が選択される。
図29に、CPU6からCPU7への経路のうち3ホップ以下である経路を示す。図29においては、「CPU6→CPU7」という経路と、「CPU6→CPU4→CPU5→CPU7」という経路とが示されている。ここでは、CPU6からCPU7への経路として、ホップ数が1である経路「CPU6→CPU7」が選択される。
次に、送信元CPUがCPU7である場合の経路について説明する。
図30に、CPU7からCPU0への経路のうち3ホップ以下である経路を示す。図30においては、「CPU7→CPU6→CPU0」という経路と、「CPU7→CPU5→CPU1→CPU0」という経路と、「CPU7→CPU3→CPU1→CPU0」という経路と、「CPU7→CPU3→CPU2→CPU0」とが示されている。ここでは、CPU7からCPU0への経路として、送信元CPUを含むセル、制御セル及び宛先CPUを含むセルのみを経由する経路「CPU7→CPU6→CPU0」が選択される。
図31に、CPU7からCPU1への経路のうち3ホップ以下である経路を示す。図31においては、「CPU7→CPU6→CPU0→CPU1」という経路と、「CPU7→CPU5→CPU1」という経路と、「CPU7→CPU3→CPU1」という経路とが示されている。ここでは、CPU7からCPU1への経路として、送信元CPUを含むセル、制御セル及び宛先CPUを含むセルのみを経由する経路「CPU7→CPU6→CPU0→CPU1」が選択される。
図32に、CPU7からCPU2への経路のうち3ホップ以下である経路を示す。図32においては、「CPU7→CPU6→CPU0→CPU2」という経路と、「CPU7→CPU5→CPU4→CPU2」という経路と、「CPU7→CPU3→CPU2」という経路とが示されている。ここでは、CPU7からCPU2への経路として、送信元CPUを含むセル、制御セル及び宛先CPUを含むセルのみを経由する経路「CPU7→CPU6→CPU0→CPU2」が選択される。
図33に、CPU7からCPU3への経路のうち3ホップ以下である経路を示す。図33においては、「CPU7→CPU3」という経路と、「CPU7→CPU5→CPU1→CPU3」という経路とが示されている。ここでは、CPU7からCPU3への経路として、ホップ数が1である経路「CPU7→CPU3」が選択される。
図34に、CPU7からCPU4への経路のうち3ホップ以下である経路を示す。図34においては、「CPU7→CPU3→CPU2→CPU4」という経路と、「CPU7→CPU5→CPU4」という経路と、「CPU7→CPU6→CPU4」という経路とが示されている。ここでは、CPU7からCPU4への経路として、送信元CPUを含むセルに含まれ且つ送信元CPUより制御セルに近いCPU(ここでは、CPU6)を経由する経路「CPU7→CPU6→CPU4」が選択される。
図35に、CPU7からCPU5への経路のうち3ホップ以下である経路を示す。図35においては、「CPU7→CPU3→CPU1→CPU5」という経路と、「CPU7→CPU5」という経路と、「CPU7→CPU6→CPU4→CPU5」という経路とが示されている。ここでは、CPU7からCPU5への経路として、ホップ数が1である経路「CPU7→CPU5」が選択される。
図36に、CPU7からCPU6への経路のうち3ホップ以下である経路を示す。図36においては、「CPU7→CPU5→CPU4→CPU6」という経路と、「CPU7→CPU6」という経路とが示されている。ここでは、CPU7からCPU6への経路として、ホップ数が1である経路「CPU7→CPU6」が選択される。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したサーバ1000の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上ではセルが4つであり、各セルに含まれるCPUが2つである例を示したが、このような例に限られるわけではない。
また、上では制御セルからの距離に基づき第1のCPU及び第2のCPUを決定したが、制御CPUからの距離に基づき第1のCPU及び第2のCPUを決定してもよい。
また、処理を高速化するため、経路の情報を事前に計算しておき、テーブルとして保存しておいても良い。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る情報処理装置は、(A)各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサを有する。そして、上で述べた複数のプロセッサのうち第1のプロセッサが、(a1)複数のプロセッサのうち第2のプロセッサと、複数のプロセッサのうち第2のプロセッサとは異なる第3のプロセッサとの間の1又は複数の通信経路を算出し、(a2)算出された1又は複数の通信経路の中から、第2のプロセッサと第3のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち第2のプロセッサ及び第3のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、(a3)特定された通信経路の情報を、特定された通信経路上のプロセッサに送信する処理を実行する。
このようにすれば、通信経路は動的再構成の影響を受けないので、動的再構成の前後において同じ通信経路を利用できるようになる。
また、上で述べた複数のプロセッサの各々は、複数のグループ(例えば、実施の形態におけるセル)のいずれかに属し、上で述べた第1のプロセッサは動的再構成の対象ではなくてもよい。そして、上で述べた第1のプロセッサは、(a4)複数のグループのうち削除されるべきグループに含まれる1又は複数のプロセッサのうち第1のプロセッサを含むグループまでのホップ数が多いプロセッサから順に、情報処理装置から削除し、(a5)追加すべきグループに含まれる1又は複数のプロセッサのうち第1のプロセッサを含むグループまでのホップ数が少ないプロセッサから順に、情報処理装置に追加する処理をさらに実行してもよい。このようにすれば、グループ毎に動的再構成が行われる場合にプロセッサの削除及び追加を適切に行えるようになる。
また、上で述べた第1のプロセッサが属する第1のグループは動的再構成の対象ではなくてもよい。そして、上で述べた通信経路を特定する処理が、(a21)第2のプロセッサと第3のプロセッサとが直接接続された通信経路、及び、通信経路上のプロセッサのうち第2のプロセッサ及び第3のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路が無い場合に、第1のグループのプロセッサ、第2のプロセッサが属するグループのプロセッサ及び第3のプロセッサが属するグループのプロセッサのみを含む通信経路を特定する処理を含んでもよい。このようにすれば、動的再構成の前後において同じ通信経路を利用できるようになる。
また、上で述べた通信経路を特定する処理が、(a22)第1のグループのプロセッサ、第2のプロセッサが属するグループのプロセッサ及び第3のプロセッサが属するグループのプロセッサのみを含む通信経路が無い場合に、第2のプロセッサが属するグループに属し、且つ、第1のグループのプロセッサまでのホップ数が第2のプロセッサから第1のグループのプロセッサまでのホップ数より少ないプロセッサを含む通信経路を特定する処理を含んでもよい。このようにすれば、動的再構成の前後において同じ通信経路を利用できるようになる。
本実施の形態の第2の態様に係る経路決定方法は、各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサのうちいずれかのプロセッサである第1のプロセッサにより実行される。そして、本経路決定方法は、(B)複数のプロセッサのうち第2のプロセッサと、複数のプロセッサのうち第2のプロセッサとは異なる第3のプロセッサとの間の1又は複数の通信経路を算出し、(C)算出された1又は複数の通信経路の中から、第2のプロセッサと第3のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち第2のプロセッサ及び第3のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、(D)特定された通信経路の情報を、特定された通信経路上のプロセッサに送信する処理を含む。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサ
を有し、
前記複数のプロセッサのうち第1のプロセッサが、
前記複数のプロセッサのうち第2のプロセッサと、前記複数のプロセッサのうち前記第2のプロセッサとは異なる第3のプロセッサとの間の1又は複数の通信経路を算出し、
算出された前記1又は複数の通信経路の中から、前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち前記第2のプロセッサ及び前記第3のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、
特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
情報処理装置。
(付記2)
前記複数のプロセッサの各々は、複数のグループのいずれかに属し、
前記第1のプロセッサは動的再構成の対象ではなく、
前記第1のプロセッサは、
前記複数のグループのうち削除されるべきグループに含まれる1又は複数のプロセッサのうち前記第1のプロセッサを含むグループまでのホップ数が多いプロセッサから順に、前記情報処理装置から削除し、
追加すべきグループに含まれる1又は複数のプロセッサのうち前記第1のプロセッサを含むグループまでのホップ数が少ないプロセッサから順に、前記情報処理装置に追加する
処理をさらに実行する付記1記載の情報処理装置。
(付記3)
前記第1のプロセッサが属する第1のグループは動的再構成の対象ではなく、
前記通信経路を特定する処理が、
前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路、及び、通信経路上のプロセッサのうち前記第2のプロセッサ及び前記第3のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路が無い場合に、前記第1のグループのプロセッサ、前記第2のプロセッサが属するグループのプロセッサ及び前記第3のプロセッサが属するグループのプロセッサのみを含む通信経路を特定する
処理を含む付記2記載の情報処理装置。
(付記4)
前記通信経路を特定する処理が、
前記第1のグループのプロセッサ、前記第2のプロセッサが属するグループのプロセッサ及び前記第3のプロセッサが属するグループのプロセッサのみを含む通信経路が無い場合に、前記第2のプロセッサが属するグループに属し、且つ、前記第1のグループのプロセッサまでのホップ数が前記第2のプロセッサから前記第1のグループのプロセッサまでのホップ数より少ないプロセッサを含む通信経路を特定する
処理を含む付記3記載の情報処理装置。
(付記5)
各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサのうちいずれかのプロセッサである第1のプロセッサが、
前記複数のプロセッサのうち第2のプロセッサと、前記複数のプロセッサのうち前記第2のプロセッサとは異なる第3のプロセッサとの間の1又は複数の通信経路を算出し、
算出された前記1又は複数の通信経路の中から、前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち前記第2のプロセッサ及び前記第3のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、
特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
処理を実行する経路決定方法。
(付記6)
各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサのうちいずれかのプロセッサである第1のプロセッサに、
前記複数のプロセッサのうち第2のプロセッサと、前記複数のプロセッサのうち前記第2のプロセッサとは異なる第3のプロセッサとの間の1又は複数の通信経路を算出し、
算出された前記1又は複数の通信経路の中から、前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち前記第2のプロセッサ及び前記第3のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、
特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
処理を実行させるための経路決定プログラム。
1000 サーバ 10 管理モジュール
A,B,C,D セル 15 I/O部
100 バックプレーン 0,1,2,3,4,5,6,7 CPU
110,120,130,140 不揮発性メモリ
112,113,122,123,132,133,142,143 メモリ
111,121,131,141 制御プログラム
150 スイッチ 151,152,153,154 I/Oデバイス
155 記憶装置 156 アプリケーションプログラム
157 OSのプログラム 1111 経路決定プログラム
1112 設定プログラム 1113 生成プログラム

Claims (5)

  1. 各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサ
    を有し、
    前記複数のプロセッサの各々は、複数のグループのいずれかに属し、
    前記複数のプロセッサのうち第1のプロセッサが属する第1のグループは動的再構成の対象ではなく、
    前記動的再構成は、前記複数のグループのうち前記第1のグループ以外のグループ単位で指定され、
    前記1のプロセッサが、
    前記複数のプロセッサのうち第2のプロセッサと、前記複数のプロセッサのうち前記第2のプロセッサとは異なる第3のプロセッサとの間の1又は複数の通信経路を算出し、
    算出された前記1又は複数の通信経路の中から、
    前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路がある場合には、前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路を特定し、
    前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路がない場合には、前記第1のグループに属するプロセッサのみを経由する通信経路を特定し、
    前記第1のグループに属するプロセッサのみを経由する通信経路がない場合には、前記第1のグループのプロセッサ、前記第2のプロセッサが属するグループのプロセッサ及び前記第3のプロセッサが属するグループのプロセッサのみを含む通信経路を特定し、
    特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
    情報処理装置。
  2. 記第1のプロセッサは、
    前記複数のグループのうち削除されるべきグループに含まれる1又は複数のプロセッサのうち前記第1のプロセッサを含むグループまでのホップ数が多いプロセッサから順に、前記情報処理装置から削除し、
    追加すべきグループに含まれる1又は複数のプロセッサのうち前記第1のプロセッサを含むグループまでのホップ数が少ないプロセッサから順に、前記情報処理装置に追加する
    処理をさらに実行する請求項1記載の情報処理装置。
  3. 前記通信経路を特定する処理が、
    前記第1のグループのプロセッサ、前記第2のプロセッサが属するグループのプロセッサ及び前記第3のプロセッサが属するグループのプロセッサのみを含む通信経路が無い場合に、前記第2のプロセッサが属するグループに属し、且つ、前記第1のグループのプロセッサまでのホップ数が前記第2のプロセッサから前記第1のグループのプロセッサまでのホップ数より少ないプロセッサを含む通信経路を特定する
    処理を含む請求項1又は2記載の情報処理装置。
  4. 各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサのうちいずれかのプロセッサである第1のプロセッサが実行する経路決定方法であって
    前記複数のプロセッサの各々は、複数のグループのいずれかに属し、
    前記第1のプロセッサが属する第1のグループは動的再構成の対象ではなく、
    前記動的再構成は、前記複数のグループのうち前記第1のグループ以外のグループ単位で指定され、
    前記複数のプロセッサのうち第2のプロセッサと、前記複数のプロセッサのうち前記第2のプロセッサとは異なる第3のプロセッサとの間の1又は複数の通信経路を算出し、
    算出された前記1又は複数の通信経路の中から、
    前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路がある場合には、前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路を特定し、
    前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路がない場合には、前記第1のグループに属するプロセッサのみを経由する通信経路を特定し、
    前記第1のグループに属するプロセッサのみを経由する通信経路がない場合には、前記第1のグループのプロセッサ、前記第2のプロセッサが属するグループのプロセッサ及び前記第3のプロセッサが属するグループのプロセッサのみを含む通信経路を特定し、
    特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
    処理を含む経路決定方法。
  5. 各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサのうちいずれかのプロセッサである第1のプロセッサに実行させるための経路決定プログラムであって
    前記複数のプロセッサの各々は、複数のグループのいずれかに属し、
    前記第1のプロセッサが属する第1のグループは動的再構成の対象ではなく、
    前記動的再構成は、前記複数のグループのうち前記第1のグループ以外のグループ単位で指定され、
    前記第1のプロセッサに、
    前記複数のプロセッサのうち第2のプロセッサと、前記複数のプロセッサのうち前記第2のプロセッサとは異なる第3のプロセッサとの間の1又は複数の通信経路を算出し、
    算出された前記1又は複数の通信経路の中から、
    前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路がある場合には、前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路を特定し、
    前記第2のプロセッサと前記第3のプロセッサとが直接接続された通信経路がない場合には、前記第1のグループに属するプロセッサのみを経由する通信経路を特定し、
    前記第1のグループに属するプロセッサのみを経由する通信経路がない場合には、前記第1のグループのプロセッサ、前記第2のプロセッサが属するグループのプロセッサ及び前記第3のプロセッサが属するグループのプロセッサのみを含む通信経路を特定し、
    特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
    処理を実行させるための経路決定プログラム。
JP2014101263A 2014-05-15 2014-05-15 情報処理装置、経路決定方法及びプログラム Active JP6337606B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014101263A JP6337606B2 (ja) 2014-05-15 2014-05-15 情報処理装置、経路決定方法及びプログラム
US14/700,294 US9916236B2 (en) 2014-05-15 2015-04-30 Information processing device and path determination method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014101263A JP6337606B2 (ja) 2014-05-15 2014-05-15 情報処理装置、経路決定方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015220522A JP2015220522A (ja) 2015-12-07
JP6337606B2 true JP6337606B2 (ja) 2018-06-06

Family

ID=54538634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014101263A Active JP6337606B2 (ja) 2014-05-15 2014-05-15 情報処理装置、経路決定方法及びプログラム

Country Status (2)

Country Link
US (1) US9916236B2 (ja)
JP (1) JP6337606B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700975B (zh) * 2016-01-08 2019-05-24 华为技术有限公司 一种中央处理器cpu热移除、热添加方法及装置
US11379389B1 (en) * 2018-04-03 2022-07-05 Xilinx, Inc. Communicating between data processing engines using shared memory
CN114968902B (zh) * 2022-07-28 2022-10-25 沐曦科技(成都)有限公司 一种多处理器互联系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471580A (en) * 1991-10-01 1995-11-28 Hitachi, Ltd. Hierarchical network having lower and upper layer networks where gate nodes are selectively chosen in the lower and upper layer networks to form a recursive layer
JPH05204876A (ja) 1991-10-01 1993-08-13 Hitachi Ltd 階層型ネットワークおよび階層型ネットワークを用いたマルチプロセッサシステム
US6973559B1 (en) 1999-09-29 2005-12-06 Silicon Graphics, Inc. Scalable hypercube multiprocessor network for massive parallel processing
US6775274B1 (en) * 2000-01-27 2004-08-10 International Business Machines Corporation Circuit and method for providing secure communication over data communication interconnects
US6725317B1 (en) * 2000-04-29 2004-04-20 Hewlett-Packard Development Company, L.P. System and method for managing a computer system having a plurality of partitions
US7577727B2 (en) * 2003-06-27 2009-08-18 Newisys, Inc. Dynamic multiple cluster system reconfiguration
JP4764790B2 (ja) * 2006-09-20 2011-09-07 富士通株式会社 信号中継装置、ノード装置、ネットワークシステム、リンク生成方法およびリンク生成プログラム
JP5136550B2 (ja) * 2007-06-01 2013-02-06 富士通株式会社 情報処理装置及び情報処理装置の再構成方法
US7856551B2 (en) * 2007-06-05 2010-12-21 Intel Corporation Dynamically discovering a system topology
US8111615B2 (en) * 2008-07-07 2012-02-07 Intel Corporation Dynamic update of route table
JP4803275B2 (ja) * 2009-03-23 2011-10-26 日本電気株式会社 プロセッサ、サーバシステム、プロセッサ追加方法およびプロセッサ追加プログラム
US20120120959A1 (en) * 2009-11-02 2012-05-17 Michael R Krause Multiprocessing computing with distributed embedded switching
US8516493B2 (en) * 2011-02-01 2013-08-20 Futurewei Technologies, Inc. System and method for massively multi-core computing systems

Also Published As

Publication number Publication date
JP2015220522A (ja) 2015-12-07
US20150331822A1 (en) 2015-11-19
US9916236B2 (en) 2018-03-13

Similar Documents

Publication Publication Date Title
TWI620072B (zh) 可擴充集中式非揮發性記憶體儲存盒、電腦實施方法以及非暫態電腦可讀取儲存裝置
US10333865B2 (en) Transformation of peripheral component interconnect express compliant virtual devices in a network environment
US8732270B2 (en) Controlling communication among multiple industrial control systems
US9460049B2 (en) Dynamic formation of symmetric multi-processor (SMP) domains
US8204054B2 (en) System having a plurality of nodes connected in multi-dimensional matrix, method of controlling system and apparatus
KR102147629B1 (ko) 플렉시블 서버 시스템
TWI591485B (zh) 用於減少多節點機箱系統之管理埠之電腦可讀取儲存裝置、系統及方法
JP2017199367A (ja) ポストパッケージリペアにおける記録及び使用を分析するための方法及びシステム
US8612973B2 (en) Method and system for handling interrupts within computer system during hardware resource migration
EP3226147B1 (en) Cpu, and method of managing multi-cpu system
US20220210030A1 (en) SYNTHESIS OF A NETWORK-ON-CHIP (NoC) USING PERFORMANCE CONSTRAINTS AND OBJECTIVES
KR102383041B1 (ko) 자기 식별 인터커넥트 토폴로지
WO2017118080A1 (zh) 一种中央处理器cpu热移除、热添加方法及装置
US10725890B1 (en) Program testing service
CN113992569B (zh) Sdn网络中多路径业务收敛方法、装置及存储介质
JP6337606B2 (ja) 情報処理装置、経路決定方法及びプログラム
CN118176699A (zh) 用于云原生工作负载的自动加密
CN110324202B (zh) 一种探测线路质量的方法和装置
JP2010039729A (ja) I/o管理システム、サーバシステム及びそのi/oスイッチの管理方法
CN111654559A (zh) 一种容器数据传输方法及装置
CN103401721A (zh) 基于网络虚拟化的tor交换机配置方法及装置
WO2019169582A1 (zh) 处理中断的方法和装置
JP6657910B2 (ja) 帯域設定方法、帯域設定プログラム、情報処理装置及び情報処理システム
CN106708551B (zh) 一种热添加中央处理器cpu的配置方法及系统
JP2016038649A (ja) 並列計算機システム及び並列計算機システムの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180423

R150 Certificate of patent or registration of utility model

Ref document number: 6337606

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150