Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5585330B2 - Information processing apparatus, information processing method, and computer program - Google Patents
[go: Go Back, main page]

JP5585330B2 - Information processing apparatus, information processing method, and computer program - Google Patents

Information processing apparatus, information processing method, and computer program Download PDF

Info

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
Application number
JP2010204441A
Other languages
Japanese (ja)
Other versions
JP2012059204A (en
Inventor
岳大 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010204441A priority Critical patent/JP5585330B2/en
Publication of JP2012059204A publication Critical patent/JP2012059204A/en
Application granted granted Critical
Publication of JP5585330B2 publication Critical patent/JP5585330B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 Patent Document 1 reads fetch units composed of a plurality of data blocks at a time and stores them in a cache. In addition, this information processing apparatus predicts the use time of data blocks necessary during execution of the program. In this information processing apparatus, for the first data block and the second data block included in the same fetch unit, the next use time of the second data block is changed from the next use time of the first data block. If possible, delete the first data block from the cache.

このように、データの将来の使用時期に基づいてキャッシュ削除を行う情報処理装置は、スケジューリングされたジョブの実行に適している。なぜなら、スケジューリングされたジョブで用いられるデータは、ジョブのスケジュールに基づいて将来の使用時期を予測可能だからである。   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.

特表2007−535058号公報Special Table 2007-535058

しかしながら、特許文献1に記載された情報処理装置は、あるジョブがスケジュールどおりに実行されず遅延している場合でも、そのジョブで用いられるデータの将来の使用時期より他のジョブで用いられるデータの将来の使用時期が早ければ、遅延しているジョブのデータをキャッシュから削除してしまうことがある。   However, the information processing apparatus described in Patent Document 1 does not execute data according to a schedule and delays the data used in other jobs from the future use time of the data used in the job. If the future use time is early, the delayed job data may be deleted from the cache.

また、特許文献1に記載された情報処理装置は、あるジョブがスケジュールより早く進捗しておりスケジュールに余裕がある場合でも、そのジョブに用いられるデータの将来の使用時期より他のジョブで用いられるデータの将来の使用時期が後であれば、他のジョブのデータをキャッシュから削除してしまうことがある。すなわち、この情報処理装置は、スケジュールに余裕があるジョブのデータを優先的にキャッシュから削除することができない。   Further, the information processing apparatus described in Patent Document 1 is used in another job from the future use time of data used for the job even when a certain job progresses earlier than the schedule and there is room in the schedule. If the data is used in the future, the data of other jobs may be deleted from the cache. In other words, this information processing apparatus cannot preferentially delete job data with sufficient schedule from the cache.

同様に、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 Patent Literature 1 and the information processing apparatus that performs cache deletion based on the past data usage status perform flexible cache management according to the execution status of the scheduled job. There was a problem that it was not possible.

本発明は、上述の課題を解決するためになされたもので、スケジュールされたジョブの実行状況に応じた柔軟なキャッシュ管理を行う情報処理装置を提供することを目的とする。   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.

本発明の第1の実施の形態としての情報処理装置のハードウェア構成図である。It is a hardware block diagram of the information processing apparatus as a 1st embodiment of the present invention. 本発明の第1の実施の形態としての情報処理装置の機能ブロック図である。It is a functional block diagram of an information processor as a 1st embodiment of the present invention. 本発明の第1の実施の形態におけるデータの将来の使用時期の一例を示す図である。It is a figure which shows an example of the future use time of the data in the 1st Embodiment of this invention. 本発明の第1の実施の形態におけるキャッシュ内のデータに付与される優先度の一例を示す図である。It is a figure which shows an example of the priority provided to the data in the cache in the 1st Embodiment of this invention. 本発明の第1の実施の形態においてジョブ毎の実行状況に対して設定された優先度算出アルゴリズムの一例を示す図である。It is a figure which shows an example of the priority calculation algorithm set with respect to the execution condition for every job in the 1st Embodiment of this invention. 本発明の第1の実施の形態における優先度算出アルゴリズムの一例を示すグラフである。It is a graph which shows an example of the priority calculation algorithm in the 1st Embodiment of this invention. 本発明の第1の実施の形態としての情報処理装置が各データの将来の使用時期を予測する動作を説明するフローチャートである。It is a flowchart explaining the operation | movement which the information processing apparatus as the 1st Embodiment of this invention estimates the future use time of each data. 本発明の第1の実施の形態としての情報処理装置がキャッシュ内のデータに優先度を付与する動作を説明するフローチャートである。It is a flowchart explaining the operation | movement which gives the priority to the data in a cache by the information processing apparatus as the 1st Embodiment of this invention. 本発明の第1の実施の形態としての情報処理装置がキャッシュ内のデータを削除する動作を説明するフローチャートである。It is a flowchart explaining the operation | movement in which the information processing apparatus as the 1st Embodiment of this invention deletes the data in a cache. 本発明の第1の実施の形態としての情報処理装置を用いてキャッシュ削除回数を測定した際の各ジョブで用いられるデータを説明する図である。It is a figure explaining the data used by each job at the time of measuring the number of times of cache deletion using the information processing apparatus as the first embodiment of the present invention. 本発明の第1の実施の形態としての情報処理装置を用いてキャッシュ削除回数を測定した際に各ジョブに適用した優先度算出アルゴリズムを説明するグラフである。It is a graph explaining the priority calculation algorithm applied to each job when the number of times of cache deletion is measured using the information processing apparatus as the first exemplary embodiment of the present invention. 本発明の第1の実施の形態としての情報処理装置を用いてキャッシュ削除回数を測定した際に各ジョブに適用した他の優先度算出アルゴリズムを説明するグラフである。6 is a graph for explaining another priority calculation algorithm applied to each job when the number of cache deletions is measured using the information processing apparatus as the first exemplary embodiment of the present invention. 本発明の第1の実施の形態としての情報処理装置において図11および図12に示した優先度算出アルゴリズムを各ジョブにそれぞれ適用した際の各キャッシュ削除回数を比較した表である。13 is a table comparing the number of cache deletions when the priority calculation algorithm shown in FIGS. 11 and 12 is applied to each job in the information processing apparatus as the first exemplary embodiment of the present invention. 本発明の第2の実施の形態としての情報処理装置の機能ブロック図である。It is a functional block diagram of an information processor as a 2nd embodiment of the present invention. 本発明の第2の実施の形態としての情報処理装置が各データの将来の使用時期を予測する動作を説明するフローチャートである。It is a flowchart explaining the operation | movement which the information processing apparatus as the 2nd Embodiment of this invention estimates the future use time of each data. 本発明の第2の実施の形態としての情報処理装置がキャッシュ内のデータに優先度を付与する動作を説明するフローチャートである。It is a flowchart explaining the operation | movement which gives the priority to the data in a cache by the information processing apparatus as the 2nd Embodiment of this invention. 本発明の第3の実施の形態としての情報処理装置の機能ブロック図である。It is a functional block diagram of an information processor as a 3rd embodiment of the present invention. 本発明の第3の実施の形態において実行状況取得部によって取得される実行状況情報の一例を示す図である。It is a figure which shows an example of the execution status information acquired by the execution status acquisition part in the 3rd Embodiment of this invention. 本発明の第3の実施の形態としての情報処理装置がキャッシュ内のデータに優先度を付与する動作を説明するフローチャートである。It is a flowchart explaining the operation | movement which gives the priority to the data in a cache by the information processing apparatus as the 3rd Embodiment of this invention. 本発明の各実施の形態において、スケジュールされていないジョブに適用される優先度算出アルゴリズムの一例を示すグラフである。6 is a graph illustrating an example of a priority calculation algorithm applied to an unscheduled job in each embodiment of the present invention.

以下、本発明の各実施の形態について、図面を参照して詳細に説明する。   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 information processing apparatus 1 as the first embodiment of the present invention is shown in FIG. Referring to FIG. 1, an information processing apparatus 1 includes a computer apparatus including a CPU (Central Processing Unit) 1001, a RAM (Random Access Memory) 1002, a ROM (Read Only Memory) 1003, and a storage device 1004 such as a hard disk. It is constituted by.

次に、情報処理装置1の機能ブロック構成を図2に示す。図2において、情報処理装置1は、ジョブ格納部101と、スケジュール格納部102と、将来使用時期予測部103と、ジョブ実行部104と、実行状況取得部105と、キャッシュ106と、優先度算出アルゴリズム格納部107と、優先度付与部108と、キャッシュ制御部109とを備えている。また、情報処理装置1は、データ格納部9に接続されている。   Next, the functional block configuration of the information processing apparatus 1 is shown in FIG. In FIG. 2, the information processing apparatus 1 includes a job storage unit 101, a schedule storage unit 102, a future use time prediction unit 103, a job execution unit 104, an execution status acquisition unit 105, a cache 106, and a priority calculation. An algorithm storage unit 107, a priority assignment unit 108, and a cache control unit 109 are provided. Further, the information processing apparatus 1 is connected to the data storage unit 9.

ここで、ジョブ格納部101と、スケジュール格納部102と、優先度算出アルゴリズム格納部107とは、記憶装置1004によって構成されている。また、ジョブ実行部104と、実行状況取得部105と、優先度付与部108と、キャッシュ制御部109とは、ROM1003または記憶装置1004に記憶されたコンピュータ・プログラムをRAM1002に読み込んで実行するCPU1001によって構成されている。また、将来使用時期予測部103は、ROM1003または記憶装置1004に記憶されたコンピュータ・プログラムをRAM1002に読み込んで実行するCPU1001、および、記憶装置1004によって構成されている。また、キャッシュ106は、RAM1002によって構成されている。ただし、情報処理装置1の各機能ブロックを構成するハードウェア構成は、上述の構成に限定されない。   Here, the job storage unit 101, the schedule storage unit 102, and the priority calculation algorithm storage unit 107 are configured by a storage device 1004. Further, the job execution unit 104, the execution status acquisition unit 105, the priority assignment unit 108, and the cache control unit 109 are read by the CPU 1001 that reads the computer program stored in the ROM 1003 or the storage device 1004 into the RAM 1002 and executes it. It is configured. The future use time prediction unit 103 includes a CPU 1001 that reads a computer program stored in the ROM 1003 or the storage device 1004 into the RAM 1002 and executes the computer program, and a storage device 1004. The cache 106 is composed of a RAM 1002. However, the hardware configuration configuring each functional block of the information processing apparatus 1 is not limited to the above configuration.

なお、データ格納部9は、記憶装置1004によって構成されていてもよいし、情報処理装置1を構成するコンピュータ装置に接続された外部の記憶装置によって構成されていてもよい。   The data storage unit 9 may be configured by the storage device 1004 or may be configured by an external storage device connected to the computer device that configures the information processing device 1.

ジョブ格納部101は、ジョブを表す情報を格納している。ここで、ジョブとは、CPU1001によって実行される一連の処理を表す。ジョブを表す情報は、ジョブ実行部104によって実行される。なお、ジョブ格納部101は、本発明におけるジョブ実行部の一部の一実施形態を構成する。   The job storage unit 101 stores information representing a job. Here, the job represents a series of processes executed by the CPU 1001. Information representing a job is executed by the job execution unit 104. The job storage unit 101 constitutes one embodiment of a part of the job execution unit in the present invention.

スケジュール格納部102は、ジョブ格納部101に格納されたジョブを実行するスケジュールを表す情報を格納している。例えば、スケジュール格納部102は、複数のジョブの実行順序、ならびに、各ジョブの開始時刻および終了期限等からなるバッチ処理情報を、スケジュールを表す情報として格納していてもよい。なお、スケジュール格納部102に格納される情報は、例えば、図示しないジョブスケジューラによって生成されたものであってもよい。   The schedule storage unit 102 stores information representing a schedule for executing the job stored in the job storage unit 101. For example, the schedule storage unit 102 may store batch processing information including the execution order of a plurality of jobs and the start time and end deadline of each job as information representing a schedule. The information stored in the schedule storage unit 102 may be generated by a job scheduler (not shown), for example.

将来使用時期予測部103は、ジョブで用いられる各データの将来の使用時期を、スケジュール格納部102およびジョブ格納部101に基づいて予測する。   The future use time prediction unit 103 predicts the future use time of each data used in the job based on the schedule storage unit 102 and the job storage unit 101.

例えば、ジョブ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 time predicting unit 103 predicts that the future use time of the data a1 is the next 0:00, 1 second. In addition, it is assumed that the start time of job B is scheduled at 00: 00: 00: 00 every day, and job B is configured to use data a1 2 seconds after the execution start time. In this case, the future use time predicting unit 103 further predicts the next 0 hours 0 minutes 2 seconds as the future use time of the data a1.

また、将来使用時期予測部103は、予測した各データの将来の使用時期を将来使用時期テーブル113として記憶装置1004に記憶しておく。記憶装置1004に記憶された将来使用時期テーブル113の一例を図3に示す。図3は、上述のデータa1に関する将来の使用時期を表している。図3において、データa1は、翌0時0分1秒にジョブAによって使用され、翌0時0分2秒にジョブBによって使用されると予測されている。   Further, the future use time prediction unit 103 stores the predicted future use time of each data in the storage device 1004 as the future use time table 113. An example of the future use time table 113 stored in the storage device 1004 is shown in FIG. FIG. 3 shows a future use time regarding the data a1. In FIG. 3, the data a1 is predicted to be used by job A at 00: 00: 1 the next time and by job B at 0: 0: 2 the next time.

なお、図3の例では、スケジュール格納部102が、毎日定刻にジョブAおよびジョブBを開始するスケジュールを格納していることを想定している。このため、開始時刻および将来の使用時期は、時刻のみで表現されているが、これらの情報は、日時によって表されていてもよい。また、スケジュール格納部102は、毎日実行されるジョブのスケジュールに限らず、その他の所定間隔で繰り返されるジョブのスケジュールや、指定された日時に1度だけ実行されるジョブのスケジュールを含んでいてもよい。   In the example of FIG. 3, it is assumed that the schedule storage unit 102 stores a schedule for starting job A and job B every day. For this reason, the start time and future use time are expressed only by time, but these pieces of information may be expressed by date and time. Further, the schedule storage unit 102 is not limited to a schedule of jobs executed every day, but may include a schedule of jobs that are repeated at other predetermined intervals or a schedule of jobs that are executed only once at a specified date and time. Good.

ジョブ実行部104は、スケジュール格納部102に格納されたスケジュールに基づいて、ジョブ格納部101に格納されたジョブを実行する。また、ジョブ実行部104は、ジョブで用いるデータを、データ格納部9から読み込んでキャッシュ106に保持する。また、ジョブ実行部104は、ジョブで用いるデータが既にキャッシュ106に保持されていれば、データ格納部9にアクセスすることなくキャッシュ106から読み込む。   The job execution unit 104 executes the job stored in the job storage unit 101 based on the schedule stored in the schedule storage unit 102. Further, the job execution unit 104 reads data used in the job from the data storage unit 9 and holds it in the cache 106. If the data used in the job is already held in the cache 106, the job execution unit 104 reads the data from the cache 106 without accessing the data storage unit 9.

実行状況取得部105は、ジョブ実行部104によるジョブの実行状況を表す実行状況情報を取得する。例えば、実行状況取得部105は、各ジョブの終了期限と現在時刻との差分を計算することにより、終了期限までの残り時間を実行状況情報として取得してもよい。あるいは、実行状況取得部105は、各ジョブに設定された開始時刻と、実際にそのジョブが開始された時刻との差分を実行状況情報として取得してもよい。   The execution status acquisition unit 105 acquires execution status information representing the job execution status by the job execution unit 104. For example, the execution status acquisition unit 105 may acquire the remaining time until the end deadline as execution status information by calculating the difference between the end deadline of each job and the current time. Alternatively, the execution status acquisition unit 105 may acquire the difference between the start time set for each job and the time when the job is actually started as execution status information.

キャッシュ106は、ジョブ実行部104によってデータ格納部9から読み込まれたデータを保持する。キャッシュ106は、データ格納部9よりも高速なRAM1002によって構成される。これにより、ジョブ実行部104は、いったんデータ格納部9から読み込んだデータを再度利用する際の処理を高速化する。   The cache 106 holds data read from the data storage unit 9 by the job execution unit 104. The cache 106 is composed of a RAM 1002 that is faster than the data storage unit 9. Thereby, the job execution unit 104 speeds up the processing when the data once read from the data storage unit 9 is used again.

また、キャッシュ106は、保持可能なデータ量に制限を有している。すなわち、キャッシュ106は、ジョブ実行部104によって用いられる全てのデータを保持する容量を有していない場合がある。そこで、キャッシュ106が一杯になると、キャッシュ106内の一部のデータは、後述のキャッシュ制御部109によって選択されて削除される。   Further, the cache 106 has a limit on the amount of data that can be held. That is, the cache 106 may not have a capacity to hold all data used by the job execution unit 104. Therefore, when the cache 106 is full, some data in the cache 106 is selected and deleted by a cache control unit 109 described later.

また、図4に一例を示すように、キャッシュ106は、データと、優先度とを対応付けて保持可能である。この優先度は、後述の優先度付与部108によってデータ毎に付与される。また、この優先度は、後述のキャッシュ制御部109によって、キャッシュ106から削除対象のデータが選択される際に指標として用いられるものである。本実施例では、優先度が低いほど、削除対象として選択されやすいことを表している。   Further, as shown in FIG. 4, the cache 106 can hold data and priority in association with each other. This priority is assigned to each data by a priority assigning unit 108 described later. Further, this priority is used as an index when data to be deleted is selected from the cache 106 by the cache control unit 109 described later. In this embodiment, the lower the priority, the easier it is to select a deletion target.

優先度算出アルゴリズム格納部107は、キャッシュ106内のデータに付与する優先度をそのデータの将来の使用時期に基づいて算出する優先度算出アルゴリズムと、実行状況情報に対する条件とを対応付けた情報を、ジョブ毎に格納している。   The priority calculation algorithm storage unit 107 stores information associating a priority calculation algorithm for calculating a priority to be given to data in the cache 106 based on a future use time of the data and a condition for the execution status information. Stored for each job.

例えば、図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 cache 106.

なお、優先度算出アルゴリズム格納部107は、実行状況情報に対する条件および優先度算出アルゴリズムを入力装置を介して取得してもよい。これにより、優先度算出アルゴリズム格納部107は、システム管理者等によって設定された内容を格納することができる。   Note that the priority calculation algorithm storage unit 107 may acquire the condition for the execution status information and the priority calculation algorithm via the input device. Thereby, the priority calculation algorithm storage unit 107 can store the contents set by the system administrator or the like.

優先度付与部108は、実行状況取得部105によって取得された各ジョブの実行状況が満たす条件に対応付けられた優先度算出アルゴリズムを取得する。そして、優先度付与部108は、ジョブ毎に取得した優先度算出アルゴリズムを用いて、キャッシュ106に保持されたデータの優先度を算出して付与する。   The priority assigning unit 108 acquires a priority calculation algorithm associated with a condition that is satisfied by the execution status of each job acquired by the execution status acquisition unit 105. The priority assigning unit 108 calculates and assigns the priority of the data held in the cache 106 using the priority calculation algorithm acquired for each job.

具体的には、優先度付与部108は、キャッシュ106に保持されたデータの将来の使用時期と現在時刻との差分時間を計算する。そして、優先度付与部108は、そのデータが用いられるジョブについて取得した優先度算出アルゴリズムに、差分時間を適用することにより、そのデータの優先度を算出する。   Specifically, the priority assigning unit 108 calculates a difference time between the future use time of the data held in the cache 106 and the current time. Then, the priority assigning unit 108 calculates the priority of the data by applying the difference time to the priority calculation algorithm acquired for the job in which the data is used.

なお、優先度付与部108は、将来の複数回に渡って使用されることが予測されるデータに対しては、最も早い将来の使用時期に基づいて優先度を算出してもよい。   In addition, the priority provision part 108 may calculate a priority based on the earliest future use time with respect to the data predicted to be used for a plurality of times in the future.

キャッシュ制御部109は、キャッシュ106から削除するデータを優先度に基づいて選択し、選択したデータをキャッシュ106から削除する。例えば、キャッシュ制御部109は、キャッシュ106内のデータの容量が閾値以上である場合に、優先度が最も低いデータを削除するようにしてもよい。   The cache control unit 109 selects data to be deleted from the cache 106 based on the priority, and deletes the selected data from the cache 106. For example, the cache control unit 109 may delete data having the lowest priority when the capacity of data in the cache 106 is equal to or greater than a threshold.

以上のように構成された情報処理装置1の動作について、図7〜図9を参照して説明する。   The operation of the information processing apparatus 1 configured as described above will be described with reference to FIGS.

まず、情報処理装置1の将来使用時期予測動作を図7に示す。なお、図7において、ジョブ格納部101および優先度算出アルゴリズム格納部107には、既に情報が格納されているものとする。   First, the future use time prediction operation of the information processing apparatus 1 is shown in FIG. In FIG. 7, it is assumed that information is already stored in the job storage unit 101 and the priority calculation algorithm storage unit 107.

ここでは、まず、スケジュール格納部102は、ジョブのスケジュールを表す情報を格納する(ステップS1)。   Here, first, the schedule storage unit 102 stores information representing a job schedule (step S1).

例えば、スケジュール格納部102は、ジョブスケジューラによってスケジューリングされた、ジョブの実行順序、各ジョブの開始時刻、終了期限などを格納する。   For example, the schedule storage unit 102 stores the job execution order, the start time of each job, the end deadline, and the like scheduled by the job scheduler.

次に、将来使用時期予測部103は、スケジュール格納部102に格納されたスケジュールに含まれる各ジョブで用いられるデータの将来の使用時期を、ジョブ格納部101およびスケジュール格納部102に基づいて、予測する(ステップS2)。   Next, the future use time prediction unit 103 predicts the future use time of data used in each job included in the schedule stored in the schedule storage unit 102 based on the job storage unit 101 and the schedule storage unit 102. (Step S2).

例えば、将来使用時期予測部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 job storage unit 101, the future use time prediction unit 103 stores information indicating that the data a used in job A is used one second after the start of job A execution. obtain. Further, the future use time prediction unit 103 obtains 0 hours, 0 minutes, and 0 seconds every day as the start time of the job A based on the schedule of the job A stored in the schedule storage unit 102. Then, the future use time prediction unit 103 predicts the future use time when the data a is used in the job A as the next 0 hours 0 minutes 1 seconds.

次に、将来使用時期予測部103は、各データについて予測した将来の使用時期を将来使用時期テーブル113として記憶しておく(ステップS3)。   Next, the future use time prediction unit 103 stores the future use time predicted for each data as the future use time table 113 (step S3).

スケジュール格納部102に格納されているスケジュールに含まれる全てのジョブの各データについてステップS2〜S3を終了すると、情報処理装置1は、将来使用時期予測動作を終了する。   When steps S2 to S3 are completed for each data of all jobs included in the schedule stored in the schedule storage unit 102, the information processing apparatus 1 ends the future use time prediction operation.

なお、情報処理装置1は、このような将来使用時期予測動作を、スケジュール格納部102に格納されたスケジュールに基づく処理を開始する前に実行しておくことが望ましい。   Note that the information processing apparatus 1 desirably performs such a future use time prediction operation before starting processing based on the schedule stored in the schedule storage unit 102.

次に、情報処理装置1の優先度付与動作を図8に示す。ここで、優先度付与動作は、スケジュールに基づくジョブの実行開始後に実行されるものとする。また、優先度付与動作開始時点において、各ジョブには、スケジュールに基づくジョブの実行開始直後の実行状況情報に基づく優先度算出アルゴリズムが既に設定されているものとする。   Next, the priority assignment operation of the information processing apparatus 1 is shown in FIG. Here, it is assumed that the priority assignment 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.

また、キャッシュ106には、ジョブ実行部104によるジョブの実行に伴い、ジョブ実行部104がデータ格納部9から読み込んだデータが保持されていくものとする。   It is assumed that the data read from the data storage unit 9 by the job execution unit 104 is held in the cache 106 as the job execution unit 104 executes the job.

ここでは、まず、実行状況取得部105は、実行中のジョブの実行状況情報を取得する(ステップS11)。   Here, first, the execution status acquisition unit 105 acquires the execution status information of the job being executed (step S11).

例えば、実行状況取得部105は、現在時刻と、このジョブの終了期限との差分である残り時間を実行状況情報として取得してもよい。   For example, the execution status acquisition unit 105 may acquire the remaining time, which is the difference between the current time and the end date of the job, as execution status information.

次に、優先度付与部108は、取得した実行状況情報が、この時点でこのジョブに設定されている優先度算出アルゴリズムに対応付けられている条件を満たすか否かを、優先度算出アルゴリズム格納部107を参照することにより判断する(ステップS12)。   Next, the priority assigning unit 108 stores the priority calculation algorithm whether or not the acquired execution status information satisfies the conditions associated with the priority calculation algorithm set for this job at this time. The determination is made by referring to the unit 107 (step S12).

例えば、優先度付与部108は、このジョブの終了期限まで残り時間40分である場合、この時点でこのジョブに設定されている優先度算出アルゴリズム「f(t)=−t+10」に対応付けられている条件「残り時間30分以上」を満たしていると判断する。   For example, when the remaining time is 40 minutes until the end date of the job, the priority assigning unit 108 is associated with the priority calculation algorithm “f (t) = − t + 10” set for the job at this time. It is judged that the condition “remaining time 30 minutes or more” is satisfied.

ステップ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 information processing apparatus 1 is performed in step S14. Proceed to

一方、ステップ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 priority assigning unit 108 By referring to the degree calculation algorithm storage unit 107, the priority calculation algorithm applied to this job is changed (step S13).

例えば、優先度付与部108は、取得した実行状況情報「残り時間29分」が満たす条件「残り時間30分未満」に対応付けられた「f(t)=−t+11」を、このジョブの優先度算出アルゴリズムとして設定する。   For example, the priority assigning unit 108 assigns “f (t) = − t + 11” associated with the condition “less than 30 minutes remaining” that the acquired execution status information “remaining time 29 minutes” satisfies the priority of this job. Set as the degree calculation algorithm.

次に、優先度付与部108は、将来使用時期予測部103が保持している将来使用時期テーブル113を参照することにより、キャッシュ106内に保持されているデータのうち、このジョブで用いられる各データについて、現在時刻から将来の使用時期までの差分時間を算出する。そして、優先度付与部108は、このジョブに設定した優先度算出アルゴリズムに、算出した差分時間を適用することにより、このジョブで用いられるキャッシュ106内の各データの優先度を算出する(ステップS14)。   Next, the priority assigning unit 108 refers to the future use time table 113 held by the future use time predicting unit 103, so that each of the data held in the cache 106 is used in this job. The difference time from the current time to the future use time is calculated for the data. Then, the priority assigning unit 108 calculates the priority of each data in the cache 106 used in this job by applying the calculated difference time to the priority calculation algorithm set in this job (step S14). ).

次に、優先度付与部108は、このジョブで用いられるキャッシュ106内の各データに、ステップ14で算出した優先度を付与する(ステップS15)。   Next, the priority assigning unit 108 assigns the priority calculated in step 14 to each data in the cache 106 used in this job (step S15).

実行中の各ジョブについてステップS11〜ステップS15までの処理を終了すると、優先度付与部108は、実行中のジョブが残っているか否かを判断する(ステップS16)。   When the processing from step S11 to step S15 is completed for each job being executed, the priority assigning unit 108 determines whether or not there is a job being executed (step S16).

ここで、実行中のジョブが残っていれば、情報処理装置1は、ステップS11からの処理を、所定の時間経過後に再度実行する。   Here, if there is a job being executed, the information processing apparatus 1 executes the processing from step S11 again after a predetermined time has elapsed.

一方、実行中のジョブが残っていなければ、情報処理装置1は、優先度付与動作を終了する。   On the other hand, if there is no job being executed, the information processing apparatus 1 ends the priority assignment operation.

なお、情報処理装置1は、一定間隔で各ジョブについてステップS11〜S15を実行する他、キャッシュ106に新たなデータが追加されるタイミングで各ジョブについてステップS11〜S15を実行するようにしてもよい。   The information processing apparatus 1 may execute steps S11 to S15 for each job at regular intervals, or may execute steps S11 to S15 for each job at a timing when new data is added to the cache 106. .

次に、情報処理装置1の、キャッシュ制御動作について図9を参照して説明する。   Next, the cache control operation of the information processing apparatus 1 will be described with reference to FIG.

ここでは、まず、キャッシュ制御部109は、キャッシュ106の使用状況が所定の条件を満たすか否かを判断する(ステップS21)。   Here, first, the cache control unit 109 determines whether or not the usage status of the cache 106 satisfies a predetermined condition (step S21).

例えば、キャッシュ制御部109は、キャッシュ106に格納されたデータの容量が閾値以上であるか否かを判断してもよい。   For example, the cache control unit 109 may determine whether or not the capacity of data stored in the cache 106 is greater than or equal to a threshold value.

ここで、キャッシュ106の使用状況が所定の条件を満たさないと判断した場合、キャッシュ制御部109は、ステップS21を再度実行する。   Here, when it is determined that the usage status of the cache 106 does not satisfy the predetermined condition, the cache control unit 109 executes Step S21 again.

一方、キャッシュ106の使用状況が所定の条件を満たすと判断した場合、キャッシュ制御部109は、キャッシュ106内のデータに付与された優先度に基づいて一部のデータを選択し、選択したデータを削除する(ステップS22)。   On the other hand, when it is determined that the usage status of the cache 106 satisfies the predetermined condition, the cache control unit 109 selects some data based on the priority assigned to the data in the cache 106, and selects the selected data. Delete (step S22).

例えば、キャッシュ106は、キャッシュ106内のデータのうち、最も低い優先度が付与されたデータを削除してもよい。   For example, the cache 106 may delete data having the lowest priority among the data in the cache 106.

キャッシュ制御部109は、ステップS21からの処理を再度実行する。   The cache control unit 109 executes the process from step S21 again.

以上で、情報処理装置1の動作の説明を終了する。   Above, description of operation | movement of the information processing apparatus 1 is complete | finished.

次に、本発明の第1の実施の形態としての情報処理装置1を用いた実験について説明する。実験では、あるジョブで用いられるデータがキャッシュ106から削除される回数を、そのジョブに設定される優先度算出アルゴリズムの変更前と変更後とで比較する実験を行った。   Next, an experiment using the information processing apparatus 1 as the first embodiment of the present invention will be described. In the experiment, an experiment was performed in which the number of times data used in a job is deleted from the cache 106 is compared before and after the priority calculation algorithm set for the job is changed.

まず、第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 cache 106 was measured.

次に、第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 cache 106 was measured.

なお、第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 job storage unit 101 stores information representing job A, job B, and job C. As shown in FIG. 10, job A is a process using data a1, a2, and a3. Job B is processing using data b1, b2, and b3. Job C is processing using data c1, c2, and c3.

また、ジョブ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 job execution unit 104 accesses the data in the order of a1, b1, c1, a2, b2, c2, a3, b3, c3 every second.

次に、第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 schedule storage unit 102 stores a schedule in which the above-described job A, job B, and job C are simultaneously started at a predetermined time and repeatedly executed for 1000 seconds.

次に、第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, b 1, c 1, a 2, b 2, c 2, a 3, b 3, c 3 were stored in the storage device 1004 as the data storage unit 9.

次に、第1および第2の実験におけるジョブ実行部104について説明する。   Next, the job execution unit 104 in the first and second experiments will be described.

ジョブ実行部104は、データ格納部9から一旦読み込んだデータをキャッシュ106に格納する。そして、ジョブ実行部104は、次回そのデータにアクセスする際、該データがキャッシュ106に存在すれば、データ格納部9からではなくキャッシュ106から読み込みを行うものとする。   The job execution unit 104 stores the data once read from the data storage unit 9 in the cache 106. Then, the next time the job execution unit 104 accesses the data, if the data exists in the cache 106, the job execution unit 104 reads from the cache 106 instead of the data storage unit 9.

次に、第1および第2の実験において使用したキャッシュ106の制限について説明する。   Next, the limitation on the cache 106 used in the first and second experiments will be described.

第1および第2の実験では、キャッシュ106は、5個までのデータを格納可能とした。また、キャッシュ制御部109は、キャッシュ106内のデータ個数が5に達していたら、優先度の最も低いデータをキャッシュ106から削除するようにした。   In the first and second experiments, the cache 106 can store up to five pieces of data. In addition, when the number of data in the cache 106 reaches 5, the cache control unit 109 deletes the data with the lowest priority from the cache 106.

なお、第1および第2の実験において、将来使用時期予測部103は、既に各データの将来使用時期を予測し、将来使用時期テーブル113を保持しているものとした。   In the first and second experiments, it is assumed that the future use time prediction unit 103 has already predicted the future use time of each data, and holds the future use time table 113.

また、第1および第2の実験において、優先度付与部108は、キャッシュ106が一杯になったタイミングで優先度の付与を行った。詳細には、優先度付与部108は、ジョブ実行部104によってキャッシュ106に新たにデータが追加されようとしたとき、既にキャッシュ106が一杯であった場合に、優先度付与動作を行った。   In the first and second experiments, the priority assigning unit 108 assigns priorities when the cache 106 is full. Specifically, when the job execution unit 104 is about to add new data to the cache 106, the priority assignment unit 108 performs a priority assignment operation when the cache 106 is already full.

次に、第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 priority assigning unit 108 calculates 9, 6, and 3 as the priorities of a1, a2, and a3, respectively.

図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 priority assigning unit 108 calculates 8, 5, and 2 as the priorities of b1, b2, and b3, respectively.

図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 priority assigning unit 108 calculates 7, 4, and 1 as the priorities of c1, c2, and c3, respectively.

例えば、実験開始から8秒後の処理終了時点では、キャッシュ106は、a1、b1、c1、a2およびb3の5つのデータを保持している。   For example, at the end of the process 8 seconds after the start of the experiment, the cache 106 holds five data of a1, b1, c1, a2, and b3.

次に、実験開始から9秒後、ジョブ実行部104は、データ格納部9から読み込んだデータc3をキャッシュ106に格納しようとするが、キャッシュ106に空き領域を確保できない。   Next, nine seconds after the start of the experiment, the job execution unit 104 attempts to store the data c3 read from the data storage unit 9 in the cache 106, but cannot reserve a free area in the cache 106.

そこで、優先度付与部108は、キャッシュ106内の5つのデータa1、b1、c1、a2およびb3の優先度として9、8、7、6および2を算出する。   Therefore, the priority assigning unit 108 calculates 9, 8, 7, 6, and 2 as the priorities of the five data a1, b1, c1, a2, and b3 in the cache 106.

そして、キャッシュ制御部109は、優先度が最も低いデータb3をキャッシュ106から削除する。ジョブ実行部104は、新たなデータc3をキャッシュ106に保持する。   Then, the cache control unit 109 deletes the data b3 having the lowest priority from the cache 106. The job execution unit 104 holds the new data c3 in the cache 106.

このような第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 cache 106 was 166 times.

次に、第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 information processing apparatus 1 when, for example, the remaining time until the end date of the job A decreases and the remaining time of the job B and the job C has room. This corresponds to a state in which the priority calculation algorithm is changed.

図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 priority assigning unit 108 calculates 10, 7, and 4 as the priorities of a1, a2, and a3, respectively.

図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 cache 106 was 74 times.

ここで、第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 information processing apparatus 1 can significantly reduce the data access time when executing the job A, and can shorten the execution time of the job A.

これらの実験からわかるように、情報処理装置1は、例えば、ジョブAの終了期限までの残り時間が迫っているといった実行状況に応じて、ジョブAの優先度算出アルゴリズムを変更することにより、ジョブAの実行時間を短縮することができる。   As can be seen from these experiments, the information processing apparatus 1 changes the priority calculation algorithm of the job A according to the execution status such as the remaining time until the end date of the job A is approaching. The execution time of A can be shortened.

次に、本発明の第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 information processing apparatus 2 as the second embodiment of the present invention. In FIG. 14, the information processing apparatus 2 is different from the information processing apparatus 1 according to the first embodiment of the present invention in that a future usage time prediction unit 203 and an execution status acquisition unit instead of the future usage time prediction unit 103. 105, an execution status acquisition unit 205, a priority calculation algorithm storage unit 207 instead of the priority calculation algorithm storage unit 107, and a priority assignment unit 208 instead of the priority assignment unit 108, and job execution A history storage unit 211 and a future use time correction unit 212 are provided.

ここで、ジョブ実行履歴格納部211は、ROM1003または記憶装置1004に記憶されたコンピュータ・プログラムをRAM1002に読み込んで実行するCPU1001、および、記憶装置1004によって構成されている。また、将来使用時期修正部212は、ROM1003または記憶装置1004に記憶されたコンピュータ・プログラムをRAM1002に読み込んで実行するCPU1001によって構成されている。   Here, the job execution history storage unit 211 includes a CPU 1001 that reads a computer program stored in the ROM 1003 or the storage device 1004 into the RAM 1002 and executes it, and a storage device 1004. The future use time correction unit 212 includes a CPU 1001 that reads a computer program stored in the ROM 1003 or the storage device 1004 into the RAM 1002 and executes it.

ジョブ実行履歴格納部211は、ジョブ格納部101に格納されたジョブの過去の実行履歴を表す情報を格納している。例えば、ジョブ実行履歴格納部211は、ジョブの過去の実行開始時刻、実行終了時刻、そのジョブにおいて用いられるデータが使用された使用履歴等を、実行履歴を表す情報として格納していてもよい。   The job execution history storage unit 211 stores information indicating the past execution history of jobs stored in the job storage unit 101. For example, the job execution history storage unit 211 may store the past execution start time and execution end time of the job, the use history of data used in the job, and the like as information representing the execution history.

また、ジョブ実行履歴格納部211は、ジョブ実行部104によって実行されるジョブを監視してこれらの情報を取得するようにしてもよい。   Further, the job execution history storage unit 211 may monitor the job executed by the job execution unit 104 and acquire such information.

将来使用時期予測部203は、本発明の第1の実施の形態における将来使用時期予測部103と同様にジョブ格納部101およびスケジュール格納部102を参照するのに加えて、さらにジョブ実行履歴格納部211を参照することにより、各データの将来の使用時期を予測する。例えば、将来使用時期予測部203は、ジョブ実行履歴格納部211を参照することにより、あるジョブの過去の実行開始時刻から、あるデータが使用された時刻までの経過時間を求めてもよい。そして、将来使用時期予測部203は、スケジュール格納部102に格納された開始時刻に、算出した経過時間を加算することにより、そのデータの将来の使用時期を算出してもよい。   The future use time prediction unit 203 refers to the job storage unit 101 and the schedule storage unit 102 in the same manner as the future use time prediction unit 103 in the first embodiment of the present invention, and further includes a job execution history storage unit. By referring to 211, the future use time of each data is predicted. For example, the future use time prediction unit 203 may obtain an elapsed time from a past execution start time of a certain job to a time when a certain data is used by referring to the job execution history storage unit 211. Then, the future use time prediction unit 203 may calculate the future use time of the data by adding the calculated elapsed time to the start time stored in the schedule storage unit 102.

実行状況取得部205は、実行中のジョブの進度のスケジュールに対する差異を表すスケジュール差異情報を実行状況情報として取得する。   The execution status acquisition unit 205 acquires schedule difference information representing a difference with respect to the progress schedule of the job being executed as execution status information.

例えば、ジョブ格納部101に格納されたジョブが、そのデータ処理量によって進度を算出可能に構成されており、スケジュール格納部102にそのジョブの当初の終了予定時刻があらかじめ格納されている場合を想定する。この場合、実行状況取得部205は、実行中のジョブの進度に基づいてその時点での終了予定時刻を再計算し、再計算した終了予定時刻と当初の終了予定時刻との差分を、スケジュール差異情報として算出してもよい。   For example, it is assumed that the job stored in the job storage unit 101 is configured so that the progress can be calculated based on the data processing amount, and the scheduled end time of the job is stored in the schedule storage unit 102 in advance. To do. In this case, the execution status acquisition unit 205 recalculates the scheduled end time at that time based on the progress of the job being executed, and calculates the difference between the recalculated scheduled end time and the originally scheduled end time as the schedule difference. It may be calculated as information.

あるいは、例えば、実行状況取得部205は、実行中のジョブの実際の開始時刻と、スケジュールされた開始時刻との差分を、スケジュール差異情報として取得してもよい。   Alternatively, for example, the execution status acquisition unit 205 may acquire the difference between the actual start time of the job being executed and the scheduled start time as schedule difference information.

将来使用時期修正部212は、実行状況取得部205によって取得されたスケジュール差異情報に基づいて、将来使用時期予測部203によって算出された将来使用時期テーブル113を修正する。   The future use time correction unit 212 corrects the future use time table 113 calculated by the future use time prediction unit 203 based on the schedule difference information acquired by the execution status acquisition unit 205.

例えば、将来使用時期修正部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 time correction unit 212 has already calculated each future use time of the data used in the job. Correct after 300 seconds.

優先度算出アルゴリズム格納部207は、スケジュール差異情報に対する条件と、優先度算出アルゴリズムとを対応付けた情報を、ジョブ毎に格納している。   The priority calculation algorithm storage unit 207 stores information associating a condition for schedule difference information with a priority calculation algorithm for each job.

例えば、優先度算出アルゴリズム格納部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 algorithm storage unit 207 may store f (t) = − t + 10 as the priority calculation algorithm when the schedule difference information is less than ± 10 minutes. Further, for example, the priority calculation algorithm storage unit 207 sets f (t) = − t + 20 as the priority calculation algorithm when the schedule difference information exceeds 10 minutes (that is, more than 10 minutes behind the schedule). It may be stored. Further, for example, the priority calculation algorithm storage unit 207 sets f (t) = − t + 5 as a priority calculation algorithm when the schedule difference information is smaller than −10 minutes (that is, the schedule difference information is advanced 10 minutes or more earlier than the schedule). May be stored.

優先度付与部208は、実行状況取得部205によって取得された各ジョブのスケジュール差異情報が満たす条件に対応付けられた優先度算出アルゴリズムを取得する。そして、優先度付与部208は、取得した各ジョブの優先度算出アルゴリズムを用いて、各ジョブで用いられるデータに優先度を算出して付与する。   The priority assigning unit 208 acquires a priority calculation algorithm associated with a condition that is satisfied by the schedule difference information of each job acquired by the execution status acquisition unit 205. Then, the priority assigning unit 208 calculates and assigns the priority to the data used in each job, using the acquired priority calculation algorithm for each job.

以上のように構成された情報処理装置2の動作について、図15〜図16を用いて説明する。なお、情報処理装置2のキャッシュ制御動作については図9を用いて説明した本発明の第1の実施の形態としての情報処理装置1と同様であるため、本実施の形態における詳細な説明を省略する。   The operation of the information processing apparatus 2 configured as described above will be described with reference to FIGS. Note that the cache control operation of the information processing apparatus 2 is the same as that of the information processing apparatus 1 as the first embodiment of the present invention described with reference to FIG. 9, and thus detailed description in the present embodiment is omitted. To do.

まず、情報処理装置2の将来使用時期予測動作を図15に示す。   First, the future use time prediction operation of the information processing apparatus 2 is shown in FIG.

ここでは、まず、スケジュール格納部102がスケジュールを表す情報を格納した後(ステップS1)、将来使用時期予測部203は、スケジュール格納部102に格納されているジョブに関する実行履歴を表す情報を、ジョブ実行履歴格納部211から取得する(ステップS31)。   Here, first, after the schedule storage unit 102 stores information representing a schedule (step S1), the future use time prediction unit 203 uses the job history stored in the schedule storage unit 102 as information representing an execution history. Obtained from the execution history storage unit 211 (step S31).

次に、将来使用時期予測部203は、ステップS31で取得した実行履歴を表す情報、ジョブ格納部101およびスケジュール格納部102に格納された情報に基づいて、このジョブで使用される各データの将来の使用時期を予測する(ステップS32)。   Next, based on the information representing the execution history acquired in step S31 and the information stored in the job storage unit 101 and the schedule storage unit 102, the future use time prediction unit 203 determines the future of each data used in this job. The use time is predicted (step S32).

例えば、将来使用時期予測部203は、上述のように、あるジョブの過去の実行開始時刻、そのジョブであるデータが使用された過去の使用時刻、および、そのジョブのスケジュールされた開始時刻に基づいて、将来の使用時期を予測するようにしてもよい。   For example, as described above, the future use time prediction unit 203 is based on the past execution start time of a certain job, the past use time when the data that is the job is used, and the scheduled start time of the job. The future use time may be predicted.

その後、将来使用時期予測部203は、本発明の第1の実施の形態における使用時期予測部103と同様にステップS3を実行し、各データの将来の使用時期を将来の使用時期テーブルとして記憶する。   Thereafter, the future use time prediction unit 203 executes step S3 in the same manner as the use time prediction unit 103 in the first embodiment of the present invention, and stores the future use time of each data as a future use time table. .

将来使用時期予測部203は、ステップS31〜ステップS32およびステップS3の動作を、スケジュール格納部102に格納されている各ジョブについて実行する。   The future use time predicting unit 203 executes the operations in steps S31 to S32 and step S3 for each job stored in the schedule storage unit 102.

以上で、情報処理装置2は、将来使用時期予測動作を終了する。   Thus, the information processing apparatus 2 ends the future use time prediction operation.

次に、情報処理装置2の優先度付与動作を図16に示す。ここで、優先度付与動作は、スケジュールに基づくジョブの実行開始後に実行されるものとする。また、優先度付与動作開始時点において、各ジョブには、スケジュールに基づくジョブの実行開始直後の実行状況情報に基づく優先度算出アルゴリズムが既に設定されているものとする。   Next, the priority assignment operation of the information processing apparatus 2 is shown in FIG. Here, it is assumed that the priority assignment 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.

ここでは、まず、実行状況取得部205は、スケジュールに基づいて実行中のジョブについて、スケジュール差異情報を取得する(ステップS41)。   Here, first, the execution status acquisition unit 205 acquires schedule difference information for a job being executed based on a schedule (step S41).

次に、将来使用時期修正部212は、スケジュール差異情報に基づいて、将来使用時期テーブル113に記憶された将来の使用時期のうち、該当するジョブで用いられるデータの将来の使用時期を修正する(ステップS42)。   Next, based on the schedule difference information, the future use time correction unit 212 corrects the future use time of the data used in the corresponding job among the future use times stored in the future use time table 113 ( Step S42).

次に、優先度付与部208は、実行状況取得部205によって取得されたスケジュール差異情報が、この時点でこのジョブに設定されている優先度算出アルゴリズムに対応付けられた条件を満たすか否かを、優先度算出アルゴリズム格納部207を参照することにより判断する(ステップS43)。   Next, the priority assigning unit 208 determines whether the schedule difference information acquired by the execution status acquisition unit 205 satisfies a condition associated with the priority calculation algorithm set for this job at this time. Judgment is made by referring to the priority calculation algorithm storage unit 207 (step S43).

例えば、優先度付与部208は、このジョブのスケジュール差異情報が5分遅れであることを示していれば、この時点でこのジョブに設定されている優先度算出アルゴリズムに対応付けられた条件「スケジュール差異情報±10分以内」を満たすと判断する。   For example, if the priority assigning unit 208 indicates that the schedule difference information of this job is delayed by 5 minutes, the condition “schedule” associated with the priority calculation algorithm set for this job at this point in time It is determined that the difference information is within ± 10 minutes.

ステップ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 information processing apparatus 2 proceeds to step S14.

一方、ステップ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 priority assigning unit 208 stores the priority calculation algorithm. By referring to the unit 207, the priority calculation algorithm set for this job is changed (step S44).

例えば、優先度付与部208は、スケジュール差異情報が15分遅れであることを示していれば、「スケジュール差異情報10分以上」に対応付けられた優先度算出アルゴリズム「f(t)=−t+20」に、このジョブの優先度算出アルゴリズムを変更する。   For example, if the priority assignment unit 208 indicates that the schedule difference information is delayed by 15 minutes, the priority calculation algorithm “f (t) = − t + 20 associated with“ schedule difference information 10 minutes or more ”is used. To change the priority calculation algorithm for this job.

以降、情報処理装置2は、ステップS14〜ステップS15まで本発明の第1の実施の形態としての情報処理装置1と同様に動作することにより、このジョブのスケジュール差異情報に応じて変更した優先度算出アルゴリズムを用いて、このジョブで用いられるキャッシュ106内の各データに優先度を付与する。   Thereafter, the information processing apparatus 2 operates in the same manner as the information processing apparatus 1 as the first embodiment of the present invention from step S14 to step S15, so that the priority changed according to the schedule difference information of this job. A priority is assigned to each data in the cache 106 used in this job by using a calculation algorithm.

そして、情報処理装置2は、実行中のジョブが全て終了するまで、実行中の各ジョブについてステップS41〜S44およびステップS14〜S15を実行する。   Then, the information processing apparatus 2 executes steps S41 to S44 and steps S14 to S15 for each job being executed until all the jobs being executed are completed.

以上で、情報処理装置2は、優先度付与動作を終了する。   Thus, the information processing apparatus 2 ends the priority assignment operation.

次に、本発明の第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 information processing apparatus 3 as a third embodiment of the present invention. In FIG. 17, the information processing device 3 is different from the information processing device 1 according to the first embodiment of the present invention in that an execution status acquisition unit 305 and a priority calculation algorithm storage unit instead of the execution status acquisition unit 105. A priority calculation algorithm storage unit 307 is provided in place of 107, and a priority assignment unit 308 is provided in place of the priority assignment unit 108.

実行状況取得部305は、ジョブ実行部104によって実行中のジョブに関して、中断、実行中および終了済みのいずれかを表す情報を実行状況情報として取得する。図18は、実行状況取得部305によって取得される実行状況情報の一例である。   The execution status acquisition unit 305 acquires, as the execution status information, information indicating any one of interruption, execution, and completion regarding the job being executed by the job execution unit 104. FIG. 18 is an example of execution status information acquired by the execution status acquisition unit 305.

優先度算出アルゴリズム格納部307は、中断、実行中および終了済みのいずれかの状態と、優先度算出アルゴリズムとを対応付けた情報を、ジョブ毎に格納している。   The priority calculation algorithm storage unit 307 stores, for each job, information that associates any of the suspended, executing, and completed states with the priority calculation algorithm.

例えば、優先度算出アルゴリズム格納部307は、あるジョブが中断されている場合の優先度算出アルゴリズムとしてf(t)=−10を格納してもよい。また、例えば、優先度算出アルゴリズム格納部307は、そのジョブが終了済みの場合の優先度算出アルゴリズムとしてf(t)=−100を格納してもよい。また、例えば、優先度算出アルゴリズム格納部307は、そのジョブが実行中の場合の優先度算出アルゴリズムとしてf(t)=−t+10を格納してもよい。   For example, the priority calculation algorithm storage unit 307 may store f (t) = − 10 as a priority calculation algorithm when a certain job is interrupted. Also, for example, the priority calculation algorithm storage unit 307 may store f (t) = − 100 as the priority calculation algorithm when the job has been completed. For example, the priority calculation algorithm storage unit 307 may store f (t) = − t + 10 as the priority calculation algorithm when the job is being executed.

優先度付与部308は、実行状況取得部305によって取得された各ジョブの状況に対応付けられた優先度算出アルゴリズムを取得する。そして、優先度付与部308は、取得した各ジョブの優先度算出アルゴリズムを用いて、各ジョブで用いられるデータに優先度を算出して付与する。   The priority level assigning unit 308 acquires a priority calculation algorithm associated with the status of each job acquired by the execution status acquisition unit 305. Then, the priority assigning unit 308 calculates and assigns priority to data used in each job, using the acquired priority calculation algorithm for each job.

以上のように構成された情報処理装置3の優先度付与動作について、図19を用いて説明する。なお、情報処理装置3の将来使用時期予測動作およびキャッシュ制御動作については図7および図9を用いて説明した本発明の第1の実施の形態としての情報処理装置1と同様であるため、本実施の形態における詳細な説明を省略する。   The priority assignment operation of the information processing apparatus 3 configured as described above will be described with reference to FIG. Note that the future use time prediction operation and the cache control operation of the information processing device 3 are the same as those of the information processing device 1 according to the first embodiment of the present invention described with reference to FIGS. Detailed description in the embodiment is omitted.

また、この優先度付与動作は、スケジュールに基づくジョブの実行開始後に実行されるものとする。また、優先度付与動作開始時点において、各ジョブには、スケジュールに基づくジョブの実行開始直後の実行状況情報に基づく優先度算出アルゴリズムが既に設定されているものとする。   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 status acquisition unit 305 acquires execution status information representing any of suspended, executing, and completed for each scheduled job (step S51).

ここで、終了済みであることを表す実行状況情報が取得された場合(ステップS52でYes)、優先度付与部308は、優先度算出アルゴリズム格納部307を参照して、このジョブに設定する優先度算出アルゴリズムを、終了済みの場合のものに変更する(ステップS54)。   Here, when execution status information indicating completion has been acquired (Yes in step S52), the priority assigning unit 308 refers to the priority calculation algorithm storage unit 307 and sets priority for this job. The degree calculation algorithm is changed to that when it has been completed (step S54).

一方、中断されていることを表す実行状況情報が取得された場合(ステップ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 priority assigning unit 308 refers to the priority calculation algorithm storage unit 307 and refers to this job. The priority calculation algorithm to be set to is changed to that used when interrupted (step S55).

また、実行中であることを表す実行状況情報が取得された場合(ステップ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 priority assigning unit 308 refers to the priority calculation algorithm storage unit 307 and refers to the job. The priority calculation algorithm to be set to is changed to that for execution (step S56).

以降、情報処理装置3は、ステップS14〜ステップS15まで本発明の第1の実施の形態としての情報処理装置1と同様に動作することにより、中断または実行中の実行状況に応じて取得した優先度算出アルゴリズムを用いて、このジョブで使用するキャッシュ106内の各データに優先度を付与する。   Thereafter, the information processing device 3 operates in the same manner as the information processing device 1 as the first embodiment of the present invention from step S14 to step S15, so that the priority acquired according to the execution status being interrupted or being executed is obtained. Using a degree calculation algorithm, a priority is given to each data in the cache 106 used in this job.

そして、情報処理装置3は、実行中のジョブが全て終了するまで、実行中の各ジョブについてステップS51〜S56およびステップS14〜S15を実行する。   Then, the information processing apparatus 3 executes steps S51 to S56 and steps S14 to S15 for each job being executed until all the jobs being executed are completed.

以上で、情報処理装置3は、優先度付与動作を終了する。   Thus, the information processing device 3 ends the priority assignment operation.

次に、本発明の第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 cache 106 cannot be acquired. To be granted.

また、上述の各実施の形態において、各実行状況取得部は、それぞれ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)は、あるデータについて複数の将来の使用時期t〜tが予測されているとき、f(t)〜f(t)の和を表す。これにより、各実施の形態における各優先度付与部は、将来使用される回数がより多いデータの優先度をより高くしてキャッシュ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 cache 106.

また、上述の各実施の形態において、各情報処理装置は、優先度付与動作を所定の間隔またはキャッシュが所定の条件を満たしたタイミングで実行するものとして説明したが、各情報処理装置は、優先度付与動作を、実行状況情報が所定の条件を満たす場合に実行するようにしてもよい。   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 1, wherein the execution status acquisition unit acquires schedule difference information representing a difference in progress of the job with respect to the schedule as the execution status information.
(Appendix 3)
The information processing apparatus according to appendix 2, further comprising a future use time correction unit that corrects a future use time of the data predicted by the future use time prediction unit based on the schedule difference information.
(Appendix 4)
The information according to any one of appendix 1 to appendix 3, wherein the execution status acquisition unit acquires, as the execution status information, a remaining time until an end date of the job stored in advance in the schedule storage unit Processing equipment.
(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 1 to appendix 5.
(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 1 to appendix 5.
(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 1 to appendix 7, The information processing apparatus described.
(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 1 to appendix 8, The information processing apparatus described.
(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 1 to appendix 9, wherein the future use time prediction unit further predicts the future use time by further referring to the job execution history storage unit.
(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 11, wherein a future use time of each data used in the job is corrected based on the execution status information.
(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 Data storage unit 101 Job storage unit 102 Schedule storage unit 103, 203 Future use time prediction unit 104 Job execution unit 105, 205, 305 Execution status acquisition unit 106 Cache 107, 207, 307 Priority Calculation algorithm storage unit 108, 208, 308 Priority assignment unit 109 Cache control unit 113 Future use time table 207 Priority calculation algorithm storage unit 211 Job execution history storage unit 212 Future use time correction unit 1001 CPU
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に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the execution status acquisition unit acquires schedule difference information representing a difference in progress of the job with respect to the schedule as the execution status information. 前記将来使用時期予測部によって予測された前記データの将来の使用時期を、前記スケジュール差異情報に基づいて修正する将来使用時期修正部をさらに備えることを特徴とする請求項2に記載の情報処理装置。   The information processing apparatus according to claim 2, further comprising a future use time correction unit that corrects a future use time of the data predicted by the future use time prediction unit based on the schedule difference information. . 前記実行状況取得部は、前記スケジュール格納部にあらかじめ格納された前記ジョブの終了期限までの残り時間を前記実行状況情報として取得することを特徴とする請求項1から請求項3のいずれかに記載の情報処理装置。   The execution status acquisition unit acquires the remaining time until the end date of the job stored in advance in the schedule storage unit as the execution status information. Information processing device. 前記実行状況取得部は、前記ジョブが実行中であるか、中断された状態であるか、終了済みであるかを表す情報を前記実行状況情報として取得することを特徴とする請求項1から請求項4のいずれかに記載の情報処理装置。   The execution status acquisition unit acquires, as the execution status information, information indicating whether the job is being executed, suspended, or completed. Item 5. The information processing apparatus according to any one of Items 4 to 6. 前記優先度付与部は、将来において複数回に渡って使用されるデータに関して、最も早い将来の使用時期を用いて前記優先度算出アルゴリズムによって算出した優先度を該データに付与することを特徴とする請求項1から請求項5のいずれかに記載の情報処理装置。   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 claims 1 to 5. 前記優先度算出アルゴリズム格納部は、将来において複数回に渡って使用されるデータに関して、複数の将来の使用時期に基づいて1つの優先度を算出する優先度算出アルゴリズムを格納することを特徴とする請求項1から請求項5のいずれかに記載の情報処理装置。   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 claims 1 to 5. 前記優先度付与部は、前記キャッシュの状況が所定の条件を満たした場合に、前記キャッシュ内のデータの前記優先度を算出して付与することを特徴とする請求項1から請求項7のいずれかに記載の情報処理装置。   8. The priority assignment unit according to claim 1, wherein the priority assignment unit calculates and assigns the priority of the data in the cache when the cache status satisfies a predetermined condition. An information processing apparatus according to claim 1. 前記優先度付与部は、前記実行状況情報が所定の条件を満たした場合に、前記キャッシュ内のデータの前記優先度を算出して付与することを特徴とする請求項1から請求項8のいずれかに記載の情報処理装置。   9. The priority assignment unit according to claim 1, wherein the priority assignment unit calculates and assigns the priority of the data in the cache when the execution status information satisfies a predetermined condition. An information processing apparatus according to claim 1. 前記ジョブ実行部によって前記ジョブが過去に実行された際の実行履歴を表す情報を格納したジョブ実行履歴格納部をさらに備え、
前記将来使用時期予測部は、前記ジョブ実行履歴格納部をさらに参照して前記将来の使用時期を予測することを特徴とする請求項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.
JP2010204441A 2010-09-13 2010-09-13 Information processing apparatus, information processing method, and computer program Expired - Fee Related JP5585330B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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