(57)【要約】【課題】複数のパーティションを有する情報処理装置の起動時間を短縮させる。【解決手段】第１及び第２資源２０のそれぞれに対する初期化処理を実行する第１初期化処理部１１１と、第１初期化処理部１１１による初期化処理の完了後に、共通資源３に対する初期化処理を実行する第２初期化処理部１１２と、第１パーティション２に対する初期化処理の実行中に、第２パーティション２に対する初期化処理が実行され、且つ、第１パーティション２の初期化処理における共通資源３の初期化完了までに第２パーティションにより制御される第２資源２０の初期化処理が完了すると判断した場合に、第２資源２０の初期化処理が完了するまで、第２初期化処理部１１２による共通資源３に対する初期化処理の開始を抑止する抑止部１１５と、を備える。【選択図】図１
2015170250.tif 000002
【特許請求の範囲】
【請求項１】
第１パーティションにより制御される第１資源と、第２パーティションにより制御される第２資源と、前記第１及び第２パーティションにより共用される共通資源と、を有する情報処理装置において、
前記第１及び第２資源のそれぞれに対する初期化処理を実行する第１初期化処理部と、
前記第１初期化処理部による初期化処理の完了後に、前記共通資源に対する初期化処理を実行する第２初期化処理部と、
前記第１パーティションに対する初期化処理の実行中に前記第２パーティションに対する初期化処理が実行され、且つ、前記第１パーティションの初期化処理における前記共通資源の初期化完了までに前記第２資源の初期化処理が完了すると判断した場合に、前記第２資源の初期化処理が完了するまで、前記第２初期化処理部による前記共通資源に対する初期化処理の開始を抑止する抑止部と、
を備えることを特徴とする、情報処理装置。
【請求項２】
前記第１パーティションに対する初期化処理の完了直後に前記共通資源に対する初期化処理を実行する場合に、前記第１パーティションについての前記共通資源に対する初期化処理が完了する第１予測時刻を算出する第１時刻算出部と、
前記第２資源に対する初期化処理が完了する第２予測時刻を算出する第２時刻算出部と、
を備え、
前記抑止部は、前記第１予測時刻が前記第２予測時刻より遅い場合に、前記抑止を行なう、
ことを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記第１パーティションに対する優先度が前記第２パーティションに対する優先度以上である場合には、前記抑止部による前記抑止の実行を阻止し、前記第２初期化処理部に前記第１パーティションに対する初期化処理を優先して実行させる優先処理部
を備えることを特徴とする、請求項１又は２に記載の情報処理装置。
【請求項４】
前記第２時刻算出部は、前記第２パーティションが備える第２資源の数に基づき、前記第２予測時刻を算出する、
ことを特徴とする、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
第１パーティションにより制御される第１資源と、第２パーティションにより制御される第２資源と、前記第１及び第２パーティションにより共用される共通資源と、を有する情報処理装置における制御方法であって、
前記第１及び第２資源のそれぞれに対する初期化処理を実行し、
前記初期化処理の完了後に、前記共通資源に対する初期化処理を実行し、
前記第１パーティションに対する初期化処理の実行中に前記第２パーティションに対する初期化処理が実行され、且つ、前記第１パーティションの初期化処理における前記共通資源の初期化完了までに前記第２資源の初期化処理が完了すると判断した場合に、前記第２資源の初期化処理が完了するまで、前記共通資源に対する初期化処理の開始を抑止する、
ことを特徴とする、制御方法。
【請求項６】
第１パーティションにより制御される第１資源と、第２パーティションにより制御される第２資源と、前記第１及び第２パーティションにより共用される共通資源と、を有する情報処理装置に備えられるコンピュータに、
前記第１及び第２資源のそれぞれに対する初期化処理を実行し、
前記初期化処理の完了後に、前記共通資源に対する初期化処理を実行し、
前記第１パーティションに対する初期化処理の実行中に前記第２パーティションに対する初期化処理が実行され、且つ、前記第１パーティションの初期化処理における前記共通資源の初期化完了までに前記第２資源の初期化処理が完了すると判断した場合に、前記第２資源の初期化処理が完了するまで、前記共通資源に対する初期化処理の開始を抑止する、
処理を実行させることを特徴とする、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置，制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
大規模なサーバ装置においては、１つの装置内でOperating System（ＯＳ）の動作単位毎にハードウェアを分割することによって、複数のＯＳを同時に運用することができるものが知られている。１つのＯＳが動作するハードウェアの単位をパーティション（物理パーティションとも呼ばれる）という。１つのパーティションには、最小限のハードウェア構成が割り当てられることもあるし、運用シーンに合わせて複数のハードウェア構成が割り当てられることもある。
【０００３】
パーティションを起動するためには、ファームウェア（システム制御ファームウェア）が関連するハードウェアを初期化する。ハードウェアの初期化にあたり、ファームウェアは、パーティションを構成する資源を判断し、関係する部分に対して初期化を行なう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１５２４４７号公報
【特許文献２】特開２００９−１４６２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数のSystem Board（ＳＢ）を備えるパーティションを起動するためには、複数のＳＢ同士を接続する共有資源であるCross Bar（ＸＢ）の初期化を行なう。ＳＢの初期化はパーティション間で並行して実行することが可能である。一方、ＸＢはシステムにおいて共通の資源であるため、ＸＢの初期化は、並行して実施することはできず、パーティション毎にシリアライズ（逐次化）することが好ましい。
【０００６】
このように、従来技術におけるパーティション起動処理においては、あるパーティションが共通資源の初期化処理を行なっている場合に、他のパーティションは共通資源の初期化処理をシリアライズして行なわなくてはならない。つまり、従来技術におけるパーティション起動処理においては、パーティションの起動完了まで時間がかかるという課題がある。
【０００７】
１つの側面では、本発明は、複数のパーティションを有する情報処理装置の起動時間を短縮させることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【０００８】
このため、この情報処理装置は、第１パーティションにより制御される第１資源と、第２パーティションにより制御される第２資源と、前記第１及び第２パーティションにより共用される共通資源と、を有する情報処理装置において、前記第１及び第２資源のそれぞれに対する初期化処理を実行する第１初期化処理部と、前記第１初期化処理部による初期化処理の完了後に、前記共通資源に対する初期化処理を実行する第２初期化処理部と、前記第１パーティションに対する初期化処理の実行中に前記第２パーティションに対する初期化処理が実行され、且つ、前記第１パーティションの初期化処理における前記共通資源の初期化完了までに前記第２資源の初期化処理が完了すると判断した場合に、前記第２資源の初期化処理が完了するまで、前記第２初期化処理部による前記共通資源に対する初期化処理の開始を抑止する抑止部と、を備える。
【発明の効果】
【０００９】
開示の情報処理装置によれば、複数のパーティションを有する情報処理装置の起動時間を短縮させることができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態の一例としてのサーバ装置の機能構成を模式的に示す図である。
【図２】従来例としてのサーバ装置における共通資源初期化処理を例示するシーケンス図である。
【図３】第１実施形態の一例としてのサーバ装置における共通資源初期化処理を例示するシーケンス図である。
【図４】従来例としてのサーバ装置におけるパーティション起動処理と第１実施形態の一例としてのサーバ装置におけるパーティション起動処理とを比較する図である。
【図５】第１実施形態の一例としてのサーバ装置における第１予測時刻測定処理と第２予測時刻測定処理とを説明する図である。
【図６】第１実施形態の一例としてのサーバ装置におけるパーティション管理テーブルを例示する図である。
【図７】第１実施形態の一例としてのサーバ装置における処理時間テーブルを例示する図である。
【図８】第１実施形態の一例としてのサーバ装置が実行する制御プログラムの機能構成を模式的に示す図である。
【図９】第１実施形態の一例としてのサーバ装置におけるパーティション起動制御処理を示すフローチャートである。
【図１０】第１実施形態の一例としてのサーバ装置における共通資源初期化制御処理を示すフローチャートである。
【図１１】第１実施形態の一例としてのサーバ装置における第１予測時刻算出処理を示すフローチャートである。
【図１２】第１実施形態の一例としてのサーバ装置における第２予測時刻算出処理を示すフローチャートである。
【図１３】従来例としてのサーバ装置におけるパーティション起動処理を例示するタイムチャートである。
【図１４】第１実施形態の一例としてのサーバ装置におけるパーティション起動処理を例示するタイムチャートである。
【図１５】第２実施形態の一例としてのサーバ装置の機能構成を模式的に示す図である。
【図１６】第２実施形態の一例としてのサーバ装置におけるパーティション管理テーブルを例示する図である。
【図１７】第２実施形態の一例としてのサーバ装置におけるパーティション起動処理を例示する図である。
【図１８】第２実施形態の一例としてのサーバ装置における共通資源初期化制御処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して情報処理装置，制御方法及び制御プログラムに係る一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００１２】
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
〔Ａ〕第１実施形態の一例
〔Ａ−１〕システム構成
図１は、第１実施形態の一例としてのサーバ装置の機能構成を模式的に示す図である。
【００１３】
サーバ装置（情報処理装置）１は、サーバ機能を備えたコンピュータであり、Service Processor（ＳＰ；システム制御ボード）１０，複数（図示する例では５つ）のＳＢ（ＳＢ＃０〜＃４；固有資源）２０及びＸＢ（共通資源）３を備える。
以下、複数のＳＢのうち１つを特定する必要があるときには「ＳＢ＃０」，「ＳＢ＃１」，「ＳＢ＃２」，「ＳＢ＃３」又は「ＳＢ＃４」と表記するが、任意のＳＢを指すときには「ＳＢ２０」と表記する。
【００１４】
ＳＢ２０は、ＯＳが動作するためのハードウェアを搭載した物理的なボードであり、Central Processing Unit（ＣＰＵ；ＣＰＵ＃０〜＃４）２１及びメモリ（メモリ＃０〜＃４）２２を備える。具体的には、ＳＢ＃０はＣＰＵ＃０及びメモリ＃０を備え、ＳＢ＃１はＣＰＵ＃１及びメモリ＃１を備え、ＳＢ＃２はＣＰＵ＃２及びメモリ＃２を備え、ＳＢ＃３はＣＰＵ＃３及びメモリ＃３を備え、又、ＳＢ＃４はＣＰＵ＃４及びメモリ＃４を備える。
【００１５】
以下、複数のＣＰＵのうち１つを特定する必要があるときには「ＣＰＵ＃０」，「ＣＰＵ＃１」，「ＣＰＵ＃２」，「ＣＰＵ＃３」又は「ＣＰＵ＃４」と表記するが、任意のＣＰＵを指すときには「ＣＰＵ２１」と表記する。また、以下、複数のメモリのうち１つを特定する必要があるときには「メモリ＃０」，「メモリ＃１」，「メモリ＃２」，「メモリ＃３」又は「メモリ＃４」と表記するが、任意のメモリを指すときには「メモリ２２」と表記する。
【００１６】
メモリ２２は、Read Only Memory（ＲＯＭ）及びRandom Access Memory（ＲＡＭ）を含む記憶装置である。メモリ２２のＲＯＭには、Basic Input/Output System（ＢＩＯＳ）等のプログラムが書き込まれている。メモリ２２上のソフトウェアプログラムは、ＣＰＵ２１に適宜読み込まれて実行される。また、メモリ２２のＲＡＭは、一次記録メモリあるいはワーキングメモリとして利用される。
【００１７】
ＣＰＵ２１は、種々の制御や演算を行なう処理装置であり、メモリ２２に格納されたＯＳやプログラムを実行することにより、種々の機能を実現する。
なお、ＣＰＵ２１によって実行されるプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
【００１８】
ＸＢ３は、ＳＢ２０間においてＣＰＵ間通信を行なうためのインターコネクトであり、サーバ装置１内で共通の資源である。ＸＢ３は、図３を用いて後述するように複数のレジスタ３０を備える。
５つのＳＢ２０及びＸＢ３は、複数（図示する例では３つ）のパーティション（物理パーティションとも呼ばれる）２により分割される。図１に示す例においては、ＰＩＤ（パーティション識別情報）＃０のパーティション２はＳＢ＃０及びＸＢ３を含み、ＰＩＤ＃１のパーティション２はＳＢ＃１，＃２及びＸＢ３を含み、又、ＰＩＤ＃２のパーティション２はＳＢ＃３，＃４及びＸＢ３を含む。なお、サーバ装置１のパーティション構成は、サーバ装置１の運用中においても動的に変更（例えば、パーティション２の追加や削除，ハードウェアの割り当ての変更）できる。
【００１９】
以下、「ＰＩＤ＃０のパーティション２」，「ＰＩＤ＃１のパーティション２」又は「ＰＩＤ＃２のパーティション２」を指す場合には、単に「ＰＩＤ＃０」，「ＰＩＤ＃１」又は「ＰＩＤ＃２」と表記する。
システム制御ボード１０は、各パーティション２の起動処理を制御するボード（制御装置）であり、ＣＰＵ（コンピュータ）１１及びメモリ１２を備える。
【００２０】
メモリ１２は、ＲＯＭ及びＲＡＭを含む記憶装置である。メモリ１２のＲＯＭには、ＢＩＯＳ等のプログラムが書き込まれている。メモリ１２上のソフトウェアプログラムは、ＣＰＵ１１に適宜読み込まれて実行される。また、メモリ１２のＲＡＭは、一次記録メモリあるいはワーキングメモリとして利用される。
ＣＰＵ１１は、種々の制御や演算を行なう処理装置であり、メモリ１２に格納されたＯＳやプログラムを実行することにより、種々の機能を実現する。すなわち、ＣＰＵ１１は、図１に示すように、第１初期化処理部１１１，第２初期化処理部１１２，第１時刻算出部１１３，第２時刻算出部１１４及び抑止部１１５として機能する。
【００２１】
なお、これらの第１初期化処理部１１１，第２初期化処理部１１２，第１時刻算出部１１３，第２時刻算出部１１４及び抑止部１１５としての機能を実現するためのプログラム（制御プログラム１００；図８を用いて後述）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
【００２２】
第１初期化処理部１１１，第２初期化処理部１１２，第１時刻算出部１１３，第２時刻算出部１１４及び抑止部１１５としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ１２）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ１１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【００２３】
以下、第１初期化処理部１１１，第２初期化処理部１１２，第１時刻算出部１１３，第２時刻算出部１１４及び抑止部１１５の機能の概要を説明する。
第１初期化処理部１１１は、各パーティション２におけるＳＢ２０のそれぞれに対する初期化処理を実行する。つまり、第１初期化処理部１１１は、パーティション２内に閉じた固有資源の初期化処理である固有資源初期化処理を各パーティション２に対して実行する。各パーティション２の起動処理はユーザ７（図４等を用いて後述）による任意のタイミングにおける起動指示に基づき開始され、第１初期化処理部１１１はＳＢ２０の初期化処理を実行する。第１初期化処理部１１１は、パーティション２間で独立して処理できる処理単位（複数スレッド）でＳＢ２０の初期化処理を並列に実行する。
【００２４】
第２初期化処理部１１２は、第１初期化処理部１１１による初期化処理の完了後に、ＸＢ３に対する初期化処理を実行する。つまり、第２初期化処理部１１２は、パーティション２間で共通な共通資源の初期化処理である共通資源初期化処理を各パーティション２に対して実行する。第２初期化処理部１１２は、１つの処理単位（１スレッド）で複数のパーティション２の設定をまとめて実施する。
【００２５】
このように、パーティション起動処理は、ＳＢ２０の初期化処理及びＸＢ３の初期化処理のような処理対象や処理内容で処理が分かれる。第１初期化処理部１１１及び第２初期化処理部１１２は、各処理を実現するためのレジスタ設定を手順通りに行なう。
第１時刻算出部１１３は、共通資源初期化処理の完了予測時刻（第１予測時刻）を算出する。第１予測時刻は、先行パーティション２におけるＳＢ２０の初期化処理の完了直後にＸＢ３に対する初期化処理を実行する場合に、先行パーティション２についてのＸＢ３の初期化処理が完了する予測時刻である。ここで、先行パーティション２とは、２つのパーティション２のうちＳＢ２０の初期化処理を先に完了したパーティション２である。第１時刻算出部１１３による第１予測時刻の具体的な算出処理については、図４，図５及び図７等を用いて後述する。
【００２６】
第２時刻算出部１１４は、共通資源初期化処理の到達時刻（第２予測時刻）を算出する。第２予測時刻は、後行パーティション２がＳＢ２０の初期化処理が完了する時刻であって、ＸＢ３の初期化処理が開始される予測時刻である。ここで、後行パーティション２とは、２つのパーティション２のうち、先行パーティション２におけるＳＢ２０の初期化処理が完了した時点で、ＳＢ２０の初期化処理が完了していないパーティション２である。図７等を用いて後述するように、固有資源の初期化処理に要する時間はパーティション２が有するＳＢ２０の数（資源数）に依存する。そのため、先行パーティション２と後行パーティション２との資源数が同一の場合には、後行パーティション２は、先行パーティション２よりも後に固有資源の初期化処理が開始される。第２時刻算出部１１４による第２予測時刻の具体的な算出処理については、図４，図５及び図７等を用いて後述する。
【００２７】
抑止部１１５は、所定の条件を満たす場合に、後行パーティション２におけるＳＢ２０の初期化処理が完了するまで、第２初期化処理部１１２によるＸＢ３の初期化処理の開始を抑止する。ここで、所定の条件とは、先行パーティション２の初期化処理の実行中に後行パーティション２の初期化処理が実行され、且つ、先行パーティション２の初期化処理におけるＸＢ３の初期化完了予測時刻までに後行パーティション２におけるＳＢ２０の初期化処理が完了すると判断されることである。つまり、抑止部１１５は、第１予測時刻が第２予測時刻より遅い場合に、抑止処理を行なう。抑止部１１５による具体的な抑止処理については、図４，図５及び図７等を用いて後述する。
【００２８】
言い換えれば、抑止部１１５は、あるパーティション２における共通資源の初期化処理を実行する直前に、他のパーティション２が初期化処理を実行中であるかを判断する。他のパーティション２が初期化処理を実行中である場合には、第１時刻算出部１１３は、現在行なう予定の共通資源初期化処理の完了予測時刻（第１予測時刻）を算出する。また、第２時刻算出部１１４は、他のパーティション２における共通資源初期化処理の到達予測時刻（第２予測時刻）を算出する。そして、抑止部１１５は、第１予測時刻が第２予測時刻よりも遅い場合には、他のパーティション２が共通資源の初期化処理に到達するまで（第２予測時刻まで）、パーティション２間の共通資源の初期化処理を待ち合わせる。待ち合わせ後、第２初期化処理部１１２は、待ち合わせを行なった各パーティション２の設定値をマージし、ＸＢ３が備える各レジスタ３０（図３を用いて後述）に手順通り一貫して設定する。
【００２９】
図２は、従来例としてのサーバ装置における共通資源初期化処理を例示するシーケンス図である。
図２に示す従来例としてのサーバ装置は、システム制御ボード４０，ＸＢ６及び図示しない複数のＳＢを備える。図２に示すように、システム制御ボード４０はファームウェア４１０を実行し、ＸＢ６は３つのレジスタ（レジスタ＃０〜＃２）６０を備える。また、従来例としてのサーバ装置は、ＰＩＤ＃０，＃１を構成する。
【００３０】
以下、複数のレジスタのうち１つを特定する必要があるときには「レジスタ＃０」，「レジスタ＃１」又は「レジスタ＃２」と表記するが、任意のレジスタ装置を指すときには「レジスタ６０」と表記する。
あるパーティションにおけるＸＢ６の初期化処理中に他のパーティションにおけるＸＢ６の初期化処理が非同期に実行されると、レジスタ６０の設定情報が破壊されてしまう。レジスタ６０の設定はハードウェアの制約上、「レジスタ＃０→レジスタ＃１→レジスタ＃２」の順に一貫して行なわなければならない。
【００３１】
しかしながら、図２に示す例においては、ＰＩＤ＃０がレジスタ＃０を設定し（符号Ａ１参照）、レジスタ＃１を設定した（符号Ａ２参照）後に、ＰＩＤ＃１がレジスタ＃０を設定し（符号Ａ３参照）、レジスタ＃２を設定している（符号Ａ４参照）。
このように、ＰＩＤ＃０の設定処理中にＰＩＤ＃１の設定処理が行なわれ、「レジスタ＃０→レジスタ＃１→レジスタ＃２」という設定手順の一貫性が崩れると、ハードウェアの設定状態が壊れる（符号Ａ５参照）。
【００３２】
そこで、本第１実施形態の一例においては、抑止部１１５により、ＰＩＤ＃１におけるＳＢ＃１の初期化処理が完了するまで、第２初期化処理部１１２によるＰＩＤ＃０におけるＸＢ３に対する初期化処理の開始を抑止する。これにより、ＸＢ３が備えるレジスタ３０（図３を用いて後述）の設定情報の破壊を防ぐことができる。
図３は、第１実施形態の一例としてのサーバ装置における共通資源初期化処理を例示するシーケンス図である。
【００３３】
本第１実施形態の一例においては、システム制御ボード１０はファームウェア１１０を実行し、ＸＢ３は３つのレジスタ（レジスタ＃０〜＃２）３０を備える。また、各レジスタ３０にそれぞれ示す３つのテーブル３０ａは、レジスタ３０の設定値を例示するものであって、レジスタ３０内のパーティション２に対応する領域の設定状態を示す。
以下、複数のレジスタのうち１つを特定する必要があるときには「レジスタ＃０」，「レジスタ＃１」又は「レジスタ＃２」と表記するが、任意のレジスタ装置を指すときには「レジスタ３０」と表記する。
【００３４】
第２初期化処理部１１２は、抑止部１１５による抑止により、ＰＩＤ＃０についてのＸＢ３の初期化処理の開始をＰＩＤ＃１についてのＸＢ３の初期化処理の到達まで待ち合わせる。そして、第２初期化処理部１１２は、ＰＩＤ＃０，＃１について、レジスタ＃０の設定をまとめて行ない（符号Ｂ１参照）、レジスタ＃１の設定をまとめて行ない（符号Ｂ２参照）、又、レジスタ＃２の設定をまとめて行なう（符号Ｂ３参照）。つまり、第２初期化処理部１１２は、各レジスタ３０に対するＰＩＤ＃０，＃１の設定値を１アクセスで一度に設定する。
【００３５】
従来例としてのサーバ装置においてＸＢ６の初期化処理をシリアライズして行なう場合には、１つのパーティションにつきレジスタ＃０〜＃２への３回のアクセスが必要である。サーバ装置においては最大１６個のパーティションを構築することが可能なため、これらのパーティションについてのＸＢ６の初期化処理をシリアライズした場合には、１６×３＝４８回のアクセスが必要である。
【００３６】
一方、本第１実施形態の一例においては、第２初期化処理部１１２が各パーティション２についてのＸＢ３の初期化処理を待ち合わせて一括に実施する。言い換えれば、サーバ装置１が備えるファームウェア１１０は、パーティション２間における処理を同期し、各レジスタ３０へのアクセスが少なくなるように一括して実施する。これにより、第２初期化処理部１１２は、サーバ装置１が構築するパーティション２の数にかかわらず、計３回のアクセスで各レジスタ３０を設定することができる。
【００３７】
図４は、従来例としてのサーバ装置におけるパーティション起動処理と第１実施形態の一例としてのサーバ装置におけるパーティション起動処理とを比較する図である。
まず、図４を用いて、従来例としてのサーバ装置におけるパーティション間で共通資源（ＸＢ）の初期化処理をシリアライズしてパーティションの起動処理を実行する例について説明する。なお、ＰＩＤ＃０，＃１が備えるＳＢの数は同一であるものとする。
【００３８】
ユーザ７は、ＰＩＤ＃０の起動指示を行なう（符号Ｃ１１参照）。ＰＩＤ＃０は、起動処理を開始し（符号Ｃ１２参照）、ＳＢの初期化処理を実行する（符号Ｃ１３参照）。
一方、ユーザ７は、ＰＩＤ＃０の起動指示から任意の時間後（例えば２分後）、ＰＩＤ＃１の起動指示を行なう（符号Ｃ２１参照）。ＰＩＤ＃１は、起動処理を開始し（符号Ｃ２２参照）、ＳＢの初期化処理を実行する（符号Ｃ２３参照）。
【００３９】
ＰＩＤ＃０は、ＳＢの初期化処理が完了すると、ＸＢの初期化処理を実行する（符号Ｃ１４参照）。
ＰＩＤ＃１は、ＳＢの初期化処理が完了すると、ＰＩＤ＃０におけるＸＢの初期化処理が完了するまで待機する（符号Ｃ２４参照）。このように、ＰＩＤ＃１を待機（シリアライズ）させる理由は、ＰＩＤ＃１におけるＳＢの初期化処理完了の直後にＸＢの初期化処理を開始すると、図２を用いて上述したようにＸＢが備えるレジスタの設定情報が破壊されてしまうためである。なお、パーティションにおけるＸＢの初期化処理の具体的な手法としては、例えば排他制御がある。
【００４０】
ＰＩＤ＃０は、ＸＢの初期化処理が完了すると、ＯＳ起動処理を実行する（符号Ｃ１５参照）。以上、符号Ｃ１１〜Ｃ１５で示した処理により、ＰＩＤ＃０の起動処理が完了する。
一方、ＰＩＤ＃１は、ＰＩＤ＃０におけるＸＢの初期化処理が完了すると、ＸＢ３の初期化処理を実行し（符号Ｃ２５参照）、ＯＳ起動処理を実行する（符号Ｃ２６参照）。以上、符号Ｃ２１〜Ｃ２６で示した処理により、ＰＩＤ＃１の起動処理が完了する。
【００４１】
次に、図４を用いて、第１実施形態の一例としてのサーバ装置１におけるパーティション起動処理を説明する。なお、ＰＩＤ＃０，＃１が備えるＳＢ２０の数は同一であるものとする。
ユーザ７は、ＰＩＤ＃０の起動指示を行なう（符号Ｃ３１参照）。ＰＩＤ＃０は、起動処理を開始し（符号Ｃ３２参照）、第１初期化処理部１１１の制御により、ＳＢ２０の初期化処理を実行する（符号Ｃ３３参照）。
【００４２】
一方、ユーザ７は、ＰＩＤ＃０の起動指示から任意の時間後（例えば２分後）、ＰＩＤ＃１の起動指示を行なう（符号Ｃ４１参照）。ＰＩＤ＃１は、起動処理を開始し（符号Ｃ４２参照）、第１初期化処理部１１１の制御により、ＳＢ２０の初期化処理を実行する（符号Ｃ４３参照）。
第１時刻算出部１１３及び第２時刻算出部１１４は、ＰＩＤ＃０におけるＳＢ２０の初期化処理が完了すると、第１予測時刻及び第２予測時刻を算出する。
【００４３】
具体的には、第１時刻算出部１１３は、ＳＢ２０の初期化処理の完了直後にＸＢ３に対する初期化処理を実行する場合に、ＰＩＤ＃０におけるＸＢ３の初期化処理が完了する第１予測時刻を算出する。また、第２時刻算出部１１４は、ＰＩＤ＃１におけるＳＢ２０の初期化処理が完了する第２予測時刻を算出する。
そして、抑止部１１５は、第１予測時刻が第２予測時刻より遅いかを判定する。図４に示す例においては、第１予測時刻が第２予測時刻より遅いものとする。そこで、ＰＩＤ＃０は、抑止部１１５の制御により、ＰＩＤ＃１におけるＸＢ３の初期化処理が完了するまで待機する（符号Ｃ３４参照）。
【００４４】
ＰＩＤ＃０，＃１は、ＰＩＤ＃１におけるＳＢ２０の初期化処理が完了すると、第２初期化処理部１１２の制御により、ＸＢ３の初期化処理を並列して実行する（符号Ｃ４４参照）。
そして、ＰＩＤ＃０，＃１は、ＸＢ３の初期化処理が完了すると、ＯＳ起動処理をそれぞれ実行する（符号Ｃ３５，Ｃ４５参照）。以上、符号Ｃ３１〜Ｃ３５，Ｃ４４で示した処理によりＰＩＤ＃０の起動処理が完了し、符号Ｃ４１〜Ｃ４５で示した処理によりＰＩＤ＃１の起動処理が完了する。
【００４５】
本第１実施形態の一例としてのサーバ装置１におけるパーティション起動時間は、ＰＩＤ＃０，＃１におけるＸＢ３の初期化処理を同時に実行することにより、従来例としてのサーバ装置におけるパーティション起動時間よりも短縮される（符号Ｃ５参照）。
図５は、第１実施形態の一例としてのサーバ装置における第１予測時刻測定処理と第２予測時刻測定処理とを説明する図である。
【００４６】
図５に示す例において、ＰＩＤ＃０，＃１が備えるＳＢ２０の数は同一であるものとする。
ユーザ７はＰＩＤ＃０に対して起動指示を行ない（符号Ｄ１１参照）、ＰＩＤ＃０は第１初期化処理部１１１の制御によりＳＢ２０の初期化処理を行なう（符号Ｄ１２参照）。
一方、ユーザ７はＰＩＤ＃１に対しても起動指示を行ない（符号Ｄ２１参照）、ＰＩＤ＃１は第１初期化処理部１１１の制御によりＳＢ２０の初期化処理を行なう（符号Ｄ２２参照）。
【００４７】
第１時刻算出部１１４は、ＰＩＤ＃０におけるＳＢ２０の初期化処理が完了すると、ＳＢ２０の初期化処理の完了直後にＸＢ３に対する初期化処理を実行すると仮定した場合に、ＰＩＤ＃０におけるＸＢ３の初期化処理が完了する第１予測時刻を算出する（符号Ｄ１３参照）。
また、第２時刻算出部１１４は、実行中であるＰＩＤ＃１におけるＳＢ２０の初期化処理が完了する第２予測時刻を算出する（符号Ｄ２３参照）。
【００４８】
そして、抑止部１１５は、第１予測時刻が第２予測時刻より遅いかを判定する。図５に示す例においては、第１予測時刻が第２予測時刻より遅いため、ＰＩＤ＃０は、抑止部１１５の制御により、ＰＩＤ＃１におけるＳＢ２０の初期化処理が完了するまで待機する。
一方、第１予測時刻が第２予測時刻より遅くない場合には、抑止部１１５はＰＩＤ＃０におけるＸＢ３の初期化処理の開始を抑止せず、ＰＩＤ＃０は第２初期化処理部１１２の制御によりＸＢ３の初期化処理を行なう。
【００４９】
図６は、第１実施形態の一例としてのサーバ装置におけるパーティション管理テーブルを例示する図である。
パーティション管理テーブル１２１は、システム制御ボード１０と通信可能に接続された図示しない記憶装置等に格納された情報（パーティション管理情報１０６；図８を用いて後述）を使用して、ＣＰＵ１１が備える図示しない内部メモリ等に展開される。パーティション管理テーブル１２１は、サーバ装置１が構築するパーティション２毎に管理される情報であり、パーティション２の数（図１に示した例では３つ）だけＣＰＵ１１の内部メモリ等に展開される。また、図６に示すように、パーティション管理テーブル１２１は、有効／無効，資源数，処理手順名，処理フェーズ，処理状態及び処理開始時刻の各データ（フィールド）によって構築される。
【００５０】
第１初期化処理部１１１及び第２初期化処理部１１２は、各パーティション２における起動処理の進捗状況に基づき、パーティション管理テーブル１２１を更新する。具体的には、第１初期化処理部１１１は、パーティション２におけるＳＢ２０の初期化処理において、パーティション管理テーブル１２１を更新する。また、第２初期化処理部１１２は、パーティション２におけるＸＢ３の初期化処理において、パーティション管理テーブル１２１を更新する。
【００５１】
有効／無効は、パーティション２がサーバ装置１内で有効であるか無効であるかを示す。例えば、システム制御ボード１０のＣＰＵ１１は、ユーザ７の入力に基づき、パーティション２が有効の場合には有効／無効のフィールドに“１”を設定し、パーティション２が無効の場合には有効／無効のフィールドに“０”を設定する。
資源数は、パーティション２が備えるＳＢ２０の数を示し、例えば１〜ｍ（ｍ＝１，２，３…）の整数で表わされる。例えば、システム制御ボード１０のＣＰＵ１１は、ユーザ７の入力に基づき、パーティション２が備えるＳＢ２０の数を資源数のフィールドに設定する。
【００５２】
処理手順名は、パーティション２が実行中の目的毎の処理手順を示す名称である。目的には、例えば“立ち上げるための処理”，“再起動のための処理”又は“停止のための処理”が設定される。例えば、第１初期化処理部１１１は、ユーザ７からパーティション２の起動指示があると、起動指示の目的に基づく処理手順の名称を処理手順名のフィールドに設定する。ＣＰＵ１１は、処理手順名のフィールドに何らかの値が設定されていると、パーティション２が初期化処理中であることを認識する。
【００５３】
処理フェーズは、処理手順における処理の位置を示す番号であり、処理時間テーブル１２２（図７を用いて後述）に示す処理フェーズに対応する。処理フェーズは、例えば１〜ｎ（ｎ＝２，３，４…）の整数で表わされ、番号が小さいほど初期の処理手順を示す。第１初期化処理部１１１はＳＢ２０の初期化処理の進捗状況に基づき処理フェーズのフィールドを更新し、第２初期化処理部１１２はＸＢ３の初期化処理の進捗状況に基づき処理フェーズのフィールドを更新する。
【００５４】
処理状態は、現在設定されている処理フェーズの実行状態を示し、例えば“execute”，“wait”又は“complete”が設定される。“execute”は現在設定されている処理フェーズの処理を実行中であることを示し、“wait”は現在設定されている処理フェーズに他のパーティション２が到達するまで待機中であることを示し、“complete”は現在設定されている処理フェーズの処理が完了したことを示す。第１初期化処理部１１１はＳＢ２０の初期化処理の進捗状況に基づき処理状態のフィールドを更新し、第２初期化処理部１１２はＸＢ３の初期化処理の進捗状況に基づき処理状態のフィールドを更新する。
【００５５】
処理開始時刻は、現在設定されている処理フェーズの処理を開始した時刻を示し、例えば時，分及び秒で表わされる。第１初期化処理部１１１は、ＳＢ２０の初期化処理において、新たな処理フェーズに到達した時に、例えばシステム制御ボード１０が備える図示しないクロックを参照することで、処理開始時刻のフィールドを更新する。また、第２初期化処理部１１２は、ＸＢ３の初期化処理において、新たな処理フェーズに到達した時に、例えばシステム制御ボード１０が備える図示しないクロックを参照することで、処理開始時刻のフィールドを更新する。
【００５６】
図７は、第１実施形態の一例としてのサーバ装置における処理時間テーブルを例示する図である。
処理時間テーブル１２２は、システム制御ボード１０と通信可能に接続された図示しない記憶装置等に格納された情報（処理時間情報１０７；図８を用いて後述）を使用して、ＣＰＵ１１が備える図示しない内部メモリ等に展開される。処理時間テーブル１２２は、サーバ装置１におけるパーティション２の起動処理に要する時間を処理フェーズ毎に示す情報である。また、図７に示すように、処理時間テーブル１２２は、処理フェーズ，処理時間初期値，処理時間実測値及び測定回数の各データ（フィールド）を互いに対応付けることによって構築される。
【００５７】
第１初期化処理部１１１及び第２初期化処理部１１２は、各パーティション２における起動処理の進捗状況に基づき、処理時間テーブル１２２を更新する。具体的には、第１初期化処理部１１１は、パーティション２におけるＳＢ２０の初期化処理において、各処理フェーズの処理時間を測定することにより、処理時間テーブル１２２を更新する。また、第２初期化処理部１１２は、パーティション２におけるＸＢ３の初期化処理において各処理フェーズの処理時間を測定することにより、処理時間テーブル１２２を更新する。
【００５８】
処理フェーズは、図６に示したパーティション管理テーブル１２１の処理フェーズと同一であり、例えば１〜ｎの整数で表わされる。図７に示す例において、処理フェーズ１〜ｋ（１≦ｋ＜ｎ；ｋは整数）はＳＢ２０の初期化処理を示し、処理フェーズｋ＋１〜ｎはＸＢ３の初期化処理を示す。つまり、第１初期化処理部１１１は処理フェーズ１〜ｋのフィールドを更新し、第２初期化処理部１１２は処理フェーズｋ＋１〜ｎのフィールドを更新する。
【００５９】
処理時間初期値は、各処理フェーズにおける初期値としての処理時間を示す。処理フェーズ１〜ｎには、処理時間初期値Ｔｄ１〜Ｔｄｎがそれぞれ対応付けられる。処理時間初期値のフィールドは、例えばサーバ装置１や制御プログラム１００（図８を用いて後述）の工場出荷時に設定される。
処理時間実測値は、各処理フェーズにおける実測値としての処理時間を示す。処理時間実測値のフィールドには、初期値として例えば“０”が設定されている。処理フェーズ１〜ｎには、処理時間実測値Ｔａ１〜Ｔａｎがそれぞれ対応付けられる。第１初期化処理部１１１及び第２初期化処理部１１２は、パーティション２の起動処理において、各処理フェーズの処理に要する時間を測定することにより、処理時間実測値のフィールドを更新する。図７に示す例においては、第１初期化処理部１１１は、ＳＢ２０の初期化処理において、処理フェーズ１〜ｋの処理に要する時間を測定することにより、処理時間実測値Ｔａ１〜Ｔａｋを更新する。また、第２初期化処理部１１２は、ＸＢ３の初期化処理において、処理フェーズｋ＋１〜ｎの処理に要する時間を測定することにより、処理時間実測値Ｔａｋ＋１〜Ｔａｎを更新する。
【００６０】
以下、処理時間初期値と処理時間実測値とを合わせて処理時間という場合がある。
本第１実施形態の一例において、ＳＢ２０の初期化処理についての処理時間Ｔｄ１〜Ｔｄｋ，Ｔａ１〜Ｔａｋは、パーティション２が備えるＳＢ２０の数（資源数）に依存する。つまり、ｍ個のＳＢ２０を備えるパーティション２において、処理フェーズ１〜ｋの処理に要する合計時間は、ｍ×（Ｔｄ１＋Ｔｄ２＋…＋Ｔｄｋ）又はｍ×（Ｔａ１＋Ｔａ２＋…＋Ｔａｋ）である。
【００６１】
一方、ＸＢ３の初期化処理についての処理時間Ｔｄｋ＋１〜Ｔｄｎ，Ｔａｋ＋１〜Ｔａｎは、基本的にパーティション２が備えるＳＢ２０の数（資源数）に影響を受けない。なお、図３に示したレジスタ３０の設定に先立って各ＳＢ２０についてのデータを合わせる処理を行なうため、ＸＢ３の初期化処理につての処理時間はＳＢ２０の数が増えるに従い若干増加するが、誤差として扱うものとする。
【００６２】
測定回数は、各処理フェーズにおいて処理時間実測値を測定した回数を示す。測定回数のフィールドには、初期値として例えば“０”が設定されている。処理フェーズ１〜ｎには、測定回数Ｃ１〜Ｃｎがそれぞれ対応付けられる。第１初期化処理部１１１及び第２初期化処理１１２は、パーティション２の初期化処理において、各処理フェーズにおける処理時間実測値を１回測定する毎に測定回数のフィールドを１ずつインクリメントする。図７に示す例においては、第１初期化処理部１１１は、ＳＢ２０の初期化処理において、処理時間実測値Ｔａ１〜Ｔａｋを１回測定する毎に測定回数Ｃ１〜Ｃｋを１ずつインクリメントする。また、第２初期化処理部１１２は、ＸＢ３の初期化処理において、処理時間実測値Ｔａｋ＋１〜Ｔａｎを１回測定する毎に測定回数Ｃｋ＋１〜Ｃｎを１ずつインクリメントする。
【００６３】
第１初期化処理部１１１は、各処理フェーズが完了したタイミングにおいて、次式を用いてＳＢ２０の処理時間実測値Ｔａ１〜Ｔａｋを算出し、算出した処理時間実測値Ｔａ１〜Ｔａｋを処理時間テーブル１２２に保存する。
【００６４】
【数１】
2015170250.tif 000003
【００６５】
例えば、Ｔａ１において、処理時間テーブル１２２に記録されている処理時間実測値１分，前回までの測定回数５回，今回の処理時間実測値１．８分，パーティション２が備えるＳＢ２０の数２つ及び今回までの測定回数６回の場合には、
【００６６】
【数２】
2015170250.tif 000004
【００６７】
となる。そして、第１初期化処理部１１１は、処理フェーズ１が完了したタイミングで、Ｔａ１の値を0.98に更新する。
また、第２初期化処理部１１２は、各処理フェーズが完了したタイミングにおいて、次式を用いて処理時間実測値Ｔａｋ＋１〜Ｔａｎを算出し、算出した処理時間実測値Ｔａｋ＋１〜Ｔａｎを処理時間テーブル１２２に保存する。
【００６８】
【数３】
2015170250.tif 000005
【００６９】
例えば、Ｔａｎにおいて、処理時間テーブル１２２に記録されている処理時間実測値１分，前回までの測定回数５回，今回の処理時間実測値１．１分及び今回までの測定回数６回の場合には、
【００７０】
【数４】
2015170250.tif 000006
【００７１】
となる。そして、第２初期化処理部１１２は、処理フェーズｎが完了したタイミングで、Ｔａｎの値を1.02に更新する。
このように、第１初期化処理部１１１及び第２初期化処理部１１２が処理時間実測値を集計することで、第１時刻算出部１１３及び第２時刻算出部１１４による第１予測時刻及び第２予測時刻の算出の精度を向上させることができる。
【００７２】
第１時刻算出部１１３及び第２時刻算出部１１４は、処理時間テーブル１２２を用いて、第１予測時刻及び第２予測時刻をそれぞれ算出する。具体的には、第１時刻算出部１１３及び第２時刻算出部１１４は、処理時間テーブル１２２に処理時間実測値が登録されていない場合には処理時間初期値を用い、処理時間テーブル１２２に処理時間実測値が登録されている場合には処理時間実測値を用いる。図７に示す例において、第１時刻算出部１１３は、処理時間テーブル１２２の処理時間Ｔｄ１〜Ｔｄｋ，Ｔａ１〜Ｔａｋを用いて、第１予測時刻を算出する。また、第２時刻算出部１１４は、処理時間テーブル１２２の処理時間Ｔｄｋ＋１〜Ｔｄｎ，Ｔａｋ＋１〜Ｔｎとパーティション管理テーブル１２１のパーティション２が備える資源数とを用いて、第２予測時刻を算出する。
【００７３】
以下、図７を参照しながら、図１に示したサーバ装置１において、ＰＩＤ＃０に対する初期化処理の実行中にＰＩＤ＃１に対する初期化処理が実行された場合における第１予測時刻及び第２予測時刻の算出手法を説明する。なお、以下の説明においては、処理時間テーブル１２２には処理時間実測値が登録されているものとする。
第１時刻算出部１１３は、ＰＩＤ＃０におけるＳＢ２０の初期化処理が完了すると、第１予測時刻を算出する。図７に示す例において、ＳＢ２０の初期化処理の完了により、第１初期化処理部１１１は、処理フェーズ１〜ｋの処理を完了したことになる。そこで、第１時刻算出部１１３は、第２初期化処理部１１２により実行される予定であるＸＢ３の初期化処理に要する時間を処理フェーズｋ＋１〜ｎに対応する処理時間実測値Ｔａｋ＋１〜Ｔａｎを用いて算出する。具体的には、第１時刻算出部１１３は、処理時間実測値Ｔａｋ＋１〜Ｔａｎを足し合わせることにより、ＸＢ３の初期化処理に要する時間を算出する。そして、第１時刻算出部１１３は、算出した時間に現在時刻を加算することにより、第１予測時刻を算出する。
【００７４】
また、第２時刻算出部１１４は、ＰＩＤ＃０におけるＳＢ２０の初期化処理が完了すると、第２予測時刻を算出する。図７に示す例において、ＳＢ２０の初期化処理の実行中においては、第１初期化処理部１１１は、処理フェーズ１〜ｋのうちいずれかの処理フェーズを実行中である。ここでは、第１初期化処理部１１１は、処理フェーズｊ（１≦ｊ＜ｋ；ｊは整数）の処理を実行中であるものとする。そこで、第２時刻算出部１１４は、第１初期化処理部１１１により実行される予定であるＳＢ２０の初期化処理に要する残り時間を処理フェーズｊ〜ｋに対応する処理時間実測値Ｔａｊ〜Ｔａｋを用いて算出する。具体的には、第２時刻算出部１１４は、処理時間実測値Ｔａｊ〜Ｔａｋを足し合わせた値とＰＩＤ＃１が備える資源数２との積とをとることにより、ＳＢ２０の初期化処理に要する残り時間を算出する。そして、第２時刻算出部１１４は、パーティション管理テーブル１２１から処理フェーズｊの処理開始時刻を取得し、算出した残り時間に取得した処理開始時刻を加算することにより、第２予測時刻を算出する。
【００７５】
〔Ａ−２〕プログラム構成
図８は、第１実施形態の一例としてのサーバ装置が実行する制御プログラムの機能構成を模式的に示す図である。
制御プログラム１００は、ユーザInterface（Ｉ／Ｆ）１０１，処理シーケンス制御部１０２，全体制御部１０３，状態判定部１０４及び計算部１０５として機能する。また、制御プログラム１００は、システム制御ボード１０と通信可能に接続された図示しない記憶装置等に格納されたパーティション管理情報１０６及び処理時間情報１０７を参照又は更新することにより機能する。
【００７６】
ユーザＩ／Ｆ１０１は、ユーザ７からの指示を制御プログラム１００に通知するモジュールである。ユーザＩ／Ｆ１０１は、ユーザ７からの入力に基づき、処理シーケンス制御部１０２に指示を行なう（符号Ｅ１参照）。
処理シーケンス制御部１０２は、手順がある処理を順次実行するモジュールである。処理シーケンス制御部１０２は、ユーザＩ／Ｆ１０１からの指示された目的に応じて、目的毎に定義された手順を実行する。また、処理シーケンス制御部１０２は、ユーザＩ／Ｆ１０１からの指示を逐次受け付けることができ、処理要求対象のパーティション２が異なれば並列に処理を実行することができる。言い換えれば、処理シーケンス制御部１０２は、ユーザ７からユーザＩ／Ｆ１０１を介して起動を指示されたパーティション２毎に起動処理を独立して行なう。処理シーケンス制御部１０２は、ＸＢ３の初期化処理（共通資源初期化処理）の開始前に全体制御部１０３を呼び出し、待ち合わせ判定を依頼する（符号Ｅ２参照）。
【００７７】
全体制御部１０３は、ＸＢ３の初期化処理を最適化するための制御を行なうモジュールである。全体制御部１０３は、現在の処理が共通資源であるパーティション２（例えば図１のＰＩＤ＃０）を判定対象のパーティション２として、判定対象のパーティション２に係るパーティション管理情報１０６を読み出す（符号Ｅ３参照）。そして、全体制御部１０３は、読み出したパーティション管理情報１０６を状態判定部１０４に渡すことにより、状態判定部１０４に状態判定を指示する（符号Ｅ４参照）。パーティション管理情報１０６は図示しない記憶装置等に格納された情報であり、このパーティション管理情報１０６を使用することによりＣＰＵ１１が備える図示しない内部メモリ等に図６を用いて説明したパーティション管理テーブル１２１として展開される。
【００７８】
状態判定部１０４は、パーティション２間の待ち合わせを行なうかについて判定を行なうモジュールである。状態判定部１０４は、起動処理中であり、且つ、判定対象のパーティション２における現在の処理よりも前の処理を実行中である他のパーティション２（例えば図１のＰＩＤ＃１，＃２）を抽出し、全体制御部１０３に通知する。
起動処理中であり、且つ、判定対象のパーティション２における現在の処理よりも前の処理を実行中である他のパーティション２がない場合には、全体制御部１０３は、処理シーケンス制御部１０２に現在の処理に係る処理を実行させる。
【００７９】
一方、起動処理中であり、且つ、判定対象のパーティション２における現在の処理よりも前の処理を実行中である他のパーティション２がある場合には、全体制御部１０３は、計算部１０５を呼び出す。そして、全体制御部１０３は、計算部１０５に第１予測時刻及び第２予測時刻の算出を指示する（符号Ｅ５参照）。
計算部１０５は、第１予測時刻及び第２予測時刻を算出するモジュールである。計算部１０５は、パーティション管理情報１０６及び処理時間情報１０７を参照することにより（符号Ｅ６，Ｅ７参照）、判定対象のパーティション２における現在の処理が完了する予測時刻（第１予測時刻）を算出する。処理時間情報１０７は図示しない記憶装置等に格納された情報であり、この処理時間情報１０７を使用することによりＣＰＵ１１が備える図示しない内部メモリ等に図７を用いて説明した処理時間テーブル１２２として展開される。また、計算部１０５は、パーティション管理情報１０６及び処理時間情報１０７を参照することにより、状態判定部１０４によって抽出された条件を満たす他のパーティション２が判定対象のパーティション２における現在の処理ブロックに到達する予測時刻（第２予測時刻）を算出する。そして、計算部１０５は、全体制御部１０３を介して状態判定部１０４に算出した第１予測時刻及び第２予測時刻を通知する。
【００８０】
状態判定部１０４は、第１予測時刻と第２予測時刻とを比較する。
状態判定部１０４による比較の結果、第１予測時刻が第２予測時刻よりも遅い場合には、全体制御部１０３は、処理シーケンス制御部１０２に判定対象のパーティション２における現在の処理の実行を待機させる。つまり、処理シーケンス制御部１０２は、全体制御部１０３の指示により、判定対象のパーティション２と他のパーティション２とにおける処理を待ち合わせる。
【００８１】
状態判定部１０４による比較の結果、第１予測時刻が第２予測時刻よりも遅くない場合には、全体制御部１０３は、処理シーケンス制御部１０２に判定対象のパーティション２における現在の処理を実行させる。
また、処理シーケンス制御部１０２は、各パーティション２における処理の状態を全体制御部１０３に逐次通知する。そして、全体制御部１０３は、処理シーケンス制御部１０２からの通知に基づき、パーティション管理情報１０６及び処理時間情報１０７を参照・更新する（符号Ｅ３及びＥ８参照）。
【００８２】
このように、システム制御ボード１０のＣＰＵ１１は、プログラム１００の処理シーケンス制御部１０２及び全体制御部１０３を実行することにより、図１に示した第１初期化処理部１１１及び第２初期化処理部１１２として機能する。また、ＣＰＵ１１は、計算部１０５及び全体制御部１０３を実行することにより、図１に示した第１時刻算出部１１３及び第２時刻算出部１１４として機能する。更に、ＣＰＵ１１は、状態判定部１０４及び全体制御部１０３を実行することにより、図１に示した抑止部１１５として機能する。
【００８３】
〔Ａ−３〕動作
上述の如く構成された第１実施形態の一例としてのサーバ装置におけるパーティション起動制御処理を図９に示すフローチャート（ステップＳ１〜Ｓ９）に従って説明する。
ユーザ７は、パーティション２の起動処理を指示する（ステップＳ１）。
第１初期化処理部１１１は、パーティション管理テーブル１２１を参照して、現在の処理フェーズが固有資源（ＳＢ２０）の初期化処理であるかを判定する（ステップＳ２）。
【００８４】
現在の処理フェーズが固有資源の初期化処理でない場合には（ステップＳ２のＮｏルート参照）、ステップＳ４に移行する。
一方、現在の処理フェーズが固有資源の初期化処理である場合には（ステップＳ２のＹｅｓルート参照）、第１初期化処理部１１１は、固有資源の初期化処理を行なう（ステップＳ３）。
【００８５】
固有資源の初期化が完了すると、第１時刻算出部１１１及び第２時刻算出部１１２は、第１予測時刻及び第２予測時刻をそれぞれ算出する（ステップＳ４）。
抑止部１１５は、第１予測時刻が第２予測時刻よりも遅いかを判定する（ステップＳ５）。言い換えれば、抑止部１１５は、先行パーティション２についての第１予測時刻よりも前に、後行パーティション２における共通資源の初期化処理が開始されるかを判定する。
【００８６】
第１予測時刻が第２予測時刻よりも遅い場合には（ステップＳ５のＹｅｓルート参照）、抑止部１１５は、パーティション２間の待ち合わせを行なわせ（ステップＳ６）、ステップＳ８に移行する。つまり、抑止部１１５は、後行パーティション２における固有資源の初期化処理が完了するまで、先行パーティション２における共通資源（ＸＢ３）の初期化処理の開始を抑止する。
【００８７】
一方、第１予測時刻が第２予測時刻よりも遅くない場合には（ステップＳ５のＮｏルート参照）、第２初期化処理部１１２は、共通資源の初期化処理を行ない（ステップＳ７）、ステップＳ８に移行する。なお、既に待機している他のパーティション２がある場合には、第２初期化処理部１１２は、既に待機している他のパーティション２と共に共通資源の初期化処理を行なう。
【００８８】
以上、破線で囲まれたステップＳ４〜Ｓ７に示した処理（共通資源初期化制御処理）の詳細は、図１０を用いて後述する。
ＣＰＵ１１は、全処理フェーズが終了したかを判定する（ステップＳ８）。
全処理フェーズが終了していない場合には（ステップＳ８のＮｏルート参照）、次の処理フェーズに移り（ステップＳ９）、ステップＳ２に戻る。
【００８９】
一方、全処理フェーズが終了した場合には（ステップＳ８のＹｅｓルート参照）、パーティション起動処理を終了する。
次に、第１実施形態の一例としてのサーバ装置における共通資源初期化制御処理を図１０に示すフローチャート（ステップＳ１１〜Ｓ１９）に従って説明する。
処理対象のパーティション２におけるＳＢ２０の初期化処理が完了すると、抑止部１１５は、待機中のパーティション２があるかを判定する（ステップＳ１１）。
【００９０】
待機中のパーティション２がない場合には（ステップＳ１１のＮｏルート参照）、ステップＳ１３に移行する。
一方、待機中のパーティション２がある場合には（ステップＳ１１のＹｅｓルート参照）、抑止部１１５は、待機中のパーティション２を待機中パーティションリスト（図示省略）に登録することにより、待機中パーティションリストを作成する（ステップＳ１２）。
【００９１】
抑止部１１５は、起動中の他のパーティション２はあるかを判定する（ステップＳ１３）。
起動中の他のパーティション２がない場合には（ステップＳ１３のＮｏルート参照）、第２初期化処理部１１２は、ステップＳ１２で作成した待機中パーティションリストを参照する。そして、第２初期化処理部１１２は、他の待機中のパーティション２を含めて、処理対象のパーティション２の共通資源の初期化処理を行ない（ステップＳ１９）、共通資源初期化制御処理を終了する。
【００９２】
一方、起動中の他のパーティション２がある場合には（ステップＳ１３のＹｅｓルート参照）、抑止部１１５は、起動中のパーティション２を起動中パーティションリスト（図示省略）に登録することにより、起動中パーティションリストを作成する（ステップＳ１４）。
第１時刻算出部１１３は、待機中パーティションリスト，パーティション管理テーブル１２１及び処理時間テーブル１２２を参照する。そして、第１時刻算出部１１３は、処理対象のパーティション２と待機中のパーティション２とについての共通資源の初期化処理の完了予測時刻（第１予測時刻）を算出する（ステップＳ１５）。例えば、図１に示したサーバ装置１において、「ＰＩＤ＃０→ＰＩＤ＃１→ＰＩＤ＃２」の順に起動処理を開始し、ＰＩＤ＃１におけるＳＢ２０の初期化処理が完了した場合には、第１時刻算出部１１３は、ＰＩＤ＃０，＃１についての第１予測時刻を算出する。なお、ステップＳ１５に示す第１予測時刻算出処理の詳細は、図１１を用いて後述する。
【００９３】
第２時刻算出部１１４は、起動中のパーティション２についての共通資源の初期化処理の到達予測時刻（第２予測時刻）を算出する（ステップＳ１６）。例えば、図１に示したサーバ装置１において、「ＰＩＤ＃０→ＰＩＤ＃１→ＰＩＤ＃２」の順に起動処理を開始し、ＰＩＤ＃１におけるＳＢ２０の初期化処理が完了した場合には、第２時刻算出部１１４は、起動中のＰＩＤ＃２についての第２予測時刻を算出する。なお、ステップＳ１６に示す第２予測時刻算出処理の詳細は、図１２を用いて後述する。
【００９４】
抑止部１１５は、処理対象のパーティション２と待機中のパーティション２とにおける共通資源の初期化処理中に、起動中のパーティション２が共通資源の初期化処理に到達するかを判定する（ステップＳ１７）。
処理対象のパーティション２と待機中のパーティション２とにおける共通資源の初期化処理中に、起動中のパーティション２が共通資源の初期化処理に到達しない場合には（ステップＳ１７のＮｏルート参照）、ステップＳ１９に移行する。
【００９５】
一方、処理対象のパーティション２と待機中のパーティション２とにおける共通資源の初期化処理中に、起動中のパーティション２が共通資源の初期化処理に到達する場合には（ステップＳ１７のＹｅｓルート参照）、ステップＳ１８に移行する。そして、抑止部１１５は、起動中のパーティション２が共通資源の初期化処理に到達するまで、処理対象のパーティション２と待機中のパーティション２とにおける共通資源の初期化処理の開始を待機させる（ステップＳ１８）。その後、第２初期化処理部１１２は、まとめて共通資源の初期化処理を実行し、共通資源初期化制御処理を終了する。
【００９６】
次に、第１実施形態の一例としてのサーバ装置における第１予測時刻算出処理を図１１に示すフローチャート（ステップＳ１５１〜Ｓ１５４）に従って説明する。
第１時刻算出部１１３は、処理時間テーブル１２２に処理時間実測値が登録されているかを判定する（ステップＳ１５１）。
処理時間テーブル１２２に処理時間実測値が登録されている場合には（ステップＳ１５１のＹｅｓルート参照）、第１時刻算出部１１３は、共通資源の初期化処理についての処理時間実測値に基づき共通資源の初期化処理に要する時間を算出し（ステップＳ１５２）、ステップＳ１５４に移行する。
【００９７】
一方、処理時間テーブル１２２に処理時間実測値が登録されていない場合には（ステップＳ１５１のＮｏルート参照）、第１時刻算出部１１３は、共通資源の初期化処理についての処理時間初期値に基づき共通資源の初期化処理に要する時間を算出し（ステップＳ１５３）、ステップＳ１５４に移行する。
第１時刻算出部１１３は、現在時刻とステップＳ１５２又はＳ１５３で算出した共通資源の初期化処理に要する時間との和をとることにより、共通資源の初期化処理の完了予測時刻（第１予測時刻）を算出する（ステップＳ１５４）。そして、第１予測時刻算出処理が終了する。
【００９８】
次に、第１実施形態の一例としてのサーバ装置における第２予測時刻算出処理を図１２に示すフローチャート（ステップＳ１６１〜Ｓ１６５）に従って説明する。
第２時刻算出部１１４は、パーティション管理テーブル１２１を参照することにより、処理対象のパーティション２についての処理開始時刻と資源数（ＳＢ２０の数）とを取得する（ステップＳ１６１）。
【００９９】
第２時刻算出部１１４は、処理時間テーブル１２２に処理時間実測値が登録されているかを判定する（ステップＳ１６２）。
処理時間テーブル１２２に処理時間実測値が登録されている場合には（ステップＳ１６２のＹｅｓルート参照）、ステップＳ１６３に移行する。そして、第２時刻算出部１１４は、共通資源の初期化処理到達までについての処理時間実測値とステップＳ１６１で取得した資源数との積をとることにより、共通資源の初期化処理到達までに要する時間を算出し（ステップＳ１６３）、ステップＳ１６５に移行する。
【０１００】
一方、処理時間テーブル１２２に処理時間実測値が登録されていない場合には（ステップＳ１６２のＮｏルート参照）、ステップＳ１６４に移行する。そして、第２時刻算出部１１４は、共通資源の初期化処理到達までについての処理時間初期値とステップＳ１６１で取得した資源数との積をとることにより、共通資源の初期化処理到達までに要する時間を算出し（ステップＳ１６４）、ステップＳ１６５に移行する。
【０１０１】
第２時刻算出部１１４は、ステップＳ１６１で取得した処理開始時刻とステップＳ１６３又はＳ１６４で算出した共通資源の初期化処理到達までに要する時間との和をとることにより、共通資源の初期化処理の到達予測時刻（第２予測時刻）を算出する（ステップＳ１６５）。そして、第２予測時刻算出処理が終了する。
〔Ａ−４〕効果
図１３は従来例としてのサーバ装置におけるパーティション起動処理を例示するタイムチャートであり、図１４は第１実施形態の一例としてのサーバ装置におけるパーティション起動処理を例示するタイムチャートである。
【０１０２】
以下、図１３及び図１４を参照しながら、上述した第１実施形態の一例において奏することができる効果を説明する。以下、図１３及び図１４において、ＰＩＤ＃０〜＃２が備える固有資源の数は同一であるものとする。
従来例としてのサーバ装置は、最大で１６個のパーティション２を構成することができるが、図１３に示す例においては簡単のためＰＩＤ＃０〜＃２の３つのパーティションを備えることとする。
【０１０３】
従来例としてのサーバ装置においては、ＸＢ３の初期化処理に約１０分の時間を要しており、１つのパーティション２におけるＯＳ起動に約３０分の時間を要する。
ＰＩＤ＃０は、ユーザ７から起動指示を受けると、ＳＢの初期化処理を行なう（符号Ｆ１１参照）。
ＰＩＤ＃０に対する起動指示から２分後、ＰＩＤ＃１は、ユーザ７から起動指示を受けると、ＳＢの初期化処理を行なう（符号Ｆ２１参照）。
【０１０４】
ＰＩＤ＃０に対する起動指示から４分後、ＰＩＤ＃２は、ユーザ７から起動指示を受けると、ＳＢの初期化処理を行なう（符号Ｆ３１参照）。
ＰＩＤ＃０は、ＳＢの初期化処理が完了すると、ＸＢの初期化処理を行なう（符号Ｆ１２参照）。
ＰＩＤ＃１においてＳＢの初期化処理が完了してもＰＩＤ＃０におけるＸＢの初期化処理が実行中である。そこで、ＰＩＤ＃１は、ＰＩＤ＃０におけるＸＢの初期化処理が完了するまで待機することにより、ＸＢの初期化処理をシリアライズする（符号Ｆ２２）。
【０１０５】
ＰＩＤ＃０は、ＸＢの初期化処理が完了すると、ＯＳ起動処理を行ない（符号Ｆ１３参照）、ＰＩＤ＃０に対する起動指示から３０分後、ＯＳが起動する（符号Ｆ１４参照）。
ＰＩＤ＃１は、ＰＩＤ＃０におけるＸＢの初期化処理が完了すると、ＸＢの初期化処理を行なう（符号Ｆ２３参照）。
ＰＩＤ＃２においてＳＢの初期化処理が完了してもＰＩＤ＃１におけるＸＢの初期化処理が実行中である。そこで、ＰＩＤ＃２は、ＰＩＤ＃１におけるＸＢの初期化処理が完了するまで待機することにより、ＸＢの初期化処理をシリアライズする（符号Ｆ３２）。
【０１０６】
ＰＩＤ＃１は、ＸＢの初期化処理が完了すると、ＯＳ起動処理を行ない（符号Ｆ２４参照）、ＰＩＤ＃０に対する起動指示から４０分後、ＯＳが起動する（符号Ｆ２５参照）。
ＰＩＤ＃２は、ＰＩＤ＃１におけるＸＢの初期化処理が完了すると、ＸＢの初期化処理を行なう（符号Ｆ３３参照）。そして、ＰＩＤ＃２は、ＸＢの初期化処理が完了すると、ＯＳ起動処理を行ない（符号Ｆ３４参照）、ＰＩＤ＃０に対する起動指示から５０分後、ＯＳが起動する（符号Ｆ３５参照）。
【０１０７】
図１４に示す本実施形態の一例としてのサーバ装置１は、ＰＩＤ＃０〜＃２の３つのパーティション２を備える。
ＰＩＤ＃０は、ユーザ７から起動指示を受けると、ＳＢ２０の初期化処理を行なう（符号Ｇ１１参照）。
ＰＩＤ＃０に対する起動指示から２分後、ＰＩＤ＃１は、ユーザ７から起動指示を受けると、ＳＢ２０の初期化処理を行なう（符号Ｇ２１参照）。
【０１０８】
ＰＩＤ＃０に対する起動指示から４分後、ＰＩＤ＃２は、ユーザ７から起動指示を受けると、ＳＢ２０の初期化処理を行なう（符号Ｇ３１参照）。
ＰＩＤ＃０は、ＳＢ２０の初期化処理が完了すると、抑止部１１５の制御により、ＰＩＤ＃１，＃２がＸＢ３の初期化処理に到達するまで待機する（符号Ｇ１２参照）。
ＰＩＤ＃１は、ＳＢ２０の初期化処理が完了すると、抑止部１１５の制御により、ＰＩＤ＃２がＸＢ３の初期化処理に到達するまで待機する（符号Ｇ２２参照）。
【０１０９】
ＰＩＤ＃０〜＃２は、ＰＩＤ＃２におけるＳＢ２０の初期化処理が完了すると、ＸＢ３の初期化処理を一斉に行なう（符号Ｇ１３，Ｇ２３，Ｇ３２参照）。
そして、ＰＩＤ＃０〜＃２は、それぞれＯＳ起動処理を行ない（符号Ｇ１４，Ｇ２４，Ｇ３３参照）、ＰＩＤ＃０に対する起動指示から３５分後、各パーティション２におけるＯＳが起動する（符号Ｇ１５，Ｇ２５，Ｇ３４参照）。
【０１１０】
このように、従来例としてのサーバ装置においては、ＸＢの初期化処理をシリアライズするため、２分間隔で３つのパーティション２を起動する場合には、ＰＩＤ＃２の起動時刻はＰＩＤ＃０に対する起動指示から５０分後となる。一方、本第１実施形態の一例におけるサーバ装置１においては、ＰＩＤ＃０におけるＸＢ３の初期化処理開始時に他のパーティション２がＸＢ３の初期化処理に到達する予測時刻を判定し、ＸＢ３の初期化処理の待ち合わせを行なう。これにより、本第１実施形態の一例におけるＰＩＤ＃２の起動時刻はＰＩＤ＃０に対する起動指示から３５分後となり、従来例の場合と比較して１５分短縮することが可能となる。
【０１１１】
抑止部１１５は、所定の条件を満たす場合に、第２パーティション２により制御される第２資源２０の初期化処理が完了するまで、第２初期化処理部１１２による共通資源３に対する初期化処理の開始を抑止する。ここで、所定の条件とは、第１パーティション２に対する初期化処理の実行中に第２パーティション２に対する初期化処理が実行され、且つ、第１パーティション２の初期化処理における共通資源３の初期化完了までに第２資源２０の初期化処理が完了することである。
【０１１２】
このように、複数のパーティション２を有する情報処理装置１の起動時間を短縮させることができる。具体的には、パーティション２間で共通資源のレジスタ３０の値をまとめて（マージして）設定することにより、レジスタ３０へのアクセス回数を減少させることができる。つまり、システム内で共通の資源の設定をパーティション２間で効率的にまとめて実施することができ、システム全体におけるＯＳ起動時間を短縮させることができる。言い換えれば、複数のパーティション２の起動時に、パーティション２間における固有資源の初期化処理を並列に一括で行なうことができ、ＸＢ３のレジスタ３０へのアクセス回数とシリアル処理とを減らすことができる。そして、パーティション２の初期化処理時間を最大で従来例における「ｔ×パーティション数」から「ｔ×２」に短縮させることができる（ｔ：パーティションの初期化時間）。
【０１１３】
一方、抑止部１１５は、第１パーティション２の初期化処理における共通資源３の初期化完了までに第２資源２０の初期化処理が完了しないと判断した場合には、第２初期化処理部１１２による共通資源３に対する初期化処理の開始を抑止しない。これにより、第１及び第２パーティション２における共通資源３の初期化処理が同時に実行されないと予測される場合には、第１パーティション２における共通資源３の初期化処理を先行して行なうことができ、パーティション起動処理を最適化することができる。
【０１１４】
〔Ｂ〕第２実施形態の一例
〔Ｂ−１〕システム構成
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
図１５は、第２実施形態の一例としてのサーバ装置の機能構成を模式的に示す図である。
【０１１５】
本第２実施形態の一例において、サーバ装置１は、上述した第１実施形態の一例におけるシステム制御ボード１０のＣＰＵ１１に代えて、ＣＰＵ１１ａを備える。
ユーザ７の運用によっては、あるパーティション２のＯＳ起動を他のパーティション２のＯＳ起動を遅らせてでも優先したいケースが考えられる。
そこで、本第２実施形態の一例におけるＣＰＵ１１ａは、上述した第１実施形態の一例としてのＣＰＵ１１における第１初期化処理部１１１，第２初期化処理部１１２，第１時刻算出部１１３，第２時刻算出部１１４及び抑止部１１５としての機能に加え、優先処理部１１６としての機能を更に備える。
【０１１６】
優先処理部１１６は、優先度（図１６を用いて後述）が高いパーティション２における共通資源の初期化処理を他のパーティション２と待ち合わせて実行するかを判定する。つまり、優先処理部１１６は、先行パーティション２に対する優先度が後行パーティション２に対する優先度以上である場合に場合には、抑止部１１５による抑止の実行を阻止し、第２初期化処理部１１２に第２パーティション２に対する初期化処理を優先して実行させる。
【０１１７】
図１６は、第２実施形態の一例としてのサーバ装置におけるパーティションテーブルを例示する図である。
本第２実施形態の一例におけるパーティション管理テーブル１２１ａは、上述した第１実施形態の一例としてのパーティション管理テーブル１２１における有効／無効，資源数，処理手順名，処理フェーズ，処理状態及び処理開始時刻の各データ（フィールド）に加え、優先度のデータを備える。
【０１１８】
優先度は、パーティションにおける処理の優先度を示す値であり、例えば０〜ｐ（ｐ≧０）の値で表わされる。本第２実施形態の一例においては、値が大きいほど優先度は高いものとする。例えば、優先処理部１１６は、ユーザ７の入力に基づき、０〜ｐの値を優先度のフィールドに設定する。
図１７は、第２実施形態の一例としてのサーバ装置におけるパーティション起動処理を例示する図である。
【０１１９】
図１７に示す例において、ＰＩＤ＃０〜＃２の優先度は、それぞれ２，３，１であるものとする。また、各パーティション２が備えるＳＢ２０の数（資源数）は同一であるものとする。
ユーザ７はＰＩＤ＃０に対して起動指示を行ない（符号Ｈ１１参照）、ＰＩＤ＃０は第１初期化処理部１１１の制御によりＳＢ２０の初期化処理を行なう（符号Ｈ１２参照）。
【０１２０】
また、ユーザ７はＰＩＤ＃１に対して起動指示を行ない（符号Ｈ２１参照）、ＰＩＤ＃１は第１初期化処理部１１１の制御によりＳＢ２０の初期化処理を行なう（符号Ｈ２２参照）。
更に、ユーザ７はＰＩＤ＃２に対して起動指示を行ない（符号Ｈ３１参照）、ＰＩＤ＃２は第１初期化処理部１１１の制御によりＳＢ２０の初期化処理を行なう（符号Ｈ３２参照）。
【０１２１】
第１時刻算出部１１３及び第２時刻算出部１１４は、ＰＩＤ＃０におけるＳＢ２０の初期化処理が完了すると、第１予測時刻及び第２予測時刻を算出する。
そして、抑止部１１５は、第１予測時刻が第２予測時刻より遅いかを判定する。図１７に示す例においては、第１予測時刻が第２予測時刻より遅いものとする。
また、優先処理部１１６は、ＰＩＤ＃１，＃２のいずれかの優先度がＰＩＤ＃０の優先度以上であるかを判定する。上述したように、図１７に示す例においては、ＰＩＤ＃１の優先度はＰＩＤ＃０の優先度以上である。
【０１２２】
そこで、ＰＩＤ＃０は、抑止部１１５の制御により、ＰＩＤ＃１におけるＸＢ３の初期化処理が完了するまで待機する（符号Ｈ１３参照）。
第１時刻算出部１１３及び第２時刻算出部１１４は、ＰＩＤ＃１におけるＳＢ２０の初期化処理が完了すると、第１予測時刻及び第２予測時刻を算出する。図１７に示す例においては、第１予測時刻が第２予測時刻より遅いものとする。
【０１２３】
また、優先処理部１１６は、ＰＩＤ＃２の優先度がＰＩＤ＃１の優先度以上であるかを判定する。上述したように、図１７に示す例においては、ＰＩＤ＃１の優先度はＰＩＤ＃２の優先度以上である。
そこで、優先処理部１１６は、抑止部１１５による抑止の実行を阻止し、ＰＩＤ＃１におけるＸＢ３の初期化処理を優先して実行させる。ここで、ＰＩＤ＃０は待機中であるため、ＰＩＤ＃１は、ＰＩＤ＃０と共に、第２初期化処理部１１２の制御により、ＸＢ３の初期化処理を行なう（符号Ｈ２３）。
【０１２４】
ＰＩＤ＃２は、ＳＢ２０の初期化処理が完了すると、優先処理部１１６の制御により、ＰＩＤ＃０，＃１におけるＸＢ３の初期化処理が完了するまで待機する（符号Ｈ３３参照）。
ＰＩＤ＃０，＃１は、ＸＢ３の初期化処理が完了すると、ＯＳ起動処理をそれぞれ実行し（符号Ｈ１４，Ｈ２４参照）、ＰＩＤ＃０，＃１の起動処理が完了する。
【０１２５】
一方、ＰＩＤ＃２は、ＰＩＤ＃０，＃１におけるＸＢ３の初期化処理が完了すると、第２初期化処理１１２の制御により、ＸＢ３の初期化処理を行なう（符号Ｈ３４参照）。そして、ＰＩＤ＃２は、ＸＢ３の初期化処理が完了すると、ＯＳ起動処理を実行し（符号Ｈ３５参照）、ＰＩＤ＃２の起動処理が完了する。
〔Ｂ−２〕動作
上述の如く構成された第２実施形態の一例としてのサーバ装置における共通資源初期化制御処理を図１８に示すフローチャート（ステップＳ１１〜Ｓ２０）に従って説明する。
【０１２６】
図１８に示すステップＳ１１〜Ｓ１９は図１０を用いて説明したステップＳ１１〜Ｓ１９と同様のステップを示しているため、その説明は省略する。
ステップＳ１７において、処理対象のパーティション２と待機中のパーティション２とにおける共通資源の初期化処理中に、起動中のパーティション２が共通資源の初期化処理に到達する場合には（ステップＳ１７のＹｅｓルート参照）、ステップＳ２０に移行する。
【０１２７】
そして、優先処理部１１６は、起動中のパーティション２のいずれかの優先度が待機中のパーティション２の優先度以上であるかを判定する（ステップＳ２０）。
起動中のパーティション２のいずれかの優先度が待機中のパーティション２の優先度以上である場合には（ステップＳ２０のＹｅｓルート参照）、ステップＳ１８に移行する。
一方、起動中のパーティション２の優先度が待機中のパーティション２の優先度未満である場合には（ステップＳ２０のＮｏルート参照）、ステップＳ１９に移行する。
【０１２８】
〔Ｂ−３〕効果
このように、本第２実施形態の一例においては、上述した第１実施形態の一例と同様の効果を奏することができる他に、以下の効果を奏することができる。
優先処理部１１６は、第１パーティション２に対する優先度が第２パーティション２に対する優先度以上である場合には、抑止部１１５による抑止の実行を阻止し、第２初期化処理部１１２に第２パーティション２に対する初期化処理を優先して実行させる。これにより、特定のパーティション２の起動処理を優先して早く完了させることができる。
【０１２９】
〔Ｃ〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
〔Ｄ〕付記
（付記１）
第１パーティションにより制御される第１資源と、第２パーティションにより制御される第２資源と、前記第１及び第２パーティションにより共用される共通資源と、を有する情報処理装置において、
前記第１及び第２資源のそれぞれに対する初期化処理を実行する第１初期化処理部と、
前記第１初期化処理部による初期化処理の完了後に、前記共通資源に対する初期化処理を実行する第２初期化処理部と、
前記第１パーティションに対する初期化処理の実行中に前記第２パーティションに対する初期化処理が実行され、且つ、前記第１パーティションの初期化処理における前記共通資源の初期化完了までに前記第２資源の初期化処理が完了すると判断した場合に、前記第２資源の初期化処理が完了するまで、前記第２初期化処理部による前記共通資源に対する初期化処理の開始を抑止する抑止部と、
を備えることを特徴とする、情報処理装置。
【０１３０】
（付記２）
前記第１パーティションに対する初期化処理の完了直後に前記共通資源に対する初期化処理を実行する場合に、前記第１パーティションについての前記共通資源に対する初期化処理が完了する第１予測時刻を算出する第１時刻算出部と、
前記第２資源に対する初期化処理が完了する第２予測時刻を算出する第２時刻算出部と、
を備え、
前記抑止部は、前記第１予測時刻が前記第２予測時刻より遅い場合に、前記抑止を行なう、
ことを特徴とする、付記１に記載の情報処理装置。
【０１３１】
（付記３）
前記第１パーティションに対する優先度が前記第２パーティションに対する優先度以上である場合には、前記抑止部による前記抑止の実行を阻止し、前記第２初期化処理部に前記第１パーティションに対する初期化処理を優先して実行させる優先処理部
を備えることを特徴とする、付記１又は２に記載の情報処理装置。
【０１３２】
（付記４）
前記第２時刻算出部は、前記第２パーティションが備える第２資源の数に基づき、前記第２予測時刻を算出する、
ことを特徴とする、付記１〜３のいずれか１項に記載の情報処理装置。
（付記５）
第１パーティションにより制御される第１資源と、第２パーティションにより制御される第２資源と、前記第１及び第２パーティションにより共用される共通資源と、を有する情報処理装置における制御方法であって、
前記第１及び第２資源のそれぞれに対する初期化処理を実行し、
前記初期化処理の完了後に、前記共通資源に対する初期化処理を実行し、
前記第１パーティションに対する初期化処理の実行中に前記第２パーティションに対する初期化処理が実行され、且つ、前記第１パーティションの初期化処理における前記共通資源の初期化完了までに前記第２資源の初期化処理が完了すると判断した場合に、前記第２資源の初期化処理が完了するまで、前記共通資源に対する初期化処理の開始を抑止する、
ことを特徴とする、制御方法。
【０１３３】
（付記６）
前記第１パーティションに対する初期化処理の完了直後に前記共通資源に対する初期化処理を実行する場合に、前記第１パーティションについての前記共通資源に対する初期化処理が完了する第１予測時刻を算出し、
前記第２資源に対する初期化処理が完了する第２予測時刻を算出し、
前記第１予測時刻が前記第２予測時刻より遅い場合に、前記抑止を行なう、
ことを特徴とする、付記５に記載の制御方法。
【０１３４】
（付記７）
前記第１パーティションに対する優先度が前記第２パーティションに対する優先度以上である場合には、前記抑止の実行を阻止し、前記第１パーティションに対する初期化処理を優先して実行させる、
ことを特徴とする、付記５又は６に記載の制御方法。
【０１３５】
（付記８）
前記第２パーティションが備える第２資源の数に基づき、前記第２予測時刻を算出する、
ことを特徴とする、付記５〜７のいずれか１項に記載の制御方法。
（付記９）
第１パーティションにより制御される第１資源と、第２パーティションにより制御される第２資源と、前記第１及び第２パーティションにより共用される共通資源と、を有する情報処理装置に備えられるコンピュータに、
前記第１及び第２資源のそれぞれに対する初期化処理を実行し、
前記初期化処理の完了後に、前記共通資源に対する初期化処理を実行し、
前記第１パーティションに対する初期化処理の実行中に前記第２パーティションに対する初期化処理が実行され、且つ、前記第１パーティションの初期化処理における前記共通資源の初期化完了までに前記第２資源の初期化処理が完了すると判断した場合に、前記第２資源の初期化処理が完了するまで、前記共通資源に対する初期化処理の開始を抑止する、
処理を実行させることを特徴とする、制御プログラム。
【０１３６】
（付記１０）
前記第１パーティションに対する初期化処理の完了直後に前記共通資源に対する初期化処理を実行する場合に、前記第１パーティションについての前記共通資源に対する初期化処理が完了する第１予測時刻を算出し、
前記第２資源に対する初期化処理が完了する第２予測時刻を算出し、
前記第１予測時刻が前記第２予測時刻より遅い場合に、前記抑止を行なう、
処理を前記コンピュータに実行させることを特徴とする、付記９に記載の制御プログラム。
【０１３７】
（付記１１）
前記第１パーティションに対する優先度が前記第２パーティションに対する優先度以上である場合には、前記抑止の実行を阻止し、前記第１パーティションに対する初期化処理を優先して実行させる、
処理を前記コンピュータに実行させることを特徴とする、付記９又は１０に記載の制御プログラム。
【０１３８】
（付記１２）
前記第２パーティションが備える第２資源の数に基づき、前記第２予測時刻を算出する、
処理を前記コンピュータに実行させることを特徴とする、付記９〜１１のいずれか１項に記載の制御プログラム。
【０１３９】
（付記１３）
第１パーティションにより制御される第１資源と、第２パーティションにより制御される第２資源と、前記第１及び第２パーティションにより共用される共通資源と、通信可能に接続された制御装置において、
前記第１及び第２資源のそれぞれに対する初期化処理を実行する第１初期化処理部と、
前記第１初期化処理部による初期化処理の完了後に、前記共通資源に対する初期化処理を実行する第２初期化処理部と、
前記第１パーティションに対する初期化処理の実行中に前記第２パーティションに対する初期化処理が実行され、且つ、前記第１パーティションの初期化処理における前記共通資源の初期化完了までに前記第２資源の初期化処理が完了すると判断した場合に、前記第２資源の初期化処理が完了するまで、前記第２初期化処理部による前記共通資源に対する初期化処理の開始を抑止する抑止部と、
を備えることを特徴とする、制御装置。
【０１４０】
（付記１４）
前記第１パーティションに対する初期化処理の完了直後に前記共通資源に対する初期化処理を実行する場合に、前記第１パーティションについての前記共通資源に対する初期化処理が完了する第１予測時刻を算出する第１時刻算出部と、
前記第２資源に対する初期化処理が完了する第２予測時刻を算出する第２時刻算出部と、
を備え、
前記抑止部は、前記第１予測時刻が前記第２予測時刻より遅い場合に、前記抑止を行なう、
ことを特徴とする、付記１３に記載の制御装置。
【０１４１】
（付記１５）
前記第１パーティションに対する優先度が前記第２パーティションに対する優先度以上である場合には、前記抑止部による前記抑止の実行を阻止し、前記第２初期化処理部に前記第１パーティションに対する初期化処理を優先して実行させる優先処理部
を備えることを特徴とする、付記１３又は１４に記載の制御装置。
【０１４２】
（付記１６）
前記第２時刻算出部は、前記第２パーティションが備える第２資源の数に基づき、前記第２予測時刻を算出する、
ことを特徴とする、付記１３〜１５のいずれか１項に記載の制御装置。
【符号の説明】
【０１４３】
１        サーバ装置（情報処理装置）
１０      システム制御ボード（制御装置）
１１      ＣＰＵ（コンピュータ）
１１ａ    ＣＰＵ（コンピュータ）
１００    制御プログラム
１０１    ユーザＩ／Ｆ
１０２    処理シーケンス制御部
１０３    全体制御部
１０４    状態判定部
１０５    計算部
１０６    パーティション管理情報
１０７    処理時間情報
１１０    ファームウェア
１１１    第１初期化処理部
１１２    第２初期化処理部
１１３    第１時刻算出部
１１４    第２時刻算出部
１１５    抑止部
１１６    優先処理部
１２      メモリ
１２１    パーティション管理テーブル
１２１ａ  パーティション管理テーブル
１２２    処理時間テーブル
２        パーティション
２０      ＳＢ（第１資源，第２資源）
２１      ＣＰＵ
２２      メモリ
３        ＸＢ（共通資源）
３０      レジスタ
３０ａ    テーブル
４０      システム制御ボード
４１０    ファームウェア
６        ＸＢ
６０      レジスタ
７        ユーザ
【図１】
2015170250.tif 000007
【図２】
2015170250.tif 000008
【図３】
2015170250.tif 000009
【図４】
2015170250.tif 000010
【図５】
2015170250.tif 000011
【図６】
2015170250.tif 000012
【図７】
2015170250.tif 000013
【図８】
2015170250.tif 000014
【図９】
2015170250.tif 000015
【図１０】
2015170250.tif 000016
【図１１】
2015170250.tif 000017
【図１２】
2015170250.tif 000018
【図１３】
2015170250.tif 000019
【図１４】
2015170250.tif 000020
【図１５】
2015170250.tif 000021
【図１６】
2015170250.tif 000022
【図１７】
2015170250.tif 000023
【図１８】
2015170250.tif 000024