JP5585330B2 - Information processing apparatus, information processing method, and computer program - Google Patents
Information processing apparatus, information processing method, and computer program Download PDFInfo
- Publication number
- JP5585330B2 JP5585330B2 JP2010204441A JP2010204441A JP5585330B2 JP 5585330 B2 JP5585330 B2 JP 5585330B2 JP 2010204441 A JP2010204441 A JP 2010204441A JP 2010204441 A JP2010204441 A JP 2010204441A JP 5585330 B2 JP5585330 B2 JP 5585330B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- priority
- data
- unit
- cache
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、キャッシュに保持するデータを管理する情報処理装置に関する。 The present invention relates to an information processing apparatus that manages data held in a cache.
一般に、情報処理装置は、処理を行う際に使用するデータを、該データの格納元の記憶装置から読み出した際に、より高速な記憶装置であるキャッシュにも保持しておく。これにより、情報処理装置は、次回に同じデータを読み出す処理の高速化を図っている。通常、キャッシュは、格納元の記憶装置より小容量である。このため、情報処理装置は、キャッシュが一杯になると、新たなデータを保持する領域を確保するため、既にキャッシュに保持しているデータの一部を選択して削除する。なお、キャッシュに保持しているデータの一部を選択して削除することを、以降、キャッシュ削除という。 In general, when an information processing apparatus reads data used for processing from a storage device that stores the data, the information processing apparatus also holds the data in a cache that is a faster storage device. As a result, the information processing apparatus speeds up the process of reading the same data next time. Usually, the cache has a smaller capacity than the storage device of the storage source. For this reason, when the cache is full, the information processing apparatus selects and deletes a part of the data already held in the cache in order to secure an area for holding new data. Note that selecting and deleting a part of data held in the cache is hereinafter referred to as cache deletion.
キャッシュ削除のアルゴリズムとして代表的なものに、最近最も使われていないデータを最初に削除するLeast Recently Used(以降、LRUと記載する)や、頻繁には使われていないデータを最初に削除するLeast Frequently Used(以降、LFUと記載する)等がある。これらのアルゴリズムは、キャッシュ内のデータの過去の使用状況に基づいてキャッシュ削除を行うものである。 Typical cache deletion algorithms include Least Recently Used (hereinafter referred to as LRU), which deletes the least recently used data first, and Least, which deletes frequently unused data first. Frequently Used (hereinafter referred to as LFU). These algorithms perform cache deletion based on past usage of data in the cache.
このようなキャッシュ削除を行う情報処理装置として、キャッシュ内のデータの将来の使用時期に基づいてキャッシュ削除を行うものがある(例えば、特許文献1参照)。 As an information processing apparatus that performs such cache deletion, there is an information processing apparatus that performs cache deletion based on the future use time of data in the cache (for example, see Patent Document 1).
この特許文献1に記載された情報処理装置は、複数のデータブロックからなるフェッチ単位を1度に読み出してキャッシュに保持する。また、この情報処理装置は、プログラムの実行中に必要なデータブロックの使用時期を予測する。そして、この情報処理装置は、同一のフェッチ単位に含まれる第1のデータブロックおよび第2のデータブロックについて、第1のデータブロックの次回の使用時期より第2のデータブロックの次回の使用時期が早ければ、第1のデータブロックをキャッシュから削除する。
The information processing apparatus described in
このように、データの将来の使用時期に基づいてキャッシュ削除を行う情報処理装置は、スケジューリングされたジョブの実行に適している。なぜなら、スケジューリングされたジョブで用いられるデータは、ジョブのスケジュールに基づいて将来の使用時期を予測可能だからである。 As described above, an information processing apparatus that performs cache deletion based on the future use time of data is suitable for execution of a scheduled job. This is because the data used in the scheduled job can predict the future use time based on the job schedule.
しかしながら、特許文献1に記載された情報処理装置は、あるジョブがスケジュールどおりに実行されず遅延している場合でも、そのジョブで用いられるデータの将来の使用時期より他のジョブで用いられるデータの将来の使用時期が早ければ、遅延しているジョブのデータをキャッシュから削除してしまうことがある。
However, the information processing apparatus described in
また、特許文献1に記載された情報処理装置は、あるジョブがスケジュールより早く進捗しておりスケジュールに余裕がある場合でも、そのジョブに用いられるデータの将来の使用時期より他のジョブで用いられるデータの将来の使用時期が後であれば、他のジョブのデータをキャッシュから削除してしまうことがある。すなわち、この情報処理装置は、スケジュールに余裕があるジョブのデータを優先的にキャッシュから削除することができない。
Further, the information processing apparatus described in
同様に、LRUやLFUなどのアルゴリズムを採用して過去のデータ使用状況に基づいてキャッシュ削除を行う情報処理装置も、遅延しているジョブで用いられるデータが最近使われていないか最近の使用頻度が低ければ、そのデータをキャッシュから削除してしまうことがある。また、このような情報処理装置は、スケジュールに余裕があるジョブで用いられるデータを優先的にキャッシュから削除することができない。 Similarly, an information processing apparatus that adopts an algorithm such as LRU or LFU and performs cache deletion based on past data usage status also determines whether data used in a delayed job has been recently used or has recently been used. If it is low, the data may be deleted from the cache. Also, such an information processing apparatus cannot preferentially delete data used in a job with a sufficient schedule from the cache.
このように、特許文献1に記載された情報処理装置、および、過去のデータ使用状況に基づいてキャッシュ削除を行う情報処理装置は、スケジュールされたジョブの実行状況に応じた柔軟なキャッシュ管理を行うことができないという課題があった。
As described above, the information processing apparatus described in
本発明は、上述の課題を解決するためになされたもので、スケジュールされたジョブの実行状況に応じた柔軟なキャッシュ管理を行う情報処理装置を提供することを目的とする。 The present invention has been made to solve the above-described problems, and an object thereof is to provide an information processing apparatus that performs flexible cache management according to the execution status of a scheduled job.
本発明の情報処理装置は、ジョブを実行するスケジュールを表す情報を格納したスケジュール格納部と、前記ジョブで用いられる各データの将来の使用時期を前記スケジュールに基づいてそれぞれ予測する将来使用時期予測部と、前記ジョブを前記スケジュールに基づいて実行するジョブ実行部と、前記ジョブ実行部による前記ジョブの実行状況を表す実行状況情報を取得する実行状況取得部と、前記ジョブ実行部によって記憶装置から読み込まれるデータを保持するキャッシュと、前記キャッシュに保持されるデータの優先度を、該データの前記将来の使用時期に基づいて算出する優先度算出アルゴリズムと、前記実行状況情報に対する条件と、を対応付けた情報を、前記ジョブ毎に格納した優先度算出アルゴリズム格納部と、前記実行状況取得部によって取得された実行状況情報が満たす条件に対応付けられた優先度算出アルゴリズムを用いて、前記キャッシュに保持されたデータに優先度を算出して付与する優先度付与部と、前記キャッシュに保持されているデータのうち前記優先度に基づいて選択したデータを前記キャッシュから削除するキャッシュ制御部と、を備える。 An information processing apparatus according to the present invention includes a schedule storage unit that stores information representing a schedule for executing a job, and a future use time prediction unit that predicts a future use time of each data used in the job based on the schedule. A job execution unit that executes the job based on the schedule, an execution status acquisition unit that acquires execution status information indicating an execution status of the job by the job execution unit, and is read from the storage device by the job execution unit A cache that holds data, a priority calculation algorithm that calculates the priority of the data held in the cache based on the future use time of the data, and a condition for the execution status information The priority calculation algorithm storage unit storing the information for each job, and the execution status Using a priority calculation algorithm associated with a condition that the execution status information acquired by the acquisition unit satisfies, a priority giving unit that calculates and assigns priority to the data held in the cache; and A cache control unit that deletes, from the cache, data selected based on the priority among the stored data.
また、本発明の情報処理方法は、ジョブを実行するスケジュールを表す情報を格納したスケジュール格納部と、前記ジョブが実行される際に記憶装置から読み込まれるデータを保持するキャッシュと、を備えた情報処理装置を用いて、前記ジョブで用いられる各データの将来の使用時期を前記スケジュールに基づいてそれぞれ予測し、前記キャッシュ内のデータの優先度を、該データの前記将来の使用時期に基づいて算出する優先度算出アルゴリズムと、前記実行状況情報に対する条件と、を対応付けた情報を、前記ジョブ毎に優先度算出アルゴリズム格納部に格納しておき、前記ジョブを前記スケジュールに基づいて実行し、前記ジョブの実行状況を表す実行状況情報を取得し、前記実行状況情報が満たす条件に対応付けられた優先度算出アルゴリズムを用いて、前記キャッシュに保持されたデータに優先度を算出して付与し、前記キャッシュに保持されているデータのうち前記優先度に基づいて選択したデータを前記キャッシュから削除する。 The information processing method of the present invention is an information including a schedule storage unit that stores information representing a schedule for executing a job, and a cache that holds data read from a storage device when the job is executed. A processing device is used to predict the future use time of each data used in the job based on the schedule, and the priority of the data in the cache is calculated based on the future use time of the data Information that associates the priority calculation algorithm with the condition for the execution status information is stored in the priority calculation algorithm storage unit for each job, and the job is executed based on the schedule, Obtains execution status information representing the job execution status, and calculates the priority associated with the conditions satisfied by the execution status information Using algorithms, the grant to calculate a priority to the data held in the cache, deleting the data selected based on the priority of the data held in the cache from the cache.
また、本発明のコンピュータ・プログラムは、ジョブを実行するスケジュールを表す情報を格納したスケジュール格納部と、前記ジョブが実行される際に記憶装置から読み込まれるデータを保持するキャッシュと、を備えた情報処理装置に、前記ジョブで用いられる各データの将来の使用時期を前記スケジュールに基づいてそれぞれ予測する将来使用時期予測ステップと、前記キャッシュ内のデータの優先度を、前記各データの前記将来の使用時期に基づいて算出する優先度算出アルゴリズムと、前記実行状況情報に対する条件と、を対応付けた情報を、前記ジョブ毎に優先度算出アルゴリズム格納部に格納しておく優先度算出アルゴリズム格納ステップと、前記ジョブを前記スケジュールに基づいて実行するジョブ実行ステップと、前記ジョブの実行状況を表す実行状況情報を取得する実行状況取得ステップと、前記実行状況情報が満たす条件に対応付けられた優先度算出アルゴリズムを用いて、前記キャッシュに保持されたデータに優先度を算出して付与する優先度付与ステップと、前記キャッシュに保持されているデータのうち前記優先度に基づいて選択したデータを前記キャッシュから削除するキャッシュ制御ステップと、を実行させる。 The computer program according to the present invention is an information including a schedule storage unit that stores information representing a schedule for executing a job, and a cache that holds data read from a storage device when the job is executed. The processing device predicts the future use time of each data used in the job based on the schedule, the future use time predicting step, the priority of the data in the cache, and the future use of each data. A priority calculation algorithm storage step of storing information associating a priority calculation algorithm calculated based on time with a condition for the execution status information in a priority calculation algorithm storage unit for each job; A job execution step for executing the job based on the schedule; Priority is calculated for the data held in the cache by using an execution status acquisition step for acquiring execution status information representing the execution status of the cache and a priority calculation algorithm associated with a condition satisfied by the execution status information A priority assigning step to be granted, and a cache control step of deleting data selected based on the priority from the data held in the cache from the cache.
本発明は、スケジュールされたジョブの実行状況に応じた柔軟なキャッシュ管理を行う情報処理装置を提供することができる。 The present invention can provide an information processing apparatus that performs flexible cache management according to the execution status of a scheduled job.
以下、本発明の各実施の形態について、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(第1の実施の形態)
本発明の第1の実施の形態としての情報処理装置1のハードウェア構成を図1に示す。図1において、情報処理装置1は、CPU(Central Processing Unit)1001と、RAM(Random Access Memory)1002と、ROM(Read Only Memory)1003と、ハードディスク等の記憶装置1004と、を備えたコンピュータ装置によって構成されている。
(First embodiment)
The hardware configuration of the
次に、情報処理装置1の機能ブロック構成を図2に示す。図2において、情報処理装置1は、ジョブ格納部101と、スケジュール格納部102と、将来使用時期予測部103と、ジョブ実行部104と、実行状況取得部105と、キャッシュ106と、優先度算出アルゴリズム格納部107と、優先度付与部108と、キャッシュ制御部109とを備えている。また、情報処理装置1は、データ格納部9に接続されている。
Next, the functional block configuration of the
ここで、ジョブ格納部101と、スケジュール格納部102と、優先度算出アルゴリズム格納部107とは、記憶装置1004によって構成されている。また、ジョブ実行部104と、実行状況取得部105と、優先度付与部108と、キャッシュ制御部109とは、ROM1003または記憶装置1004に記憶されたコンピュータ・プログラムをRAM1002に読み込んで実行するCPU1001によって構成されている。また、将来使用時期予測部103は、ROM1003または記憶装置1004に記憶されたコンピュータ・プログラムをRAM1002に読み込んで実行するCPU1001、および、記憶装置1004によって構成されている。また、キャッシュ106は、RAM1002によって構成されている。ただし、情報処理装置1の各機能ブロックを構成するハードウェア構成は、上述の構成に限定されない。
Here, the
なお、データ格納部9は、記憶装置1004によって構成されていてもよいし、情報処理装置1を構成するコンピュータ装置に接続された外部の記憶装置によって構成されていてもよい。
The data storage unit 9 may be configured by the
ジョブ格納部101は、ジョブを表す情報を格納している。ここで、ジョブとは、CPU1001によって実行される一連の処理を表す。ジョブを表す情報は、ジョブ実行部104によって実行される。なお、ジョブ格納部101は、本発明におけるジョブ実行部の一部の一実施形態を構成する。
The
スケジュール格納部102は、ジョブ格納部101に格納されたジョブを実行するスケジュールを表す情報を格納している。例えば、スケジュール格納部102は、複数のジョブの実行順序、ならびに、各ジョブの開始時刻および終了期限等からなるバッチ処理情報を、スケジュールを表す情報として格納していてもよい。なお、スケジュール格納部102に格納される情報は、例えば、図示しないジョブスケジューラによって生成されたものであってもよい。
The
将来使用時期予測部103は、ジョブで用いられる各データの将来の使用時期を、スケジュール格納部102およびジョブ格納部101に基づいて予測する。
The future use
例えば、ジョブAの開始時刻が毎日0時0分0秒にスケジュールされており、ジョブAが実行開始時点から1秒後にa1というデータを用いるよう構成されている場合を想定する。この場合、将来使用時期予測部103は、データa1の将来の使用時期は翌0時0分1秒であると予測する。また、ジョブBの開始時刻が毎日0時0分0秒にスケジュールされており、ジョブBが実行開始時点から2秒後にデータa1を用いるよう構成されている場合を想定する。この場合、将来使用時期予測部103は、データa1の将来の使用時期として、翌0時0分2秒をさらに予測する。
For example, it is assumed that the start time of job A is scheduled at 00: 00: 00: 00 every day, and job A is configured to use data a1 one second after the execution start time. In this case, the future use
また、将来使用時期予測部103は、予測した各データの将来の使用時期を将来使用時期テーブル113として記憶装置1004に記憶しておく。記憶装置1004に記憶された将来使用時期テーブル113の一例を図3に示す。図3は、上述のデータa1に関する将来の使用時期を表している。図3において、データa1は、翌0時0分1秒にジョブAによって使用され、翌0時0分2秒にジョブBによって使用されると予測されている。
Further, the future use
なお、図3の例では、スケジュール格納部102が、毎日定刻にジョブAおよびジョブBを開始するスケジュールを格納していることを想定している。このため、開始時刻および将来の使用時期は、時刻のみで表現されているが、これらの情報は、日時によって表されていてもよい。また、スケジュール格納部102は、毎日実行されるジョブのスケジュールに限らず、その他の所定間隔で繰り返されるジョブのスケジュールや、指定された日時に1度だけ実行されるジョブのスケジュールを含んでいてもよい。
In the example of FIG. 3, it is assumed that the
ジョブ実行部104は、スケジュール格納部102に格納されたスケジュールに基づいて、ジョブ格納部101に格納されたジョブを実行する。また、ジョブ実行部104は、ジョブで用いるデータを、データ格納部9から読み込んでキャッシュ106に保持する。また、ジョブ実行部104は、ジョブで用いるデータが既にキャッシュ106に保持されていれば、データ格納部9にアクセスすることなくキャッシュ106から読み込む。
The
実行状況取得部105は、ジョブ実行部104によるジョブの実行状況を表す実行状況情報を取得する。例えば、実行状況取得部105は、各ジョブの終了期限と現在時刻との差分を計算することにより、終了期限までの残り時間を実行状況情報として取得してもよい。あるいは、実行状況取得部105は、各ジョブに設定された開始時刻と、実際にそのジョブが開始された時刻との差分を実行状況情報として取得してもよい。
The execution
キャッシュ106は、ジョブ実行部104によってデータ格納部9から読み込まれたデータを保持する。キャッシュ106は、データ格納部9よりも高速なRAM1002によって構成される。これにより、ジョブ実行部104は、いったんデータ格納部9から読み込んだデータを再度利用する際の処理を高速化する。
The
また、キャッシュ106は、保持可能なデータ量に制限を有している。すなわち、キャッシュ106は、ジョブ実行部104によって用いられる全てのデータを保持する容量を有していない場合がある。そこで、キャッシュ106が一杯になると、キャッシュ106内の一部のデータは、後述のキャッシュ制御部109によって選択されて削除される。
Further, the
また、図4に一例を示すように、キャッシュ106は、データと、優先度とを対応付けて保持可能である。この優先度は、後述の優先度付与部108によってデータ毎に付与される。また、この優先度は、後述のキャッシュ制御部109によって、キャッシュ106から削除対象のデータが選択される際に指標として用いられるものである。本実施例では、優先度が低いほど、削除対象として選択されやすいことを表している。
Further, as shown in FIG. 4, the
優先度算出アルゴリズム格納部107は、キャッシュ106内のデータに付与する優先度をそのデータの将来の使用時期に基づいて算出する優先度算出アルゴリズムと、実行状況情報に対する条件とを対応付けた情報を、ジョブ毎に格納している。
The priority calculation
例えば、図5は、ジョブAに関する優先度算出アルゴリズムの一例を示している。図5において、ジョブAでは、終了期限までの残り時間が30分以上という条件に対して、f(t)=−t+10という関数が優先度算出アルゴリズムとして設定されている。また、ジョブAでは、終了期限までの残り時間が30分未満という条件に対して、f(t)=−t+11という関数が優先度算出アルゴリズムとして設定されている。ここで、tは、優先度を算出する時点の時刻Tnowから、データiの将来の使用時期Tiまでの時間を表している。すなわち、t=Ti−Tnowである。 For example, FIG. 5 shows an example of a priority calculation algorithm for job A. In FIG. 5, in job A, a function f (t) = − t + 10 is set as a priority calculation algorithm for the condition that the remaining time until the end deadline is 30 minutes or more. For job A, a function f (t) = − t + 11 is set as a priority calculation algorithm for the condition that the remaining time until the end deadline is less than 30 minutes. Here, t represents the time from the time Tnow when the priority is calculated to the future use timing Ti of the data i. That is, t = Ti-Tnow.
図6に、優先度算出アルゴリズムの一例である「f(t)=−t+10」という関数のグラフを示す。図6において、縦軸は優先度f(t)、横軸は時間t=Ti−Tnowである。図6の優先度算出アルゴリズムによれば、データは、将来の使用時期が後であるほど(すなわち、tが大きいほど)優先度が低くなり、キャッシュ106から削除されやすくなることがわかる。
FIG. 6 shows a graph of a function “f (t) = − t + 10”, which is an example of a priority calculation algorithm. In FIG. 6, the vertical axis represents priority f (t), and the horizontal axis represents time t = Ti-Tnow. According to the priority calculation algorithm of FIG. 6, it can be seen that the priority of data becomes lower as the future use time is later (that is, as t becomes larger), and the data is more easily deleted from the
なお、優先度算出アルゴリズム格納部107は、実行状況情報に対する条件および優先度算出アルゴリズムを入力装置を介して取得してもよい。これにより、優先度算出アルゴリズム格納部107は、システム管理者等によって設定された内容を格納することができる。
Note that the priority calculation
優先度付与部108は、実行状況取得部105によって取得された各ジョブの実行状況が満たす条件に対応付けられた優先度算出アルゴリズムを取得する。そして、優先度付与部108は、ジョブ毎に取得した優先度算出アルゴリズムを用いて、キャッシュ106に保持されたデータの優先度を算出して付与する。
The
具体的には、優先度付与部108は、キャッシュ106に保持されたデータの将来の使用時期と現在時刻との差分時間を計算する。そして、優先度付与部108は、そのデータが用いられるジョブについて取得した優先度算出アルゴリズムに、差分時間を適用することにより、そのデータの優先度を算出する。
Specifically, the
なお、優先度付与部108は、将来の複数回に渡って使用されることが予測されるデータに対しては、最も早い将来の使用時期に基づいて優先度を算出してもよい。
In addition, the
キャッシュ制御部109は、キャッシュ106から削除するデータを優先度に基づいて選択し、選択したデータをキャッシュ106から削除する。例えば、キャッシュ制御部109は、キャッシュ106内のデータの容量が閾値以上である場合に、優先度が最も低いデータを削除するようにしてもよい。
The
以上のように構成された情報処理装置1の動作について、図7〜図9を参照して説明する。
The operation of the
まず、情報処理装置1の将来使用時期予測動作を図7に示す。なお、図7において、ジョブ格納部101および優先度算出アルゴリズム格納部107には、既に情報が格納されているものとする。
First, the future use time prediction operation of the
ここでは、まず、スケジュール格納部102は、ジョブのスケジュールを表す情報を格納する(ステップS1)。
Here, first, the
例えば、スケジュール格納部102は、ジョブスケジューラによってスケジューリングされた、ジョブの実行順序、各ジョブの開始時刻、終了期限などを格納する。
For example, the
次に、将来使用時期予測部103は、スケジュール格納部102に格納されたスケジュールに含まれる各ジョブで用いられるデータの将来の使用時期を、ジョブ格納部101およびスケジュール格納部102に基づいて、予測する(ステップS2)。
Next, the future use
例えば、将来使用時期予測部103は、ジョブ格納部101に格納されたジョブAの内容に基づいて、ジョブAで用いられるデータaがジョブAの実行開始時点から1秒後に使用されるという情報を得る。また、将来使用時期予測部103は、スケジュール格納部102に格納されたジョブAのスケジュールに基づいて、ジョブAの開始時刻として毎日0時0分0秒を得る。そして、将来使用時期予測部103は、データaがジョブAで用いられる将来の使用時期を、翌0時0分1秒と予測する。
For example, based on the content of job A stored in the
次に、将来使用時期予測部103は、各データについて予測した将来の使用時期を将来使用時期テーブル113として記憶しておく(ステップS3)。
Next, the future use
スケジュール格納部102に格納されているスケジュールに含まれる全てのジョブの各データについてステップS2〜S3を終了すると、情報処理装置1は、将来使用時期予測動作を終了する。
When steps S2 to S3 are completed for each data of all jobs included in the schedule stored in the
なお、情報処理装置1は、このような将来使用時期予測動作を、スケジュール格納部102に格納されたスケジュールに基づく処理を開始する前に実行しておくことが望ましい。
Note that the
次に、情報処理装置1の優先度付与動作を図8に示す。ここで、優先度付与動作は、スケジュールに基づくジョブの実行開始後に実行されるものとする。また、優先度付与動作開始時点において、各ジョブには、スケジュールに基づくジョブの実行開始直後の実行状況情報に基づく優先度算出アルゴリズムが既に設定されているものとする。
Next, the priority assignment operation of the
また、キャッシュ106には、ジョブ実行部104によるジョブの実行に伴い、ジョブ実行部104がデータ格納部9から読み込んだデータが保持されていくものとする。
It is assumed that the data read from the data storage unit 9 by the
ここでは、まず、実行状況取得部105は、実行中のジョブの実行状況情報を取得する(ステップS11)。
Here, first, the execution
例えば、実行状況取得部105は、現在時刻と、このジョブの終了期限との差分である残り時間を実行状況情報として取得してもよい。
For example, the execution
次に、優先度付与部108は、取得した実行状況情報が、この時点でこのジョブに設定されている優先度算出アルゴリズムに対応付けられている条件を満たすか否かを、優先度算出アルゴリズム格納部107を参照することにより判断する(ステップS12)。
Next, the
例えば、優先度付与部108は、このジョブの終了期限まで残り時間40分である場合、この時点でこのジョブに設定されている優先度算出アルゴリズム「f(t)=−t+10」に対応付けられている条件「残り時間30分以上」を満たしていると判断する。
For example, when the remaining time is 40 minutes until the end date of the job, the
ステップS12で、実行状況情報が、この時点でこのジョブに設定されている優先度算出アルゴリズムに対応付けられている条件を満たしていると判断された場合、情報処理装置1の処理は、ステップS14に進む。
If it is determined in step S12 that the execution status information satisfies the conditions associated with the priority calculation algorithm set for this job at this time, the processing of the
一方、ステップS12で、実行状況情報が、この時点でこのジョブに設定されている優先度算出アルゴリズムに対応付けられている条件を満たしていないと判断された場合、優先度付与部108は、優先度算出アルゴリズム格納部107を参照することにより、このジョブに適用する優先度算出アルゴリズムを変更する(ステップS13)。
On the other hand, if it is determined in step S12 that the execution status information does not satisfy the conditions associated with the priority calculation algorithm set for this job at this time, the
例えば、優先度付与部108は、取得した実行状況情報「残り時間29分」が満たす条件「残り時間30分未満」に対応付けられた「f(t)=−t+11」を、このジョブの優先度算出アルゴリズムとして設定する。
For example, the
次に、優先度付与部108は、将来使用時期予測部103が保持している将来使用時期テーブル113を参照することにより、キャッシュ106内に保持されているデータのうち、このジョブで用いられる各データについて、現在時刻から将来の使用時期までの差分時間を算出する。そして、優先度付与部108は、このジョブに設定した優先度算出アルゴリズムに、算出した差分時間を適用することにより、このジョブで用いられるキャッシュ106内の各データの優先度を算出する(ステップS14)。
Next, the
次に、優先度付与部108は、このジョブで用いられるキャッシュ106内の各データに、ステップ14で算出した優先度を付与する(ステップS15)。
Next, the
実行中の各ジョブについてステップS11〜ステップS15までの処理を終了すると、優先度付与部108は、実行中のジョブが残っているか否かを判断する(ステップS16)。
When the processing from step S11 to step S15 is completed for each job being executed, the
ここで、実行中のジョブが残っていれば、情報処理装置1は、ステップS11からの処理を、所定の時間経過後に再度実行する。
Here, if there is a job being executed, the
一方、実行中のジョブが残っていなければ、情報処理装置1は、優先度付与動作を終了する。
On the other hand, if there is no job being executed, the
なお、情報処理装置1は、一定間隔で各ジョブについてステップS11〜S15を実行する他、キャッシュ106に新たなデータが追加されるタイミングで各ジョブについてステップS11〜S15を実行するようにしてもよい。
The
次に、情報処理装置1の、キャッシュ制御動作について図9を参照して説明する。
Next, the cache control operation of the
ここでは、まず、キャッシュ制御部109は、キャッシュ106の使用状況が所定の条件を満たすか否かを判断する(ステップS21)。
Here, first, the
例えば、キャッシュ制御部109は、キャッシュ106に格納されたデータの容量が閾値以上であるか否かを判断してもよい。
For example, the
ここで、キャッシュ106の使用状況が所定の条件を満たさないと判断した場合、キャッシュ制御部109は、ステップS21を再度実行する。
Here, when it is determined that the usage status of the
一方、キャッシュ106の使用状況が所定の条件を満たすと判断した場合、キャッシュ制御部109は、キャッシュ106内のデータに付与された優先度に基づいて一部のデータを選択し、選択したデータを削除する(ステップS22)。
On the other hand, when it is determined that the usage status of the
例えば、キャッシュ106は、キャッシュ106内のデータのうち、最も低い優先度が付与されたデータを削除してもよい。
For example, the
キャッシュ制御部109は、ステップS21からの処理を再度実行する。
The
以上で、情報処理装置1の動作の説明を終了する。
Above, description of operation | movement of the
次に、本発明の第1の実施の形態としての情報処理装置1を用いた実験について説明する。実験では、あるジョブで用いられるデータがキャッシュ106から削除される回数を、そのジョブに設定される優先度算出アルゴリズムの変更前と変更後とで比較する実験を行った。
Next, an experiment using the
まず、第1の実験として、ジョブA、BおよびCに同一の優先度算出アルゴリズムを設定して一定期間これらのジョブを実行した。そして、第1の実験において、ジョブAで用いられるデータがキャッシュ106から削除される回数を測定した。
First, as a first experiment, the same priority calculation algorithm was set for jobs A, B, and C, and these jobs were executed for a certain period. In the first experiment, the number of times data used in job A is deleted from the
次に、第2の実験として、第1の実験に対してジョブAに設定する優先度算出アルゴリズムのみを変更し、同様に一定期間ジョブA、BおよびCを実行した。そして、第2の実験において、ジョブAで用いられるデータがキャッシュ106から削除される回数を測定した。
Next, as a second experiment, only the priority calculation algorithm set for job A with respect to the first experiment was changed, and jobs A, B, and C were similarly executed for a certain period. In the second experiment, the number of times data used in job A is deleted from the
なお、第1の実験および第2の実験のそれぞれにおいて、ジョブの実行状況に基づく優先度算出アルゴリズムの変更はないものと仮定した。 In each of the first experiment and the second experiment, it is assumed that there is no change in the priority calculation algorithm based on the job execution status.
まず、第1および第2の実験で用いたジョブA、BおよびCについて説明する。 First, jobs A, B, and C used in the first and second experiments will be described.
第1および第2の実験では、ジョブ格納部101は、ジョブA、ジョブBおよびジョブCを表す情報を格納した。図10に示すように、ジョブAは、データa1、a2、a3を用いる処理である。また、ジョブBは、データb1、b2、b3を用いる処理である。また、ジョブCは、データc1、c2、c3を用いる処理である。
In the first and second experiments, the
また、ジョブAは、処理開始後1秒後にa1にアクセスし、4秒後にa2にアクセスし、7秒後にa3にアクセスする。このように、ジョブAは、処理開始後3n+1(nは0以上の整数)秒ごとにa1、a2、a3に順次アクセスする。また、ジョブBは、2秒後、5秒後、8秒後といったように、処理開始後3n+2秒ごとにb1、b2、b3に順次アクセスする。また、ジョブCは3秒後、6秒後、9秒後といったように、処理開始後3n+3秒ごとにc1、c2、c3に順次アクセスする。すなわち、ジョブA、ジョブBおよびジョブCを同時に開始すると、ジョブ実行部104は、1秒ごとに、a1、b1、c1、a2、b2、c2、a3、b3、c3という順にデータにアクセスする。
Job A accesses a1 one second after the start of processing, accesses a2 after four seconds, and accesses a3 after seven seconds. In this way, job A sequentially accesses a1, a2, and a3 every 3n + 1 (n is an integer equal to or greater than 0) seconds after the start of processing. Job B sequentially accesses b1, b2, and b3 every 3n + 2 seconds after the start of processing, such as 2 seconds, 5 seconds, and 8 seconds later. Job C sequentially accesses c1, c2, and c3 every 3n + 3 seconds after the start of processing, such as 3 seconds, 6 seconds, and 9 seconds later. That is, when job A, job B, and job C are started simultaneously, the
次に、第1および第2の実験におけるジョブA、BおよびCのスケジュールについて説明する。 Next, the schedules of jobs A, B, and C in the first and second experiments will be described.
第1および第2の実験では、スケジュール格納部102は、上述のジョブA、ジョブBおよびジョブCを所定時刻に同時に開始し、1000秒間繰り返し実行するスケジュールを格納しているものとした。
In the first and second experiments, it is assumed that the
次に、第1および第2の実験におけるデータの格納場所について説明する。 Next, data storage locations in the first and second experiments will be described.
第1および第2の実験では、データa1、b1、c1、a2、b2、c2、a3、b3、c3は、データ格納部9としての記憶装置1004に格納した。
In the first and second experiments, the data a 1,
次に、第1および第2の実験におけるジョブ実行部104について説明する。
Next, the
ジョブ実行部104は、データ格納部9から一旦読み込んだデータをキャッシュ106に格納する。そして、ジョブ実行部104は、次回そのデータにアクセスする際、該データがキャッシュ106に存在すれば、データ格納部9からではなくキャッシュ106から読み込みを行うものとする。
The
次に、第1および第2の実験において使用したキャッシュ106の制限について説明する。
Next, the limitation on the
第1および第2の実験では、キャッシュ106は、5個までのデータを格納可能とした。また、キャッシュ制御部109は、キャッシュ106内のデータ個数が5に達していたら、優先度の最も低いデータをキャッシュ106から削除するようにした。
In the first and second experiments, the
なお、第1および第2の実験において、将来使用時期予測部103は、既に各データの将来使用時期を予測し、将来使用時期テーブル113を保持しているものとした。
In the first and second experiments, it is assumed that the future use
また、第1および第2の実験において、優先度付与部108は、キャッシュ106が一杯になったタイミングで優先度の付与を行った。詳細には、優先度付与部108は、ジョブ実行部104によってキャッシュ106に新たにデータが追加されようとしたとき、既にキャッシュ106が一杯であった場合に、優先度付与動作を行った。
In the first and second experiments, the
次に、第1の実験における優先度付与動作およびキャッシュ制御動作について説明する。 Next, the priority assignment operation and the cache control operation in the first experiment will be described.
図11に示すように、第1の実験では、ジョブA、ジョブB、ジョブCには、それぞれ同一の優先度算出アルゴリズムf(t)=−t+10が設定されているものとした。ここで、図11において、グラフの横軸tは、優先度を算出する時点の時刻から将来の使用時期までの差分時間を表している。 As shown in FIG. 11, in the first experiment, it is assumed that the same priority calculation algorithm f (t) = − t + 10 is set for job A, job B, and job C, respectively. Here, in FIG. 11, the horizontal axis t of the graph represents the difference time from the time when the priority is calculated to the future use time.
図11(a)は、実験開始から9n+9(nは0以上の整数)秒後において、ジョブAで用いられるa1、a2、a3の各データについて算出される優先度を表している。図11(a)において、データa1、a2、a3の各将来の使用時期までの差分時間は、それぞれ1秒後、4秒後、7秒後である。したがって、優先度付与部108は、a1、a2、a3の各優先度として、9、6、3をそれぞれ算出する。
FIG. 11A shows the priorities calculated for each data of a1, a2, and a3 used in job A after 9n + 9 (n is an integer of 0 or more) seconds from the start of the experiment. In FIG. 11A, the difference times until the future use times of the data a1, a2, and a3 are 1 second, 4 seconds, and 7 seconds, respectively. Therefore, the
図11(b)は、実験開始から9n+9秒後において、ジョブBで用いられるb1、b2、b3の各データについて算出される優先度を表している。図11(b)において、データb1、b2、b3の各将来の使用時期までの差分時間は、それぞれ2秒後、5秒後、8秒後である。したがって、優先度付与部108は、b1、b2、b3の各優先度として、8、5、2をそれぞれ算出する。
FIG. 11B shows the priorities calculated for the data b1, b2, and b3 used in job B 9n + 9 seconds after the start of the experiment. In FIG. 11B, the difference times until the future use times of the data b1, b2, and b3 are 2 seconds, 5 seconds, and 8 seconds, respectively. Accordingly, the
図11(c)は、実験開始から9n+9秒後において、ジョブCで用いられるc1、c2、c3の各データについて算出される優先度を表している。図11(c)において、データc1、c2、c3の各将来の使用時期までの差分時間は、それぞれ3秒後、6秒後、9秒後である。したがって、優先度付与部108は、c1、c2、c3の各優先度として、7、4、1をそれぞれ算出する。
FIG. 11C shows the priority calculated for each of the data c1, c2, and c3 used in job C 9n + 9 seconds after the start of the experiment. In FIG.11 (c), the difference time to each future use time of data c1, c2, and c3 is 3 seconds later, 6 seconds later, and 9 seconds later, respectively. Therefore, the
例えば、実験開始から8秒後の処理終了時点では、キャッシュ106は、a1、b1、c1、a2およびb3の5つのデータを保持している。
For example, at the end of the
次に、実験開始から9秒後、ジョブ実行部104は、データ格納部9から読み込んだデータc3をキャッシュ106に格納しようとするが、キャッシュ106に空き領域を確保できない。
Next, nine seconds after the start of the experiment, the
そこで、優先度付与部108は、キャッシュ106内の5つのデータa1、b1、c1、a2およびb3の優先度として9、8、7、6および2を算出する。
Therefore, the
そして、キャッシュ制御部109は、優先度が最も低いデータb3をキャッシュ106から削除する。ジョブ実行部104は、新たなデータc3をキャッシュ106に保持する。
Then, the
このような第1の実験において、ジョブAで用いられるデータa1、a2およびa3がキャッシュ106から削除された回数は、166回であった。
In such a first experiment, the number of times the data a1, a2, and a3 used in job A were deleted from the
次に、第2の実験における優先度付与動作およびキャッシュ制御動作について説明する。 Next, the priority assignment operation and the cache control operation in the second experiment will be described.
図12に示すように、第2の実験では、ジョブAには、第1の実験より優先度がより高く算出されるf(t)=−t+11が設定されているものとした。また、ジョブBおよびジョブCには、第1の実験と同様にf(t)=−t+10が設定されているものとした。 As shown in FIG. 12, in the second experiment, it is assumed that f (t) = − t + 11, which is calculated to have a higher priority than the first experiment, is set for job A. Further, it is assumed that f (t) = − t + 10 is set for job B and job C as in the first experiment.
なお、第2の実験は、例えば、ジョブAの終了期限までの残り時間が少なくなり、ジョブBおよびジョブCの残り時間には余裕がある場合に、情報処理装置1が、ジョブAに適用する優先度算出アルゴリズムを変更した状態に相当する。
Note that the second experiment is applied to the job A by the
図12(a)は、実験開始から9n+9秒後において、ジョブAで使用される各データについて算出される優先度を表している。図12(a)において、データa1、a2、a3の各将来の使用時期までの差分時間は、それぞれ1秒後、4秒後、7秒後である。したがって、優先度付与部108は、a1、a2、a3の各優先度として、10、7、4をそれぞれ算出する。
FIG. 12A shows the priority calculated for each data used in job A 9n + 9 seconds after the start of the experiment. In FIG. 12A, the difference times until the respective future use times of the data a1, a2, and a3 are 1 second, 4 seconds, and 7 seconds later, respectively. Therefore, the
図12(b)および(c)については、図11(b)および(c)と同様であるため、説明を省略する。 Since FIGS. 12B and 12C are the same as FIGS. 11B and 11C, description thereof is omitted.
このような第2の実験において、ジョブAで用いられるデータa1、a2およびa3がキャッシュ106から削除された回数は、74回であった。
In such a second experiment, the number of times the data a1, a2, and a3 used in job A were deleted from the
ここで、第1および第2の実験におけるデータa1、a2およびa3のキャッシュ削除回数を比較した表を図13に示す。 Here, FIG. 13 shows a table comparing the cache deletion counts of the data a1, a2 and a3 in the first and second experiments.
図13において、全てのジョブに同一の優先度算出アルゴリズムを適用した第1の実験に比べて、ジョブAの優先度算出アルゴリズムを変更した第2の実験におけるa1、a2およびa3のキャッシュ削除回数は、166回から74回に減っていることがわかる。すなわち、第2の実験では、第1の実験に対して優先度算出アルゴリズムを変更したジョブのデータがキャッシュに残りやすくなったことがわかる。 In FIG. 13, compared to the first experiment in which the same priority calculation algorithm is applied to all jobs, the number of cache deletions of a1, a2, and a3 in the second experiment in which the priority calculation algorithm of job A is changed is It can be seen that the number has decreased from 166 times to 74 times. In other words, in the second experiment, it can be seen that the data of the job whose priority calculation algorithm is changed from the first experiment is likely to remain in the cache.
したがって、第2の実験では、第1の実験に対してジョブAのキャッシュミス率が低下することになる。それゆえ、第2の実験において、情報処理装置1は、ジョブAを実行する際のデータアクセス時間を大幅に減らすことができ、ジョブAの実行時間を短縮することが可能となる。
Therefore, in the second experiment, the cache miss rate of job A is lower than that in the first experiment. Therefore, in the second experiment, the
これらの実験からわかるように、情報処理装置1は、例えば、ジョブAの終了期限までの残り時間が迫っているといった実行状況に応じて、ジョブAの優先度算出アルゴリズムを変更することにより、ジョブAの実行時間を短縮することができる。
As can be seen from these experiments, the
次に、本発明の第1の実施の形態の効果について述べる。 Next, effects of the first exemplary embodiment of the present invention will be described.
本発明の第1の実施の形態としての情報処理装置は、スケジュールされたジョブの実行状況に応じた柔軟なキャッシュ管理を行うことができる。
その理由は、ジョブの実行によりキャッシュに保持されるデータの優先度を、将来使用時期予測部で予測された該データの将来の使用時期に基づいて算出する、優先度算出アルゴリズムと、前記実行状況情報に対する条件と、を対応付けた情報を、ジョブ毎に優先度算出アルゴリズム格納部に格納し、優先度付与部がそれを参照し、実行状況取得部によって取得された実行状況情報が満たす条件に対応付けられた優先度算出アルゴリズムを用いて、キャッシュに保持されたデータに優先度を算出して付与するからである。
The information processing apparatus as the first exemplary embodiment of the present invention can perform flexible cache management according to the execution status of a scheduled job.
The reason is that a priority calculation algorithm for calculating the priority of data held in the cache by job execution based on the future use time of the data predicted by the future use time prediction unit, and the execution status Information that associates the conditions for the information with each other is stored in the priority calculation algorithm storage unit for each job, the priority assignment unit refers to it, and the condition that the execution status information acquired by the execution status acquisition unit satisfies This is because the priority is calculated and assigned to the data held in the cache using the associated priority calculation algorithm.
すなわち、本実施の形態では、ジョブで用いられるキャッシュ内のデータに付与する優先度を算出する優先度算出アルゴリズムを、スケジュールされたジョブの実行状況に応じて変更することができるからである。 That is, in this embodiment, the priority calculation algorithm for calculating the priority to be given to the data in the cache used in the job can be changed according to the execution status of the scheduled job.
したがって、本発明の第1の実施の形態としての情報処理装置は、例えば終了期限までの残り時間が迫っているジョブで用いられるデータの優先度を、残り時間に余裕があるジョブで用いられるデータの優先度より高く設定することができる。その結果、残り時間が迫っているジョブで用いられるデータをキャッシュから削除されにくくすることができる。 Therefore, the information processing apparatus according to the first embodiment of the present invention sets, for example, the priority of data used in a job whose remaining time until the end deadline is approaching, and the data used in the job having a remaining time. Can be set higher than the priority. As a result, it is possible to make it difficult for data used in a job whose remaining time is approaching to be deleted from the cache.
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. Note that, in each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configuration and steps that operate in the same manner as in the first embodiment of the present invention, and the detailed description in the present embodiment. Description is omitted.
まず、本発明の第2の実施の形態としての情報処理装置2の機能ブロック構成を図14に示す。図14において、情報処理装置2は、本発明の第1の実施の形態としての情報処理装置1に対して、将来使用時期予測部103に替えて将来使用時期予測部203と、実行状況取得部105に替えて実行状況取得部205と、優先度算出アルゴリズム格納部107に替えて優先度算出アルゴリズム格納部207と、優先度付与部108に替えて優先度付与部208とを備え、さらにジョブ実行履歴格納部211と、将来使用時期修正部212とを備えている。
First, FIG. 14 shows a functional block configuration of the
ここで、ジョブ実行履歴格納部211は、ROM1003または記憶装置1004に記憶されたコンピュータ・プログラムをRAM1002に読み込んで実行するCPU1001、および、記憶装置1004によって構成されている。また、将来使用時期修正部212は、ROM1003または記憶装置1004に記憶されたコンピュータ・プログラムをRAM1002に読み込んで実行するCPU1001によって構成されている。
Here, the job execution history storage unit 211 includes a
ジョブ実行履歴格納部211は、ジョブ格納部101に格納されたジョブの過去の実行履歴を表す情報を格納している。例えば、ジョブ実行履歴格納部211は、ジョブの過去の実行開始時刻、実行終了時刻、そのジョブにおいて用いられるデータが使用された使用履歴等を、実行履歴を表す情報として格納していてもよい。
The job execution history storage unit 211 stores information indicating the past execution history of jobs stored in the
また、ジョブ実行履歴格納部211は、ジョブ実行部104によって実行されるジョブを監視してこれらの情報を取得するようにしてもよい。
Further, the job execution history storage unit 211 may monitor the job executed by the
将来使用時期予測部203は、本発明の第1の実施の形態における将来使用時期予測部103と同様にジョブ格納部101およびスケジュール格納部102を参照するのに加えて、さらにジョブ実行履歴格納部211を参照することにより、各データの将来の使用時期を予測する。例えば、将来使用時期予測部203は、ジョブ実行履歴格納部211を参照することにより、あるジョブの過去の実行開始時刻から、あるデータが使用された時刻までの経過時間を求めてもよい。そして、将来使用時期予測部203は、スケジュール格納部102に格納された開始時刻に、算出した経過時間を加算することにより、そのデータの将来の使用時期を算出してもよい。
The future use
実行状況取得部205は、実行中のジョブの進度のスケジュールに対する差異を表すスケジュール差異情報を実行状況情報として取得する。
The execution
例えば、ジョブ格納部101に格納されたジョブが、そのデータ処理量によって進度を算出可能に構成されており、スケジュール格納部102にそのジョブの当初の終了予定時刻があらかじめ格納されている場合を想定する。この場合、実行状況取得部205は、実行中のジョブの進度に基づいてその時点での終了予定時刻を再計算し、再計算した終了予定時刻と当初の終了予定時刻との差分を、スケジュール差異情報として算出してもよい。
For example, it is assumed that the job stored in the
あるいは、例えば、実行状況取得部205は、実行中のジョブの実際の開始時刻と、スケジュールされた開始時刻との差分を、スケジュール差異情報として取得してもよい。
Alternatively, for example, the execution
将来使用時期修正部212は、実行状況取得部205によって取得されたスケジュール差異情報に基づいて、将来使用時期予測部203によって算出された将来使用時期テーブル113を修正する。
The future use
例えば、将来使用時期修正部212は、あるジョブがスケジュールより300秒遅れているというスケジュール差異情報が取得されている場合、そのジョブで用いられるデータの各将来の使用時期を、既に算出されている時期より300秒後に修正する。
For example, when the schedule difference information indicating that a certain job is delayed by 300 seconds from the schedule is acquired, the future use
優先度算出アルゴリズム格納部207は、スケジュール差異情報に対する条件と、優先度算出アルゴリズムとを対応付けた情報を、ジョブ毎に格納している。
The priority calculation
例えば、優先度算出アルゴリズム格納部207は、スケジュール差異情報が±10分未満の場合の優先度算出アルゴリズムとして、f(t)=−t+10を格納してもよい。また、例えば、優先度算出アルゴリズム格納部207は、スケジュール差異情報が10分を超えた(すなわち、スケジュールより10分以上遅れている)場合の優先度算出アルゴリズムとして、f(t)=−t+20を格納してもよい。また、例えば、優先度算出アルゴリズム格納部207は、スケジュール差異情報が−10分より小さい(すなわち、スケジュールより10分以上早く進んでいる)場合の優先度算出アルゴリズムとして、f(t)=−t+5を格納するようにしてもよい。
For example, the priority calculation
優先度付与部208は、実行状況取得部205によって取得された各ジョブのスケジュール差異情報が満たす条件に対応付けられた優先度算出アルゴリズムを取得する。そして、優先度付与部208は、取得した各ジョブの優先度算出アルゴリズムを用いて、各ジョブで用いられるデータに優先度を算出して付与する。
The
以上のように構成された情報処理装置2の動作について、図15〜図16を用いて説明する。なお、情報処理装置2のキャッシュ制御動作については図9を用いて説明した本発明の第1の実施の形態としての情報処理装置1と同様であるため、本実施の形態における詳細な説明を省略する。
The operation of the
まず、情報処理装置2の将来使用時期予測動作を図15に示す。
First, the future use time prediction operation of the
ここでは、まず、スケジュール格納部102がスケジュールを表す情報を格納した後(ステップS1)、将来使用時期予測部203は、スケジュール格納部102に格納されているジョブに関する実行履歴を表す情報を、ジョブ実行履歴格納部211から取得する(ステップS31)。
Here, first, after the
次に、将来使用時期予測部203は、ステップS31で取得した実行履歴を表す情報、ジョブ格納部101およびスケジュール格納部102に格納された情報に基づいて、このジョブで使用される各データの将来の使用時期を予測する(ステップS32)。
Next, based on the information representing the execution history acquired in step S31 and the information stored in the
例えば、将来使用時期予測部203は、上述のように、あるジョブの過去の実行開始時刻、そのジョブであるデータが使用された過去の使用時刻、および、そのジョブのスケジュールされた開始時刻に基づいて、将来の使用時期を予測するようにしてもよい。
For example, as described above, the future use
その後、将来使用時期予測部203は、本発明の第1の実施の形態における使用時期予測部103と同様にステップS3を実行し、各データの将来の使用時期を将来の使用時期テーブルとして記憶する。
Thereafter, the future use
将来使用時期予測部203は、ステップS31〜ステップS32およびステップS3の動作を、スケジュール格納部102に格納されている各ジョブについて実行する。
The future use
以上で、情報処理装置2は、将来使用時期予測動作を終了する。
Thus, the
次に、情報処理装置2の優先度付与動作を図16に示す。ここで、優先度付与動作は、スケジュールに基づくジョブの実行開始後に実行されるものとする。また、優先度付与動作開始時点において、各ジョブには、スケジュールに基づくジョブの実行開始直後の実行状況情報に基づく優先度算出アルゴリズムが既に設定されているものとする。
Next, the priority assignment operation of the
ここでは、まず、実行状況取得部205は、スケジュールに基づいて実行中のジョブについて、スケジュール差異情報を取得する(ステップS41)。
Here, first, the execution
次に、将来使用時期修正部212は、スケジュール差異情報に基づいて、将来使用時期テーブル113に記憶された将来の使用時期のうち、該当するジョブで用いられるデータの将来の使用時期を修正する(ステップS42)。
Next, based on the schedule difference information, the future use
次に、優先度付与部208は、実行状況取得部205によって取得されたスケジュール差異情報が、この時点でこのジョブに設定されている優先度算出アルゴリズムに対応付けられた条件を満たすか否かを、優先度算出アルゴリズム格納部207を参照することにより判断する(ステップS43)。
Next, the
例えば、優先度付与部208は、このジョブのスケジュール差異情報が5分遅れであることを示していれば、この時点でこのジョブに設定されている優先度算出アルゴリズムに対応付けられた条件「スケジュール差異情報±10分以内」を満たすと判断する。
For example, if the
ステップS43で、このジョブのスケジュール差異情報が、既に設定されている優先度算出アルゴリズムに対応付けられた条件を満たすと判断された場合、情報処理装置2の処理はステップS14に進む。
If it is determined in step S43 that the schedule difference information of this job satisfies the condition associated with the priority calculation algorithm that has already been set, the processing of the
一方、ステップS43で、このジョブのスケジュール差異情報が、既に設定されている優先度算出アルゴリズムに対応付けられた条件を満たさないと判断された場合、優先度付与部208は、優先度算出アルゴリズム格納部207を参照することにより、このジョブに設定する優先度算出アルゴリズムを変更する(ステップS44)。
On the other hand, if it is determined in step S43 that the schedule difference information of this job does not satisfy the conditions associated with the already set priority calculation algorithm, the
例えば、優先度付与部208は、スケジュール差異情報が15分遅れであることを示していれば、「スケジュール差異情報10分以上」に対応付けられた優先度算出アルゴリズム「f(t)=−t+20」に、このジョブの優先度算出アルゴリズムを変更する。
For example, if the
以降、情報処理装置2は、ステップS14〜ステップS15まで本発明の第1の実施の形態としての情報処理装置1と同様に動作することにより、このジョブのスケジュール差異情報に応じて変更した優先度算出アルゴリズムを用いて、このジョブで用いられるキャッシュ106内の各データに優先度を付与する。
Thereafter, the
そして、情報処理装置2は、実行中のジョブが全て終了するまで、実行中の各ジョブについてステップS41〜S44およびステップS14〜S15を実行する。
Then, the
以上で、情報処理装置2は、優先度付与動作を終了する。
Thus, the
次に、本発明の第2の実施の形態の効果について述べる。 Next, the effect of the second exemplary embodiment of the present invention will be described.
本発明の第2の実施の形態としての情報処理装置は、スケジュールされたジョブの実行状況に応じてさらに柔軟なキャッシュ管理を行うことができる。 The information processing apparatus as the second exemplary embodiment of the present invention can perform more flexible cache management according to the execution status of the scheduled job.
その理由は、ジョブがスケジュール通りに実行されているか、スケジュールより遅れているか、スケジュールより早く進んでいるかに応じて優先度算出アルゴリズムを変更するからである。これにより、スケジュールより遅れているジョブで用いるデータの優先度を高くしてキャッシュから削除されにくくすることができるからである。また、スケジュールより早く進んでいるジョブで用いられるデータの優先度を低くしてキャッシュから削除されやすくすることにより、他のジョブのためのキャッシュ領域を確保することができるからである。 The reason is that the priority calculation algorithm is changed depending on whether the job is being executed according to the schedule, delayed from the schedule, or advanced earlier than the schedule. This is because it is possible to increase the priority of data used in a job that is behind the schedule and to make it difficult to delete from the cache. This is also because the priority of data used in a job proceeding earlier than the schedule is lowered to facilitate deletion from the cache, thereby securing a cache area for other jobs.
また、本発明の第2の実施の形態としての情報処理装置は、スケジュールされたジョブの実行状況に応じた柔軟なキャッシュ管理を行う際の、データの将来の使用時期の予測精度を向上させることができる。 In addition, the information processing apparatus according to the second embodiment of the present invention improves the prediction accuracy of the future use time of data when performing flexible cache management according to the execution status of the scheduled job. Can do.
その理由は、将来使用時期予測部が、過去のジョブの実行履歴に基づいて各データの将来の使用時期を予測するからである。さらなる理由は、将来使用時期修正部が、ジョブの実行中にそのスケジュール差異情報に応じて、各データの将来の使用時期を修正するからである。 This is because the future use time prediction unit predicts the future use time of each data based on the past job execution history. The further reason is that the future use time correction unit corrects the future use time of each data according to the schedule difference information during execution of the job.
これにより、本発明の第2の実施の形態としての情報処理装置は、より高精度に予測された将来の使用時期を用いて、より適切にキャッシュから削除するデータを選択することができる。 Thereby, the information processing apparatus as the second exemplary embodiment of the present invention can select data to be deleted from the cache more appropriately using the future use time predicted with higher accuracy.
(第3の実施の形態)
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
(Third embodiment)
Next, a third embodiment of the present invention will be described in detail with reference to the drawings. Note that, in each drawing referred to in the description of the present embodiment, the same reference numerals are given to the same configuration and steps that operate in the same manner as in the first embodiment of the present invention, and the detailed description in the present embodiment. Description is omitted.
まず、本発明の第3の実施の形態としての情報処理装置3の機能ブロック構成を図17に示す。図17において、情報処理装置3は、本発明の第1の実施の形態としての情報処理装置1に対して、実行状況取得部105に替えて実行状況取得部305と、優先度算出アルゴリズム格納部107に替えて優先度算出アルゴリズム格納部307と、優先度付与部108に替えて優先度付与部308とを備えている。
First, FIG. 17 shows a functional block configuration of an
実行状況取得部305は、ジョブ実行部104によって実行中のジョブに関して、中断、実行中および終了済みのいずれかを表す情報を実行状況情報として取得する。図18は、実行状況取得部305によって取得される実行状況情報の一例である。
The execution
優先度算出アルゴリズム格納部307は、中断、実行中および終了済みのいずれかの状態と、優先度算出アルゴリズムとを対応付けた情報を、ジョブ毎に格納している。
The priority calculation
例えば、優先度算出アルゴリズム格納部307は、あるジョブが中断されている場合の優先度算出アルゴリズムとしてf(t)=−10を格納してもよい。また、例えば、優先度算出アルゴリズム格納部307は、そのジョブが終了済みの場合の優先度算出アルゴリズムとしてf(t)=−100を格納してもよい。また、例えば、優先度算出アルゴリズム格納部307は、そのジョブが実行中の場合の優先度算出アルゴリズムとしてf(t)=−t+10を格納してもよい。
For example, the priority calculation
優先度付与部308は、実行状況取得部305によって取得された各ジョブの状況に対応付けられた優先度算出アルゴリズムを取得する。そして、優先度付与部308は、取得した各ジョブの優先度算出アルゴリズムを用いて、各ジョブで用いられるデータに優先度を算出して付与する。
The priority
以上のように構成された情報処理装置3の優先度付与動作について、図19を用いて説明する。なお、情報処理装置3の将来使用時期予測動作およびキャッシュ制御動作については図7および図9を用いて説明した本発明の第1の実施の形態としての情報処理装置1と同様であるため、本実施の形態における詳細な説明を省略する。
The priority assignment operation of the
また、この優先度付与動作は、スケジュールに基づくジョブの実行開始後に実行されるものとする。また、優先度付与動作開始時点において、各ジョブには、スケジュールに基づくジョブの実行開始直後の実行状況情報に基づく優先度算出アルゴリズムが既に設定されているものとする。 In addition, this priority assigning operation is executed after the start of job execution based on the schedule. Further, it is assumed that a priority calculation algorithm based on execution status information immediately after the start of job execution based on a schedule has already been set for each job at the start of priority assignment operation.
ここでは、まず、実行状況取得部305は、スケジュールされた各ジョブについて、中断、実行中および終了済みのいずれかを表す実行状況情報を取得する(ステップS51)。
Here, first, the execution
ここで、終了済みであることを表す実行状況情報が取得された場合(ステップS52でYes)、優先度付与部308は、優先度算出アルゴリズム格納部307を参照して、このジョブに設定する優先度算出アルゴリズムを、終了済みの場合のものに変更する(ステップS54)。
Here, when execution status information indicating completion has been acquired (Yes in step S52), the
一方、中断されていることを表す実行状況情報が取得された場合(ステップS52でNo、ステップS53でYes)、優先度付与部308は、優先度算出アルゴリズム格納部307を参照して、このジョブに設定する優先度算出アルゴリズムを、中断された場合のものに変更する(ステップS55)。
On the other hand, when the execution status information indicating that it has been interrupted is acquired (No in step S52, Yes in step S53), the
また、実行中であることを表す実行状況情報が取得された場合(ステップS52でNo、ステップS53でNo)、優先度付与部308は、優先度算出アルゴリズム格納部307を参照して、このジョブに設定する優先度算出アルゴリズムを、実行中の場合のものに変更する(ステップS56)。
When execution status information indicating that the job is being executed is acquired (No in step S52, No in step S53), the
以降、情報処理装置3は、ステップS14〜ステップS15まで本発明の第1の実施の形態としての情報処理装置1と同様に動作することにより、中断または実行中の実行状況に応じて取得した優先度算出アルゴリズムを用いて、このジョブで使用するキャッシュ106内の各データに優先度を付与する。
Thereafter, the
そして、情報処理装置3は、実行中のジョブが全て終了するまで、実行中の各ジョブについてステップS51〜S56およびステップS14〜S15を実行する。
Then, the
以上で、情報処理装置3は、優先度付与動作を終了する。
Thus, the
次に、本発明の第3の実施の形態の効果について述べる。 Next, effects of the third exemplary embodiment of the present invention will be described.
本発明の第3の実施の形態としての情報処理装置は、スケジュールされたジョブの実行状況に応じてさらに柔軟なキャッシュ管理を行うことができる。 The information processing apparatus as the third exemplary embodiment of the present invention can perform more flexible cache management according to the execution status of the scheduled job.
その理由は、中断、終了済み、および、実行中のいずれかを表すジョブの実行状況に応じて、優先度算出アルゴリズムを変更するからである。これにより、中断されているジョブや終了済みのジョブで用いられていたデータの優先度を低くしてキャッシュから優先的に削除することができる。そして、他のジョブのためのキャッシュ領域を確保することができるからである。 The reason is that the priority calculation algorithm is changed according to the execution status of the job indicating any one of interruption, termination, and execution. As a result, the priority of the data used in the interrupted job or the completed job can be lowered and deleted preferentially from the cache. This is because a cache area for other jobs can be secured.
なお、上述の各実施の形態において、各優先度算出アルゴリズム格納部は、スケジュールされていないジョブに対する優先度算出アルゴリズムとして、過去のデータの使用履歴に基づく優先度算出アルゴリズムを格納していてもよい。 In each of the above-described embodiments, each priority calculation algorithm storage unit may store a priority calculation algorithm based on a past data usage history as a priority calculation algorithm for an unscheduled job. .
この場合、上述の各実施の形態における各将来使用時期予測部は、スケジュールされていないジョブで用いられるデータに対しては、将来の使用時期を予測できない。そこで、上述の各実施の形態における各優先度付与部は、スケジュールされていないジョブで用いられるキャッシュ内のデータに対しては、過去のデータの使用履歴に基づく優先度算出アルゴリズムを適用して優先度を付与する。 In this case, each future use time prediction unit in each of the above-described embodiments cannot predict a future use time for data used in an unscheduled job. Therefore, each priority assigning unit in each of the above embodiments applies priority to the data in the cache used in the unscheduled job by applying a priority calculation algorithm based on the past use history of data. Give a degree.
これにより、上述の各実施の形態としての情報処理装置は、スケジュールされていないジョブで用いられるデータをさらに対象として柔軟なキャッシュ管理を行うことができる。 As a result, the information processing apparatus according to each of the above-described embodiments can perform flexible cache management further on data used in unscheduled jobs.
例えば、図20に、過去のデータの使用履歴に基づく優先度算出アルゴリズムの一例としてf(t)=t+10を示す。図20において、縦軸は優先度f(t)、横軸は時間tである。ここで、tは、優先度を算出する時点の時刻Tnowから、データiの過去の使用時刻Tiまでの時間を表している。すなわち、t=Ti−Tnowは負の値となる。図20に示すf(t)=t+10は、最も過去に使われたデータの優先度を低くするため、LRUであるといえる。 For example, FIG. 20 shows f (t) = t + 10 as an example of a priority calculation algorithm based on the past data usage history. In FIG. 20, the vertical axis represents priority f (t), and the horizontal axis represents time t. Here, t represents the time from the time Tnow when the priority is calculated to the past use time Ti of the data i. That is, t = Ti−Tnow is a negative value. It can be said that f (t) = t + 10 shown in FIG. 20 is an LRU in order to lower the priority of the most recently used data.
この場合、上述の各実施の形態における各優先度付与部は、キャッシュ106内のデータの将来の使用時期が取得できない場合、過去のデータの使用履歴に基づく優先度算出アルゴリズムを適用して優先度を付与するようにする。
In this case, each priority assigning unit in each of the above-described embodiments applies a priority calculation algorithm based on a past use history of data when the future use time of the data in the
また、上述の各実施の形態において、各実行状況取得部は、それぞれ1種類の情報を実行状況情報として取得するものとして説明したが、各実行状況取得部は、複数の種類の情報を実行状況情報として取得してもよい。この場合、各実施の形態における優先度算出アルゴリズム格納部は、複数の実行状況情報を組み合わせた条件と、優先度算出アルゴリズムとを対応付けて格納してもよい。 Further, in each of the above-described embodiments, each execution status acquisition unit has been described as acquiring one type of information as execution status information. However, each execution status acquisition unit can execute multiple types of information as execution status information. It may be acquired as information. In this case, the priority calculation algorithm storage unit in each embodiment may store a condition obtained by combining a plurality of pieces of execution status information and a priority calculation algorithm in association with each other.
また、上述の各実施の形態において、各優先度算出アルゴリズム格納部は、入力装置を介してシステム管理者等による設定を格納するものとして説明した。さらに、各優先度算出アルゴリズム格納部は、入力装置を介して設定が取得されなかったジョブに対して適用する条件および優先度算出アルゴリズムをあらかじめ格納しておくようにしてもよい。これにより、各実施の形態としての情報処理装置は、システム管理者等の負担を軽減しながらも、ジョブの実行状況に応じた柔軟なキャッシュ管理を行うことができる。 Further, in each of the above-described embodiments, each priority calculation algorithm storage unit has been described as storing settings by a system administrator or the like via an input device. Furthermore, each priority calculation algorithm storage unit may store in advance conditions and priority calculation algorithms to be applied to jobs whose settings have not been acquired via the input device. As a result, the information processing apparatus according to each embodiment can perform flexible cache management according to the job execution status while reducing the burden on the system administrator or the like.
また、上述の各実施の形態において、各優先度算出アルゴリズム格納部は、優先度算出アルゴリズムとして、1つのデータについて予測される複数の将来の使用時期に基づいて1つの優先度を算出する優先度算出アルゴリズムを格納しておいてもよい。このような優先度算出アルゴリズムとしては、例えばΣf(t)がある。ここで、Σf(t)は、あるデータについて複数の将来の使用時期t1〜tmが予測されているとき、f(t1)〜f(tm)の和を表す。これにより、各実施の形態における各優先度付与部は、将来使用される回数がより多いデータの優先度をより高くしてキャッシュ106から削除されにくくすることができる。
In each of the above-described embodiments, each priority calculation algorithm storage unit calculates a priority based on a plurality of future use times predicted for one data as a priority calculation algorithm. A calculation algorithm may be stored. An example of such a priority calculation algorithm is Σf (t). Here, Σf (t) represents the sum of f (t 1 ) to f (t m ) when a plurality of future use times t 1 to t m are predicted for certain data. As a result, each priority assigning unit in each embodiment can increase the priority of data that will be used more frequently in the future and make it difficult to be deleted from the
また、上述の各実施の形態において、各情報処理装置は、優先度付与動作を所定の間隔またはキャッシュが所定の条件を満たしたタイミングで実行するものとして説明したが、各情報処理装置は、優先度付与動作を、実行状況情報が所定の条件を満たす場合に実行するようにしてもよい。 Further, in each of the above-described embodiments, each information processing apparatus has been described as performing a priority assignment operation at a predetermined interval or at a timing when the cache satisfies a predetermined condition. The degree giving operation may be executed when the execution status information satisfies a predetermined condition.
例えば、上述の各実施の形態の各情報処理装置は、あるジョブの実行状況が残り時間が30分を切った場合にのみ上述の優先度付与動作を行い、各ジョブの残り時間が30分以上ある場合には、LRU等の一般的なキャッシュ削除アルゴリズムを用いてキャッシュ管理を行うようにしてもよい。 For example, each information processing apparatus according to each of the above-described embodiments performs the above-described priority assignment operation only when the execution status of a certain job is less than 30 minutes, and the remaining time of each job is 30 minutes or more. In some cases, cache management may be performed using a general cache deletion algorithm such as LRU.
これにより、上述の各実施の形態の各情報処理装置は、本発明の優先度付与動作による負荷の増大を抑制することができる。 Thereby, each information processing apparatus of each above-mentioned embodiment can suppress the increase in the load by the priority provision operation | movement of this invention.
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した情報処理装置の動作を、本発明のコンピュータ・プログラムとして情報処理装置の記憶装置(記憶媒体)に格納しておき、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコード或いは記憶媒体によって構成される。 In each embodiment of the present invention described above, the operation of the information processing apparatus described with reference to each flowchart is stored in a storage device (storage medium) of the information processing apparatus as a computer program of the present invention. The CPU may read and execute the computer program. In such a case, the present invention is constituted by the code of the computer program or a storage medium.
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。 Moreover, each embodiment mentioned above can be implemented in combination as appropriate.
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。 The present invention is not limited to the above-described embodiments, and can be implemented in various modes.
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
ジョブを実行するスケジュールを表す情報を格納したスケジュール格納部と、
前記ジョブで用いられる各データの将来の使用時期を前記スケジュールに基づいてそれぞれ予測する将来使用時期予測部と、
前記ジョブを前記スケジュールに基づいて実行するジョブ実行部と、
前記ジョブ実行部による前記ジョブの実行状況を表す実行状況情報を取得する実行状況取得部と、
前記ジョブ実行部によって記憶装置から読み込まれるデータを保持するキャッシュと、
前記キャッシュに保持されるデータの優先度を、該データの前記将来の使用時期に基づいて算出する優先度算出アルゴリズムと、前記実行状況情報に対する条件と、を対応付けた情報を、前記ジョブ毎に格納した優先度算出アルゴリズム格納部と、
前記実行状況取得部によって取得された実行状況情報が満たす条件に対応付けられた優先度算出アルゴリズムを用いて、前記キャッシュに保持されたデータに優先度を算出して付与する優先度付与部と、
前記キャッシュに保持されているデータのうち前記優先度に基づいて選択したデータを前記キャッシュから削除するキャッシュ制御部と、を備えた情報処理装置。
(付記2)
前記実行状況取得部は、前記ジョブの進度の前記スケジュールに対する差異を表すスケジュール差異情報を前記実行状況情報として取得することを特徴とする付記1に記載の情報処理装置。
(付記3)
前記将来使用時期予測部によって予測された前記データの将来の使用時期を、前記スケジュール差異情報に基づいて修正する将来使用時期修正部をさらに備えることを特徴とする付記2に記載の情報処理装置。
(付記4)
前記実行状況取得部は、前記スケジュール格納部にあらかじめ格納された前記ジョブの終了期限までの残り時間を前記実行状況情報として取得することを特徴とする付記1から付記3のいずれかに記載の情報処理装置。
(付記5)
前記実行状況取得部は、前記ジョブが実行中であるか、中断された状態であるか、終了済みであるかを表す情報を前記実行状況情報として取得することを特徴とする付記1から付記4のいずれかに記載の情報処理装置。
(付記6)
前記優先度付与部は、将来において複数回に渡って使用されるデータに関して、最も早い将来の使用時期を用いて前記優先度算出アルゴリズムによって算出した優先度を該データに付与することを特徴とする付記1から付記5のいずれかに記載の情報処理装置。
(付記7)
前記優先度算出アルゴリズム格納部は、将来において複数回に渡って使用されるデータに関して、複数の将来の使用時期に基づいて1つの優先度を算出する優先度算出アルゴリズムを格納することを特徴とする付記1から付記5のいずれかに記載の情報処理装置。
(付記8)
前記優先度付与部は、前記キャッシュの状況が所定の条件を満たした場合に、前記キャッシュ内のデータの前記優先度を算出して付与することを特徴とする付記1から付記7のいずれかに記載の情報処理装置。
(付記9)
前記優先度付与部は、前記実行状況情報が所定の条件を満たした場合に、前記キャッシュ内のデータの前記優先度を算出して付与することを特徴とする付記1から付記8のいずれかに記載の情報処理装置。
(付記10)
前記ジョブ実行部によって前記ジョブが過去に実行された際の実行履歴を表す情報を格納したジョブ実行履歴格納部をさらに備え、
前記将来使用時期予測部は、前記ジョブ実行履歴格納部をさらに参照して前記将来の使用時期を予測することを特徴とする付記1から付記9のいずれかに記載の情報処理装置。
(付記11)
ジョブを実行するスケジュールを表す情報を格納したスケジュール格納部と、前記ジョブが実行される際に記憶装置から読み込まれるデータを保持するキャッシュと、を備えた情報処理装置を用いて、
前記ジョブで用いられる各データの将来の使用時期を前記スケジュールに基づいてそれぞれ予測し、
前記キャッシュ内のデータの優先度を、該データの前記将来の使用時期に基づいて算出する優先度算出アルゴリズムと、前記実行状況情報に対する条件と、を対応付けた情報を、前記ジョブ毎に優先度算出アルゴリズム格納部に格納しておき、
前記ジョブを前記スケジュールに基づいて実行し、
前記ジョブの実行状況を表す実行状況情報を取得し、
前記実行状況情報が満たす条件に対応付けられた優先度算出アルゴリズムを用いて、前記キャッシュに保持されたデータに優先度を算出して付与し、
前記キャッシュに保持されているデータのうち前記優先度に基づいて選択したデータを前記キャッシュから削除する、情報処理方法。
(付記12)
前記ジョブで用いられる各データの将来の使用時期を、前記実行状況情報に基づいて修正することを特徴とする付記11に記載の情報処理方法。
(付記13)
ジョブを実行するスケジュールを表す情報を格納したスケジュール格納部と、前記ジョブが実行される際に記憶装置から読み込まれるデータを保持するキャッシュと、を備えた情報処理装置に、
前記ジョブで用いられる各データの将来の使用時期を前記スケジュールに基づいてそれぞれ予測する将来使用時期予測ステップと、
前記キャッシュ内のデータの優先度を、前記各データの前記将来の使用時期に基づいて算出する優先度算出アルゴリズムと、前記実行状況情報に対する条件と、を対応付けた情報を、前記ジョブ毎に優先度算出アルゴリズム格納部に格納しておく優先度算出アルゴリズム格納ステップと、
前記ジョブを前記スケジュールに基づいて実行するジョブ実行ステップと、
前記ジョブの実行状況を表す実行状況情報を取得する実行状況取得ステップと、
前記実行状況情報が満たす条件に対応付けられた優先度算出アルゴリズムを用いて、前記キャッシュに保持されたデータに優先度を算出して付与する優先度付与ステップと、
前記キャッシュに保持されているデータのうち前記優先度に基づいて選択したデータを前記キャッシュから削除するキャッシュ制御ステップと、
を実行させるコンピュータ・プログラム。
(付記14)
前記将来使用時期予測ステップで予測された前記データの将来の使用時期を、前記実行状況情報に基づいて修正する将来使用時期修正ステップを、前記情報処理装置にさらに実行させることを特徴とする付記13に記載のコンピュータ・プログラム。
Moreover, although a part or all of said embodiment can be described also as the following additional remarks, it is not restricted to the following.
(Appendix 1)
A schedule storage unit storing information representing a schedule for executing a job;
A future use time prediction unit for predicting a future use time of each data used in the job based on the schedule;
A job execution unit that executes the job based on the schedule;
An execution status acquisition unit for acquiring execution status information representing the execution status of the job by the job execution unit;
A cache that holds data read from the storage device by the job execution unit;
Information associating a priority calculation algorithm for calculating the priority of data held in the cache based on the future use time of the data, and a condition for the execution status information, for each job. A stored priority calculation algorithm storage unit;
Using a priority calculation algorithm associated with a condition that the execution status information acquired by the execution status acquisition unit satisfies, a priority giving unit that calculates and gives priority to the data held in the cache;
An information processing apparatus comprising: a cache control unit that deletes, from the cache, data selected based on the priority among the data held in the cache.
(Appendix 2)
The information processing apparatus according to
(Appendix 3)
The information processing apparatus according to
(Appendix 4)
The information according to any one of
(Appendix 5)
The execution status acquisition unit acquires, as the execution status information, information indicating whether the job is being executed, suspended, or completed as the execution status information. The information processing apparatus according to any one of the above.
(Appendix 6)
The priority assigning unit assigns the priority calculated by the priority calculation algorithm to the data using the earliest future use time with respect to data used multiple times in the future. The information processing apparatus according to any one of
(Appendix 7)
The priority calculation algorithm storage unit stores a priority calculation algorithm for calculating one priority based on a plurality of future use times with respect to data used multiple times in the future. The information processing apparatus according to any one of
(Appendix 8)
The priority assigning unit calculates and assigns the priority of the data in the cache when the cache condition satisfies a predetermined condition, according to any one of
(Appendix 9)
The priority assigning unit calculates and assigns the priority of the data in the cache when the execution status information satisfies a predetermined condition, according to any one of
(Appendix 10)
A job execution history storage unit that stores information representing an execution history when the job has been executed in the past by the job execution unit;
The information processing apparatus according to any one of
(Appendix 11)
Using an information processing apparatus comprising a schedule storage unit that stores information representing a schedule for executing a job, and a cache that holds data read from a storage device when the job is executed,
Predicting the future use time of each data used in the job based on the schedule,
Information associating a priority calculation algorithm for calculating the priority of data in the cache based on the future use time of the data and a condition for the execution status information is assigned to each job as a priority. Store it in the calculation algorithm storage,
Executing the job based on the schedule;
Obtaining execution status information representing the execution status of the job;
Using a priority calculation algorithm associated with a condition satisfied by the execution status information, a priority is calculated and assigned to the data held in the cache,
An information processing method for deleting data selected based on the priority from data held in the cache from the cache.
(Appendix 12)
The information processing method according to
(Appendix 13)
An information processing apparatus comprising: a schedule storage unit that stores information representing a schedule for executing a job; and a cache that holds data read from a storage device when the job is executed.
A future use time prediction step of predicting a future use time of each data used in the job based on the schedule;
Information that associates the priority calculation algorithm for calculating the priority of the data in the cache based on the future use time of each data and the condition for the execution status information is prioritized for each job. A priority calculation algorithm storage step to be stored in the degree calculation algorithm storage unit;
A job execution step for executing the job based on the schedule;
An execution status acquisition step for acquiring execution status information representing the execution status of the job;
Using a priority calculation algorithm associated with a condition satisfied by the execution status information, a priority giving step for calculating and giving a priority to the data held in the cache;
A cache control step of deleting, from the cache, data selected based on the priority among the data held in the cache;
A computer program that runs
(Appendix 14)
Supplementary note 13 further causing the information processing apparatus to execute a future use time correction step of correcting the future use time of the data predicted in the future use time prediction step based on the execution status information. A computer program described in 1.
1、2、3 情報処理装置
9 データ格納部
101 ジョブ格納部
102 スケジュール格納部
103、203 将来使用時期予測部
104 ジョブ実行部
105、205、305 実行状況取得部
106 キャッシュ
107、207、307 優先度算出アルゴリズム格納部
108、208、308 優先度付与部
109 キャッシュ制御部
113 将来使用時期テーブル
207 優先度算出アルゴリズム格納部
211 ジョブ実行履歴格納部
212 将来使用時期修正部
1001 CPU
1002 RAM
1003 ROM
1004 記憶装置
1, 2, 3 Information processing device 9
1002 RAM
1003 ROM
1004 Storage device
Claims (10)
前記ジョブで用いられる各データの将来の使用時期を前記スケジュールに基づいてそれぞれ予測する将来使用時期予測部と、
前記ジョブを前記スケジュールに基づいて実行するジョブ実行部と、
前記ジョブ実行部による前記ジョブの実行状況を表す実行状況情報を取得する実行状況取得部と、
前記ジョブ実行部によって記憶装置から読み込まれるデータを保持するキャッシュと、
前記キャッシュに保持されるデータの優先度を、該データの前記将来の使用時期に基づいて算出する優先度算出アルゴリズムと、前記実行状況情報に対する条件と、を対応付けた情報を、前記ジョブ毎に格納した優先度算出アルゴリズム格納部と、
前記実行状況取得部によって取得された実行状況情報が満たす条件に対応付けられた優先度算出アルゴリズムを用いて、前記キャッシュに保持されたデータに優先度を算出して付与する優先度付与部と、
前記キャッシュに保持されているデータのうち前記優先度に基づいて選択したデータを前記キャッシュから削除するキャッシュ制御部と、を備えた情報処理装置。 A schedule storage unit storing information representing a schedule for executing a job;
A future use time prediction unit for predicting a future use time of each data used in the job based on the schedule;
A job execution unit that executes the job based on the schedule;
An execution status acquisition unit for acquiring execution status information representing the execution status of the job by the job execution unit;
A cache that holds data read from the storage device by the job execution unit;
Information associating a priority calculation algorithm for calculating the priority of data held in the cache based on the future use time of the data, and a condition for the execution status information, for each job. A stored priority calculation algorithm storage unit;
Using a priority calculation algorithm associated with a condition that the execution status information acquired by the execution status acquisition unit satisfies, a priority giving unit that calculates and gives priority to the data held in the cache;
An information processing apparatus comprising: a cache control unit that deletes, from the cache, data selected based on the priority among the data held in the cache.
前記将来使用時期予測部は、前記ジョブ実行履歴格納部をさらに参照して前記将来の使用時期を予測することを特徴とする請求項1から請求項9のいずれかに記載の情報処理装置。 A job execution history storage unit that stores information representing an execution history when the job has been executed in the past by the job execution unit;
The information processing apparatus according to claim 1, wherein the future use time prediction unit further predicts the future use time by further referring to the job execution history storage unit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010204441A JP5585330B2 (en) | 2010-09-13 | 2010-09-13 | Information processing apparatus, information processing method, and computer program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010204441A JP5585330B2 (en) | 2010-09-13 | 2010-09-13 | Information processing apparatus, information processing method, and computer program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012059204A JP2012059204A (en) | 2012-03-22 |
| JP5585330B2 true JP5585330B2 (en) | 2014-09-10 |
Family
ID=46056186
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010204441A Expired - Fee Related JP5585330B2 (en) | 2010-09-13 | 2010-09-13 | Information processing apparatus, information processing method, and computer program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5585330B2 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6287353B2 (en) * | 2014-03-04 | 2018-03-07 | 沖電気工業株式会社 | Content distribution apparatus, content distribution method, and content distribution program |
| JP6657693B2 (en) * | 2015-09-11 | 2020-03-04 | カシオ計算機株式会社 | Waveform writing device, method, program, and electronic musical instrument |
| US20180067858A1 (en) * | 2016-09-06 | 2018-03-08 | Prophetstor Data Services, Inc. | Method for determining data in cache memory of cloud storage architecture and cloud storage system using the same |
| CN107819804B (en) * | 2016-09-14 | 2021-03-16 | 先智云端数据股份有限公司 | Cloud storage device system and method for determining data in cache of its architecture |
| JP7080033B2 (en) * | 2017-11-07 | 2022-06-03 | 株式会社日立製作所 | Task management system, task management method, and task management program |
| CN113094392B (en) * | 2020-01-09 | 2024-10-18 | 北京沃东天骏信息技术有限公司 | Data caching method and device |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08147218A (en) * | 1994-11-24 | 1996-06-07 | Fujitsu Ltd | Cache control unit |
| US5761716A (en) * | 1996-05-01 | 1998-06-02 | International Business Machines Corporation | Rate based memory replacement mechanism for replacing cache entries when the cache is full |
| JP2004227188A (en) * | 2003-01-21 | 2004-08-12 | Fujitsu Ltd | Job swap method, job management device, and job management program |
| KR20070005729A (en) * | 2004-04-27 | 2007-01-10 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Devices with disk drives that use cache management policies to reduce power consumption |
| JP5205777B2 (en) * | 2007-03-14 | 2013-06-05 | 富士通株式会社 | Prefetch processing apparatus, prefetch processing program, and prefetch processing method |
| JP5419500B2 (en) * | 2009-03-12 | 2014-02-19 | キヤノン株式会社 | Program and information processing apparatus |
-
2010
- 2010-09-13 JP JP2010204441A patent/JP5585330B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2012059204A (en) | 2012-03-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5585330B2 (en) | Information processing apparatus, information processing method, and computer program | |
| JP5332065B2 (en) | Cluster configuration management method, management apparatus, and program | |
| US8276143B2 (en) | Dynamic scheduling of application tasks in a distributed task based system | |
| Van Houdt | A mean field model for a class of garbage collection algorithms in flash-based solid state drives | |
| US9571567B2 (en) | Methods and systems to manage computer resources in elastic multi-tenant cloud computing systems | |
| US20200219028A1 (en) | Systems, methods, and media for distributing database queries across a metered virtual network | |
| JP6233413B2 (en) | Task assignment determination device, control method, and program | |
| US20090300633A1 (en) | Method and System for Scheduling and Controlling Backups in a Computer System | |
| US20150134912A1 (en) | Scheduler, multi-core processor system, and scheduling method | |
| KR100524763B1 (en) | Improved earliest-deadline-first scheduling method | |
| CN106294206B (en) | Cache data processing method and device | |
| KR20120109533A (en) | Query Management | |
| JP6885193B2 (en) | Parallel processing device, job management method, and job management program | |
| WO2020172852A1 (en) | Computing resource scheduling method, scheduler, internet of things system, and computer readable medium | |
| US20120079491A1 (en) | Thread criticality predictor | |
| JP5609730B2 (en) | Information processing program and method, and transfer processing apparatus | |
| US10146783B2 (en) | Using file element accesses to select file elements in a file system to defragment | |
| KR20170052441A (en) | Centralized distributed systems and methods for managing operations | |
| US9740530B2 (en) | Decreasing the priority of a user based on an allocation ratio | |
| JP2011180894A (en) | Job scheduling program, device, and method | |
| CN112416596A (en) | A node scheduling method, device and device | |
| US8032888B2 (en) | Method and system for scheduling a thread in a multiprocessor system | |
| JP7331386B2 (en) | Job control system, method and program | |
| CN112685334B (en) | A method, device and storage medium for caching data in blocks | |
| JP5444900B2 (en) | Job execution management system, job execution management method, job execution management program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130815 |
|
| 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: 20140624 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140707 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5585330 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |