JP4951326B2 - I/o要求の処理順序を最適化するためのコンピュータプログラム - Google Patents
I/o要求の処理順序を最適化するためのコンピュータプログラム Download PDFInfo
- Publication number
- JP4951326B2 JP4951326B2 JP2006333932A JP2006333932A JP4951326B2 JP 4951326 B2 JP4951326 B2 JP 4951326B2 JP 2006333932 A JP2006333932 A JP 2006333932A JP 2006333932 A JP2006333932 A JP 2006333932A JP 4951326 B2 JP4951326 B2 JP 4951326B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- requests
- queue
- order
- performance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
(ステップ1)アプリケーションプロセスがprepare文(SQL)を発行する。
(ステップ2)DBMS107がアプリケーションプロセスからの該SQLを解釈して、対象I/O要求に変換した後、待ち受けキュー105に一旦蓄積する。
(ステップ3)アプリケーションプロセスがcommit文(SQL)を発行する。
(ステップ4)待ち受けキュー105に蓄積された対象I/O要求のcommitフラグを有効にする。
(ステップ5)待ち受けキュー105の前方にあるI/O要求のなかで、commitフラグが有効になっているものがDBMSプロセスによって取り出される都度、それより後方に蓄積されている対象I/O要求の順番が一つ繰り上がる。このような処理が繰り返されることで、commitフラグが有効になっている対象I/O要求が取り出される可能性が高まり、やがて、DBMSプロセスによって、対象I/O要求が待ち受けキュー105から取り出される。DBMSプロセスが、対象I/O要求に含まれている情報とブロック索引1073とを用いて、I/O先のブロック1074(以下、対象ブロック1074)を特定し、対象ブロック1074に対応するミューテックス1072の取得を試みる。取得できなければ、待ちとなる。また、対象ブロック1074が複数個ある場合には、それら複数の対象ブロック1074にそれぞれ対応した複数のミューテックス1072を全て取得できるまで、待ちとなる。
(ステップ6)ミューテックス1072を取得できたならば、DBMSプロセスが、ストレージ108内の、対象ブロック1074に対応した物理的な記憶領域を有する二次記憶装置に対し、該物理的な記憶領域を指定したI/Oコマンドを送信する。該I/Oコマンドに対して所定のコマンド応答(例えばI/O成功)を受信した場合、DBMSプロセスは、ミューテックス1072を解放し、対象I/O要求に対する所定の要求応答(例えば成功)を、アプリケーションプロセスに通知する。
(ステップ7)アプリケーションプロセスが、成功を受信する。
・ブロックB1:I/O要求R3〜R7と5つ連続でI/Oが発生しているので、
遅れる確率:PB1=1−(1−0.05)5= 0.2262190625
・ブロックB5:最終のI/O要求R7でI/Oが発生するが、前のI/O要求R6ではブロックB5についてI/Oが発生しないので、
遅れる確率:PB5=0.05
・ブロックB7:最終のI/O要求R7でI/Oが発生するが、前のI/O要求R6ではブロックB7についてI/Oが発生しないので、
遅れる確率:PB7=0.05
他のブロックに関しては、最終I/O要求(R7)が送出されるタイミングでは新たなI/Oが発生しない。それ以前の遅れは、R7のタイムスロットで吸収される。
P≒PB1+PB5+PB7=0.226 + 0.05 + 0.05 = 0.326
となる。
・ブロックB6:最終のI/O要求R2でI/Oが発生するが、前のI/O要求R7ではブロックB6についてI/Oが発生しないので、
PB6=0.05
・ブロックB2:最終のI/O要求R2でI/Oが発生するが、前のI/O要求R7ではブロックB2についてI/Oが発生しないので、
PB2=0.05
それぞれの遅れは独立に発生すると考えてよい。そのため、B6及びB2の両方で同時に遅れが発生する確率は、それぞれの確率の積となるが、それらは無視できるほど小さな値になる。故に、最終のI/O要求R2で遅れが生じる確率Pは、
P≒PB6+PB2=0.05 + 0.05=0.1
となる。
Claims (6)
- I/O要求発行元からI/O要求を受信して一旦キューに蓄積し該キューから出力されたI/O要求について所定の処理が完了した場合に該I/O要求に対する応答である要求応答を前記I/O要求発行元に返すI/O制御システムに適用可能な、I/O要求の処理順序の最適化をコンピュータに実行させるためのコンピュータプログラムであって、
前記キューにどんな順序でどれだけの数のI/O要求が並んでいて各I/O要求のI/O先はどの記憶領域であるかのチェックを行うキュー状況チェックステップと、
前記チェックの結果を基に、それぞれが複数のレコードを記憶している複数の物理記憶領域にそれぞれ対応した複数のブロックのうちの、前記キュー内に並んでいる複数のI/O要求でI/O先とされる二以上のブロックの各々について、I/O先とされるI/O要求の数であるI/O数を算出し、I/O数が多いブロックをI/O先とするI/O要求ほど早い順番とするよう前記キュー内での複数のI/O要求の順序を並び替える順序並び替えステップと
をコンピュータに実行させるコンピュータプログラム。 - 前記所定の処理とは、前記キューから出力されたI/O要求でのI/O先とされるブロックに対応した物理記憶領域を有する記憶装置にI/Oコマンドを発行し、該I/Oコマンドに対する応答であるコマンド応答を該対応した記憶装置から受信することであり、
前記I/O制御システムが発行する各I/Oコマンドについて、前記I/O制御システムがI/Oコマンドを記憶装置に発行してからそれのコマンド応答を該記憶装置から受信するまでの時間長であるI/O性能を取得し、取得したI/O性能を記憶手段に蓄積するI/O性能蓄積ステップ、
を更にコンピュータに実行させる請求項1記載のコンピュータプログラム。 - 前記記憶手段に記憶されている複数のI/O性能を基に、各記憶装置毎にI/O性能の統計を取得し、同種の記憶装置間でI/O性能の差が所定値以上に大きいか否かを判別し、大きい場合には、前記同種の記憶装置のうちのI/O性能の低い方の記憶装置で最適化処理を実行する記憶装置最適化ステップ、
を更にコンピュータに実行させる請求項2記載のコンピュータプログラム。 - 前記順序並び替えステップでは、前記記憶手段に蓄積されている複数のI/O性能と、前記キュー内で並んでいる前記複数のI/O要求でI/O先とされる前記二以上のブロックとに基づき、該二以上のブロックの各々のI/O性能を求め、前記取得されたI/O数に加えて、前記二以上のブロックの各々についてのI/O性能を基に、前記二以上のブロックの各々の優先順位を決定し、優先順位の高いブロックをI/O先とするI/O要求ほど早い順番になるよう前記複数のI/O要求の順序を並び替える、
請求項2記載のコンピュータプログラム。 - 前記順序並び替えステップでは、更に、前記チェックの結果から、前記キューに並んでいる複数のI/O要求のうち、I/O先となるブロックが互いに重複する確率が所定値以下の二以上のI/O要求を特定し、特定した二以上のI/O要求を、それら二以上のI/O要求で指定されている二以上のブロックをI/O先とする一つのI/O要求に合成する、
請求項1記載のコンピュータプログラム。 - I/O要求発行元からI/O要求を受信して一旦キューに蓄積し該キューから出力されたI/O要求について所定の処理が完了した場合に該I/O要求に対する応答である要求応答を前記I/O要求発行元に返すI/O制御システムであって、
前記キューにどんな順序でどれだけの数のI/O要求が並んでいて各I/O要求のI/O先はどの記憶領域であるかのチェックを行うキュー状況チェック部と、
前記チェックの結果を基に、それぞれが複数のレコードを記憶している複数の物理記憶領域にそれぞれ対応した複数のブロックのうちの、前記キュー内に並んでいる複数のI/O要求でI/O先とされる二以上のブロックの各々について、I/O先とされるI/O要求の数であるI/O数を算出し、I/O数が多いブロックをI/O先とするI/O要求ほど早い順番とするよう前記キュー内での複数のI/O要求の順序を並び替える順序並び替え部と
を備えるI/O制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006333932A JP4951326B2 (ja) | 2006-12-12 | 2006-12-12 | I/o要求の処理順序を最適化するためのコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006333932A JP4951326B2 (ja) | 2006-12-12 | 2006-12-12 | I/o要求の処理順序を最適化するためのコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008146420A JP2008146420A (ja) | 2008-06-26 |
JP4951326B2 true JP4951326B2 (ja) | 2012-06-13 |
Family
ID=39606521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006333932A Expired - Fee Related JP4951326B2 (ja) | 2006-12-12 | 2006-12-12 | I/o要求の処理順序を最適化するためのコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4951326B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8566281B2 (en) * | 2008-12-18 | 2013-10-22 | Lsi Corporation | Method for implementing multi-array consistency groups using a write queuing mechanism |
US10095442B2 (en) | 2015-08-04 | 2018-10-09 | Toshiba Memory Corporation | Memory device that changes execution order of commands |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000048549A (ja) * | 1998-08-03 | 2000-02-18 | Fujitsu Ltd | テープ装置 |
JP2001222380A (ja) * | 2000-02-07 | 2001-08-17 | Hitachi Ltd | 外部記憶装置とそれを備えた情報処理システム |
-
2006
- 2006-12-12 JP JP2006333932A patent/JP4951326B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008146420A (ja) | 2008-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4611830B2 (ja) | データベース管理システム及び方法 | |
US6085200A (en) | System and method for arranging database restoration data for efficient data recovery in transaction processing systems | |
JP5765416B2 (ja) | 分散ストレージシステムおよび方法 | |
CN112534396A (zh) | 数据库系统中的日记表 | |
US20090125678A1 (en) | Method for reading data with storage system, data managing system for storage system and storage system | |
JP2001067187A (ja) | ストレージサブシステム及びその制御方法 | |
US11321302B2 (en) | Computer system and database management method | |
US7769732B2 (en) | Apparatus and method for streamlining index updates in a shared-nothing architecture | |
JP2781092B2 (ja) | システム間排他制御方式 | |
JP6272556B2 (ja) | 共有リソース更新装置及び共有リソース更新方法 | |
JP4951326B2 (ja) | I/o要求の処理順序を最適化するためのコンピュータプログラム | |
US7908434B2 (en) | Raid apparatus, cache management method, and computer program product | |
US20060206543A1 (en) | Database reorganization program and method | |
US8332595B2 (en) | Techniques for improving parallel scan operations | |
CN114556320A (zh) | 切换到最终一致的数据库副本 | |
US8290935B1 (en) | Method and system for optimizing database system queries | |
CN107924399B (zh) | 处理对主机而言数据传输量不明的检索请求的检索处理系统和方法 | |
US7949632B2 (en) | Database-rearranging program, database-rearranging method, and database-rearranging apparatus | |
JP2010152435A (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP2007206913A (ja) | データベースアクセスシステム、アプリケーションサーバノード、データベースアクセス方法及びプログラム | |
JP2010224672A (ja) | データ処理方法、システム、およびプログラム | |
JP5674850B2 (ja) | データベース管理システム及び方法 | |
JP5283675B2 (ja) | データベース管理システム及び方法 | |
CN114168306B (zh) | 调度方法及调度装置 | |
CN113051274B (zh) | 一种海量标签存储系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090907 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120125 |
|
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: 20120306 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120312 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150316 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |