JP5938968B2 - 情報処理装置、情報処理プログラム及び情報処理方法 - Google Patents

情報処理装置、情報処理プログラム及び情報処理方法 Download PDF

Info

Publication number
JP5938968B2
JP5938968B2 JP2012062879A JP2012062879A JP5938968B2 JP 5938968 B2 JP5938968 B2 JP 5938968B2 JP 2012062879 A JP2012062879 A JP 2012062879A JP 2012062879 A JP2012062879 A JP 2012062879A JP 5938968 B2 JP5938968 B2 JP 5938968B2
Authority
JP
Japan
Prior art keywords
instruction
access
storage
storage area
data
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
JP2012062879A
Other languages
English (en)
Other versions
JP2013196389A (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 JP2012062879A priority Critical patent/JP5938968B2/ja
Priority to US13/832,879 priority patent/US9135325B2/en
Publication of JP2013196389A publication Critical patent/JP2013196389A/ja
Application granted granted Critical
Publication of JP5938968B2 publication Critical patent/JP5938968B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Description

本発明は、記憶装置に格納されたデータへのアクセス技術に関する。
ある種のデータ分析システムは、処理要求を受信すると、その処理要求を受信したタイミングで分析処理を行う。そのようなデータ分析システムの一例として、観測対象で発生した事象を測定し、測定されたデータを次段へ転送する測定データ処理装置がある。測定データ処理装置は、この発生した事象の種類を示す事象情報を受け取り、この事象情報に関連した、測定を開始してからこの事象が発生するまでの絶対経過時間を含む時間情報を生成するデータ受取り部を備える。この測定データ処理装置はまた、この事象情報と時間情報とを一時的に蓄える内部バッファを備える。この測定データ処理装置はさらに、この内部バッファに蓄えられているデータ量を判断するデータ量判断部を備える。このデータ量判断部は、データ量が最も低い第1段階にある場合に、データ量の内部バッファに占める使用率が第1上昇時閾値を超えた場合は、データ量は第1段階よりも多い第2段階になったと判断する。このデータ量判断部は、第2段階にある場合に、使用率が第1上昇時閾値より小さい第1下降時閾値を下回った場合は、データ量は第1段階に戻ったと判断する。このデータ量判断部はさらに、データ転送部を備える。このデータ転送部は第1段階であると判断する場合には、内部バッファから事象情報と時間情報とを取り出して、取り出した事象情報と時間情報とを次段へ転送する。このデータ転送部は第2段階であると判断する場合には、内部バッファから事象情報と時間情報とを取り出して、この事象情報と、時間情報の精度を低下させた粗時間情報とを、次段へ転送する。
特開2010−128730号公報
上記測定データ処理装置では、データ到着頻度が高い時は情報量をある程度落とすことと、データ到着頻度が低くなった機会に転送することで、データ転送がデータ到着に間に合うようにしている。
しかしながら、上記測定データ処理装置の場合には、データへのアクセス回数については考慮されておらず、記憶装置に格納されたデータへのアクセス効率について問題がある。
1つの側面では、本発明は、記憶装置に格納されたデータへのアクセス命令に対する処理効率を向上させる技術を提供する。
情報処理装置は、第1記憶装置、第2記憶装置、命令受信部、及び処理部を含む。第1記憶装置は、連続して処理される複数のデータを含む複数のデータ群それぞれを、複数の記憶領域に格納する。第2記憶装置は、複数の前記記憶領域にそれぞれ対応する複数の命令記憶領域を有し、前記第1記憶装置よりも高速で動作可能である。命令受信部は、受信した複数のアクセス命令を、各アクセス命令の対象データの格納された前記記憶領域に対応する前記命令記憶領域に格納する。処理部は、複数の前記命令記憶領域のいずれか選択し、選択された前記命令記憶領域に格納されたアクセス命令を一括して処理する。
一実施形態によれば、記憶装置に格納されたデータへのアクセス命令に対する処理効率を向上させることができる。
本実施形態における情報処理装置の一例を示す。 本実施形態におけるデータ分析システムの一例を示す。 本実施形態におけるデータ・セグメント関係テーブル24の一例を示す。 本実施形態におけるイベント到着からアクセス命令処理までのサーバの動作を説明するための図である。 本実施形態におけるイベント情報の到着からアクセス命令処理までのフローの一例を示す。 本実施形態における命令積載キューの優先順位の計算方法の一例を説明するための図(その1)である。 本実施形態における命令積載キューの優先順位の計算方法の一例を説明するための図(その2)である。 本実施形態を適用したコンピュータのハードウェア環境の構成ブロック図の一例を示す。
ある種のデータ分析システムは、新しくイベント情報が到着すると、そのイベント情報が到着したタイミングで分析処理を行う。ここで、イベント情報(またはイベント)とは、クライアント端末より送信される分析対象のデータへのアクセス命令を含む情報のことをいう。このとき、データ分析システムは、そのイベント情報に関係するデータを参照して処理を行い、その処理結果を再度そのデータに反映する。これにより、新しいイベントが発生する。このような処理を、イベントが新しく発生しなくなるまで繰り返す。
処理される際に、データ分析システムによって参照されるデータは、量や保全性のためにハードディスクなどの大容量で低速な記憶媒体(以降、「低速記憶媒体」と呼ぶ)に蓄積されることが多い。しかし、低速記憶媒体上へのデータアクセスは時間がかかるため、イベント情報の到着が速いと、処理が間に合わないことが起こりえる。
そこで、例えば、次の方法がある。低速記憶媒体の前段に、メモリのような小容量で高速の記憶媒体(以降、「高速記憶媒体」と呼ぶ)を配置する。そして、低速記憶媒体上のデータへのアクセス命令(以降、「命令」と呼ぶ)を高速記憶媒体上にある程度バッファし、それらのアクセス命令をまとめて処理する。例えばNCQ(Native Command Queuing)は、ディスクへの制御命令をキューに格納し、ディスクの回転やヘッドの動作が最小限で済むような順番に格納し直して処理する。これにより、制御命令ごとにディスクへのランダムアクセスが発生しない。
しかしながら、しかし、キューの上限まで命令を格納して処理すると、単位時間の処理量は増える(スループットは大きくなる)が、キューに最初に格納した命令(古い命令)が処理されるまで時間がかかる。つまり、データ転送などの処理を要求してから、その結果が返送されるまでの遅延時間(レイテンシ)は長くなる(レイテンシは高くなる)。その結果、次のイベント到着までに低速記憶媒体へのデータ転送が十分完了するぐらいにイベント到着頻度が低い場合、データ分析システムは無駄に処理を待つことになる。
一方、命令をほとんどキューに格納せず処理する、すなわちイベントの到着の度にイベントを処理すると、レイテンシは小さくなるが、スループットを大きくすることはできない。この場合、イベント到着頻度が高いと、命令を処理している間に次のイベントが到着してしまい、処理が間に合わない。
そこで、本実施形態の一側面として、連続して取得される、記憶装置に格納されたデータへのアクセス命令に対する処理効率を向上させる技術を提供する。
以下、図面に基づいて本実施形態を説明する。
図1は、本実施形態における情報処理装置の一例を示す。情報処理装置1は、第1記憶装置2、第2記憶装置3、命令受信部4、処理部5を含む。
第1記憶装置2は、連続して処理される複数のデータを含む第1のデータ群を第1の領域に格納し、連続して処理される複数のデータを含む第2のデータ群を第2の記憶領域に格納する。一例として、第1記憶装置2は、複数に区分された記憶領域を含み、連続して処理するデータを同一の区分に格納する。第1記憶装置2の一例として、後述する低速記憶媒体27が挙げられる。
第2記憶装置3は、第1記憶領域に格納されたデータへのアクセス命令が格納される第3記憶領域と、第2記憶領域に格納されたデータへのアクセス命令が格納される第4記憶領域とを備え、第1記憶装置よりも高速で動作可能である。一例として、第2記憶装置3は、第1記憶装置2よりも高速で動作し、区分に対応する、データへのアクセス命令が格納される待ち行列を含む。第2記憶装置3の一例として、後述する高速記憶媒体26が挙げられる。
命令受信部4は、受信したアクセス命令を第2記憶装置が備える複数の記憶領域のうちの対応する記憶領域に格納する。一例として、命令受信部4は、外部より連続して到着するデータへのアクセス命令を取得して、いずれかの待ち行列に格納する。命令受信部4の一例として、後述するイベント処理部21が挙げられる。
処理部5は、前記第2記憶装置におけるいずれかの記憶領域を選択し、選択された記憶領域に格納された1又は複数のアクセス命令を処理する。一例として、処理部5は、いずれかの待ち行列を選択して、選択した待ち行列内に累積して格納されたアクセス命令を処理する。処理部5の一例として、後述するキュー管理部25が挙げられる。
このように構成することにより、記憶装置に格納されたデータへのアクセス命令に対する処理効率を向上させることができる。
処理部5は、アクセス命令の受信頻度に応じて、第1の選択方法と、第2の選択方法とを切り替えて適用する。第1の選択方法は、第2記憶装置が備える複数の記憶領域のうち最も多くのアクセス命令が格納された記憶領域を選択する方法である。第2の選択方法は、第2記憶装置が備える複数の記憶領域のうち最も古いアクセス命令が格納された記憶領域を選択する方法である。一例として、処理部5は、アクセス命令の到着頻度に応じて、最も命令が格納された待ち行列を選択する第1の選択方法と、最も古い命令が格納されたキューを選択する第2の選択方法とを切り替えて適用する。具体的には、待ち行列処理部5は、単位時間当たりのアクセス命令の処理数が単位時間当たりのアクセス命令の到着数以上になるように、第1の選択方法を適用する割合を決定する。
このように構成することにより、アクセス命令の到着頻度に応じて、各命令処理方法を適用する割合を調整することができる。
情報処理装置1は、さらに、判定部6を含む。判定部6は、第2記憶装置が備える複数の記憶領域を識別する記憶領域識別情報と、該記憶領域に含まれるデータを識別するデータ識別情報とを含む記憶領域関連情報に基づいて、受信したアクセス命令によるデータに対応する記憶領域を判定する。一例として、判定部6は、区分を識別する区分識別情報と、該区分に含まれるデータを識別するデータ識別情報とを含む区分関連情報に基づいて、取得したアクセス命令によるデータに対応する区分を判定する。この場合、命令受信部4は、命令受信部は、判定結果に基づいて、受信したデータへのアクセス命令を、前記第2記憶装置が備える複数の記憶領域のうちの対応する記憶領域に格納する。判定部6の一例として、後述するセグメント管理部23が挙げられる。
このように構成することにより、アクセス先のデータを有するセグメントに対応するキューに、アクセス命令を格納することができる。
以下では、本実施形態の詳細について説明する。
図2は、本実施形態におけるデータ分析システムの一例を示す。データ分析システムは、クライアント装置(以下、「クライアント」と称する)10としての情報処理装置と、サーバ装置(以下、「サーバ」と称する)20としての情報処理装置とを含む。サーバ20とクライアント10とは、通信ネットワーク(以下、「ネットワーク」と称する)11を介して接続されている。
クライアント10は、分析対象のデータへのアクセス命令を含む情報(イベント情報)を、ネットワーク11を介してサーバ20に送信する。
サーバ20は、クライアント10から送信されたイベント情報に応じて処理を行う。サーバ20は、イベント処理部21、セグメント管理部23、キュー管理部25、高速記憶媒体26、低速記憶媒体27を含む。
イベント処理部21は、クライアント10からイベント情報を受け取り、そのイベント情報から低速記憶媒体27に格納されたデータへのアクセス命令(命令)を取り出す。イベント処理部21は、その取り出した命令をどのセグメントに対応するキュー(命令積載キュー)に格納すればよいかを、セグメント管理部23に問い合わせる。問い合わせの結果、セグメント管理部23からセグメントを識別するセグメントIDが返信された場合、イベント処理部21は、そのセグメントIDに対応する命令積載キューに命令を格納する。
なお、セグメントと命令積載キューとは、1:1で関係づけられており、イベント処理部21は、セグメントIDから命令積載キューを一意に判別することができる。
ここで、セグメントについて説明する。クライアント10から連続して取得したデータをまとめて処理する場合に、低速記憶媒体27の記憶領域を区分して、その処理が効率よく行われるように、同一の区分にデータを格納する。低速記憶媒体27の記憶領域における区分単位をセグメントという。処理が効率よく行われるように格納するとは、例えば、ディスクへのアクセス効率が向上するように一群のデータを同一セグメントに格納したり、ディスク上に近接して一群のデータを同一セグメントに格納したりすることが考えられるが、これに限定されない。本実施形態では、どのデータがどのセグメントに含まれるかは、後述するように、予めデータとセグメントとの対応関係を示す情報(データ・セグメント関係テーブル24)により設定されている。
セグメント管理部23は、各データを低速記憶媒体27のどのセグメントに割り当てるかを管理する。セグメント管理部23は、データとセグメントとの対応関係を示す情報を格納するデータ・セグメント関係テーブル24を含む。イベント処理部21から、そのデータへのアクセス命令をどのセグメントに対応する命令積載キューに格納すればよいかの問い合わせがあると、セグメント管理部23は、次の処理を行う。すなわち、セグメント管理部23は、データ・セグメント関係テーブル24を用いて、そのデータの格納先となるセグメントのセグメントIDを取得する。セグメント管理部23は、取得した格納先のセグメントIDをイベント処理部21に返信する。
キュー管理部25は、高速記憶媒体26上の、各セグメントに対応する命令積載キューを管理し、どの命令積載キューを選択して処理するかの判定に用いるための優先度キューを管理し、選択した命令積載キュー内のアクセス命令を処理する。具体的には、キュー管理部25は、定期的にこれらの命令積載キューの中から所定の優先度に基づいて命令積載キューを選び、その命令積載キュー内の全アクセス命令を処理する。
高速記憶媒体26は、メモリのような小容量で高速の記憶媒体である。高速記憶媒体26は、セグメントごとの命令積載キューと、どの命令積載キューから処理するかの優先度キューを保持する。優先度キューは、命令積載キューの選び方(ポリシー)の種類の数だけ設定される。例えば、スループット優先ポリシーとレイテンシ優先ポリシーの2種類のポリシーを適用して命令積載キューを選ぶ場合、高速記憶媒体26に優先度キューが2種類設定される。
低速記憶媒体27は、ハードディスクドライブ等の大容量で低速な記憶媒体である。低速記憶媒体27は、セグメント毎にデータを保持する。
図3は、本実施形態におけるデータ・セグメント関係テーブル24の一例を示す。データ・セグメント関係テーブル24は、「データのキー」、「セグメントID」のデータ項目を含む。「データのキー」には、そのデータに付与されている一意の情報(キー)が格納される。「セグメントID」には、そのデータの格納先のセグメントのIDが格納されている。
例えば、データのキー「C0」で特定されるデータと「Oi」で特定されるデータは、続いてアクセスされると判断され、同じセグメント(seg24)に割り振られている。また、データのキー「B0」で特定されるデータと「Xn」で特定されるデータは、続いてアクセスされると判断され、同じセグメント(seg38)に割り振られている。
図4は、本実施形態におけるイベント到着からアクセス命令処理までのサーバの動作を説明するための図である。上述の通り、本実施形態では、クライアント10より連続して到着するイベント情報に対応するデータは、セグメントという単位にまとめて扱われる。高速記憶媒体26から低速記憶媒体27へのデータ蓄積も、低速記憶媒体27から高速記憶媒体26へのデータの引き上げも、セグメント単位で行われる。
これらの前提の下で、以下の処理を行う。まず、高速記憶媒体26には、セグメント毎に対応するキュー(命令積載キュー)が設定されている。イベント処理部21は、その命令積載キューに、クライアント10から送信された、低速記憶媒体27上に格納されているデータへの命令を格納する。
キュー管理部25は、一定時間ごとに、上記複数の命令積載キューから処理すべき命令積載キューを選び、その選択した命令積載キュー内の全命令を一度に処理する。キュー管理部25は、上記複数の命令積載キューから処理すべき命令積載キューを選ぶ場合、例えば、以下の2つのポリシーを用いて命令積載キューの優先順位を決めておき、その順位に従って命令積載キューを選択する。なお、キュー管理部25は、命令が到着する毎に、優先度を計算し直す。
(1)スループット重視のポリシーの場合には、キュー管理部25は、最も命令が溜まっている命令積載キューを最優先に選択する。つまり、この場合、キュー管理部25は、格納している命令数で命令積載キューの優先順位を決定する。
(2)レイテンシ重視のポリシーの場合には、キュー管理部25は、最も古い命令がある命令積載キューを最優先に選択する。つまり、この場合、キュー管理部25は、格納している最も古い命令のタイムスタンプで命令積載キューの優先順位を決定する。
キュー管理部25は、命令積載キューを選ぶ際、上記どちらのポリシーで選ぶかは、ある割合で決める。例えばスループット重視のポリシーとレイテンシ重視のポリシーを1:1の割合で適用する場合、キュー管理部25は、交互に上記(1)(2)のポリシーを適用する。このポリシーの割合については、調整することができる。
このように、命令積載キューの選び方が固定ではなく調整できるため、イベント情報の到着頻度が一定ではない時でもイベント到着に間に合うよう命令を処理できる。また、無駄な処理待ち時間を生じない。
図5は、本実施形態におけるイベント情報の到着からアクセス命令処理までのフローの一例を示す。図4で説明したように、クライアント10からイベント情報がサーバ20のイベント処理部21に到着すると、そのイベント情報に関係するデータへのステートアクセス命令が発生する(S1)。すなわち、イベント処理部21は、クライアント10から送信されたイベント情報を受信すると、そのイベント情報から低速記憶媒体27に格納されたデータへのアクセス命令(命令)を取り出す。
イベント処理部21は、その取り出した命令をどのセグメントに対応する命令積載キューに格納すればよいかをセグメント管理部23に問い合わせる。すると、セグメント管理部23は、そのデータの格納先のセグメントIDを求める(S2)。具体的には、セグメント管理部23は、データ・セグメント関係テーブル24から、そのデータの格納先のセグメントのセグメントIDを取得する。セグメント管理部23は、取得した格納先のセグメントIDをイベント処理部21に返信する。
イベント処理部21は、セグメント管理部23から返信されたセグメントIDを用いて、データへのアクセス命令の格納先の命令積載キューを求める(S3)。すなわち、イベント処理部21は、セグメント管理部23から返信されたセグメントIDに対応する命令積載キューを選択する。
イベント処理部21は、その選択された命令積載キュー、すなわちセグメント管理部23から返信されたセグメントIDに対応する命令積載キューに、アクセス命令を積む(S4)。
キュー管理部25は、スループット優先の場合の、命令積載キューの優先順位を計算する(S5)。また、キュー管理部25は、レイテンシ優先の場合の、命令積載キューの優先順位を計算する(S6)。
キュー管理部25は、定期的に上記2つの優先順位をチェックし、最も優先順位の高い命令積載キューを選び、その命令積載キュー内に積まれたアクセス命令を全て処理する(S7)。このとき、キュー管理部25は、所定のルールに従って、スループット優先の順位とレイテンシ優先の順位のどちらかを適用する。ルールの一例としては、一定時間が経過する毎に、キュー管理部25は、2つの優先ポリシーを交互に切り替えて適用する。または、キュー管理部25は、イベント情報の到着頻度に応じて、スループット優先の順位とレイテンシ優先の順位とを適用する割合を変更してもよい。
キュー管理部25は、命令積載キュー及び優先度キューから、処理したアクセス命令に対応するエントリを削除する(S8)。ここで、エントリとは、命令積載キューに格納する各命令または優先度キューに格納する各情報の単位をいう。
図6A及び図6Bは、本実施形態における命令積載キューの優先順位の計算方法の一例を説明するための図である。t0〜t5は、命令積載キューに命令を積むタイミング、および命令積載キューを選択するタイミングを示す。キュー管理部25は、命令積載キューq0,q1,q2,・・・qNの優先順位を、優先度キューを用いて管理する。本実施形態では、キュー管理部25は、スループット優先の優先度キューq_th、レイテンシ優先の優先度キューq_laを管理する。
キュー管理部25は、優先度キューq_thに、「命令数」、「命令のタイムスタンプ」、及び「命令積載キューの識別情報(ID)」を含むエントリを、命令数が多い順にソートして積む。
また、キュー管理部25は、優先度キューq_laに、各命令積載キューq0〜qNに初めて命令が積まれた時だけ、「命令のタイムスタンプ」、及び「命令積載キューの識別情報(ID)」のエントリを到着順に積む。従って、優先度キューq_laには、各命令積載キューの最も古いタイムスタンプを含むエントリだけが積まれる。
キュー管理部25は、命令積載キューを選択するタイミングが来た場合、上述したように、スループット優先ポリシーとレイテンシ優先ポリシーの適用割合に応じて、どちらかの優先度キューを選択する。キュー管理部25は、その選択した優先度キューの先頭のエントリに対応する命令積載キューを選択する。キュー管理部25は、その選択した命令積載キュー内の全ての命令を処理して、優先度キューからその選択した命令積載キューに対応するエントリを削除する。
図6A及び図6Bでは、キュー管理部25は、スループット優先ポリシーとレイテンシ優先ポリシーを1:1の割合で適用する例について説明する。本実施形態では、キュー管理部25は、一定時間が経過したら、2つの優先ポリシーを交互に切り替えて適用する。図6A及び図6Bでは、t3経過毎に、スループット優先ポリシーとレイテンシ優先ポリシーを交互に切り替えて適用する。したがって、キュー管理部25は、t2ではスループット優先ポリシーを適用し、t5ではレイテンシ優先度ポリーを適用している。
t0において、イベント処理部21は、セグメント管理部23から返信されたセグメントIDに基づいて、命令op_Cをセグメント2に対応する命令積載キューq2に積む。キュー管理部25は、優先度キューq_thに、(命令数,命令のタイムスタンプ,命令積載キューのID)=(1,t0,q2)のエントリを積む。また、キュー管理部25は、優先度キューq_laに、(命令のタイムスタンプ,命令積載キューのID)=(t0,q2)のエントリを積む。
t1において、イベント処理部21は、セグメント管理部23から返信されたセグメントIDに基づいて、命令op_Aをセグメント0に対応する命令積載キューq0に積む。キュー管理部25は、優先度キューq_thに、(命令数,命令のタイムスタンプ,命令積載キューのID)=(1,t1,q0)のエントリを積む。また、キュー管理部25は、優先度キューq_laに、(命令のタイムスタンプ,命令積載キューのID)=(t1,q0)のエントリを積む。
t2において、イベント処理部21は、セグメント管理部23から返信されたセグメントIDに基づいて、命令op_Lをセグメント0に対応する命令積載キューq0に積む。命令積載キューq0に命令が1つ追加されたから、キュー管理部25は、優先度キューq_thに既に積んである命令積載キューq0についてのエントリの「命令数」に1を加え、エントリを命令数が多い順にソートして積む。また、命令op_Lは、命令積載キューq0に最初に積まれた命令ではないので、キュー管理部25は、優先度キューq_laに、新たなエントリを積まない。
この例では、t2ではスループット優先ポリシーを適用するから、キュー管理部25は、優先度キューq_thの先頭のエントリに対応する命令積載キューq0内の全ての命令op_A及びop_Lを処理する。キュー管理部25は、優先度キューq_thから、処理した命令積載キューq0に関するエントリ(2,t1,q0)を削除し、優先度キューq_laから処理した命令積載キューq2に関するエントリ(t1,q0)を削除する。
t3において、イベント処理部21は、セグメント管理部23から返信されたセグメントIDに基づいて、命令op_ZをセグメントNに対応する命令積載キューqNに積む。キュー管理部25は、優先度キューq_thに、(命令数,命令のタイムスタンプ,命令積載キューのID)=(1,t3,qN)のエントリを積む。また、キュー管理部25は、優先度キューq_laに、(命令のタイムスタンプ,命令積載キューのID)=(t3,qN)のエントリを積む。
t4において、イベント処理部21は、セグメント管理部23から返信されたセグメントIDに基づいて、命令op_Uをセグメント0に対応する命令積載キューq0に積む。キュー管理部25は、優先度キューq_thに、(命令数,命令のタイムスタンプ,命令積載キューのID)=(1,t4,q0)のエントリを積む。また、キュー管理部25は、優先度キューq_laに、(命令のタイムスタンプ,命令積載キューのID)=(t4,q0)のエントリを積む。
t5において、イベント処理部21は、セグメント管理部23から返信されたセグメントIDに基づいて、命令op_FをセグメントNに対応する命令積載キューqNに積む。命令積載キューqFに命令が1つ追加されたから、キュー管理部25は、優先度キューq_thに既に積んである命令積載キューqNについてのエントリの「命令数」に1を加え、エントリを命令数が多い順にソートして積む。また、命令op_Fは、命令積載キューq0に最初に積まれた命令ではないので、キュー管理部25は、優先度キューq_laに、新たなエントリを積まない。
この例では、t5ではレイテンシ優先度ポリーを適用するから、キュー管理部25は、優先度キューq_laの先頭のエントリに対応する命令積載キューq2内の命令op_Cを処理する。キュー管理部25は、優先度キューq_thから、処理した命令積載キューq2に関するエントリ(1,t0,q2)を削除し、優先度キューq_laから処理した命令積載キューq2に関するエントリ(t0,q2)を削除する。
これにより、低速記憶媒体上のデータへのアクセス命令を、続けてアクセスされるデータ毎にキューイングし、定期的に任意の命令積載キューを選択してその命令積載キュー内の命令をまとめて処理することができる。
次に、スループット優先とレイテンシ優先との適用の方法について説明する。キュー管理部25は、命令を積んだ命令積載キューを定期的に選択する際に、スループット優先度キューq_thをrの割合で選び、レイテンシ優先度キューq_laを1−rの割合で選ぶ(0<r≦1)。キュー管理部25は、イベント到着頻度が高い場合にはrを高めに設定し、イベント到着頻度が低い場合にはrを低めに設定してもよい。
また、キュー管理部25は、イベント到着頻度に合わせて、自動的にrを決めて設定してもよい。この場合、単位時間当たりのイベント到着頻度をF1[event/s]とする。単位時間当たりの命令処理数をF2[operation/s]とする。
スループット優先ポリシーのみを適用した場合に、単位時間当たりに処理できる命令数をFT[operation/s]とする。この値は別途測定して求めてもよいし、r=1として設定した時の単位時間当たりの処理命令数としてもよい。
レイテンシ優先ポリシーのみを適用した場合に、単位時間当たりに処理できる命令数をFL[operation/s]とする。この値は別途測定して求めてもよいし、r=0として設定した時の単位時間当たりの処理命令数としてもよい。F2は、FTとFLによって以下のように決定される。
F2 = FT * r + FL * (1−r)
F2 ≧ F1 となるようにrを求める。命令積載キューを選択してその命令積載キュー内の命令を処理する時間間隔は、FT ≧ F1となるように設定する。時間間隔が短すぎると命令積載キュー内にたまる命令数が少なくなり、つまり一度に処理出来る命令数が少なくなって F1 < FT となる。
なお、イベント到着頻度は、例えば、次のようにして得られる。まず、イベント処理部21が、単位時間当たりのイベント情報の到着数(イベント到着頻度)を計測し、そのイベント到着頻度をキュー管理部25に通知する。これにより、キュー管理部25は、イベント到着頻度を取得することができる。
これにより、定期的に複数の命令積載キューから処理すべき命令積載キューを選ぶ際、予め決められた割合で最も命令が多い命令積載キューから優先して選び、残りの割合で最も古い命令がある命令積載キューから優先して選ぶことができる。また、その割合は、単位時間当たりの命令処理数が単位時間当たりのイベント到着数と同じかまたはそれ以上になるように決めるようにすることができる。
図7は、本実施形態を適用したコンピュータのハードウェア環境の構成ブロック図の一例を示す。コンピュータ30は、本実施形態の処理を行うプログラムを読み込むことにより、命令取得部4、待ち行列処理部5、及び区分判定部6として機能する。
コンピュータ30は、出力I/F31、CPU32、ROM33、通信I/F34、入力I/F35、RAM36、記憶装置37、読み取り装置38、バス39を含む。コンピュータ30は、出力機器41、及び入力機器42と接続可能である。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス39には、出力I/F31、CPU32、ROM33、通信I/F34、入力I/F35、RAM36、記憶装置37、読み取り装置38が接続されている。読み取り装置38は、可搬型記録媒体を読み出す装置である。出力機器41は、出力I/F31に接続されている。入力機器42は、入力I/F35に接続されている。
記憶装置37としては、ハードディスクドライブ、フラッシュメモリ装置、磁気ディスク装置など様々な形式の記憶装置を使用することができる。
記憶装置37またはROM33には、例えば、本実施形態で説明した処理を実現するプログラム、データ、データ・セグメント関係テーブル24等が格納されている。記憶装置37は、低速記憶媒体27に相当する。RAM36は、たとえば、一時蓄積バッファ領域を確保したり、作業領域として使用したりすることができる。RAM36は、高速記憶媒体26に相当する。
CPU32は、記憶装置37等に格納した本実施形態で説明した処理を実現するプログラムを読み出し、図5に示すフローを実現するプログラムを実行する。また、本実施形態における図5に示すフローを実現する処理は、オペレーティングシステム(OS)上で動作するソストウェアのプロセスとして実行されてもよい。
本実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク40、および通信I/F34を介して、例えば記憶装置37に格納してもよい。また、本実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置38にセットされて、CPU32によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、IC(integrated circuit)カード、USB(Universal Serial Bus)メモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置38によって読み取られる。
また、入力機器42には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力機器41には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク40は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、専用線、有線、無線等の通信網であってよい。
なお、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 情報処理装置
2 第1記憶装置
3 第2記憶装置
4 命令受信部
5 処理部
6 判定部
10 クライアント
11 ネットワーク
20 サーバ
21 イベント処理部
23 セグメント管理部
24 データ・セグメント関係テーブル
25 キュー管理部
26 高速記憶媒体
27 低速記憶媒体

Claims (9)

  1. 連続して処理される複数のデータを含む複数のデータ群それぞれを、複数の記憶領域に格納する第1記憶装置と、
    複数の前記記憶領域にそれぞれ対応する複数の命令記憶領域を有し、前記第1記憶装置よりも高速で動作可能な第2記憶装置と、
    受信した複数のアクセス命令を、各アクセス命令の対象データの格納された前記記憶領域に対応する前記命令記憶領域に格納する命令受信部と、
    複数の前記命令記憶領域のいずれか選択し、選択された前記命令記憶領域に格納されたアクセス命令を一括して処理する処理部と、
    を備えることを特徴とする情報処理装置。
  2. 前記処理部は、前記アクセス命令の受信頻度に応じて、前記第2記憶装置が備える複数の命令記憶領域のうち最も多くのアクセス命令が格納された命令記憶領域を選択する第1の選択方法と、前記第2記憶装置が備える複数の命令記憶領域のうち最も古いアクセス命令が格納された命令記憶領域を選択する第2の選択方法とを切り替えて適用する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記処理部は、単位時間当たりの前記アクセス命令の処理数が単位時間当たりの前記アクセス命令の受信数以上になるように、前記第1の選択方法を適用する割合を決定する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記情報処理装置は、さらに、
    前記第2記憶装置が備える複数の命令記憶領域を識別する記憶領域識別情報と、該命令記憶領域に含まれるアクセス命令を識別するアクセス命令識別情報とを含む記憶領域関連情報に基づいて、前記受信した複数の前記アクセス命令の対象データの格納された前記記憶領域に対応する命令記憶領域を判定する判定部
    を備え、
    前記命令受信部は、前記判定結果に基づいて、前記受信した複数の前記アクセス命令を、前記対応する命令記憶領域に格納する
    ことを特徴とする請求項1〜3のうちいずれか1項に記載の情報処理装置。
  5. コンピュータに、
    連続して処理される複数のデータを含む複数のデータ群それぞれを、複数の記憶領域に格納する第1記憶装置に格納されたデータへの複数のアクセス命令を受信し、
    複数の前記記憶領域にそれぞれ対応する複数の命令記憶領域を有し、前記第1記憶装置よりも高速で動作可能な第2記憶装置が備える複数の前記命令記憶領域のうちの、各アクセス命令の対象データの格納された前記記憶領域に対応する命令記憶領域に、受信した複数の前記アクセス命令を格納し、
    複数の前記命令記憶領域のいずれか選択し、選択された前記命令記憶領域に格納されたアクセス命令を一括して処理する
    ことを実行させる情報処理プログラム。
  6. 前記第2記憶装置におけるいずれかの命令記憶領域の選択において、前記アクセス命令の受信頻度に応じて、前記第2記憶装置が備える複数の命令記憶領域のうち最も多くのアクセス命令が格納された命令記憶領域を選択する第1の選択方法と、前記第2記憶装置が備える複数の命令記憶領域のうち最も古いアクセス命令が格納された命令記憶領域を選択する第2の選択方法とを切り替えて適用する
    ことを特徴とする請求項5に記載の情報処理プログラム。
  7. 前記第2記憶装置におけるいずれかの命令記憶領域の選択において、単位時間当たりの前記アクセス命令の処理数が単位時間当たりの前記アクセス命令の受信数以上になるように、前記第1の選択方法を適用する割合を決定する
    ことを特徴とする請求項6に記載の情報処理プログラム。
  8. 前記コンピュータは、さらに、
    前記第2記憶装置が備える複数の命令記憶領域を識別する記憶領域識別情報と、該命令記憶領域に含まれるアクセス命令を識別するアクセス命令識別情報とを含む記憶領域関連情報に基づいて、前記受信した複数の前記アクセス命令の対象データの格納された前記記憶領域に対応する命令記憶領域を判定する
    処理を実行させ、
    前記第2記憶装置が備える複数の命令記憶領域のうちの前記対応する命令記憶領域への、前記受信した複数の前記アクセス命令の格納において、前記判定結果に基づいて、前記受信した複数の前記アクセス命令を、前記対応する前記命令記憶領域に格納する
    ことを特徴とする請求項5〜7のうちいずれか1項に記載の情報処理プログラム。
  9. コンピュータにより実行される情報処理方法であって、
    前記コンピュータは、
    連続して処理される複数のデータを含む複数のデータ群それぞれを、複数の記憶領域に格納する第1記憶装置に格納されたデータへの複数のアクセス命令を受信し、
    複数の前記記憶領域にそれぞれ対応する複数の命令記憶領域を有し、前記第1記憶装置よりも高速で動作可能な第2記憶装置が備える複数の命令記憶領域のうちの、各アクセス命令の対象データの格納された前記記憶領域に対応する命令記憶領域に、受信した複数の前記アクセス命令を格納し、
    複数の前記命令記憶領域のいずれか選択し、選択された前記命令記憶領域に格納されたアクセス命令を一括して処理する
    ことを実行する情報処理方法。
JP2012062879A 2012-03-19 2012-03-19 情報処理装置、情報処理プログラム及び情報処理方法 Expired - Fee Related JP5938968B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012062879A JP5938968B2 (ja) 2012-03-19 2012-03-19 情報処理装置、情報処理プログラム及び情報処理方法
US13/832,879 US9135325B2 (en) 2012-03-19 2013-03-15 Information processing apparatus, computer-readable recording medium, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012062879A JP5938968B2 (ja) 2012-03-19 2012-03-19 情報処理装置、情報処理プログラム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2013196389A JP2013196389A (ja) 2013-09-30
JP5938968B2 true JP5938968B2 (ja) 2016-06-22

Family

ID=49158656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012062879A Expired - Fee Related JP5938968B2 (ja) 2012-03-19 2012-03-19 情報処理装置、情報処理プログラム及び情報処理方法

Country Status (2)

Country Link
US (1) US9135325B2 (ja)
JP (1) JP5938968B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015095226A (ja) * 2013-11-14 2015-05-18 富士通株式会社 情報処理装置、データアクセス方法およびプログラム
JP6269048B2 (ja) * 2013-12-26 2018-01-31 富士通株式会社 データ配置制御プログラム、データ配置制御方法およびデータ配置制御装置
US9673994B2 (en) * 2014-01-20 2017-06-06 General Electric Company Synchrophasor data management systems and methods
JP6244972B2 (ja) * 2014-02-21 2017-12-13 富士通株式会社 ストレージ制御装置、ストレージ装置及びストレージ制御プログラム
US9542107B2 (en) 2014-06-25 2017-01-10 International Business Machines Corporation Flash copy relationship management
JP6451482B2 (ja) * 2015-05-08 2019-01-16 富士通株式会社 負荷分散方法、負荷分散プログラム、及び情報処理装置
US10289568B2 (en) * 2016-07-07 2019-05-14 Microsoft Technology Licensing, Llc Application-driven storage systems for a computing system
US11256549B2 (en) * 2019-10-16 2022-02-22 EMC IP Holding Company LLC Method and apparatus for thread scheduling

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101525A (en) * 1995-05-19 2000-08-08 Emc Corporation Method and apparatus for shared memory cleanup
JPH09258907A (ja) * 1996-03-25 1997-10-03 Mitsubishi Electric Corp 複数の記憶ディスク部を有した高可用性の外部記憶装置
US6055579A (en) * 1997-11-17 2000-04-25 Silicon Graphics, Inc. Distributed control and synchronization of multiple data processors using flexible command queues
JP2000293387A (ja) * 1999-04-05 2000-10-20 Nec Corp イベント通知システム
JP2001184302A (ja) * 1999-12-24 2001-07-06 Nec Corp バッファ制御回路
US7340489B2 (en) * 2002-04-10 2008-03-04 Emc Corporation Virtual storage devices
US20030234958A1 (en) * 2002-06-24 2003-12-25 Fritz Terry-Lee M. Printing system
JP4598387B2 (ja) * 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム
US7219201B2 (en) * 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
JP4319017B2 (ja) * 2003-12-02 2009-08-26 株式会社日立製作所 ストレージシステムの制御方法、ストレージシステム、及び記憶装置
JP3846482B2 (ja) * 2004-01-30 2006-11-15 セイコーエプソン株式会社 バンプ付ic並びにそれを用いた表示装置及び電子機器
JP4681247B2 (ja) * 2004-04-08 2011-05-11 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP4748950B2 (ja) * 2004-05-25 2011-08-17 株式会社日立製作所 記憶領域管理方法及びシステム
JP4564390B2 (ja) * 2005-03-31 2010-10-20 東芝ストレージデバイス株式会社 情報処理装置
JP4742784B2 (ja) * 2005-09-28 2011-08-10 ブラザー工業株式会社 情報分配処理プログラム、情報処理装置、および情報分配処理システム
US8171251B2 (en) * 2006-03-16 2012-05-01 Sandisk Il Ltd. Data storage management method and device
JP2007328611A (ja) * 2006-06-08 2007-12-20 Hitachi Ltd ストレージ仮想化システム及び方法
US7669030B2 (en) * 2007-07-02 2010-02-23 Computer Associates Think, Inc. System and method for finding kernel memory leaks
JP5575487B2 (ja) * 2007-12-27 2014-08-20 京セラ株式会社 携帯端末装置、課金管理部品および携帯端末の制御プログラム
US8914540B1 (en) * 2008-07-01 2014-12-16 Cisco Technology, Inc. Multi-fabric SAN based data migration
JP5308133B2 (ja) 2008-11-27 2013-10-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 測定データの転送制御装置及び方法
JP5241671B2 (ja) * 2009-10-05 2013-07-17 株式会社日立製作所 記憶装置のデータ移行制御方法
JPWO2011077489A1 (ja) * 2009-12-24 2013-05-02 株式会社日立製作所 仮想ボリュームを提供するストレージシステム
JP5379075B2 (ja) * 2010-05-26 2013-12-25 日本電信電話株式会社 データ入出力装置、データ記憶方法及びプログラム
WO2012007999A1 (en) * 2010-07-16 2012-01-19 Hitachi, Ltd. Storage control apparatus and storage system comprising multiple storage control apparatuses
US9235353B2 (en) * 2012-10-12 2016-01-12 Hitachi, Ltd. Storage apparatus and management method including determination of migration of data from one storage area to another based on access frequency

Also Published As

Publication number Publication date
US9135325B2 (en) 2015-09-15
US20130246427A1 (en) 2013-09-19
JP2013196389A (ja) 2013-09-30

Similar Documents

Publication Publication Date Title
JP5938968B2 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
US11829804B2 (en) Assigning jobs to heterogeneous processing modules
JP5218390B2 (ja) 自律制御サーバ、仮想サーバの制御方法及びプログラム
JP6191691B2 (ja) 異常検出装置、制御方法、及びプログラム
US20100211694A1 (en) Routing users to receive online services based on online behavior
US20100125847A1 (en) Job managing device, job managing method and job managing program
WO2019192263A1 (zh) 一种任务的分配方法、装置及设备
KR20110080735A (ko) 컴퓨팅 시스템 및 방법
CN109005130B (zh) 网络资源配置调度方法和装置
JP6519111B2 (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
Wierman et al. Scheduling despite inexact job-size information
JP2003005920A (ja) ストレージシステム、データ再配置方法及びデータ再配置プログラム
CN102541467A (zh) 一种对象数据服务器读写请求的调度方法
US9817583B2 (en) Storage system and method for allocating virtual volumes based on access frequency
Li et al. A network-aware scheduler in data-parallel clusters for high performance
CN109766056A (zh) 一种存储阵列控制器io队列调度方法与装置
CN111625367B (zh) 一种动态调整文件系统读写资源的方法
JP5793259B1 (ja) 情報処理装置、流量制御パラメータ算出方法、およびプログラム
Liu et al. Computing load aware and long-view load balancing for cluster storage systems
Liu et al. Towards long-view computing load balancing in cluster storage systems
JP4594877B2 (ja) 計算機リソース割当管理方法および計算機リソース割当管理装置
CN108509148A (zh) 一种i/o请求处理方法以及装置
JP6285850B2 (ja) プロセスマイグレーション方法及びクラスタシステム
JP4322094B2 (ja) 情報処理方法、サービス時間導出方法、及び処理ユニット数調整方法
US20110125726A1 (en) Smart algorithm for reading from crawl queue

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160502

R150 Certificate of patent or registration of utility model

Ref document number: 5938968

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees