(57)【要約】      （修正有）【課題】計算機資源を有効に利用し、性能を向上させる。【解決手段】情報処理システム１００は、ソースプログラムから実行可能プログラム４０１〜４０ｍを生成し、実行パラメータを変えて前記実行可能プログラムを実行し、前記実行パラメータ、および、実行時間を含むプログラム実行情報６０１〜６０ｎを生成する主処理部１１０と、スケジューリングに際し、計算機資源の空きを調べ、前記プログラム実行情報に基づいて、その計算機資源の空きで実行可能な前記実行可能プログラム４０１〜４０ｎ、および、前記実行パラメータの組を選択し、スケジューリングテーブル１２３に登録するスケジューリング部１２０と、を含む。【選択図】図３
2015166961.tif 000002
【特許請求の範囲】
【請求項１】
ソースプログラムから実行可能プログラムを生成し、実行パラメータを変えて前記実行可能プログラムを実行し、前記実行パラメータ、および、実行時間を含むプログラム実行情報を生成する主処理部と、
スケジューリングに際し、計算機資源の空きを調べ、前記プログラム実行情報に基づいて、その計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組を選択し、スケジューリングテーブルに登録するスケジューリング部と、
を含むことを特徴とする情報処理システム。
【請求項２】
前記スケジューリング部は、順次、速い時間帯の計算機資源の空きから調べることを特徴とする請求項１の情報処理システム。
【請求項３】
前記スケジューリング部は、ある計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組がある場合、前記実行時間の短い前記実行可能プログラム、および、前記実行パラメータの組を選択することを特徴とする請求項２の情報処理システム。
【請求項４】
前記主処理部は、アーキテクチャのそれぞれに対応する前記実行可能プログラムを生成することを特徴とする請求項１、２、または、３の情報処理システム。
【請求項５】
前記主処理部は、前記実行パラメータとして、利用ＣＰＵ数、または、割り付けポリシーを使用することを特徴とする請求項１、２、または、３の情報処理システム。
【請求項６】
前記主処理部は、前記実行パラメータとして、前記アーキテクチャ、利用ＣＰＵ数、または、割り付けポリシーを使用することを特徴とする請求項４の情報処理システム。
【請求項７】
前記主処理部は、複数の入力データセットを受け取り、入力データセットを変えて前記実行可能プログラムを実行し、前記入力データセットを前記実行パラメータとして前記プログラム実行情報に含ませることを特徴とする請求項１、２、３、４、５、または、６の情報処理システム。
【請求項８】
ソースプログラムから実行可能プログラムを生成し、実行パラメータを変えて前記実行可能プログラムを実行し、前記実行パラメータ、および、実行時間を含むプログラム実行情報を生成し、
スケジューリングに際し、計算機資源の空きを調べ、前記プログラム実行情報に基づいて、その計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組を選択し、スケジューリングテーブルに登録する、
ことを特徴とする情報処理方法。
【請求項９】
順次、速い時間帯の計算機資源の空きから調べることを特徴とする請求項８の情報処理方法。
【請求項１０】
ソースプログラムから実行可能プログラムを生成し、実行パラメータを変えて前記実行可能プログラムを実行し、前記実行パラメータ、および、実行時間を含むプログラム実行情報を生成する処理と、
スケジューリングに際し、計算機資源の空きを調べ、前記プログラム実行情報に基づいて、その計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組を選択し、スケジューリングテーブルに登録する処理と、
をコンピュータに実行させることを特徴とするスケジューリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、および、スケジューリングログラムに関する。
【背景技術】
【０００２】
分散トランザクションの技術の一例が、特許文献１に記載されている。この技術は、トランザクション要求発生時に、分散トランザクションプログラムを稼働する負荷の空き状況が最大の計算機を選ぶ構成である。そして、この技術は、選んだ計算機のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）アーキテクチャに合わせてプログラムを変換し、前提プログラムと共に転送を行いプログラムを稼働させる機能を持つ。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３０５９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の技術においては、プログラムを稼働（実行）させる実行パラメータが１つに決まっている。したがって、たとえば、ＣＰＵアーキテクチャに合わせて変換されたプログラムが、たとえば、２台のＣＰＵを利用することを前提としたものであると、１台のＣＰＵしか空いていないと、実行が待たされることになる。
【０００５】
すなわち、特許文献１の技術には、計算機資源の無駄が発生し、プログラムの実行の性能が高くないという問題点が存在する。
【０００６】
本発明の目的は、上記問題点を解決した情報処理システム、情報処理方法、および、スケジューリングプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明の情報処理システムは、ソースプログラムから実行可能プログラムを生成し、実行パラメータを変えて前記実行可能プログラムを実行し、前記実行パラメータ、および、実行時間を含むプログラム実行情報を生成する主処理部と、
スケジューリングに際し、計算機資源の空きを調べ、前記プログラム実行情報に基づいて、その計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組を選択し、スケジューリングテーブルに登録するスケジューリング部と、
を含む。
【０００８】
本発明の情報処理方法は、ソースプログラムから実行可能プログラムを生成し、実行パラメータを変えて前記実行可能プログラムを実行し、前記実行パラメータ、および、実行時間を含むプログラム実行情報を生成し、
スケジューリングに際し、計算機資源の空きを調べ、前記プログラム実行情報に基づいて、その計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組を選択し、スケジューリングテーブルに登録する。
【０００９】
本発明のスケジューリングプログラムは、ソースプログラムから実行可能プログラムを生成し、実行パラメータを変えて前記実行可能プログラムを実行し、前記実行パラメータ、および、実行時間を含むプログラム実行情報を生成する処理と、
スケジューリングに際し、計算機資源の空きを調べ、前記プログラム実行情報に基づいて、その計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組を選択し、スケジューリングテーブルに登録する処理と、
をコンピュータに実行させる。
【発明の効果】
【００１０】
本発明は、計算機資源を有効に利用でき、計算機資源を無駄にせず、性能が向上するという効果を持つ。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態の動作を示す動作説明図である。
【図３】本発明の第２の実施の形態の構成を示すブロック図である。
【図４】本発明の第２の実施の形態の動作を示す動作説明図である。
【図５】本発明の第２の実施の形態の動作を示す動作説明図である。
【図６】スケジューリングテーブルの一例の概念を示す説明図である。
【図７】スケジューリングテーブルの一例の概念を示す説明図である。
【図８】本発明の第３の実施の形態の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１３】
図１は、第１の実施の形態の構成を示すブロック図である。図１を参照すると、第１の実施の形態の情報処理システム１００は、主処理部１１０、および、スケジューリング部１２０を含む。主処理部１１０は、ソースプログラムを受け取る。スケジューリング部１２０は、実行リクエストを受け取る。また、図示しないが、情報処理システム１００は、計算機資源の１種であるＣＰＵを含む。
【００１４】
次に、第１の実施の形態の動作について図面を参照して説明する。
【００１５】
図２は、第１の実施の形態の情報処理システム１００の動作を示す動作説明図である。図２を参照すると、主処理部１１０は、受け取ったソースプログラムから、複数のアーキテクチャ（１種でもよい）のそれぞれを使用する（すなわち、対応する）複数（または１つ）の実行可能プログラムを生成する（ステップＳ１）。
【００１６】
次に、主処理部１１０は、実行パラメータを変化させ、各実行可能プログラムを実行し、プログラム識別子、実行パラメータ、および、実行に要した実行時間を含むプログラム実行情報を生成する（ステップＳ２）。ここで、プログラム識別子は、対応するソースプログラムを特定できるソースプログラム名、および、実行可能プログラムを特定できる実行可能プログラム名を含む。また、実行パラメータとは、たとえば、アーキテクチャ、利用ＣＰＵ数、割り付けポリシー等である。
【００１７】
次に、スケジューリング部１２０は、実行リクエストを受け取ると、スケジューリングテーブルを検索し、計算機資源（たとえば、ＣＰＵ）の空きを調べる（ステップＳ３）。さらに、スケジューリング部１２０は、プログラム実行情報を検索し、空いている計算機資源で実行可能な、実行パターン（実行可能プログラムと実行パラメータの組）を選択する（ステップＳ４）。
【００１８】
そして、スケジューリング部１２０は、選択した実行パターン（選択した実行パラメータでの選択した実行可能プログラム）の実行をスケジューリングテーブルに登録する（ステップＳ５）。
【００１９】
その後、情報処理システム１００において、スケジューリングテーブルに登録された実行パターン（選択した実行パラメータでの選択した実行可能プログラム）は実行される。
【００２０】
また、コンピュータを、主処理部１１０、および、スケジューリング部１２０として機能させるスケジューリングプログラムが可能である。
【００２１】
次に、第１の実施の形態の効果について説明する。
【００２２】
第１の実施の形態は、プログラムの実行において、計算機資源の空きに基づき、そのプログラムに対応する複数の実行パターン（複数（または１つ）の実行可能プログラム、および、複数の実行パラメータ）から実行可能なものを選択する構成である。
【００２３】
したがって、第１の実施の形態は、計算機資源を有効に利用でき、計算機資源を無駄にせず、性能が向上するという効果を持つ。
【００２４】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００２５】
第２の実施の形態は、第１の実施の形態の一例である。図３は、第２の実施の形態の情報処理システム１００の構成を示すブロック図である。図３を参照すると、主処理部１１０は、コンパイル実行部２００、コンパイル制御部３００、実行プログラム格納部４００、実行情報収集部５００、および、実行情報格納部６００を含む。
【００２６】
スケジューリング部１２０は、プログラム選択部１２１、実行管理部１２２、および、スケジューリングテーブル１２３を含む。スケジューリングテーブル１２３は、計算機資源、および、時間の情報を含み、それぞれの時間帯にどの計算機資源が空いているかを示す。
【００２７】
実行プログラム格納部４００は、たとえば、実行可能プログラム４０１、実行可能プログラム４０２、…、実行可能プログラム４０ｍ（ｍは整数）を格納する。実行可能プログラムの個数に制限はない。
【００２８】
実行情報格納部６００は、たとえば、プログラム実行情報６０１、プログラム実行情報６０２、…、プログラム実行情報６０ｎ（ｎは整数）を格納する。プログラム実行情報の個数に制限はない。
【００２９】
プログラム実行情報６０１〜６０ｎは、プログラム識別子、アーキテクチャ、利用ＣＰＵ数、利用メモリ量、割り付けポリシー、実行時間を含む。ここで、アーキテクチャ、利用ＣＰＵ数、割り付けポリシーは、実行パラメータと呼ばれる。
【００３０】
プログラム識別子は、プログラム名称と実行可能プログラム名とを組みにした情報である。ソースプログラムが共通である場合は、プログラム名称は共通である。実行可能プログラム名は、実行可能プログラム４０１〜４０ｍのそれぞれを特定できる情報を含む。
【００３１】
アーキテクチャは、「ＣＰＵの種別」、および、「コプロセッサの有無と種別」を示す文字列である。たとえば、アーキテクチャは、「ｘ６４、コプロセッサ無し」、「ＳＸ９、コプロセッサ無し」、「ＳＰＡＲＣ（登録商標）、コプロセッサ有り、および、コプロセッサの名称」等である。
【００３２】
ＣＰＵの種別が同一でも、コプロセッサの有無で、アーキテクチャは、別のものとなる。また、コプロセッサの種別が異なれば、アーキテクチャは、別のものとなる。
【００３３】
計算機資源とは、たとえば、情報処理システム１００における利用可能アーキテクチャ、利用可能ＣＰＵ、利用可能メモリ（容）量等である。すなわち、アーキテクチャは、計算機資源の１種である。
【００３４】
次に、第２の実施の形態の動作について、図面を参照して説明する。
【００３５】
図４は、第２の実施の形態の動作を示す動作説明図である。図４を参照すると、主処理部１１０が、ソースプログラムを受け取ると、コンパイル制御部３００は、実行可能プログラムの生成をコンパイル実行部２００に指示する（ステップＳ１１）。
【００３６】
このとき、コンパイル制御部３００は、コンパイル実行部２００に対し、情報処理システム１００に存在するアーキテクチャを指定する。
【００３７】
次に、コンパイル実行部２００は、ソースプログラムをコンパイルし、利用可能なアーキテクチャがｍ種であれば、それぞれに対応した実行可能プログラム４０１〜４０ｍを生成し、実行プログラム格納部４００に格納する（ステップＳ１２）。
【００３８】
次に、コンパイル制御部３００は、利用ＣＰＵ数、割り付けポリシー等を変えてそれぞれの実行可能プログラム４０１〜４０ｍを実行することを実行情報収集部５００に指示する（ステップＳ１３）。
【００３９】
たとえば、具体的には、コンパイル制御部３００は、実行パラメータの利用ＣＰＵ数を、２、４、８、…と変化させることを指示する。
【００４０】
また、コンパイル制御部３００は、実行パラメータの割り付けポリシー（たとえば、複数のタスクを異なるＣＰＵに割り付けるのか、なるべく同一のＣＰＵに割り付けるのか等）を変化させることを指示する。たとえば、１つのＣＰＵが複数のタスクを同時に実行するハードウェア機能を備える場合、同一ＣＰＵに複数のタスクが割り付けられると、データの再利用の可能性が高くなり性能向上する場合がある。
【００４１】
すなわち、コンパイル制御部３００は、実行パラメータ（アーキテクチャ、利用ＣＰＵ数、割り付けポリシー）を変化させて、それぞれの実行可能プログラム４０１〜４０ｍを実行情報収集部５００に実行させる。
【００４２】
また、コンパイル制御部３００は、事前に設定された１つの入力データセットを使用することを実行情報収集部５００に指示する。
【００４３】
次に、実行情報収集部５００は、コンパイル制御部３００の指示に基づいて、指示された入力データセットを使用し、実行パラメータを変化させて、それぞれの実行可能プログラム４０１〜４０ｍを実行する（ステップＳ１４）。
【００４４】
そして、実行情報収集部５００は、実行可能プログラム４０１〜４０ｍの実行終了時ごとに、それぞれ、プログラム実行情報６０１〜６０ｎを実行情報格納部６００に格納する（ステップＳ１５）。
【００４５】
プログラム実行情報６０１〜６０ｎは、プログラム識別子（ソースプログラム名、および、実行可能プログラム名）、アーキテクチャ、利用ＣＰＵ数、利用メモリ量、割り付けポリシー、および、実行時間を含む。
【００４６】
ここで、利用ＣＰＵ数は、プログラム実行情報６０１〜６０ｎの実行時に、実際に使用されたＣＰＵの数であり、利用メモリ量は、実際に使用されたメモリ（容）量であり、実行時間は、実行に要した時間である。実行結果として許容できない実行性能や結果が得られた場合は、実行情報格納部６００に格納が行われない構成が可能である。
【００４７】
次に、スケジューリングの動作について説明する。図５は、第２の実施の形態のスケジューリング部１２０の動作を示す動作説明図である。図５を参照すると、スケジューリング部１２０が、実行リクエストを受け取る（ステップＳ２１）。
【００４８】
実行リクエストは、少なくとも、ソースプログラム名（たとえば、ソースプログラム名＝Ｗ）、入力データセット（実行可能プログラム４０１〜４０ｍを実行させるために必要なデータ）を含む。入力データセットは、入力データセットを特定する情報でもよい。また、実行リクエストは、利用する計算機資源（アーキテクチャ、ＣＰＵ数、メモリ（容）量）を含むことが可能である。
【００４９】
次に、プログラム選択部１２１は、スケジューリングテーブル１２３を検索し、最も早い時間帯の計算機資源（たとえば、ＣＰＵ）、および、時間の空きを探す（ステップＳ２２）。
【００５０】
図６は、スケジューリングテーブル１２３の一例の概念を示す説明図である。図６において、縦軸は、４台の個々のＣＰＵを示す。横軸は、時間を示す。横軸の幅は、単位時間に相当する。Ａ、Ｂ、Ｃ、Ｄは、空きではない登録済みの部分である。
【００５１】
図６を参照すると、Ｘ１が、最も早い時間帯の計算機資源の空きであり、空きＣＰＵは１台（ＣＰＵ１）、空き時間は１［単位時間］である。Ｘ２は、２番目に早い時間帯の計算機資源の空きであり、空きＣＰＵは２台（ＣＰＵ３、ＣＰＵ４）、空き時間は２［単位時間］である。Ｘ３は、３番目に早い時間帯の計算機資源の空きであり、空きＣＰＵは４台（ＣＰＵ１〜ＣＰＵ４）、空き時間は１［単位時間］である。ここで、ＣＰＵ１〜ＣＰＵ４は、すべて同種（たとえば、アーキテクチャ＝Ｚに対応）である。
【００５２】
たとえば、実際のスケジューリングテーブル１２３に含まれる「ＣＰＵ１」という情報は、ＣＰＵの種別、および、番号を特定できる情報である。
【００５３】
次に、プログラム選択部１２１は、探した空きＸ１に適合する実行パターン、および、実行時間を含むプログラム実行情報６０１〜６０ｎが存在するかどうかを検索する（ステップＳ２３）。すなわち、プログラム選択部１２１は、計算機資源の空きＸ１で、実行可能であることに対応するプログラム実行情報６０１〜６０ｎを探す（換言すると、実行可能な実行パターンの存在を探す）。
【００５４】
ここで、プログラム実行情報６０１〜６０ｎの中に、実行リクエストで指定されたソースプログラム（ソースプログラム名＝Ｗ）に対応するものとして２つのプログラム実行情報６０ｉ、６０ｊが存在する場合について説明する。
【００５５】
図６において、プログラム実行情報６０ｉは、「ソースプログラム名＝Ｗ、アーキテクチャ＝Ｚ、利用ＣＰＵ数＝１、実行時間＝４」を含む。プログラム実行情報６０ｊは、「ソースプログラム名＝Ｗ、アーキテクチャ＝Ｚ、利用ＣＰＵ数＝２、実行時間＝１．８」を含む。プログラム実行情報６０ｋは、「ソースプログラム名＝Ｗ、アーキテクチャ＝Ｚ、利用ＣＰＵ数＝２、実行時間＝２」を含む。プログラム実行情報６０ｊとプログラム実行情報６０ｋとでは、たとえば、割り付けポリシーが異なる。
【００５６】
したがって、空きＸ１（空きＣＰＵは１台（ＣＰＵ１）、空き時間は１［単位時間］）では、プログラム実行情報６０ｉ、６０ｊ、６０ｋに対応する計算機資源が不足している。すなわち、実行可能な実行パターンは、存在しないので（ステップＳ２４／Ｎ）、プログラム選択部１２１は、次に早い時間帯の空き（ここでは、空きＸ２）を探す（ステップＳ２５）。
【００５７】
そして、プログラム選択部１２１は、空きＸ２に適合する実行パターン、および、実行時間を含むプログラム実行情報６０１〜６０ｎが存在するかどうかを検索する（ステップＳ２３）。
【００５８】
空きＸ２（空きＣＰＵは２台（ＣＰＵ３、ＣＰＵ４）、空き時間は２［単位時間］）では、プログラム実行情報６０ｊ、６０ｋに対応する計算機資源が足りている。すなわち、実行可能な実行パターンは、存在する（ステップＳ２４／Ｙ）。
【００５９】
次に、プログラム選択部１２１は、探し出した実行パターンに対応するプログラム実行情報６０ｊ、６０ｋを調べ、実行時間の短い実行パターンを選択する（ステップＳ２６）。たとえば、プログラム実行情報６０ｊの方が、実行時間の短いと、プログラム選択部１２１は、プログラム実行情報６０ｊに対応する実行パターンを選択する。
【００６０】
次に、プログラム選択部１２１は、選択した実行パターンをスケジューリングテーブル１２３の空きＸ２の部分に登録する（ステップＳ２７）。ここで、実行パターンは、実行可能プログラム４０１〜４０ｍのうちの１つ（プログラム実行情報６０ｊに対応するもの）、および、実行パラメータ（アーキテクチャ、利用ＣＰＵ数、割り付けポリシー）の組である。
【００６１】
そして、その後、実行管理部１２２は、スケジューリングテーブル１２３に基づいて、Ｘ２に登録された実行パターンを実行する（ステップＳ２８）。すなわち、実行管理部１２２は、プログラム実行情報６０ｊに対応する実行可能プログラム４０１〜４０ｍの１つを、登録された実行パラメータで実行する。
【００６２】
次に、別の例の動作（異なるアーキテクチャに対応する動作）について説明する。図７は、スケジューリングテーブル１２３の一例の概念を示す説明図である。図７において、縦軸は、２台の個々のＣＰＵ（ＣＰＵ１、ＣＰＵ２）、および、コプロセッサを示す。Ａ、Ｂ、Ｃは、空きではない登録済みの部分である。
【００６３】
また、アーキテクチャＹ１は、「ＣＰＵ種別＝Ｚ、コプロセッサ＝無し」である。アーキテクチャＹ２は、「ＣＰＵ種別＝Ｚ、コプロセッサ＝有り」である。ＣＰＵ１、ＣＰＵ２の種別は、Ｚである。
【００６４】
図７を参照すると、空きＸ４が、最も早い時間帯の計算機資源の空きであり、空きＣＰＵは１台（ＣＰＵ２）、空きコプロセッサは１台、空き時間は２［単位時間］である。また、プログラム実行情報６０ｉは、「ソースプログラム名＝Ｗ、利用ＣＰＵ数＝２、アーキテクチャ＝Ｙ１（ＣＰＵ種別＝Ｚ、コプロセッサ＝無し）、実行時間＝２」を含む。プログラム実行情報６０ｊは、「ソースプログラム名＝Ｗ、利用ＣＰＵ数＝１、アーキテクチャ＝Ｙ２（ＣＰＵ種別＝Ｚ、コプロセッサ＝有り）、実行時間＝２」を含む。
【００６５】
よって、プログラム実行情報６０ｉに対応する実行パターンは、空きＸ４に適合しない（ＣＰＵが１台しか空いていないので）。そして、プログラム実行情報６０ｊに対応する実行パターンは、空きＸ４に適する（１台のＣＰＵとコプロセッサが空いているので）。
【００６６】
したがって、プログラム実行情報６０ｊに対応する実行パターンが、スケジューリングテーブル１２３に登録され、実行される。
【００６７】
次に、第２の実施の形態の効果について説明する。
【００６８】
第２の実施の形態は、第１の実施の形態の一例なので、第１の実施の形態と同一の効果を持つ。
【００６９】
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【００７０】
図８は、第３の実施の形態の構成を示すブロック図である。図８を参照すると、第３の実施の形態は、第２の実施の形態の一例である。主処理部１１０のコンパイル制御部３００は、複数の入力データセットを受け取る。
【００７１】
一般に、プログラムは、入力データセットのサイズやデータ特性によって実行時間が変わる場合がある。また、入力データセットによって適する割り付けポリシー、または、ＣＰＵの台数が変わる場合がある。
【００７２】
たとえば、入力データセットのサイズに応じて、適するＣＰＵの台数が変化する場合がある。小さいデータセットサイズで多くの台数のＣＰＵを利用すると、ＣＰＵ当たりの処理量が小さくなり、オーバーヘッドのために性能が出ない場合がある。この場合は、利用ＣＰＵ数を減らし、計算機資源が無駄にならないようにすることが必要である。第３の実施の形態は、これらを考慮した構成である。
【００７３】
次に、第３の実施の形態の動作について説明する。
【００７４】
コンパイル制御部３００は、利用ＣＰＵ数、割り付けポリシー、および、入力データセット（受け取った）を変えてそれぞれの実行可能プログラム４０１〜４０ｍを実行することを実行情報収集部５００に指示する。すなわち、実行パラメータは、入力データセットを含む。
【００７５】
実行情報収集部５００は、コンパイル制御部３００の指示に基づいて、実行パラメータ（入力データセットを含む）を変化させて、それぞれの実行可能プログラム４０１〜４０ｍを実行する。そして、実行情報収集部５００は、実行可能プログラム４０１〜４０ｍの実行終了時ごとに、それぞれ、入力データセットを識別する入力データセット名を含むプログラム実行情報６０１〜６０ｎを実行情報格納部６００に格納する。
【００７６】
次に、第３の実施の形態の効果について説明する。
【００７７】
第３の実施の形態は、実行パラメータが入力データを含むので、第２の実施の形態よりも、適した実行パターンの実行が可能になるという効果を持つ。すなわち、第３の実施の形態は、第２の実施の形態に比べて、性能が向上する。
【００７８】
上記の実施の形態の一部、または、全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７９】
［付記１］
ソースプログラムから実行可能プログラムを生成し、実行パラメータを変えて前記実行可能プログラムを実行し、前記実行パラメータ、および、実行時間を含むプログラム実行情報を生成する主処理部と、
スケジューリングに際し、計算機資源の空きを調べ、前記プログラム実行情報に基づいて、その計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組を選択し、スケジューリングテーブルに登録するスケジューリング部と、
を含むことを特徴とする情報処理システム。
【００８０】
［付記２］
前記スケジューリング部は、順次、速い時間帯の計算機資源の空きから調べることを特徴とする付記１の情報処理システム。
【００８１】
［付記３］
前記スケジューリング部は、ある計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組がある場合、前記実行時間の短い前記実行可能プログラム、および、前記実行パラメータの組を選択することを特徴とする付記２の情報処理システム。
【００８２】
［付記４］
前記主処理部は、アーキテクチャのそれぞれに対応する前記実行可能プログラムを生成することを特徴とする付記１、２、または、３の情報処理システム。
【００８３】
［付記５］
前記主処理部は、前記実行パラメータとして、利用ＣＰＵ数、または、割り付けポリシーを使用することを特徴とする付記１、２、または、３の情報処理システム。
【００８４】
［付記６］
前記主処理部は、前記実行パラメータとして、前記アーキテクチャ、利用ＣＰＵ数、または、割り付けポリシーを使用することを特徴とする付記４の情報処理システム。
【００８５】
［付記７］
前記主処理部は、複数の入力データセットを受け取り、入力データセットを変えて前記実行可能プログラムを実行し、前記入力データセットを前記実行パラメータとして前記プログラム実行情報に含ませることを特徴とする付記１、２、３、４、５、または、６の情報処理システム。
【００８６】
［付記８］
ソースプログラムから実行可能プログラムを生成し、実行パラメータを変えて前記実行可能プログラムを実行し、前記実行パラメータ、および、実行時間を含むプログラム実行情報を生成し、
スケジューリングに際し、計算機資源の空きを調べ、前記プログラム実行情報に基づいて、その計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組を選択し、スケジューリングテーブルに登録する、
ことを特徴とする情報処理方法。
【００８７】
［付記９］
順次、速い時間帯の計算機資源の空きから調べることを特徴とする付記８の情報処理方法。
【００８８】
［付記１０］
ある計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組がある場合、前記実行時間の短い前記実行可能プログラム、および、前記実行パラメータの組を選択することを特徴とする付記９の情報処理方法。
【００８９】
［付記１１］
アーキテクチャのそれぞれに対応する前記実行可能プログラムを生成することを特徴とする付記８、９、または、１０の情報処理方法。
【００９０】
［付記１２］
前記実行パラメータとして、利用ＣＰＵ数、または、割り付けポリシーを使用することを特徴とする付記８、９、または、１０の情報処理方法。
【００９１】
［付記１３］
前記実行パラメータとして、前記アーキテクチャ、利用ＣＰＵ数、または、割り付けポリシーを使用することを特徴とする付記１１の情報処理方法。
【００９２】
［付記１４］
複数の入力データセットを受け取り、入力データセットを変えて前記実行可能プログラムを実行し、前記入力データセットを前記実行パラメータとして前記プログラム実行情報に含ませることを特徴とする付記８、９、１０、１１、１２、または、１３の情報処理方法。
【００９３】
［付記１５］
ソースプログラムから実行可能プログラムを生成し、実行パラメータを変えて前記実行可能プログラムを実行し、前記実行パラメータ、および、実行時間を含むプログラム実行情報を生成する処理と、
スケジューリングに際し、計算機資源の空きを調べ、前記プログラム実行情報に基づいて、その計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組を選択し、スケジューリングテーブルに登録する処理と、
をコンピュータに実行させることを特徴とするスケジューリングプログラム。
【００９４】
［付記１６］
順次、速い時間帯の計算機資源の空きから調べる処理をコンピュータに実行させることを特徴とする付記８のスケジューリングプログラム。
【００９５】
［付記１７］
ある計算機資源の空きで実行可能な前記実行可能プログラム、および、前記実行パラメータの組がある場合、前記実行時間の短い前記実行可能プログラム、および、前記実行パラメータの組を選択する処理をコンピュータに実行させることを特徴とする付記９のスケジューリングプログラム。
【００９６】
［付記１８］
アーキテクチャのそれぞれに対応する前記実行可能プログラムを生成する処理をコンピュータに実行させることを特徴とする付記８、９、または、１０のスケジューリングプログラム。
【００９７】
［付記１９］
前記実行パラメータとして、利用ＣＰＵ数、または、割り付けポリシーを使用する処理をコンピュータに実行させることを特徴とする付記８、９、または、１０のスケジューリングプログラム。
【００９８】
［付記２０］
前記実行パラメータとして、前記アーキテクチャ、利用ＣＰＵ数、または、割り付けポリシーを使用する処理をコンピュータに実行させることを特徴とする付記１１のスケジューリングプログラム。
【００９９】
［付記２１］
複数の入力データセットを受け取り、入力データセットを変えて前記実行可能プログラムを実行し、前記入力データセットを前記実行パラメータとして前記プログラム実行情報に含ませる処理をコンピュータに実行させることを特徴とする付記８、９、１０、１１、１２、または、１３のスケジューリングプログラム。
【符号の説明】
【０１００】
１００    情報処理システム
１１０    主処理部
１２０    スケジューリング部
１２１    プログラム選択部
１２２    実行管理部
１２３    スケジューリングテーブル
２００    コンパイル実行部
３００    コンパイル制御部
４００    実行プログラム格納部
４０１    実行可能プログラム
４０２    実行可能プログラム
４０ｍ    実行可能プログラム
５００    実行情報収集部
６００    実行情報格納部
６０１    プログラム実行情報
６０２    プログラム実行情報
６０ｉ    プログラム実行情報
６０ｊ    プログラム実行情報
６０ｋ    プログラム実行情報
６０ｎ    プログラム実行情報
【図１】
2015166961.tif 000003
【図２】
2015166961.tif 000004
【図３】
2015166961.tif 000005
【図４】
2015166961.tif 000006
【図５】
2015166961.tif 000007
【図６】
2015166961.tif 000008
【図７】
2015166961.tif 000009
【図８】
2015166961.tif 000010