JP7165649B2 - コンピューティングデバイスにおける、外部で管理される入出力のスタベーションの回避 - Google Patents
コンピューティングデバイスにおける、外部で管理される入出力のスタベーションの回避 Download PDFInfo
- Publication number
- JP7165649B2 JP7165649B2 JP2019507762A JP2019507762A JP7165649B2 JP 7165649 B2 JP7165649 B2 JP 7165649B2 JP 2019507762 A JP2019507762 A JP 2019507762A JP 2019507762 A JP2019507762 A JP 2019507762A JP 7165649 B2 JP7165649 B2 JP 7165649B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- requests
- storage
- storage device
- queue
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本願は、2016年8月17日に出願され、「EXTERNALLY MANAGED I/O STARVATION AVOIDANCE IN A COMPUTING DEVICE(コンピューティングデバイスにおける、外部で管理される入出力のスタベーションの回避)」と題された米国通常出願第15/239,396号に基づく優先権の利益を主張し、そのすべての記載内容を、あらゆる目的のために引用により本明細書に援用する。
本発明の態様は、コンピューティングシステムに関し、より具体的には、本発明の態様は、ストレージデバイスに提供された入力/出力(入出力)要求のいずれもかなりの時間待ち状態にならないよう、入出力要求を監視および制御するためのシステムおよび/または方法に関係する。
絶え間ないインターネットの拡大、企業コンピューティンネットワークおよびシステムの拡大および高度化、インターネット上で格納され、かつアクセス可能なコンテンツの急増、および数多くのその他の要因によって、大規模の高度なデータ記憶システムが必要な状態が続いている。その結果、データストレージの需要が増加し続けて、より大規模かつより高度な記憶システムが設計および開発されている。多くの大規模データ記憶システムは、記憶媒体のアレイを備えたストレージアプライアンスを利用している。通常、これらの記憶システムは、ファイルを格納するおよびファイルにアクセスするためのファイルシステムを備える。システムファイル(たとえば、オペレーティングシステムファイル、デバイスドライバファイルなど)を格納することに加えて、ファイルシステムは、ユーザデータファイルのストレージとアクセスとを提供する。ユーザがファイルにアクセスするために、このファイルに関連付けられたデータブロックを、記憶システムに関連付けられた複数のストレージデバイスから取り出すための1つ以上の入力/出力(入出力)要求が生成される。
本開示の一実装形態は、ストレージプールを管理するための方法という形をとってもよい。この方法は、ストレージデバイスに向けられた1つ以上の入力/出力(入出力)要求を含んだキューを保持する動作を含み、キューの入出力要求の各々は、入出力要求がストレージ管理システムで受信された順を示す順序値を含み、方法は、さらに、キューに含まれる第1の入出力要求に関連付けられた第1の順序値とキューに含まれる第2の入出力要求に関連付けられた第2の順序値との差を算出する動作を含む。これに加えて、方法は、算出された第1の順序値と第2の順序値との差を閾値と比較する動作と、算出された第1の順序値と第2の順序値との差が閾値以下である場合、1つ以上の入出力要求を含んだキューから少なくとも1つの入出力要求をストレージデバイスに送信する動作とを含んでもよい。
本開示の実装形態は、記憶システムを管理するためのシステムおよび/または方法、より具体的には、入出力要求を処理する際の大きな遅延を回避するためにストレージデバイスに対する入力/出力(入出力)要求を外部で管理するためのシステムおよび/または方法に関係する。一実施形態では、システムおよび方法は、管理ソフトウェア、デバイス、または、複数のストレージデバイスを有する大型記憶システムであってもよい。管理方法は、システムに関連付けられたストレージデバイスのうちの1つ以上に対する入出力要求キューを保持してもよい。各キューは、入出力要求がストレージデバイスに提供された順に対応する値を含んでもよく、入出力要求は、順序値によってキュー内に配置されてもよい。たとえば、キューの先頭は、最小順序値を有する、ストレージデバイスに対する入出力要求を含んでもよく、キューの末尾は、最高順序値を有する入出力要求を含んでもよい。さらには、記憶システム管理方法は、ストレージデバイスに対する同時の入出力要求についての閾値に基づいて、キューに入力される入出力要求の数を制限してもよい。ストレージデバイスによって入出力要求が処理または完了されると、関連するキューに含まれる関連する入出力要求がキューから削除されてもよい。
Claims (11)
- ストレージプールを管理するための方法であって、
記憶媒体を有するストレージデバイスに向けられた1つ以上の入力/出力(入出力)要求を含んだキューを保持するステップを含み、各入出力要求は、前記記憶媒体の記憶位置についてデータを格納または取得する要求を含み、各入出力要求は、その入出力要求がストレージ管理システムで受信された順を示す順序値を含み、前記方法は、さらに、
前記キューに含まれる第1の入出力要求に関連付けられた第1の順序値と前記キューに含まれる第2の入出力要求に関連付けられた第2の順序値との差を算出するステップと、
前記第1の順序値と前記第2の順序値との算出された前記差を閾値と比較するステップと、
前記1つ以上の入出力要求を含んだキューから少なくとも1つの入出力要求を前記ストレージデバイスに送信するステップと、
前記第1の順序値と前記第2の順序値との算出された前記差が前記閾値以下である場合、前記送信するステップにおける前記送信を実施し、前記第1の順序値と前記第2の順序値との算出された前記差が前記閾値を超える場合、前記送信するステップにおける前記送信を止めるステップと、
前記ストレージデバイスが前記入出力要求の処理を完了したとき、当該入出力要求を前記1つ以上の入出力要求を含んだキューから削除するステップと、を含み、
前記差を算出するステップは、
前記入出力要求が前記削除するステップにおいて削除された場合、前記キューに含まれる第1の入出力要求に関連付けられた第1の順序値と前記キューに含まれる第2の入出力要求に関連付けられた第2の順序値との差を算出するステップを含み、
前記キューから前記少なくとも1つの入出力要求を送信するステップは、前記ストレージデバイスが前記入出力要求の処理を完了し、前記記憶媒体において前記少なくとも1つの入出力要求を処理するための容量を前記ストレージデバイスが有すると判断したときに、当該少なくとも1つの入出力要求を送信する、方法。 - 前記キューに含まれる前記第1の入出力要求は、前記キューの先頭に位置し、前記第2の入出力要求は、前記キューの末尾に位置する、請求項1に記載の方法。
- 前記ストレージデバイスに対する新しい入出力要求を受信するステップと、
前記ストレージデバイスに対する新しい入出力要求に新しい順序値を関連付けるステップと、
前記新しい入出力要求と前記新しい順序値とを前記キューの末尾に追加するステップとをさらに含む、請求項1または2に記載の方法。 - 前記ストレージデバイスから完了指示を受信するステップと、
前記キューから対応する入出力要求を削除するステップとをさらに含む、請求項1から3のいずれか1項に記載の方法。 - 前記ストレージデバイスは、前記ストレージ管理システムと通信しているストレージデバイスを含んだプールの一部である、請求項1から4のいずれか1項に記載の方法。
- 前記ストレージデバイスを含んだプールに含まれる第2のストレージデバイスに向けられた1つ以上の入力/出力(入出力)要求を含む第2キューを保持するステップをさらに含み、前記第2キューが含む前記入出力要求の各々は、前記第2のストレージデバイスに対する前記入出力要求が前記ストレージ管理システムで受信された順を示す順序値を含む、請求項5に記載の方法。
- 前記閾値は、少なくとも、前記ストレージデバイスが同時に処理する入出力要求の数に基づく、請求項1から6のいずれか1項に記載の方法。
- 前記閾値は、前記入出力要求の数に係数を乗算したものに等しい、請求項7に記載の方法。
- 前記ストレージ管理システムは、大規模ストレージアプライアンス用のファイルシステムを含む、請求項1から8のいずれか1項に記載の方法。
- マシン上のコンピュータに請求項1から9のいずれか1項に記載の方法を実行させるためのコンピュータによって実行可能な命令を有したコンピュータ読み取り可能なプログラム。
- 請求項10に記載のプログラムを格納したメモリと、
前記メモリに接続され、前記プログラムを実行するためのプロセッサとを備える、システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/239,396 | 2016-08-17 | ||
US15/239,396 US10241685B2 (en) | 2016-08-17 | 2016-08-17 | Externally managed I/O starvation avoidance in a computing device |
PCT/US2017/036282 WO2018034720A1 (en) | 2016-08-17 | 2017-06-07 | Externally managed i/o starvation avoidance in a computing device |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019525349A JP2019525349A (ja) | 2019-09-05 |
JP2019525349A5 JP2019525349A5 (ja) | 2020-07-16 |
JP7165649B2 true JP7165649B2 (ja) | 2022-11-04 |
Family
ID=59067922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019507762A Active JP7165649B2 (ja) | 2016-08-17 | 2017-06-07 | コンピューティングデバイスにおける、外部で管理される入出力のスタベーションの回避 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10241685B2 (ja) |
EP (1) | EP3500920B1 (ja) |
JP (1) | JP7165649B2 (ja) |
CN (1) | CN109478126B (ja) |
WO (1) | WO2018034720A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10241685B2 (en) | 2016-08-17 | 2019-03-26 | Oracle International Corporation | Externally managed I/O starvation avoidance in a computing device |
US11176273B2 (en) * | 2019-05-03 | 2021-11-16 | International Business Machines Corporation | Privacy-preserving anomalous behavior detection |
US20210314653A1 (en) * | 2020-04-02 | 2021-10-07 | Rovi Guides, Inc. | Systems and methods for delayed pausing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100312883A1 (en) | 2009-06-05 | 2010-12-09 | International Business Machines Corporation | Processing Request Management |
JP2011520165A (ja) | 2008-03-31 | 2011-07-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 優先度を用いて入出力要求をキューに入れるか否かを決定するための方法、システム、および製造品(優先度を用いて、記憶装置に送出された入出力(i/o)要求をキューに入れるか否かを決定すること) |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5530897A (en) * | 1993-10-01 | 1996-06-25 | International Business Machines Corporation | System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices |
US5701473A (en) * | 1995-03-17 | 1997-12-23 | Unisys Corporation | System for optimally storing a data file for enhanced query processing |
US6292856B1 (en) * | 1999-01-29 | 2001-09-18 | International Business Machines Corporation | System and method for application influence of I/O service order post I/O request |
US6735637B2 (en) * | 2001-06-28 | 2004-05-11 | Hewlett-Packard Development Company, L.P. | Method and system for providing advanced warning to a data stage device in order to decrease the time for a mirror split operation without starving host I/O request processsing |
US6996672B2 (en) * | 2002-03-26 | 2006-02-07 | Hewlett-Packard Development, L.P. | System and method for active-active data replication |
US6934826B2 (en) * | 2002-03-26 | 2005-08-23 | Hewlett-Packard Development Company, L.P. | System and method for dynamically allocating memory and managing memory allocated to logging in a storage area network |
US6839817B2 (en) * | 2002-04-24 | 2005-01-04 | International Business Machines Corporation | Priority management of a disk array |
US7047322B1 (en) * | 2003-09-30 | 2006-05-16 | Unisys Corporation | System and method for performing conflict resolution and flow control in a multiprocessor system |
US20060064529A1 (en) * | 2004-09-23 | 2006-03-23 | International Business Machines Corporation | Method and system for controlling peripheral adapter interrupt frequency by transferring processor load information to the peripheral adapter |
US9383938B2 (en) * | 2006-04-18 | 2016-07-05 | International Business Machines Corporation | Method, system, and apparatus for re-conveying input/output operations utilizing a sequential-access data storage device secondary communication port |
US7757013B1 (en) * | 2006-10-20 | 2010-07-13 | Emc Corporation | Techniques for controlling data storage system performance |
US7739470B1 (en) * | 2006-10-20 | 2010-06-15 | Emc Corporation | Limit algorithm using queue depth to control application performance |
US7716117B2 (en) * | 2006-11-10 | 2010-05-11 | Board Of Trade Of The City Of Chicago | System and method for making positions held by a trader fungible |
US7849167B2 (en) * | 2008-04-15 | 2010-12-07 | International Business Machines Corporation | Dynamic distributed adjustment of maximum use of a shared storage resource |
US8095728B2 (en) * | 2008-04-18 | 2012-01-10 | Oracle America, Inc. | Method and system for power aware I/O scheduling |
US8464276B1 (en) * | 2010-01-11 | 2013-06-11 | Sprint Communications Company L.P. | Channel monitoring in a messaging-middleware environment |
WO2012009378A1 (en) * | 2010-07-16 | 2012-01-19 | Marvell World Trade Ltd. | Customized of a bus adapter card |
US20120278513A1 (en) * | 2011-02-01 | 2012-11-01 | Michel Prevost | Priority scheduling for multi-channel context aware communication technology |
US8838931B1 (en) * | 2012-03-30 | 2014-09-16 | Emc Corporation | Techniques for automated discovery and performing storage optimizations on a component external to a data storage system |
CN103917962A (zh) * | 2011-11-18 | 2014-07-09 | 国际商业机器公司 | 读取存储在存储***上的文件 |
US9231879B1 (en) * | 2012-02-20 | 2016-01-05 | F5 Networks, Inc. | Methods for policy-based network traffic queue management and devices thereof |
US9311005B2 (en) * | 2012-10-04 | 2016-04-12 | International Business Machines Corporation | Method to prevent I/O starvation of slower hosts in a multi-host environment |
US9110809B2 (en) * | 2013-07-03 | 2015-08-18 | Nvidia Corporation | Reducing memory traffic in DRAM ECC mode |
US20160063021A1 (en) * | 2014-08-28 | 2016-03-03 | Futurewei Technologies, Inc. | Metadata Index Search in a File System |
US9588913B2 (en) * | 2015-06-29 | 2017-03-07 | International Business Machines Corporation | Management of allocation for alias devices |
US9934172B1 (en) * | 2015-12-17 | 2018-04-03 | EMC IP Holding Company LLC | Data storage system with dynamic throttling of parallel sub-I/O request for individual host I/O requests |
US10241685B2 (en) | 2016-08-17 | 2019-03-26 | Oracle International Corporation | Externally managed I/O starvation avoidance in a computing device |
-
2016
- 2016-08-17 US US15/239,396 patent/US10241685B2/en active Active
-
2017
- 2017-06-07 EP EP17730640.4A patent/EP3500920B1/en active Active
- 2017-06-07 CN CN201780043892.5A patent/CN109478126B/zh active Active
- 2017-06-07 WO PCT/US2017/036282 patent/WO2018034720A1/en unknown
- 2017-06-07 JP JP2019507762A patent/JP7165649B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011520165A (ja) | 2008-03-31 | 2011-07-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 優先度を用いて入出力要求をキューに入れるか否かを決定するための方法、システム、および製造品(優先度を用いて、記憶装置に送出された入出力(i/o)要求をキューに入れるか否かを決定すること) |
US20100312883A1 (en) | 2009-06-05 | 2010-12-09 | International Business Machines Corporation | Processing Request Management |
Also Published As
Publication number | Publication date |
---|---|
EP3500920B1 (en) | 2023-05-03 |
US10241685B2 (en) | 2019-03-26 |
WO2018034720A1 (en) | 2018-02-22 |
CN109478126A (zh) | 2019-03-15 |
CN109478126B (zh) | 2023-03-17 |
EP3500920A1 (en) | 2019-06-26 |
JP2019525349A (ja) | 2019-09-05 |
US20180052612A1 (en) | 2018-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10382380B1 (en) | Workload management service for first-in first-out queues for network-accessible queuing and messaging services | |
US9292620B1 (en) | Retrieving data from multiple locations in storage systems | |
US20180081591A1 (en) | Storage system with read cache-on-write buffer | |
US11411885B2 (en) | Network-accessible data volume modification | |
US9424314B2 (en) | Method and apparatus for joining read requests | |
US10037298B2 (en) | Network-accessible data volume modification | |
US20140115252A1 (en) | Block storage-based data processing methods, apparatus, and systems | |
US11055028B1 (en) | Storage system with reduced read latency | |
US20160085473A1 (en) | Asynchronous Processing of Mapping Information | |
JP7165649B2 (ja) | コンピューティングデバイスにおける、外部で管理される入出力のスタベーションの回避 | |
US11914894B2 (en) | Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system | |
US9514072B1 (en) | Management of allocation for alias devices | |
US10592165B1 (en) | Method, apparatus and computer program product for queueing I/O requests on mapped RAID | |
US10298709B1 (en) | Performance of Hadoop distributed file system operations in a non-native operating system | |
US10725971B2 (en) | Consistent hashing configurations supporting multi-site replication | |
US10498804B1 (en) | Load balancing Hadoop distributed file system operations in a non-native operating system | |
EP3479236B1 (en) | Network-accessible data volume modification | |
US20160266806A1 (en) | Optimization of the copying of change recorded data by using spare flash capacity | |
US10241920B2 (en) | Systems and methods for coordinating interdependent asynchronous reads | |
US11126371B2 (en) | Caching file data within a clustered computing system | |
US12045484B2 (en) | Data placement selection among storage devices associated with storage nodes of a storage system | |
US11971902B1 (en) | Data retrieval latency management system | |
US11789825B2 (en) | Hashing information of an input/output (I/O) request against a plurality of gateway nodes | |
CN113973112A (zh) | 用于使用数据访问网关和基于元数据映射的投标优化对数据集群的数据节点的访问的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200605 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200605 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220510 |
|
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: 20220927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221024 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7165649 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |