JP5593955B2 - データ処理装置、データ処理方法、および、コンピュータ・プログラム - Google Patents

データ処理装置、データ処理方法、および、コンピュータ・プログラム Download PDF

Info

Publication number
JP5593955B2
JP5593955B2 JP2010185970A JP2010185970A JP5593955B2 JP 5593955 B2 JP5593955 B2 JP 5593955B2 JP 2010185970 A JP2010185970 A JP 2010185970A JP 2010185970 A JP2010185970 A JP 2010185970A JP 5593955 B2 JP5593955 B2 JP 5593955B2
Authority
JP
Japan
Prior art keywords
data
buffer
output
file
unit
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
JP2010185970A
Other languages
English (en)
Other versions
JP2012043331A (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.)
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 JP2010185970A priority Critical patent/JP5593955B2/ja
Publication of JP2012043331A publication Critical patent/JP2012043331A/ja
Application granted granted Critical
Publication of JP5593955B2 publication Critical patent/JP5593955B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数のスレッドで処理するデータを一括してファイル出力するデータ処理装置に関する。
一般に、複数のスレッドで処理するデータを一括してファイル出力するデータ処理装置が知られている。このようなデータ処理装置は、短時間で大量に発生するデータを効率よく処理することができる。具体的には、このようなデータ処理装置は、1回のトランザクションにおいて、複数のスレッドが、それぞれ入力データを受信し、受信した入力データを1つのバッファに出力し、バッファを1つのファイルとして出力する。すなわち、このようなデータ処理装置は、複数のデータの一括入力処理および一括コミット処理を実現している。
このようなデータ処理装置は、複数のスレッドが1つのバッファにデータを出力する際に、ブロックという単位でバッファの一部を各スレッドに割り当てる。各スレッドは、1つのブロックを占有してデータを書き込む。
したがって、このようなデータ処理装置では、各スレッドがバッファ内で割り当てられたブロックに出力することにより、バッファへの書き込みの際にスレッド間の排他制御を行う必要がない。
このようなデータ処理装置は、このように排他制御を行わないことにより、処理の高速化を実現してきた。
さらに、このようなデータ処理装置は、全ブロックにデータが保存されたバッファを、コミット前に先行してファイル出力することにより、コミット時における入出力の負荷を低減してきた。
しかしながら、このようなデータ処理装置は、1つのバッファ内のブロック全てが一杯になった時、あるいは、全スレッドがバッファへのデータ出力を完了したことを宣言した時(すなわち、コミット時)に、ファイル出力を行っていた。このため、スレッド毎のデータ出力量に偏りがあった場合、出力量の少ないブロックが埋まらず、バッファ内の全ブロックが一杯にならない。したがって、このようなデータ処理装置では、スレッド毎のデータ出力量に偏りがある場合、バッファ内のデータをコミット時までファイル出力することが出来ず、コミット時にファイル出力が集中してしまうという問題があった。
このような問題を解決するものとして、バッファ内の1つのブロックが一杯になったらそのバッファをファイル出力するデータ出力装置がある(例えば、特許文献1参照)。これにより、特許文献1に記載されたデータ処理装置は、コミット時のファイル出力の集中を解消している。
特開2010−067044号公報
しかしながら、特許文献1に記載されたデータ処理装置は、スレッド毎のデータ出力量に偏りがあった場合、出力量の少ないブロックにデータがあまり書き込まれない状態でそのバッファをファイル出力してしまう。また、出力量の多いスレッドのブロックはすぐに埋まるため、特許文献1に記載されたデータ処理装置は、データがあまり書き込まれていないブロックを含むバッファを頻繁にファイル出力することになる。
特許文献1に記載されたデータ処理装置におけるファイル出力の課題について、図15を参照して説明する。なお、図15において、バッファAおよびバッファBはそれぞれブロック1〜3を含む。また、各ブロックを示す矩形内において、斜線パターンの矩形はブロック内で既にデータが書きこまれている領域を示し、格子パターンの矩形は新たにデータが書き込まれた領域を示し、白地の矩形はブロック内の空き領域を示している。
図15(a)は、特許文献1に記載されたデータ処理装置によって生成されたスレッドが各ブロックを占有して書き込みを行っている状態を示す図である。図15(a)において、スレッド1がブロック2に書き込みを行い、スレッド2がブロック3に書き込みを行い、スレッド3がブロック1に書き込みを行っている。
図15(b)は、図15(a)の状態から、スレッド2がさらにブロック3に書き込みを行うことにより、ブロック3に書き込み領域がなくなった状態を示す図である。
このとき、特許文献1に記載されたデータ処理装置は、ブロック3に書き込み領域がなくなったので、ブロック1およびブロック2が十分に書き込まれていない状態で、バッファAをファイル出力することになる。
図15(c)は、スレッド2がバッファAのファイル出力を行っているため、スレッド1およびスレッド3が新たにバッファBにブロックを確保してデータ書き込みを行っている状態を示す図である。図15(c)に示すように、特許文献1に記載されたデータ処理装置では、まだ書き込み領域が充分に残っていたバッファA内のブロックを使用していたスレッド1およびスレッド3も、新たなバッファBにブロックを確保してデータ書き込みを行うことになる。
このように、特許文献1に記載されたデータ処理装置は、データが十分に書き込まれていないブロックを含むバッファをファイル出力することにより、ファイル出力回数を増大させてしまう。ファイル出力回数の増大は、処理を遅延させるとともに、出力先の記憶装置における入出力負荷を増大させる。
したがって、特許文献1に記載されたデータ処理装置は、コミット時のファイル出力の集中を解消するものの、ファイル出力回数の増大を招くという課題があった。
本発明は、上述の課題を解決するためになされたもので、複数のスレッドで処理するデータを一括してファイル出力する際に、コミット時のファイル出力の集中を解消しながらも、ファイル出力回数の増大を抑制するデータ処理装置を提供することを目的とする。
本発明のデータ処理装置は、複数のスレッドが複数のデータを並行して処理するデータ処理装置であって、前記各スレッドにおいて、前記各データを受信するデータ受信部と、前記データを書き込むためのバッファと、前記各スレッドにおいて、前記バッファ内に1つのブロックを確保することにより、確保したブロックに前記データを書き込むデータ書込部と、前記バッファにおけるバッファ使用率を格納する装置状態格納部と、前記各スレッドにおいて、前記装置状態格納部に格納された前記バッファ使用率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定するファイル出力判定部と、前記各スレッドにおいて、前記ファイル出力判定部によってファイル出力すると判定された場合に、前記バッファ内のデータをファイル出力するファイル出力部と、を備える。
また、本発明のデータ処理方法は、複数のスレッドが複数のデータを並行して処理するデータ処理装置を用いて、前記各スレッドにおいて、前記各データを受信し、前記各スレッドにおいて、バッファ内に1つのブロックを確保することにより、確保したブロックに前記データを書き込み、前記バッファにおけるバッファ使用率を装置状態格納部に格納し、前記各スレッドにおいて、前記装置状態格納部に格納された前記バッファ使用率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定し、前記各スレッドにおいて、前記ファイル出力すると判定された場合に、前記バッファ内のデータをファイル出力する。
また、本発明のコンピュータ・プログラムは、複数のスレッドが複数のデータを並行して処理するデータ処理装置に、前記各スレッドにおいて、前記各データを受信するデータ受信ステップと、前記各スレッドにおいて、バッファ内に1つのブロックを確保することにより、確保したブロックに前記データを書き込むデータ書込ステップと、前記バッファにおけるバッファ使用率を装置状態格納部に格納する装置状態格納ステップと、前記各スレッドにおいて、前記装置状態格納部に格納された前記バッファ使用率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定するファイル出力判定ステップと、前記各スレッドにおいて、前記ファイル出力判定ステップでファイル出力すると判定された場合に、前記バッファ内のデータをファイル出力するファイル出力ステップと、を実行させる。
本発明は、複数のスレッドで処理するデータを一括してファイル出力する際に、コミット時のファイル出力の集中を解消しながらも、ファイル出力回数の増大を抑制するデータ処理装置を提供することができる。
本発明の第1の実施の形態としてのデータ処理装置のハードウェア構成図である。 本発明の第1の実施の形態としてのデータ処理装置の機能ブロック図である。 本発明の第1の実施の形態としてのデータ処理装置の動作を説明するフローチャートである。 本発明の第2の実施の形態としてのデータ処理装置の機能ブロック図である。 本発明の第2の実施の形態としてのデータ処理装置の動作を説明するフローチャートである。 本発明の第2の実施の形態としてのデータ処理装置の動作例を説明する図である。 本発明の第2の実施の形態としてのデータ処理装置の動作例を説明する他の図である。 本発明の第2の実施の形態としてのデータ処理装置の動作例を説明する他の図である。 本発明の第2の実施の形態としてのデータ処理装置の動作例を説明する他の図である。 本発明の第3の実施の形態としてのデータ処理装置の機能ブロック図である。 本発明の第3の実施の形態における複数の判定条件を説明する図である。 本発明の第3の実施の形態としてのデータ処理装置の動作を説明するフローチャートである。 本発明の第4の実施の形態としてのデータ処理装置の機能ブロック図である。 本発明の第4の実施の形態としてのデータ処理装置の動作を説明するフローチャートである。 関連技術のデータ処理装置の課題を説明する図である。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(第1の実施の形態)
本発明の第1の実施の形態としてのデータ処理装置1のハードウェア構成を図1に示す。
図1において、データ処理装置1は、CPU(Central Processing Unit)1001と、RAM(Random Access Memory)1002と、ROM(Read Only Memory)1003と、周辺機器接続インタフェース1004とを少なくとも備えたコンピュータ装置によって構成されている。
次に、データ処理装置1の機能ブロック構成を図2に示す。
図2において、データ処理装置1は、データ受信部101と、バッファ102と、データ書込部103と、装置状態格納部104と、ファイル出力判定部105と、ファイル出力部106とを備えている。また、データ処理装置1は、ハードディスクドライブ等の出力先記憶装置9に接続されている。
ここで、データ受信部101およびファイル出力部106は、周辺機器接続インタフェース1004と、RAM1002に読み込まれたコンピュータ・プログラムを実行するCPU1001とによって構成される。データ書込部103は、RAM1002に読み込まれたコンピュータ・プログラムを実行するCPU1001によって構成される。また、装置状態格納部104と、ファイル出力判定部105とは、RAM1002と、RAM1002に読み込まれたコンピュータ・プログラムを実行するCPU1001によって構成される。また、バッファ102は、RAM1002によって構成される。
なお、出力先記憶装置9は、周辺機器接続インタフェース1004を介して、データ処理装置1に接続されている。また、出力先記憶装置9は、データ処理装置1を構成するコンピュータ装置の外部に接続されていてもよいし、内蔵されていてもよい。
また、データ処理装置1は、図示しないスレッド生成部を用いて、入力データを処理するための複数のスレッドを生成する。図2には、3つのスレッドを示しているが、本発明のデータ処理装置が生成するスレッドの数を限定するものではない。
データ受信部101は、前述の各スレッドにおいて、各スレッドが対象とする入力データを受信する。
バッファ102は、複数のブロックによって構成される。各ブロックには、各スレッドにおけるデータ書込部103によってデータが書き込まれる。また、各ブロックは、各スレッドによって占有される。なお、図2には、1つのバッファ102内に3つのブロックを示しているが、本発明のデータ処理装置におけるバッファを構成するブロック数を限定するものではない。また、図2には、3つのバッファ102を示しているが、本発明のデータ処理装置が備えるバッファ数を限定するものではない。
装置状態格納部104は、各バッファのバッファ使用率を格納している。ここで、バッファ使用率とは、各バッファの全容量に対する使用容量の割合である。
また、装置状態格納部104は、さらに各バッファのブロック使用状況を記憶しておいてもよい。ここで、ブロック使用状況とは、各バッファを構成する各ブロックがいずれのスレッドによって使用されているかを表す情報や、各ブロックの空き容量を表す情報である。
また、装置状態格納部104は、データ書込部103によってバッファ102にデータが書き込まれると、バッファ使用率およびブロック使用状況を更新する。
データ書込部103は、各スレッドにおいて、バッファ102内に1つのブロックを確保することにより、確保したブロックを占有してデータを書き込む。
例えば、データ書込部103は、装置状態格納部104のブロック使用状況に基づいてブロックを確保してもよい。
このとき、データ書込部103は、該当するスレッドにおいてまだブロックを確保していない場合は、どのスレッドによっても使用されていないブロックを確保する。
あるいは、データ書込部103は、既に確保しているブロックに書き込み領域があれば、そのブロックに書き込み領域を確保する。
あるいは、データ書込部103は、既に確保しているブロックに書き込み領域がなくなっている場合、そのブロックが含まれるバッファ内の他のブロックで、どのスレッドによっても使用されていないブロックを確保する。
あるいは、データ書込部103は、既に確保しているブロックに書き込み領域がなく、そのブロックが含まれるバッファ内に使用されていないブロックがない場合、他のバッファ内にブロックを確保する。
あるいは、データ書込部103は、既に確保しているブロックを含むバッファに後述のファイル出力排他ロックが設定されている場合も、他のバッファ内にブロックを確保する。
このように、データ書込部103は、確保したブロックの書き込み領域にデータを書き込む。
また、データ書込部103は、データの書き込みの完了を、装置状態格納部104およびファイル出力判定部105に通知する。
ファイル出力判定部105は、各スレッドにおいて、装置状態格納部104に格納されたバッファ使用率が所定の判定条件を満たすか否かに基づいて、バッファ102内のデータをファイル出力するか否かを判定する。
具体的には、ファイル出力判定部105は、データ書込部103からデータの書き込みの完了を通知されると、装置状態格納部104を参照して、バッファ使用率を取得する。また、ファイル出力判定部105は、あらかじめ定められた判定条件を取得する。そして、ファイル出力判定部105は、取得したバッファ使用率が、取得した判定条件を満たす場合に、ファイル出力を行うと判定する。
例えば、判定条件は、「バッファ使用率が閾値以上である」という条件であってもよい。この場合、ファイル出力判定部105は、バッファ使用率が閾値以上である場合にファイル出力を行うと判定し、そうでない場合に、ファイル出力を行わないと判定する。
また、ファイル出力判定部105は、ファイル出力を行うと判定したことを、ファイル出力部106に通知する。
ファイル出力部106は、各スレッドにおいて、ファイル出力判定部105によってファイル出力すると判定された場合に、該当するスレッドが書き込んでいたブロックを含むバッファ102内のデータをファイル出力する。このとき、ファイル出力部106は、ファイル出力するバッファがファイル出力中であることを表すファイル出力排他ロックを、該当するバッファに設定する。
以上のように構成されたデータ処理装置1の動作について、図3を参照して説明する。
まず、データ受信部101は、入力データを受信する(ステップS1)。
次に、データ書込部103は、装置状態格納部104に記憶されたブロック使用状況に基づいて、バッファ102内のブロックの書き込み領域を確保する(ステップS2)。
次に、データ書込部103は、確保したブロックの書き込み領域にデータを書き込む(ステップS3)。
次に、データ書込部103は、データの書き込み完了を装置状態格納部104に通知することにより、バッファ使用率およびブロック使用状況を更新させる(ステップS4)。
次に、ファイル出力判定部105は、装置状態格納部104からバッファ使用率を取得する(ステップS5)。
次に、ファイル出力判定部105は、取得したバッファ使用率が、判定条件として定められた閾値以上であるか否かを判断する(ステップS6)。
ここで、バッファ使用率が閾値以上でないと判断された場合、データ処理装置1は動作を終了する。
一方、ステップS6において、バッファ使用率が閾値以上であると判断した場合、ファイル出力判定部105はファイル出力を行うと判定する(ステップS7)。
次に、ファイル出力部106が、該当するバッファ102内のデータをファイル出力する(ステップS8)。
以上で、データ処理装置1は動作を終了する。
次に、本発明の第1の実施の形態の効果について説明する。本発明の第1の実施の形態としてのデータ処理装置は、複数のスレッドで処理したデータを一括してファイル出力する際に、コミット時のファイル出力の集中を解消しながらも、ファイル出力回数の増大を抑制することができる。
その理由は、各スレッドがバッファにデータを書き込んだときに、そのバッファのバッファ使用率に基づいて、ファイル出力を行うか否かを判定するからである。これにより、バッファ内の各ブロックの使用率に偏りがある場合でも、バッファ全体の使用率に基づいてファイル出力するので、データ使用率の少ないバッファを頻繁に出力することがない。このため、ファイル出力の頻度を抑えることできる。また、その結果、処理の遅延および入出力負荷を軽減することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について、図面を参照して詳細に説明する。なお、本実施の形態の説明で参照する各図面において、本発明の第1の実施の形態と同一の構成または同様に動作するステップには同一の符号を付して、本実施の形態における詳細な説明を省略する。
本発明の第2の実施の形態としてのデータ処理装置2は、本発明の第1の実施の形態としてのデータ処理装置1と同様に図1に示した構成を備えるコンピュータ装置によって構成される。
データ処理装置2の機能ブロック構成を図3に示す。
図3において、データ処理装置2は、本発明の第1の実施の形態としてのデータ処理装置1に対して、装置状態格納部104に替えて装置状態格納部204と、ファイル出力判定部105に替えてファイル出力判定部205とを備え、さらに入出力負荷率取得部207を備える点が異なる。
ここで、入出力負荷率取得部207は、周辺機器接続インタフェース1004、および、RAM1002に読み込まれたコンピュータ・プログラムを実行するCPU1001によって構成される。
装置状態格納部204は、本発明の第1の実施の形態における装置状態格納部104と同様に構成され、さらに、入出力負荷率を格納している。ここで、入出力負荷率とは、データ受信部101によって受信されたデータの出力先となる出力先記憶装置9の入出力負荷を表わすビジー率である。
入出力負荷率取得部207は、出力先記憶装置9の入出力負荷率を取得し、取得した入出力負荷率を装置状態格納部204に通知することにより格納させる。
例えば、入出力負荷率取得部207は、装置状態格納部204からの要求に応じて入出力負荷率を取得し、取得した入出力負荷率を装置状態格納部204に通知してもよい。この場合、装置状態格納部204は、ファイル出力判定部205からの参照要求に応じて、入出力負荷率取得部207に、入出力負荷率を要求するようにする。
あるいは、入出力負荷率取得部207は、あらかじめ定められた間隔で入出力負荷率を取得して、装置状態格納部204に通知するようにしてもよい。
ファイル出力判定部205は、各スレッドにおいて、装置状態格納部204に格納されたバッファ使用率および入出力負荷率が所定の判定条件を満たすか否かに基づいて、バッファ102内のデータをファイル出力するか否かを判定する。
具体的には、ファイル出力判定部205は、データ書込部103からデータの書き込みの完了を通知されると、装置状態格納部204を参照して、バッファ使用率および入出力負荷率を取得する。また、ファイル出力判定部205は、あらかじめ定められた判定条件を取得する。そして、ファイル出力判定部205は、取得したバッファ使用率および入出力負荷率が、取得した判定条件を満たす場合に、ファイル出力を行うと判定する。
例えば、判定条件は、「バッファ使用率が第1の閾値以上であり、かつ、入出力負荷率が第2の閾値以下である」という条件であってもよい。この場合、ファイル出力判定部205は、バッファ使用率が第1の閾値以上であり、かつ、入出力負荷率が第2の閾値以下である場合に、ファイル出力を行うと判定し、そうでない場合に、ファイル出力を行わないと判定する。
また、ファイル出力判定部205は、ファイル出力を行うと判定したことを、ファイル出力部106に通知する。
以上のように構成されたデータ処理装置2の動作について、図3を参照して説明する。
まず、データ処理装置2は、ステップS1〜ステップS6まで、本発明の第1の実施の形態としてのデータ処理装置1と同様に動作することにより、バッファ使用率が第1の閾値以上であるか否かを判断する。
ここで、バッファ使用率が第1の閾値以上でないと判断された場合、データ処理装置2は動作を終了する。
一方、ステップS6において、バッファ使用率が第1の閾値以上であると判断した場合、ファイル出力判定部205は、装置状態格納部204から入出力負荷率を取得する(ステップS21)。
次に、ファイル出力判定部205は、取得した入出力負荷率が、第2の閾値以下であるか否かを判断する(ステップS22)。
ここで、入出力負荷率が第2の閾値以下ではないと判断された場合、データ処理装置2は動作を終了する。
一方、ステップS22において、入出力負荷率が第2の閾値以下であると判断した場合、ファイル出力判定部205はファイル出力を行うと判定する(ステップS23)。
次に、ファイル出力部106が、該当するバッファ102内のデータをファイル出力する(ステップS8)。
以上で、データ処理装置2は動作を終了する。
次に、データ処理装置2の動作例を、図6〜図9を用いて説明する。なお、ここでは、データ処理装置2によって既にスレッド1〜3が生成されているものとする。また、データ処理装置2は、バッファ102としてバッファAおよびバッファBを有し、各バッファはブロック1〜3を含んでいるものとして説明する。
また、図6〜図9において、各ブロックを示す矩形内において、斜線パターンの矩形はブロック内で既にデータが書きこまれている領域を示し、格子パターンの矩形は新たにデータが書き込まれた領域を示し、白地の矩形はブロック内の空き領域を示している。
図6(a)は、ある時点におけるバッファAの状態を示している。ここでは、スレッド1がブロック2を使用し、スレッド2がブロック3を使用して、それぞれデータを書き込んだ状態を示している。
図6(b)は、図6(a)の時点における装置状態格納部204に格納された情報を示している。図6(b)において、装置状態格納部204には、バッファAのブロック使用状況として、ブロック2の使用者がスレッド1であり、ブロック3の使用者がスレッド2であることを表す情報が格納されている。また、バッファAのバッファ使用率として35%が格納され、入出力負荷率として50%が格納されている。
なお、装置状態格納部204には、図6(b)に示した情報の他、各ブロックの空き容量を表す情報(図示せず)等も格納されている。
図6(c)は、あらかじめ定められたファイル出力の判定条件を示している。ここでは、ファイル出力の判定条件として、「バッファ使用率60%以上かつ入出力負荷率45%以下」という条件が定められている。
次に、図6の状態において、スレッド1、スレッド2、およびスレッド3の各データ書込部103がデータ書き込みをする場合の動作について、図7を参照して説明する。
図7では、スレッド1およびスレッド2におけるデータ書込部103は、装置状態格納部204から、使用中のブロックを含むバッファAのブロック使用状況を取得する。そして、スレッド1およびスレッド2は、ともに現在使用しているブロックの書き込み領域に書き込めるので、データを書き込む(ステップS2、3)。
また、スレッド3におけるデータ書込部103は、使用中のブロックがまだ存在しないので、いずれのスレッドによっても使用されていないブロック1を確保する(ステップS2)。そして、スレッド3におけるデータ書込部103は、ブロック1の書き込み領域に新規にデータを書き込む(ステップS3)。
次に、各スレッド1〜3におけるデータ書込部103は、データの書き込み完了を装置状態格納部204に通知する。そして、通知を受けた装置状態格納部204は、ブロック使用状況およびバッファ使用率を更新する(ステップS4)。これにより、装置状態格納部204には、バッファAのブロック使用状況として、ブロック1の使用者がスレッド3であることが追加された情報が格納される。また、装置状態格納部204に格納されたバッファ使用率は、50%に更新される。
このような図7の状態において、各スレッド1〜3におけるファイル出力判定部205は、装置状態格納部204からバッファAのバッファ使用率50%を取得する(ステップS5)。
そして、各ファイル出力判定部205は、バッファAのバッファ使用率50%が、図6(c)に示した判定条件の60%以上ではないので(ステップS6でNo)、バッファAをファイル出力しないと判定する。
次に、図7の状態において、スレッド1、スレッド3およびスレッド2のデータ書込部103がデータ書き込みをする場合の動作について、図8を参照して説明する。
図8において、まず、スレッド1におけるデータ書込部103は、装置状態格納部204から書き込み先のバッファAのブロック使用状況を取得する。そして、このデータ書込部103は、使用しているブロック2に書き込み領域が確保できるので、データを書き込む(ステップS2、3)。
スレッド1におけるデータ書込部103は、データの書き込み完了を装置状態格納部204に通知する。通知を受けた装置状態格納部204は、バッファAのバッファ使用率を55%に更新する(ステップS4)。スレッド1におけるファイル出力判定部205は、装置状態格納部204から取得したバッファAのバッファ使用率55%が、図6(c)に示した判定条件の60%以上を満たしていないので(ステップS6でNo)、バッファAをファイル出力しないと判定する。
次に、スレッド3におけるデータ書込部103は、装置状態格納部204から書き込み先のバッファAのブロック使用状況を取得する。そして、このデータ書込部103は、使用しているブロック1に書き込み領域が確保できるので、データを書き込む(ステップS2、3)。
スレッド3におけるデータ書込部103は、データの書き込み完了を装置状態格納部204に通知する。通知を受けた装置状態格納部204は、バッファAのバッファ使用率を60%に更新する(ステップS4)。
スレッド3におけるファイル出力判定部205は、装置状態格納部204から取得したバッファAのバッファ使用率60%が、図6(c)に示した判定条件の60%以上を満たしているので(ステップS5、S6でYes)、さらに、装置状態格納部204から、入出力負荷率40%を取得する(ステップS21)。
ここで、ファイル出力判定部205は、入出力負荷率40%が、図6(c)に示した判定条件の閾値45%以下を満たしているので(ステップS22でYes)、バッファAをファイル出力すると判定する(ステップS23)。
そして、スレッド3のファイル出力部106は、バッファAのファイル出力を行う(ステップS8)。このとき、スレッド3のファイル出力部106は、バッファAにファイル出力排他ロックを設定する。
次に、スレッド2におけるデータ書込部103は、装置状態格納部204から書き込み先のバッファAのブロック使用状況を取得する。そして、このデータ書込部103は、バッファAにファイル出力排他ロックが設定されているため、バッファBのブロック1に書き込み領域を確保する(ステップS2)。
そして、スレッド2におけるデータ書込部103は、バッファBのブロック1にデータを書き込む(ステップS3)。
そして、スレッド2におけるデータ書込部103は、データの書き込み完了を装置状態格納部204に通知する。そして、装置状態格納部204は、バッファBのブロック使用状況およびバッファ使用率を更新する(ステップS4)。これにより、装置状態格納部204には、バッファBのバッファ使用率3%が格納される。また、バッファBのブロック使用状況として、ブロック1の使用者がスレッド2であることを表す情報が追加される。
そして、スレッド2におけるファイル出力判定部205は、装置状態格納部204から取得したバッファBのバッファ使用率3%が、図6(c)に示した判定条件の60%以上を満たしていないので(ステップS5、ステップS6でNo)、バッファBをファイル出力しないと判定する。
次に、図8の状態から、スレッド3がファイル出力を行い、スレッド1およびスレッド2がデータ書き込みを行う場合の動作について、図9を参照して説明する。
図9において、スレッド3のファイル出力部106は、バッファA内のデータを出力先記憶装置9に出力する。
スレッド1におけるデータ書込部103は、書き込み先だったバッファAのブロック使用状況を装置状態格納部204から取得する。そして、このデータ書込部103は、バッファAにファイル出力排他ロックが設定されているため、バッファBのブロック2に書き込み領域を確保する(ステップS2)。
そして、スレッド1におけるデータ書込部103は、バッファBのブロック2の書き込み領域にデータを書き込む(ステップS3)。
スレッド2におけるデータ書込部103は、装置状態格納部204から書き込み先のバッファBのブロック使用状況を取得する。そして、このデータ書込部103は、バッファBのブロック1に引き続き書き込み領域が確保できるので(ステップS2)、これにデータを書き込む(ステップS3)。
スレッド1およびスレッド2におけるデータ書込部103は、データの書き込み完了を装置状態格納部204に通知する。通知された装置状態格納部204は、バッファBのブロック使用状況およびバッファ使用率を更新する(ステップS4)。これにより、装置状態格納部204には、バッファBのバッファ使用率10%が格納される。また、バッファBのブロック使用状況として、ブロック2の使用者がスレッド1であることが追加された情報が格納される。
そして、スレッド1およびスレッド2における各ファイル出力判定部205は、装置状態格納部204から取得したバッファBのバッファ使用率10%が、図6(c)に示した判定条件の60%以上を満たしていないので(ステップS5、ステップS6でNo)、バッファBをファイル出力しないと判定する。
また、スレッド3におけるファイル出力部106は、バッファA内のデータのファイル出力を完了すると、バッファAに設定したファイル出力排他ロックを解除するとともに、バッファAを解放する。
以上で、データ処理装置2の動作例の説明を終了する。
次に、本発明の第2の実施の形態の効果について説明する。本発明の第2の実施の形態としてのデータ処理装置は、複数のスレッドで処理したデータを一括してファイル出力する際に、コミット時のファイル出力の集中を解消しながら、ファイル出力回数の増大をさらに抑制することができる。
その理由は、ファイル出力判定部の判定条件として、バッファ使用率に加えて入出力負荷率を用いるためである。これにより、本発明の第2の実施の形態としてのデータ処理装置は、バッファ使用率が高い場合でも入出力負荷率が高い場合にはファイル出力を行わないように抑制するからである。
(第3の実施の形態)
次に、本発明の第3の実施の形態について、図面を参照して詳細に説明する。なお、本実施の形態の説明で参照する各図面において、本発明の第2の実施の形態と同一の構成または同様に動作するステップには同一の符号を付して、本実施の形態における詳細な説明を省略する。
本発明の第3の実施の形態としてのデータ処理装置3は、本発明の第2の実施の形態としてのデータ処理装置2と同様に図1に示した構成を備えるコンピュータ装置によって構成される。
データ処理装置3の機能ブロック構成を図10に示す。
図10において、データ処理装置3は、本発明の第2の実施の形態としてのデータ処理装置2に対して、ファイル出力判定部205に替えてファイル出力判定部305を備える点が異なる。
ファイル出力判定部305は、バッファ使用率および入出力負荷率に基づく複数の判定条件を用いて、ファイル出力を行うか否かを判定する。例えば、ファイル出力判定部305は、バッファ使用率の範囲に応じて異なる入出力負荷率の閾値を設定することにより、複数の判定条件を設定する。
複数の判定条件の一例を、図11に示す。図11は、第1〜第3の3つの判定条件を設定した例である。
図11に示した第1〜第3の判定条件を用いる場合、ファイル出力判定部305は、バッファ使用率が50%以上で60%より小さく、かつ、入出力負荷率が40%以下であるという第1の判定条件が満たされる場合には、ファイル出力を行うと判定する。また、バッファ使用率が60%以上で70%より小さく、かつ、入出力負荷率が50%以下であるという第2の判定条件が満たされる場合にも、ファイル出力を行うと判定する。また、バッファ使用率が70%以上であり、かつ、入出力負荷率が60%以下であるという第3の判定条件が満たされる場合にも、ファイル出力を行うと判定する。
一方、ファイル出力判定部305は、バッファ使用率が50%より小さいか、または、入出力負荷率が60%より大きい場合は、第1〜第3のいずれの判定条件も満たさないとして、ファイル出力を行わないと判定する。
以上のように構成されたデータ処理装置3の動作について、図12を用いて説明する。
まず、データ処理装置3は、ステップS1〜ステップS5まで、本発明の第1の実施の形態としてのデータ処理装置1と同様に動作することにより、バッファ使用率を取得する。
次に、ファイル出力判定部305は、取得したバッファ使用率が、複数の判定条件におけるバッファ使用率の各範囲のいずれかに含まれるか否かを判断する(ステップS31)。
例えば、図11の3つの判定条件を用いる場合、ファイル出力判定部305は、取得したバッファ使用率が、第1の判定条件におけるバッファ使用率の範囲「50%以上60%より小さい」、第2の判定条件におけるバッファ使用率の範囲「60%以上70%より小さい」、および、第3の判定条件におけるバッファ使用率の範囲「70%以上」のいずれかに含まれるか否かを判断する。すなわち、ファイル出力判定部305は、この例の場合では、バッファ使用率が50%以上であるか否かを判断することになる。
ここで、バッファ使用率が、各判定条件におけるバッファ使用率の範囲のいずれにも含まれないと判断された場合、データ処理装置3は動作を終了する。
一方、ステップS31において、バッファ使用率が、いずれかの判定条件におけるバッファ使用率の範囲に含まれると判断した場合、ファイル出力判定部305は、装置状態格納部204から入出力負荷率を取得する(ステップS32)。
次に、ファイル出力判定部305は、取得したバッファ使用率および入出力負荷率が、複数の判定条件のいずれかを満たすか否かを判断する(ステップS33)。
ここで、バッファ使用率および入出力負荷率が、いずれの判定条件も満たさないと判断された場合、データ処理装置3は動作を終了する。
一方、ステップS33において、バッファ使用率および入出力負荷率が、いずれかの判定条件を満たすと判断した場合、ファイル出力判定部305はファイル出力を行うと判定する(ステップS34)。
次に、ファイル出力部106は、該当するバッファ102内のデータをファイル出力する(ステップS8)
以上で、データ処理装置3は動作を終了する。
次に、本発明の第3の実施の形態の効果について述べる。
本発明の第3の実施の形態としてのデータ処理装置は、複数のスレッドで処理したデータを一括してファイル出力する際に、コミット時のファイル出力の集中を解消しながらも、ファイル出力回数の増大を効率的に抑制することができる。
その理由は、バッファ使用率および入出力負荷率に基づく複数の判定条件を設定するからである。これにより、バッファ使用率が低いバッファほどファイル出力をより多く抑制するとともに、バッファ使用率が高いバッファほどファイル出力の抑制を少なくすることができるからである。
(第4の実施の形態)
次に、本発明の第4の実施の形態について、図面を参照して詳細に説明する。なお、本実施の形態の説明で参照する各図面において、本発明の第2の実施の形態と同一の構成または同様に動作するステップには同一の符号を付して、本実施の形態における詳細な説明を省略する。
本発明の第4の実施の形態としてのデータ処理装置4は、本発明の第2の実施の形態としてのデータ処理装置2と同様に図1に示した構成を備えるコンピュータ装置によって構成される。
データ処理装置4の機能ブロック構成を図13に示す。
図13において、データ処理装置3は、本発明の第2の実施の形態としてのデータ処理装置1に対して、パフォーマンス情報取得部408と、判定条件変更部409とをさらに備える点が異なる。
ここで、パフォーマンス情報取得部408および判定条件変更部409は、RAM1002に読み込まれたコンピュータ・プログラムを実行するCPU1001によって構成される。
パフォーマンス情報取得部408は、データ処理装置4におけるパフォーマンス情報を取得する。ここで、パフォーマンス情報とは、例えば、単位時間あたりにファイル出力したデータ量であってもよいし、入力されたデータがファイル出力されるまでの遅延時間であってもよく、その他、データ処理装置4のある時点におけるパフォーマンスを表す情報であればよい。
判定条件変更部409は、パフォーマンス情報および入出力負荷率が所定の目標条件を満たさない場合、ファイル出力判定部205によって用いられる判定条件を所定のルールに従って変更する。
具体的には、判定条件変更部409は、パフォーマンス情報取得部408および入出力負荷率取得部207から、それぞれパフォーマンス情報および入出力負荷率を取得する。そして、判定条件変更部409は、取得したパフォーマンス情報および入出力負荷率が、あらかじめ定められた目標条件を満たすか否かを判定する。そして、あらかじめ定められた目標条件を満たさないと判定した場合、判定条件変更部409は、所定のルールにしたがって、判定条件を変更する。
ここで、目標条件とは、例えば、パフォーマンス情報および入出力負荷率のそれぞれに対する目標の値または値の範囲であってもよい。
また、所定のルールとは、例えば、取得した入出力負荷率とその目標値との差分値に応じて、判定条件に含まれるバッファ使用率の閾値および入出力負荷率の閾値の増減分を設定するルールであってもよい。
具体的には、所定のルールは、取得した入出力負荷率がその目標値より高い場合、判定条件のバッファ使用率の閾値を増やすとともに入出力負荷率の閾値を減らすよう、それぞれの増減分を差分値に応じて設定したルールであってもよい。すなわち、所定のルールは、取得した入出力負荷率が目標値より高い場合、ファイル出力すると判定されるバッファ数を抑えるよう判定条件を変更するルールであってもよい。
また、所定のルールとは、取得したパフォーマンス情報と、その目標条件との差分に応じて、判定条件に含まれるバッファ使用率の閾値および入出力負荷率の閾値の増減分を設定するルールであってもよい。
具体的には、所定のルールは、パフォーマンス情報として取得した単位時間あたりのファイル出力データ量がその目標値に達していない場合、判定条件のバッファ使用率の閾値を減らすとともに入出力負荷率の閾値を増やすよう、それぞれの増減分を差分値に応じて設定するルールであってもよい。すなわち、所定のルールは、取得した単位時間あたりのファイル出力データ量が目標値に達していない場合、ファイル出力すると判定されるバッファ数を増やすよう判定条件を変更するルールであってもよい。
また、所定のルールは、パフォーマンス情報として取得した遅延時間がその目標値より大きい場合、判定条件のバッファ使用率の閾値を増やすとともに入出力負荷率の閾値を減らすよう、それぞれの増減分を差分値に応じて設定するルールであってもよい。すなわち、所定のルールは、取得した遅延時間が目標値より大きい場合、ファイル出力すると判定されるバッファ数を抑えるよう判定条件を変更するルールであってもよい。
また、所定のルールは、取得した入出力負荷率とその目標値との差分値、および、パフォーマンス情報とその目標値との差分値の組み合わせに応じて定められていてもよい。
以上のように構成されたデータ処理装置4の動作について、図14を参照して説明する。なお、データ処理装置4のファイル出力動作については、本発明の第2の実施の形態としてのデータ処理装置2と同様であるため、本実施の形態における説明を省略する。
ここでは、データ処理装置4の判定条件変更動作について説明する。
まず、判定条件変更部409は、パフォーマンス情報取得部408から、パフォーマンス情報を取得する(ステップS41)。
次に、判定条件変更部409は、入出力負荷率取得部207から、入出力負荷率を取得する(ステップS42)。
次に、判定条件変更部409は、取得したパフォーマンス情報および入出力負荷率が所定の目標条件を満たすか否かを判断する(ステップS43)。
ここで、パフォーマンス情報および入出力負荷率が所定の目標条件を満たすと判断した場合、データ処理装置4は動作を終了する。
一方、ステップS43において、パフォーマンス情報および入出力負荷率が所定の目標条件を満たさないと判断した場合、判定条件変更部409は、所定のルールにしたがって判定条件を変更する(ステップS44)。
以上で、データ処理装置4は判定条件を変更する動作を終了する。
なお、データ処理装置4は、上述の動作を所定の間隔で繰り返し実行するようにしてもよい。
次に、本発明の第4の実施の形態の効果について述べる。
本発明の第4の実施の形態としてのデータ処理装置は、複数のスレッドで処理したデータを一括してファイル出力する際に、ファイル出力回数の増大を抑制しながらも、パフォーマンスを向上させることができる。
その理由は、判定条件変更部がパフォーマンス情報および入出力負荷率を監視することにより、これらが目標条件を満たさないときは判定条件を動的に変更するからである。
なお、上述した本発明の各実施の形態において、各フローチャートを参照して説明したデータ処理装置の動作を、本発明のコンピュータ・プログラムとしてデータ処理装置に接続された記憶装置(記憶媒体)に格納しておき、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコード或いは記憶媒体によって構成される。
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
複数のスレッドが複数のデータを並行して処理するデータ処理装置であって、
前記各スレッドにおいて、前記各データを受信するデータ受信部と、
前記データを書き込むためのバッファと、
前記各スレッドにおいて、前記バッファ内に1つのブロックを確保することにより、確保したブロックに前記データを書き込むデータ書込部と、
前記バッファにおけるバッファ使用率を格納する装置状態格納部と、
前記各スレッドにおいて、前記装置状態格納部に格納された前記バッファ使用率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定するファイル出力判定部と、
前記各スレッドにおいて、前記ファイル出力判定部によってファイル出力すると判定された場合に、前記バッファ内のデータをファイル出力するファイル出力部と、
を備えたデータ処理装置。
(付記2)
前記データのファイル出力先となる出力先記憶装置の入出力負荷率を取得する入出力負荷率取得部をさらに備え、
前記装置状態格納部は、前記バッファ使用率に加えて前記入出力負荷率をさらに格納し、
前記ファイル出力判定部は、前記各スレッドにおいて、前記装置状態格納部に格納された前記バッファ使用率および前記入出力負荷率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定することを特徴とする付記1に記載のデータ処理装置。
(付記3)
前記ファイル出力判定部は、前記バッファ使用率および前記入出力負荷率に基づく複数の判定条件を用いて、前記ファイル出力を行うか否かを判定することを特徴とする付記2に記載のデータ処理装置。
(付記4)
前記データ処理装置のパフォーマンス情報を取得するパフォーマンス情報取得部と、
前記パフォーマンス情報および前記入出力負荷率が所定の目標条件を満たさない場合、前記判定条件を所定のルールに従って変更する判定条件変更部と、
をさらに備えることを特徴とする付記1から付記3のいずれかに記載のデータ処理装置。
(付記5)
複数のスレッドが複数のデータを並行して処理するデータ処理装置を用いて、
前記各スレッドにおいて、前記各データを受信し、
前記各スレッドにおいて、バッファ内に1つのブロックを確保することにより、確保したブロックに前記データを書き込み、
前記バッファにおけるバッファ使用率を装置状態格納部に格納し、
前記各スレッドにおいて、前記装置状態格納部に格納された前記バッファ使用率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定し、
前記各スレッドにおいて、前記ファイル出力すると判定された場合に、前記バッファ内のデータをファイル出力する、データ処理方法。
(付記6)
前記データ処理装置を用いて、
前記データのファイル出力先となる出力先記憶装置の入出力負荷率を取得し、
前記装置状態格納部に、前記バッファ使用率に加えて前記入出力負荷率をさらに格納し、
前記各スレッドにおいて前記ファイル出力を行うか否かを判定する際に、前記装置状態格納部に格納された前記バッファ使用率および前記入出力負荷率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定することを特徴とする付記5に記載のデータ処理方法。
(付記7)
複数のスレッドが複数のデータを並行して処理するデータ処理装置に、
前記各スレッドにおいて、前記各データを受信するデータ受信ステップと、
前記各スレッドにおいて、バッファ内に1つのブロックを確保することにより、確保したブロックに前記データを書き込むデータ書込ステップと、
前記バッファにおけるバッファ使用率を装置状態格納部に格納する装置状態格納ステップと、
前記各スレッドにおいて、前記装置状態格納部に格納された前記バッファ使用率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定するファイル出力判定ステップと、
前記各スレッドにおいて、前記ファイル出力判定ステップでファイル出力すると判定された場合に、前記バッファ内のデータをファイル出力するファイル出力ステップと、
を実行させるコンピュータ・プログラム。
(付記8)
前記データ処理装置に、
前記データのファイル出力先となる出力先記憶装置の入出力負荷率を取得する入出力負荷率取得ステップをさらに実行させ、
前記装置状態格納ステップで、前記バッファ使用率に加えて前記入出力負荷率をさらに格納し、
前記ファイル出力判定ステップで、前記各スレッドにおいて、前記装置状態格納部に格納された前記バッファ使用率および前記入出力負荷率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定することを特徴とする付記7に記載のコンピュータ・プログラム。
本発明は、複数のスレッドで処理したデータを一括してファイル出力する際に、コミット時のファイル出力の集中を解消しながらも、ファイル出力回数の増大を抑制するデータ処理装置を提供することができ、例えば、交換機における通話料金課金システムのように、短時間で大量に発生するデータを処理するシステムに適用されるデータ処理装置として好適である。
1、2、3、4 データ処理装置
9 出力先記憶装置
101 データ受信部
102 バッファ
103 データ書込部
104、204 装置状態格納部
105、205、305 ファイル出力判定部
106 ファイル出力部
207 入出力負荷率取得部
408 パフォーマンス情報取得部
409 判定条件変更部
1001 CPU
1002 RAM
1003 ROM
1004 周辺機器接続インタフェース

Claims (5)

  1. 複数のスレッドが複数のデータを並行して処理するデータ処理装置であって、
    前記各スレッドにおいて、前記各データを受信するデータ受信部と、
    前記データを書き込むためのバッファと、
    前記各スレッドにおいて、前記バッファ内に1つのブロックを確保することにより、確保したブロックに前記データを書き込むデータ書込部と、
    前記データのファイル出力先となる出力先記憶装置の入出力負荷率を取得する入出力負荷率取得部と、
    前記バッファにおけるバッファ使用率および前記入出力負荷率を格納する装置状態格納部と、
    前記各スレッドにおいて、前記装置状態格納部に格納された前記バッファ使用率および前記入出力負荷率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定するファイル出力判定部と、
    前記各スレッドにおいて、前記ファイル出力判定部によってファイル出力すると判定された場合に、前記バッファ内のデータをファイル出力するファイル出力部と、
    を備えたデータ処理装置。
  2. 前記ファイル出力判定部は、前記バッファ使用率および前記入出力負荷率に基づく複数の判定条件を用いて、前記ファイル出力を行うか否かを判定することを特徴とする請求項に記載のデータ処理装置。
  3. 前記データ処理装置のパフォーマンス情報を取得するパフォーマンス情報取得部と、
    前記パフォーマンス情報および前記入出力負荷率が所定の目標条件を満たさない場合、前記判定条件を所定のルールに従って変更する判定条件変更部と、
    をさらに備えることを特徴とする請求項1または請求項2に記載のデータ処理装置。
  4. 複数のスレッドが複数のデータを並行して処理するデータ処理装置を用いて、
    前記各スレッドにおいて、前記各データを受信し、
    前記各スレッドにおいて、バッファ内に1つのブロックを確保することにより、確保したブロックに前記データを書き込み、
    前記データのファイル出力先となる出力先記憶装置の入出力負荷率を取得し、
    前記バッファにおけるバッファ使用率および前記入出力負荷率を装置状態格納部に格納し、
    前記各スレッドにおいて、前記装置状態格納部に格納された前記バッファ使用率および前記入出力負荷率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定し、
    前記各スレッドにおいて、前記ファイル出力すると判定された場合に、前記バッファ内のデータをファイル出力する、データ処理方法。
  5. 複数のスレッドが複数のデータを並行して処理するデータ処理装置に、
    前記各スレッドにおいて、前記各データを受信するデータ受信ステップと、
    前記各スレッドにおいて、バッファ内に1つのブロックを確保することにより、確保したブロックに前記データを書き込むデータ書込ステップと、
    前記データのファイル出力先となる出力先記憶装置の入出力負荷率を取得する入出力負荷率取得ステップと、
    前記バッファにおけるバッファ使用率および前記入出力負荷率を装置状態格納部に格納する装置状態格納ステップと、
    前記各スレッドにおいて、前記装置状態格納部に格納された前記バッファ使用率および前記入出力負荷率が所定の判定条件を満たすか否かに基づいて、前記バッファ内のデータをファイル出力するか否かを判定するファイル出力判定ステップと、
    前記各スレッドにおいて、前記ファイル出力判定ステップでファイル出力すると判定された場合に、前記バッファ内のデータをファイル出力するファイル出力ステップと、
    を実行させるコンピュータ・プログラム。
JP2010185970A 2010-08-23 2010-08-23 データ処理装置、データ処理方法、および、コンピュータ・プログラム Expired - Fee Related JP5593955B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010185970A JP5593955B2 (ja) 2010-08-23 2010-08-23 データ処理装置、データ処理方法、および、コンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010185970A JP5593955B2 (ja) 2010-08-23 2010-08-23 データ処理装置、データ処理方法、および、コンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2012043331A JP2012043331A (ja) 2012-03-01
JP5593955B2 true JP5593955B2 (ja) 2014-09-24

Family

ID=45899526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010185970A Expired - Fee Related JP5593955B2 (ja) 2010-08-23 2010-08-23 データ処理装置、データ処理方法、および、コンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP5593955B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2665180B2 (ja) * 1995-02-22 1997-10-22 北海道日本電気ソフトウェア株式会社 ディスクキャッシュバッファの確保方式
JPH10275059A (ja) * 1996-04-30 1998-10-13 Matsushita Electric Ind Co Ltd 記憶デバイス制御装置及び管理システム
JP2010067044A (ja) * 2008-09-11 2010-03-25 Nec Corp データ処理装置、その方法及びそのプログラム

Also Published As

Publication number Publication date
JP2012043331A (ja) 2012-03-01

Similar Documents

Publication Publication Date Title
US8190795B2 (en) Memory buffer allocation device and computer readable medium having stored thereon memory buffer allocation program
JP5841142B2 (ja) 共有スタックの部分を割り当てるためのシステムおよび方法
EP2751685B1 (en) Resource allocation tree
US20190332430A1 (en) Blockchain-based data processing method and equipment
US20110161965A1 (en) Job allocation method and apparatus for a multi-core processor
JP2009528610A (ja) タスクの実行フェーズに基づいてキャッシュパーティションを動的にリサイズする方法及び装置
US20260099353A1 (en) Task scheduling
KR20140134190A (ko) 멀티 코어 시스템 및 멀티 코어 시스템의 작업 스케줄링 방법
KR101392584B1 (ko) 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법
JP2017049872A (ja) ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
US9740530B2 (en) Decreasing the priority of a user based on an allocation ratio
US8621479B2 (en) System and method for selecting task allocation method based on load balancing and core affinity metrics
JP2018136592A (ja) メモリ制御装置
CN116881299A (zh) 一种查询任务执行方法、装置、计算机设备及存储介质
KR20130020420A (ko) 반도체 장치의 태스크 스케쥴링 방법
KR102923729B1 (ko) 다중 스레드 마이크로프로세서의 공유 리소스 할당
JP6251417B2 (ja) ストレージシステム、及び、記憶制御方法
JP2018081642A (ja) メモリコントローラおよび方法
JP2014078214A (ja) スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム
JP5593955B2 (ja) データ処理装置、データ処理方法、および、コンピュータ・プログラム
KR101897370B1 (ko) 페이지 교체 방법 및 페이지 교체 장치
CN105573920B (zh) 存储空间管理方法和装置
JP2016114967A (ja) キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム
WO2014188642A1 (ja) スケジュールシステム、スケジュール方法、及び、記録媒体
JP4409568B2 (ja) 帯域制御プログラム及びマルチプロセッサシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140721

R150 Certificate of patent or registration of utility model

Ref document number: 5593955

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees