JP7367365B2 - タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム - Google Patents

タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム Download PDF

Info

Publication number
JP7367365B2
JP7367365B2 JP2019135262A JP2019135262A JP7367365B2 JP 7367365 B2 JP7367365 B2 JP 7367365B2 JP 2019135262 A JP2019135262 A JP 2019135262A JP 2019135262 A JP2019135262 A JP 2019135262A JP 7367365 B2 JP7367365 B2 JP 7367365B2
Authority
JP
Japan
Prior art keywords
task
tasks
execution management
execution
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019135262A
Other languages
English (en)
Other versions
JP2021018711A (ja
Inventor
香織 大坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019135262A priority Critical patent/JP7367365B2/ja
Priority to US16/929,308 priority patent/US11556377B2/en
Publication of JP2021018711A publication Critical patent/JP2021018711A/ja
Application granted granted Critical
Publication of JP7367365B2 publication Critical patent/JP7367365B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1021Hit rate improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、タスク実行管理技術に関する。
近年、ビッグデータを活用して、各種分析が盛んに行われている。ビッグデータには、多彩なデータが大量に含まれており、各種分析のためのデータの処理には多くの時間が費やされる。データの処理にかかる時間を減らすためには、データの処理をコンピュータリソースに最適に配分する必要がある。
データを処理する主体をタスクと称する場合がある。ここでタスクとは、コンピュータにおける処理の実行単位であり、一般的には1つのソフトウェア(またはプログラム)が行う処理の全体を指すが、広義にはその一部と解釈することも可能である。タスクは、ジョブ、プロセス、スレッド等と称される場合もある。
例えば、特開2013-150094号公報には、メモリのアクセス領域がより多く重複するタスクを連続実行するタスクスケジューリングを行う技術が開示されている。
特開2013-150094号公報 特開2010-92222号公報
従来技術では、メモリのアクセス領域がより多く重複するタスクが連続実行されるようにスケジュールされる。しかし、キャッシュサイズに対するタスクの実行中に参照されるデータの容量の比が大きいと、例えアクセス領域が重複するタスクが連続して実行されたとしてもキャッシュヒット率が低下する場合がある。
本発明の一観点によれば、タスク実行管理プログラムは、第1の複数のタスクを取得し、キャッシュサイズに応じて、第1の複数のタスクに含まれるそれぞれのタスクを分割し、分割により得られた第2の複数のタスクに含まれるそれぞれのタスクの実行時に参照されるデータの範囲に応じて、第2の複数のタスクを分類し、分類により得られたグループ毎に、グループに含まれるタスクの実行順序を決定する、処理をコンピュータに実行させる。
一の側面において、本発明は、キャッシュヒット率の低下を抑制する。
図1は、タスク実行管理装置のハードウェア構成例を示す図である。 図2は、タスクの分類の一例を示す図である。 図3は、データの参照範囲の一例を示す図である。 図4は、タスク実行管理の手順の一例を示すフローチャートである。 図5は、タスクの処理時間の一例を示す図である。 図6は、調整後のタスクの処理時間の一例を示す図である。 図7は、タスク実行管理の手順の一例を示すフローチャートである。
以下、図面を参照して実施形態について詳細に説明する。実施形態における各処理は適宜組み合わせることが可能である。なお、実施形態を説明するための全図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は省略する。
図1は、実施形態のタスク実行管理装置のハードウェア構成例を示す図である。実施形態のタスク実行管理装置10は、少なくとも制御装置11、キャッシュメモリ12、記憶装置13を有し、これらはシステムバス14で相互に接続されている。
制御装置11は、タスク実行管理装置10における各処理の実行を制御する装置である。制御装置11は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路が用いられても良い。制御装置11は、記憶装置13に格納されているOS(Operating System)、各種プログラムに基づいて、各種演算や各種処理を実行する。制御装置11は、プログラムの実行中に必要となる各種情報を、例えば記憶装置13から取得することができる。なお、制御装置11が行う処理の一部を専用のハードウェアを用いて実現しても良い。制御装置11は、記憶装置13に記憶された複数の命令を含むタスク実行管理プログラムに基づき、実施形態に係る処理を実行する。
キャッシュメモリ12は、例えば、SRAM(Static Random Access Memory)が用いられても良い。キャッシュメモリ12には、例えば、タスクの実行の際に参照(使用)された記憶装置13に記憶されたデータが、一時的に記憶される。キャッシュメモリ12に記憶されたデータは、記憶装置13に記憶されたデータと比べて、制御装置11が高速にデータの読み出しが可能である。制御装置11は、キャッシュメモリ12に記憶されているデータに関しては、記憶装置13へアクセスせず、キャッシュメモリ12のみにアクセスする。キャッシュメモリ12は、制御装置11に内蔵されても良い。
記憶装置13は、タスク実行管理プログラムを記憶する。記憶装置13は、主記憶装置および補助記憶装置を含んでも良い。主記憶装置は、例えば、制御装置11に実行させるOSやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、主記憶装置は、制御装置11による処理に必要な各種データを記憶する。なお、主記憶装置としては、例えば、DRAM(Dynamic Random Access Memory)が用いてられても良い。
補助記憶装置は、例えば、タスク実行管理プログラムを記憶する。補助記憶装置は、制御装置11からの指示に基づいて、記憶された各種情報の読み出しや、書き込みを行うことができる。補助記憶装置としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等のストレージ等が用いられても良い。補助記憶装置は、処理において使用する情報や処理の結果を記憶しても良い。また、主記憶装置と補助記憶装置は、互いの機能を担い合っても良い。
タスク実行管理装置10は、例えば、ストレージに記憶されたタスク実行管理プログラムを提供するサーバーからネットワークを介してタスク実行管理プログラムをダウンロードし、記憶装置13に記憶しても良い。タスク実行管理装置10は、例えば、可搬記憶媒体用ドライブを備えても良い。タスク実行管理装置10は、例えば、タスク実行管理プログラムを記憶したフラッシュメモリや光学ディスクなどの可搬記憶媒体からタスク実行管理プログラムを読み出して、記憶装置13に記憶しても良い。
以下、実施形態に係るタスク実行管理装置10の制御装置11のタスク実行管理処理の具体的な動作を例示する。制御装置11は、複数のタスクを取得する。制御装置11は、取得した第1の複数のタスクのそれぞれを、キャッシュメモリ12のサイズ(記憶容量)に応じて、分割する。
制御装置11は、例えば、タスクの実行中に参照されるデータの容量が、キャッシュメモリ12の容量より小さくなるようにタスクを分割しても良い。キャッシュメモリ12の容量が、例えば、8Mバイトである場合、制御装置11は、タスクの実行中に参照されるデータの容量が8Mバイトより小さくなるように、タスクを分割しても良い。
他には、制御装置11は、例えば、タスクの実行中に参照されるデータの容量が、キャッシュメモリ12の容量に対して所定の比率以下となるようにタスクを分割しても良い。キャッシュメモリ12の容量が、例えば、64Mバイトである場合、制御装置11は、タスクの実行中に参照されるデータの容量が、キャッシュメモリ12の容量の4分の1以下、つまり16Mバイト以下となるように、タスクを分割しても良い。
他には、制御装置11は、キャッシュメモリ12のサイズと実行されるタスクの並列度とに応じて、タスクを分割してもよい。タスクの並列度とは、同時に実行されるタスクの数である。
キャッシュメモリ12の容量が、例えば、100Mバイトであり、タスクの並列度が、例えば、10である場合、制御装置11は、キャッシュメモリ12の容量とタスクの並列度に基づいて、1のタスクに割り当てられるキャッシュサイズを10Mバイトと算出する。制御装置11は、タスクの実行中に参照されるデータの容量が、算出した1のタスクに割り当てられるキャッシュサイズ以下となるように、タスクを分割しても良い。タスクの並列度は、ユーザによって入力されても良い。上述したキャッシュメモリ12のサイズ、所定の比率、タスクの並列度は一例であり、これらに限られるものではない。
タスクの分割方法の具体例を示す。例えば、メモリ上で連続するデータ(配列)に繰り返しアクセスして所定の処理を行うソフトウェアが行うタスクを想定する。このようなソフトウェアのソースコードでは、一般的に繰り返し処理はforループやwhileループ等によって記述される。例えば、ソースコードにおいてexample[i]という一次元配列が定義されており、forループにおいてインデックスiが0~9999の値を取ると仮定する。
forループにおいてインデックスiの範囲を0~999、1000~1999、・・・、9000~9999の10個に分割することにより、当該ソースコードから10個の分割処理のそれぞれに対応する10個のソースコードを生成しても良い。これら10個のソースコードは互いに依存関係が無い(排他性を有する)ものとする。10個のソースコードにおけるインデックスiが取る値の数を等しく分割する例を示したが、これに限られるものではなく、分割後のソースコードのそれぞれにおけるインデックスiが取る値の数が異なっても良い。
上述のように、1つのソースコードに対応するタスクを複数のタスクに分割することが可能である。分割により生成された10個のソースコードに対応する10個のタスクは、元の1つのソースコードに対応するタスクを10個に分割したものに相当する。また、分割により生成する10個のタスクのそれぞれの実行中に参照するデータのサイズは、元の1つのタスクの実行中に参照するデータのサイズの10分の1となる。すなわち、タスクを分割することにより、各タスクの処理の実行中に参照するデータのサイズを小さくすることが可能である。当該タスクの分割方法の具体例は、一例であり、これに限られるものではなく、他の方法で代替しても良い。
次に、制御装置11は、例えば、第1の複数のタスクのそれぞれを分割して生成された第2の複数のタスクを、第2の複数のタスクのそれぞれを実行する際に参照される記憶装置13に記憶されたデータの範囲に応じて、複数のグループに分類する。制御装置11は、第2の複数のタスクのうち、タスクの実行中に参照するデータの少なくとも一部が重複するタスク同士を同一のグループに分類しても良い。
図2は、タスクの分類の一例を示す図である。ジョブ1に含まれるタスク1とジョブ2に含まれるタスク2はそれぞれ、例えば、タスク1-1、タスク1-2とタスク2-1、タスク2-2に分割される。タスク1-1の実行中に参照されるデータの範囲はBである。タスク1-2とタスク2-1との実行中に参照されるデータの範囲はCである。タスク2-2の実行中に参照されるデータの範囲はDである。
制御装置11は、例えば、実行中に参照されるデータの範囲が重複するタスク1-2とタスク2-1とを同じグループ2に分類する。制御装置11は、例えば、実行中に参照されるデータの範囲が異なるタスク1-1とタスク2-2とについては、それぞれグループ1とグループ3とに分類する。このように、異なるジョブに含まれるタスクから分割し生成されたタスクが同一のグループに分類されても良い。また、同一のグループに分類されたタスク同士は、実行中に参照されるデータの範囲が完全に同一でなくても良い。
次に、制御装置11は、例えば、グループ毎にグループに含まれるタスクの実行順序を決定する。制御装置11は、例えば、1のグループに含まれるタスクについて、複数のタスクが同時に実行されるように実行順序を決定しても良い。制御装置11は、例えば、1のグループに含まれるタスクについて、順番に連続して実行されるように実行順序を決定しても良い。
他には、制御装置11は、例えば、プログラムのデータへのアクセス方式に応じて、グループ内のタスクの実行順序を決定しても良い。制御装置11は、例えば、プログラムがデータを下位アドレスからアクセスする場合には、より下位のアドレスのデータを参照するタスクが先に実行されるように実行順序を決定しても良い。逆に、制御装置11は、例えば、プログラムがデータを上位アドレスからアクセスする場合には、より上位のアドレスのデータを参照するタスクが先に実行されるように実行順序を決定しても良い。
図3は、データの参照範囲の一例を示す図である。同一のグループに分類されたタスク1、タスク2、タスク3のそれぞれの実行時に参照されるデータの範囲は、記憶装置13におけるメモリアドレスにより表される。例えば、タスク1の実行中に参照されるデータの範囲31は、メモリアドレスのAAAA番地からCCCC番地である。例えば、タスク2の実行中に参照されるデータの範囲32は、メモリアドレスのDDDD番地からFFFF番地である。例えば、タスク3の実行中に参照されるデータの範囲33は、メモリアドレスのBBBB番地からEEEE番地である。
いずれのタスクにおいても、データが下位のアドレスから上位のアドレスの方向でアクセスされる場合、制御装置11は、タスク1乃至タスク3のうち、より下位のアドレスのデータが参照されるタスクを先に実行するように実行順序を決定しても良い。すなわち、制御装置11は、実行順序をタスク2→タスク3→タスク1と決定しても良い。一方、データが上位のアドレスから下位のアドレスの方向にアクセスされる場合、制御装置11は、タスク1乃至タスク3のうち、より上位のアドレスのデータが参照されるタスクを先に実行するように実行順序を決定しても良い。すなわち、制御装置11は、実行順序をタスク1→タスク3→タスク2と決定しても良い。
上述の一例のように、タスク実行管理装置10は、プログラムのデータへのアクセス方式に応じて、グループ内のタスクの実行順序を決定する。これにより、例えば、タスク2とタスク3との実行中に共通して参照されるDDDD番地からEEEE番地までのデータが、タスク3の実行時において、キャッシュメモリ12においてより新しいデータとなる。そのため、タスク3の実行時において、キャッシュメモリ12に記憶されたDDDD番地からEEEE番地までのデータが、他のタスクの実行によりキャッシュメモリ12から削除される可能性が低くなり、キャッシュヒット率を高くすることができる。
次に、制御装置11は、例えば、決定された実行順序に従って、タスクを実行する。制御装置11は、異なるグループに分類されたタスクを並列に実行しても良い。
実施形態のタスク実行管理装置10のタスク実行管理の手順の一例について説明する。図4は、タスク実行管理の手順の一例を示すフローチャートである。
タスク実行管理装置10の制御装置11は、処理の対象である第1の複数のタスクを取得する(S101)。制御装置11は、取得した第1の複数のタスクのそれぞれを、キャッシュメモリ12のサイズに応じて分割する(S102)。制御装置11は、分割により得られた第2の複数のタスクのそれぞれについて、実行時に参照されるデータの範囲を特定する(S103)。制御装置11は、第2の複数のタスクのそれぞれの実行時に参照されるデータの範囲に応じて、第2の複数のタスクを分類する(S104)。制御装置11は、分類により得られたグループ毎に、グループに含まれるタスクの実行順序を決定する(S105)。制御装置11は、決定した実行順序に応じて、タスクを実行する(S106)。
以上より、タスクは、キャッシュメモリ12のサイズに応じて分割され、分割後のタスクは、グループ毎に実行順序が決定されるため、それぞれのタスクの実行時のキャッシュヒット率の低下が抑制される。
本実施形態では、タスク実行管理装置10が、タスクの実行を行うと説明したが、これに限られるものではない。タスク実行管理装置10は、タスクの実行順序の決定までを行い、タスクは別のコンピュータによって実行されても良い。その場合、タスク実行管理装置10は、タスクを実行する別のコンピュータのキャッシュメモリのサイズに応じてタスクを分割する。タスクの実行中に参照されるデータは、タスクを実行する別のコンピュータの記憶装置に記憶されていても良い。
次に、実施形態の変形例について説明する。変形例においてタスク実行管理装置10は、例えば、グループ毎にタスクの実行順序が決定された後、別のグループに含まれる同時に実行される複数のタスクのそれぞれの処理の終了時間を合わせるように調節(スケジューリング)する。
図5は、タスクの処理時間の一例を示す図である。グループ1には、例えば、タスク1とタスク2とが含まれる。グループ1のタスクの実行順序は、タスク1→タスク2であり、タスク1の処理の終了時間は、T2である。グループ2には、例えば、タスク3とタスク4とが含まれる。グループ2のタスクの実行順序は、タスク3→タスク4であり、タスク3の処理の終了時間は、T1である。
例えば、タスク1の実行中にタスク3が終了し、新たにタスク4が開始される場合、キャッシュメモリ12に記憶されたタスク1で参照されるデータが、タスク4の開始によりキャッシュメモリ12から削除される可能性がある。そのため、タスク1の処理で複数回参照されるデータのキャッシュヒット率が下がる可能性が高まる。
図6は、調整後のタスクの処理時間の一例を示す図である。タスク実行管理装置10の制御装置11は、例えば、タスク1を並列処理するようにスケジューリングすることにより、タスク1とタスク3との終了時間がT1となるように調整しても良い。また、タスク1とタスク3との処理の終了時間は必ずしも同一である必要はなく、制御装置11は、例えば、タスク1とタスク3との処理の終了時間の差が閾値以下となるようにスケジューリングすることによって、処理の終了時間を調整しても良い。
終了時間を調整する処理は、タスクの処理の開始前と開始後とのいずれで実行されても良い。なお、タスク1とタスク3との処理の開始時間が同じである例を挙げたがこれに限られるものではない。例えば、タスク1とタスク3との処理の開始時間は異なっていても良い。
各グループの最初に実行されるタスクの処理の終了時間を調整する例を挙げたが、これに限られるものではない。タスク実行管理装置10は、例えば、各グループに3以上のタスクが含まれる場合は、後続のタスクに関しても同様に処理の終了時間を調整しても良い。
変形例のタスク実行管理装置10のタスク実行管理の手順の一例について説明する。図7は、タスク実行管理の手順の一例を示すフローチャートである。
タスク実行管理装置10の制御装置11は、処理の対象である第1の複数のタスクを取得する(S201)。制御装置11は、取得した第1の複数のタスクのそれぞれを、キャッシュメモリ12のサイズに応じて分割する(S202)。制御装置11は、分割により得られた第2の複数のタスクのそれぞれについて、実行時に参照されるデータの範囲を特定する(S203)。制御装置11は、第2の複数のタスクのそれぞれの実行時に参照されるデータの範囲に応じて、第2の複数のタスクを分類する(S204)。制御装置11は、分類により得られたグループ毎に、グループに含まれるタスクの実行順序を決定する(S205)。制御装置11は、異なるグループに含まれるタスクの処理の終了時間の差分が閾値以下であるか判定する(S206)。
終了時間の差分が閾値以下である場合(S206Yes)、制御装置11は、決定した実行順序に応じて、タスクを実行する(S208)。
終了時間の差分が閾値以下でない場合(S206No)、制御装置11は、異なるグループに含まれるタスクの処理の終了時間の差分が閾値以下となるようスケジューリングし、タスクの終了時間を調整する(S207)。制御装置11は、決定した実行順序に応じて、タスクを実行する(S208)。
以上より、異なるグループに含まれるタスクの処理の終了時間が調整されるため、異なるグループに含まれるタスクの実行に伴うキャッシュ汚れが原因となるキャッシュヒット率の低下が抑制される。
本発明は、上述した各実施形態の構成および手順に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜処理方法の変更、組み換え等が可能である。
10:タスク実行管理装置
11:制御装置
12:キャッシュメモリ
13:記憶装置
14:システムバス
31、32、33:データの範囲

Claims (6)

  1. 第1のタスクと第2のタスクを取得し、
    キャッシュサイズに応じて、前記第1のタクを分割することで第1の複数のタスクを取得し、
    キャッシュサイズに応じて、前記第2のタスクを分割することで第2の複数のタスクを取得し、
    前記第1の複数のタスクそれぞれと記第2の複数のタスクそれぞれの実行時に参照されるデータの範囲に応じて、前記第1の複数のタスクそれぞれと前記第2の複数のタスクそれぞれを分類することで、前記第1の複数のタスクに含まれる第3のタスクと前記第2の複数のタスクに含まれる第4のタスクとが含まれるグループを取得し、
    記グループに含まれるタスクの実行順序を決定する、
    処理をコンピュータに実行させることを特徴とするタスク実行管理プログラム。
  2. 前記分割する処理は、前記キャッシュサイズと実行されるタスクの並列度とに応じて定まる1のタスクに割り当てられるキャッシュのサイズに応じて実行される、
    ことを特徴とする請求項1に記載のタスク実行管理プログラム。
  3. 前記分類する処理は、タスクの実行時に参照するデータの範囲の少なくとも一部が重複するタスク同士を同一のグループに分類する処理である、
    ことを特徴する請求項1に記載のタスク実行管理プログラム。
  4. 前記実行順序は、同一グループに分類されたタスクの実行時に参照するデータのアドレスのアクセス方向に応じて、決定される、
    ことを特徴とする請求項1に記載のタスク実行管理プログラム。
  5. 第1のタスクと第2のタスクを取得し、
    キャッシュサイズに応じて、前記第1のタクを分割することで第1の複数のタスクを取得し、
    キャッシュサイズに応じて、前記第2のタスクを分割することで第2の複数のタスクを取得し、
    前記第1の複数のタスクそれぞれと記第2の複数のタスクそれぞれの実行時に参照されるデータの範囲に応じて、前記第1の複数のタスクそれぞれと前記第2の複数のタスクそれぞれを分類することで、前記第1の複数のタスクに含まれる第3のタスクと前記第2の複数のタスクに含まれる第4のタスクとが含まれるグループを取得し、
    記グループに含まれるタスクの実行順序を決定する、
    処理を実行する機能を有する制御装置を備えることを特徴とするタスク実行管理装置。
  6. 第1のタスクと第2のタスクを取得し、
    キャッシュサイズに応じて、前記第1のタクを分割することで第1の複数のタスクを取得し、
    キャッシュサイズに応じて、前記第2のタスクを分割することで第2の複数のタスクを取得し、
    前記第1の複数のタスクそれぞれと記第2の複数のタスクそれぞれの実行時に参照されるデータの範囲に応じて、前記第1の複数のタスクそれぞれと前記第2の複数のタスクそれぞれを分類することで、前記第1の複数のタスクに含まれる第3のタスクと前記第2の複数のタスクに含まれる第4のタスクとが含まれるグループを取得し、
    記グループに含まれるタスクの実行順序を決定する、
    処理をコンピュータが実行することを特徴とするタスク実行管理方法。
JP2019135262A 2019-07-23 2019-07-23 タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム Active JP7367365B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019135262A JP7367365B2 (ja) 2019-07-23 2019-07-23 タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム
US16/929,308 US11556377B2 (en) 2019-07-23 2020-07-15 Storage medium, task execution management device, and task execution management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019135262A JP7367365B2 (ja) 2019-07-23 2019-07-23 タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム

Publications (2)

Publication Number Publication Date
JP2021018711A JP2021018711A (ja) 2021-02-15
JP7367365B2 true JP7367365B2 (ja) 2023-10-24

Family

ID=74187823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019135262A Active JP7367365B2 (ja) 2019-07-23 2019-07-23 タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム

Country Status (2)

Country Link
US (1) US11556377B2 (ja)
JP (1) JP7367365B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7367365B2 (ja) * 2019-07-23 2023-10-24 富士通株式会社 タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007213A (ja) 2000-06-26 2002-01-11 Matsushita Electric Ind Co Ltd キャッシュメモリ制御方法及びプログラム処理方法
JP2004252728A (ja) 2003-02-20 2004-09-09 Univ Waseda コンパイル方法、コンパイラ、コンパイル装置、プログラムコード作成方法、プログラム、キャッシュ最適利用演算方法、およびキャッシュ最適利用演算装置
JP2013150094A (ja) 2012-01-18 2013-08-01 Nec Corp タスクスケジューリング装置、タスクスケジューリング方法およびタスクスケジューリングプログラム
WO2017163591A1 (ja) 2016-03-24 2017-09-28 富士フイルム株式会社 画像処理装置、画像処理方法、及び画像処理プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1292346C (zh) * 2003-09-12 2006-12-27 国际商业机器公司 用于在分布式计算体系结构中执行作业的系统和方法
JP4592367B2 (ja) * 2004-09-09 2010-12-01 富士通セミコンダクター株式会社 プログラムセクションレイアウト方法およびレイアウト処理プログラム
JP5229731B2 (ja) 2008-10-07 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 更新頻度に基づくキャッシュ機構
US8074093B1 (en) * 2011-06-03 2011-12-06 Johnson Daniel L Method and system for optimizing the completion of computing operations
EP2541404B1 (en) * 2011-06-30 2014-08-13 Telefonaktiebolaget LM Ericsson (publ) Technique for task sequence execution
US9389994B2 (en) * 2013-11-26 2016-07-12 International Business Machines Corporation Optimization of map-reduce shuffle performance through shuffler I/O pipeline actions and planning
KR102354848B1 (ko) * 2014-11-28 2022-01-21 삼성전자주식회사 캐시 메모리 장치 및 이를 포함하는 전자 시스템
US20170090999A1 (en) * 2015-09-25 2017-03-30 Netapp, Inc. Storage System Multiprocessing and Mutual Exclusion in a Non-Preemptive Tasking Environment
JP6551205B2 (ja) * 2015-12-15 2019-07-31 富士通株式会社 制御プログラム、制御装置および制御方法
US20180032376A1 (en) * 2016-07-27 2018-02-01 Samsung Electronics Co .. Ltd. Apparatus and method for group-based scheduling in multi-core processor system
US10593010B2 (en) * 2017-12-13 2020-03-17 Microsoft Technology Licensing, Llc Techniques for capturing and executing graphics processing operations
US20190220411A1 (en) * 2018-01-17 2019-07-18 Qualcomm Incorporated Efficient partitioning for binning layouts
JP7367365B2 (ja) * 2019-07-23 2023-10-24 富士通株式会社 タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム
US11074185B2 (en) * 2019-08-07 2021-07-27 International Business Machines Corporation Adjusting a number of insertion points used to determine locations in a cache list at which to indicate tracks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007213A (ja) 2000-06-26 2002-01-11 Matsushita Electric Ind Co Ltd キャッシュメモリ制御方法及びプログラム処理方法
JP2004252728A (ja) 2003-02-20 2004-09-09 Univ Waseda コンパイル方法、コンパイラ、コンパイル装置、プログラムコード作成方法、プログラム、キャッシュ最適利用演算方法、およびキャッシュ最適利用演算装置
JP2013150094A (ja) 2012-01-18 2013-08-01 Nec Corp タスクスケジューリング装置、タスクスケジューリング方法およびタスクスケジューリングプログラム
WO2017163591A1 (ja) 2016-03-24 2017-09-28 富士フイルム株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
US20190019270A1 (en) 2016-03-24 2019-01-17 Fujifilm Corporation Image processing apparatus, image processing method, and image processing program

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
スパイラルイノベーション株式会社,実践組み込みシステム開発 初版 PRACTICAL EMBEDDED LINUX,第1版,ソフトバンククリエイティブ株式会社 新田 光敏,329,330頁
北山 洋幸 HIROYUKI KITAYAMA,並列コンピューティングの基礎 初版 ,第1版,日本,株式会社カットシステム 石塚 勝敏,2019年07月10日,252~256頁
船橋 一訓 KAZUNORI FUNAHASHI,共有キャッシュ分割を考慮したCMP向けプリフェッチスロットリング手法 Cache Partitioning-Aware Prefetch Throttling for CMPs,情報処理学会研究報告 平成21年度▲6▼ [DVD-ROM] ,日本,社団法人情報処理学会,2010年04月15日,No.188,1~5頁

Also Published As

Publication number Publication date
US20210026685A1 (en) 2021-01-28
US11556377B2 (en) 2023-01-17
JP2021018711A (ja) 2021-02-15

Similar Documents

Publication Publication Date Title
JP5040773B2 (ja) メモリバッファ割当装置およびプログラム
US7058945B2 (en) Information processing method and recording medium therefor capable of enhancing the executing speed of a parallel processing computing device
JP4621786B2 (ja) 情報処理装置、並列処理最適化方法およびプログラム
KR20180027328A (ko) 캐쉬 관리 시스템 및 그것의 데이터 관리 방법
US20030056091A1 (en) Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations
JP7039631B2 (ja) アクセスリクエストを管理するための方法、装置、デバイス、および記憶媒体
JPH10124325A (ja) 変数の最適配置方法、変数の最適配置装置及び変数の最適配置プログラムを格納したコンピュータ読み取り可能な記録媒体
US20200201763A1 (en) Memory hierarchy-aware processing
CN112711478A (zh) 基于神经网络的任务处理方法、装置、服务器和存储介质
US20180046474A1 (en) Method for executing child kernels invoked on device side utilizing dynamic kernel consolidation and related non-transitory computer readable medium
US8954969B2 (en) File system object node management
US11226798B2 (en) Information processing device and information processing method
JP6885193B2 (ja) 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム
JP7367365B2 (ja) タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム
TW201435576A (zh) 陷阱處理期間的協作執行緒陣列粒化內文切換
JP6156379B2 (ja) スケジューリング装置、及び、スケジューリング方法
JP5953808B2 (ja) 乱数処理装置、乱数処理方法、及びプログラム
CN112130977B (zh) 一种任务调度方法、装置、设备及介质
JP6927301B2 (ja) アクセラレータ制御装置、アクセラレータ制御方法、及び、アクセラレータ制御プログラム
WO2021147449A1 (en) Method and apparatus for predicting and scheduling copy instruction for software pipelined loops
Neumeier et al. Speeding up OMNeT++ simulations by parallel output-vector implementations
CN106547603B (zh) 减少golang语言系统垃圾回收时间的方法和装置
KR102277094B1 (ko) 버퍼 캐시 관리 방법 및 상기 버퍼 캐시 관리 방법이 적용된 컴퓨팅 장치
JP3792194B2 (ja) メモリ管理システム
JPH06266619A (ja) ページ退避/復元装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230609

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230925

R150 Certificate of patent or registration of utility model

Ref document number: 7367365

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150