JP7174764B2 - リソーススケジューリング方法、機器、システム、ならびにセンタサーバ - Google Patents

リソーススケジューリング方法、機器、システム、ならびにセンタサーバ Download PDF

Info

Publication number
JP7174764B2
JP7174764B2 JP2020539089A JP2020539089A JP7174764B2 JP 7174764 B2 JP7174764 B2 JP 7174764B2 JP 2020539089 A JP2020539089 A JP 2020539089A JP 2020539089 A JP2020539089 A JP 2020539089A JP 7174764 B2 JP7174764 B2 JP 7174764B2
Authority
JP
Japan
Prior art keywords
request
interval
tag
tag value
resource scheduling
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
JP2020539089A
Other languages
English (en)
Other versions
JP2021518002A (ja
Inventor
ジエンリアン イー
ウェイ ジャオ
シェンゲン イエン
Original Assignee
シャンハイ センスタイム インテリジェント テクノロジー カンパニー リミテッド
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 シャンハイ センスタイム インテリジェント テクノロジー カンパニー リミテッド filed Critical シャンハイ センスタイム インテリジェント テクノロジー カンパニー リミテッド
Publication of JP2021518002A publication Critical patent/JP2021518002A/ja
Application granted granted Critical
Publication of JP7174764B2 publication Critical patent/JP7174764B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5013Request control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

(関連出願の相互参照)
本開示は、出願番号201910172678.0、出願日2019年3月7日の中国特許出願に基づくものであり、その優先権を主張し、その開示の全てが参照によって本開示に組み込まれる。
本開示は、リソース制御技術に関し、特にリソーススケジューリング方法、機器、システム、ならびにセンタサーバに関する。
人工知能(AI:Artificial Intelligence)深層学習モデルのトレーニングは、複数ノード、複数ユーザから記憶リソースへの並行アクセスを伴うことがあり、モデルトレーニングの速度を保証するには、グラフィクスプロセッサ(GPU:Graphics Processing Unit)のチップ性能に加えて、入出力(I/O:Input/Output)性能も非常に重要な役割を果たしている。一方、実際の使用中に、リソース割り当てが極端に不均等であることがあり、例えば、一部のユーザがI/Oリソースの大半を占め、結果として、他のユーザのトレーニング速度が極端に低下したり、トレーニングできなくなったり、極端な場合、記憶システムがダウンしてしまうことがある。
本開示の実施例は、リソーススケジューリング技術を提供する。
本開示の実施例の第1の態様によれば、クライアントから送信される第1のI/O要求を受信するステップと、センタサーバから取得される第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当てるステップと、前記第1のI/O要求の要求番号に基づいて、前記第1のI/O要求のタグ値を決定するステップと、前記第1のI/O要求のタグ値に基づいて、前記第1のI/O要求をスケジューリングするステップと、を含むリソーススケジューリング方法を提供する。
任意選択的に、本開示の上記いずれかの方法の実施例では、センタサーバから取得される第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当てる前記ステップは、前記第1の番号区間に未割り当ての空き番号が存在するか否かを判断するステップと、前記第1の番号区間に少なくとも1つの空き番号が存在することに応答して、前記少なくとも1つの空き番号のうち、最小番号を前記第1のI/O要求の要求番号とするステップと、を含む。
任意選択的に、本開示の上記いずれかの方法の実施例では、センタサーバから取得される第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当てる前記ステップは、前記第1の番号区間に空き番号が存在しないことに応答して、新たな番号区間を要求するための番号要求を前記センタサーバに送信するステップと、前記センタサーバが前記番号要求に基づいて送信する、前記第1の番号区間と少なくとも1つの番号区間を隔てた第2の番号区間を受信するステップと、を含む。
任意選択的に、本開示の上記いずれかの方法の実施例では、センタサーバから取得される第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当てる前記ステップはさらに、前記第1の番号区間に空き番号が存在しないことに応答して、前記第1の番号区間における最大番号に基づいて前記第1のI/O要求の要求番号を決定するステップ、を含む。
任意選択的に、本開示の上記いずれかの方法の実施例では、前記第1のI/O要求の要求番号に基づいて、前記第1のI/O要求のタグ値を決定する前記ステップは、前記第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値に基づいて、前記第1のI/O要求のタグ値を決定するステップであって、前記第2のI/O要求は、前記第1のI/O要求に対応するクライアントが前回送信したI/O要求であるステップ、を含む。
任意選択的に、本開示の上記いずれかの方法の実施例では、前記第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値に基づいて、前記第1のI/O要求のタグ値を決定する前記ステップは、前記第1のI/O要求の要求番号と前記第2のI/O要求の要求番号との間の差値、前記第2のI/O要求のタグ値、および現時刻に基づいて、前記第1のI/O要求のタグ値を決定するステップ、を含む。
任意選択的に、本開示の上記いずれかの方法の実施例では、前記第1のI/O要求のタグ値は、リザーブタグ値、閾値タグ値、および重みタグ値の少なくとも1種を含む。
任意選択的に、本開示の上記いずれかの方法の実施例では、前記第1のI/O要求のタグ値に基づいて、前記第1のI/O要求をスケジューリングする前記ステップは、前記第1のI/O要求のタグ値に基づいて、I/O要求キュー内の前記第1のI/O要求の順位を決定するステップと、I/O要求キュー内の前記第1のI/O要求の順位に基づいて、前記第1のI/O要求をスケジューリングするステップと、を含む。
本開示の実施例の第2の態様によれば、サーバに適用され、第1のリソーススケジューリング機器から送信される、クライアントの番号区間を要求するための第1の番号要求を受信するステップと、第2の番号要求に割り当てられた第3の番号区間に基づいて、前記第3の番号区間の後にある第1の番号区間を前記第1のリソーススケジューリング機器に供与するステップであって、前記第2の番号要求は、前記サーバが前回受信した、第2のリソーススケジューリング機器から送信される前記クライアントの番号要求であるステップと、を含むリソーススケジューリング方法を提供する。
本開示の実施例の第3の態様によれば、クライアントから送信される第1のI/O要求を受信するように構成される要求受信ユニットと、センタサーバから取得される第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当てるように構成される番号区間取得ユニットと、前記第1のI/O要求の要求番号に基づいて、前記第1のI/O要求のタグ値を決定するように構成されるタグ値決定ユニットと、前記第1のI/O要求のタグ値に基づいて、前記第1のI/O要求をスケジューリングするように構成されるリソーススケジューリングユニットと、を含むリソーススケジューリング機器を提供する。
本開示の実施例の第4の態様によれば、第1のリソーススケジューリング機器から送信される、クライアントの番号区間を要求するための第1の番号要求を受信するように構成される要求受信ユニットと、第2の番号要求に割り当てられた第3の番号区間に基づいて、前記第3の番号区間の後にある第1の番号区間を前記第1のリソーススケジューリング機器に供与するステップであって、前記第2の番号要求は、前記サーバが前回受信した、第2のリソーススケジューリング機器から送信される前記クライアントの番号要求であるステップを実行するように構成される番号区間供与ユニットと、を含むサーバを提供する。
本開示の実施例の第5の態様によれば、クライアントの番号区間を要求するための第1の番号要求を前記センタサーバに送信するように構成される複数のリソーススケジューリング機器と、前記第1の番号要求および前回、前記クライアントに送信した第3の番号区間に基づいて、前記第3の番号区間の後にある第1の番号区間を前記リソーススケジューリング機器に供与するように構成される複数のセンタサーバと、を含むリソーススケジューリングシステムを提供する。
本開示の実施例の第6の態様によれば、実行可能コマンドを記憶するためのメモリと、前記メモリと通信して前記実行可能コマンドを実行することで上記第1の態様または第2の態様に記載のリソーススケジューリング方法のステップを実現するためのプロセッサと、を含む電子機器を提供する。
本開示の実施例の第7の態様によれば、実行されると上記いずれか一項に記載のリソーススケジューリング方法の操作を実行するコンピュータ可読コマンドを、記憶するためのコンピュータ可読記憶媒体を提供する。
本開示の実施例の第8の態様によれば、機器上で実行されると、前記機器内のプロセッサが上記第1の態様または第2の態様に記載のリソーススケジューリング方法を実現するためのコマンドを実行するコンピュータ可読コードを、含むコンピュータプログラム製品を提供する。
本開示の上記実施例は、クライアントから送信される第1のI/O要求を受信するステップと、センタサーバから取得される第1の番号区間に基づいて、第1のI/O要求に要求番号を割り当てるステップと、第1のI/O要求の要求番号に基づいて、第1のI/O要求のタグ値を決定するステップと、第1のI/O要求のタグ値に基づいて、第1のI/O要求をスケジューリングするステップと、を含むリソーススケジューリング方法、機器、システム、ならびにセンタサーバを提供する。本開示の実施例では、要求番号に基づいてタグ値を決定し、そしてタグ値に基づいて第1のI/O要求をスケジューリングし、これにより、リソース割り当てが不均等である問題が解決され、システムの並行性に応じたI/O要求の数および並行数の制御が実現される。
以下、図面および実施例を通じて本開示の技術的手段をさらに詳しく説明する。
明細書の一部を構成する図面は、本開示の実施例を説明し、その説明と共に本開示の原理を解釈するために用いられる。
図面を参照し、以下の詳細な説明により本開示をより明瞭に理解することができる。
本開示の実施例により提供されるリソーススケジューリング方法のフローチャートである。 本開示の実施例により提供されるリソーススケジューリング方法の別のフローチャートである。 本開示の実施例により提供されるリソーススケジューリング機器の構成模式図である。 本開示の実施例により提供されるリソーススケジューリング方法のさらに別のフローチャートである。 本開示の実施例により提供されるサーバの構成模式図である。 本開示の実施例により提供されるリソーススケジューリングシステムの構成模式図である。 本開示の実施例により提供されるリソーススケジューリングシステムの対話フローチャートである。 本開示の実施例により提供されるリソーススケジューリングシステムの適用例の構成図である。 本開示の実施例を実現するのに適する端末機器またはサーバのような電子機器の構成模式図である。
ここで、図面を参照しながら本開示の様々な例示的な実施例を詳細に説明する。なお、特に断らない限り、これらの実施例で記述した部材およびステップの相対的配置、数式および値は本開示の実施例の保護範囲を限定するものではないことに注意すべきである。
同時に、説明の便宜上、図面に示した各部分の寸法は実際の比例関係に従って描いたものではないことを理解すべきである。
以下の少なくとも一つの例示的な実施例に対する説明は実際に説明的なものに過ぎず、本開示およびその適用または使用へのなんらの制限にもならない。
関連分野の当業者に既知の技術、方法および機器については、詳細に説明しない場合があるが、場合によって、前記技術、方法および機器は明細書の一部と見なすべきである。
なお、類似する符号および英文字は以下の図面において類似項目を表し、従って、ある一項が一つの図面において定義されれば、以降の図面においてそれをさらに説明する必要がないことに注意すべきである。
リソースへのアクセスの並行性を高めるためには、オブジェクト記憶システムに複数のゲートウェイインスタンスを配置してユーザに記憶サービスを提供することが一般的である。しかし、複数のゲートウェイインスタンスはそれぞれ独立して記憶サービスを提供し、互いに通信していないため、ユーザに対する有効な制御、例えばIOPS制限、速度制限等の実現は困難である。
図1は、本開示の実施例により提供されるリソーススケジューリング方法のフローチャートである。
ステップ110では、クライアントから送信される第1のI/O要求を受信する。
いくつかの選択的な実施例では、第1のI/O要求は、クライアントから送信される、リソースに対する操作を要求するためのものであってよい。例えば、第1のI/O要求は、ユーザがクライアントで送信する、ユーザのためのリソース要求を行うためのものであってよい。ここで、第1のI/O要求が要求する操作のタイプは、ファイルや他のオブジェクトの取得、ファイルや他のオブジェクトの照会、ファイルや他のオブジェクトのアップロード等を含むが、これらに限定されない。
選択的な実施例では、クライアントから送信される第1のI/O要求を受信した後、前記方法はさらに、少なくとも1つの第1のI/O要求を解析し、解析結果に基づいて、第1のI/O要求を送信する少なくとも1つのクライアントに対応するユーザの基本情報を得るステップを含んでもよい。
ここで、各クライアントは少なくとも1つの第1のI/O要求に対応し得る。任意選択的に、ユーザ基本情報は、第1のI/O要求を送信するクライアントのIPアドレス情報、ログイン識別子(ID)、ユーザ名、暗号鍵、I/O要求の操作タイプ情報等の少なくとも1つを含んでもよいが、これらに限定されない。
いくつかの選択的な実施例では、リソーススケジューリング機器内の負荷分散ソフトウェア層は、少なくとも1つの第1のI/O要求を受信し、各ゲートウェイインスタンスの負荷状況および/または他の因子に応じて、そのうちの1つのゲートウェイインスタンスを選択して第1のI/O要求を処理させるようにしてもよい。このとき、ゲートウェイインスタンスは任意選択的に、第1のI/O要求的ハイパー・テキスト転送プロトコル(HTTP、Hyper Text Transfer Protocol)のヘッダ(header)を解析することで、ユーザ基本情報を得る。ユーザ基本情報取得の目的は、第1のI/O要求を区別および分析することであり、第1のI/O要求に対応するリソースを取得した後、ユーザ基本情報中のIPアドレス情報に基づいて取得されたリソースをフィードバックし、すなわち、割り当てられたリソースを第1のI/O要求に対応するIPアドレス情報の対応クライアントにフィードバックする。
ステップ120では、センタサーバから取得される第1の番号区間に基づいて、第1のI/O要求に要求番号を割り当てる。
いくつかの選択的な実施例では、第1のI/O要求の各々は1つの要求番号に対応する。
いくつかの選択的な実施例では、センタサーバによって第1のI/O要求に要求番号を割り当てることができる。一例として、センタサーバから設定数の番号が含まれる第1の番号区間、例えば番号21から番号40の20個の番号が含まれる第1の番号区間<21,40>を取得する。第1の番号区間に含まれる番号に基づいて第1のI/O要求に番号を付けることができ、例えば、第1の番号区間における1つの空き番号(空き番号は未割り当ての番号を意味する)を1つの第1のI/O要求に割り当てる。現在第1の番号区間に空き番号がない場合、第1のI/O要求の要求番号としてローカルの仮番号を割り当てることができ、例えば、割り当てられるローカルの仮番号は、1つ前の第1のI/O要求に割り当てられた要求番号に1を加算するものであってよい。また、任意選択的に、センタサーバに新たな番号区間の取得を要求し、新たな番号区間を取得した後、新たな番号区間内の番号をそのまま用いて第1のI/O要求に要求番号を割り当てるようにしてもよい。これにより、番号付けの待ち時間が低減され、処理効率が向上する。
ステップ130では、第1のI/O要求の要求番号に基づいて、第1のI/O要求のタグ値を決定する。
いくつかの選択的な実施例では、mClockアルゴリズムを利用して第1のI/O要求のタグ値を取得するようにしてもよい。ここで、mClockアルゴリズムは、トリプルと対応するスケジューリングを組み合わせることで多次元の有効制御を実現する。上記トリプル(3つのタグ)は例えば以下のとおりである。
Reservation
例えば、1秒当たりに読み書き可能な回数(IOPS、Input/Output Operations Per Second)を250/sに制限するように、性能の絶対量の制限をリザーブする必要があることを示す。これはシステム帯域幅、IOPSが正常の範囲内にある場合に一般的に使用される。
Limit
このような制限も性能の絶対量に対する制限、例えばIOPSの使用上限に対する制限である。例えば、アンチウイルス・アプリケーションvirus scanners、仮想ハードディスクの移行(virtual-disk migrations)アプリケーション、バックアップ(backup)アプリケーション等のような入出力を集中的に行うアプリケーション(IO Intensive Application)が、オンラインサービスに影響を与えることを防止するために用いられる。
Shares
相対比率を制御することで(重み)、基礎となるリソースの要求および使用を制御する。
本開示の実施例では、3つのタグによって第1のI/O要求のタグ値を決定することができ、例えば、タグ値は、リザーブタグ(Reservationに対応)、閾値タグ(Limitに対応)、および重みタグ(Sharesに対応)の1つまたは2つ以上を含む。
mClockアルゴリズムによる、現在クラスタ内の仮想マシン(VM)からバックエンド個々のサービス能力エンティティへのアクセスに対する制御と異なり、本開示の実施例によれば、ユーザが複数のノードにログインした場面では、バックエンド複数のサービス能力エンティティに対する上記3つの次元(3つのタグに対応)における有効制御が実現される。
ステップ140では、第1のI/O要求のタグ値に基づいて、第1のI/O要求をスケジューリングする。
いくつかの選択的な実施例では、第1のI/O要求に対応するタグ値の大きさに応じて第1のI/O要求の順位付けを行い、順位付けの結果に基づいて第1のI/O要求をスケジューリングする。例えば、タグ値の大きい順に第1のI/O要求の順位付けを行い、その後、第1のI/O要求を送信するクライアントに要求するリソースを割り当てる。
クライアントから送信される第1のI/O要求を受信するステップと、センタサーバから取得される第1の番号区間に基づいて、第1のI/O要求に要求番号を割り当てるステップと、第1のI/O要求の要求番号に基づいて、第1のI/O要求のタグ値を決定するステップと、第1のI/O要求のタグ値に基づいて、第1のI/O要求をスケジューリングするステップと、を含む本開示の上記実施例に提供されるリソーススケジューリング方法によれば、要求番号に基づいてタグ値を決定し、そしてタグ値に基づいて第1のI/O要求をスケジューリングし、これにより、リソース割り当てが不均等である問題が解決され、システムの並行性に応じたI/O要求の数および並行数の制御が実現される。
図2は、本開示の実施例により提供されるリソーススケジューリング方法の別のフローチャートであり、図2に示すように、前記方法は以下を含む。
ステップ210では、クライアントから送信される第1のI/O要求を受信する。
ステップ220では、第1の番号区間に未割り当ての空き番号が存在するか否かを判断する。
第1のI/O要求に要求番号を割り当てる必要がある場合、まず、現在機器がセンタサーバから取得した第1の番号区間に未割り当ての空き番号が存在するか否かを判断する。空き番号とは、第1の番号区間に要求番号として第1のI/O要求に割り当てていない番号を意味する。例えば、第1の番号区間<21,40>には20個の番号が含まれ、そのうち番号21-30が要求番号として第1のI/O要求に割り当てられた場合、番号31-40を前記第1の番号区間内の空き番号とし、第1のI/O要求を受信した場合、要求番号として番号31を前記第1のI/O要求に割り当てることができる。
ステップ230では、第1の番号区間に少なくとも1つの空き番号が存在することに応答して、少なくとも1つの空き番号のうち、最小番号を第1のI/O要求の要求番号とする。
第1の番号区間には設定数の番号が含まれ、各番号の値の大きさが異なり、例えば、第1の番号区間<21,40>に20個の番号が含まれ、そのうち最小番号は21、最大番号は40である。任意選択的に、第1の番号区間内の番号を第1のI/O要求に割り当てる際に、番号値の小さい順に割り当てる。例えば、上記例における番号21-30が要求番号として第1のI/O要求に割り当てられた場合、番号31-40を前記第1の番号区間内の空き番号とし、第1のI/O要求を受信した場合、要求番号として番号31を前記第1のI/O要求に割り当てる。
いくつかの選択的な実施例では、第1の番号区間に第1のI/O要求に割り当てできる空き番号がない場合、ローカルの仮番号を自動的に割り当て、例えば、割り当てられるローカルの仮番号は、1つ前の第1のI/O要求に割り当てた要求番号に1を加算するものであってよい。また、センタサーバに新たな番号区間の取得を要求し、新たな番号区間を取得した後、新たな番号区間内の番号をそのまま用いて第1のI/O要求に要求番号を割り当てるようにしてもよい。これにより、番号付けの待ち時間が低減され、処理効率が向上する。
ステップ240では、第1のI/O要求の要求番号に基づいて、第1のI/O要求のタグ値を決定する。
本開示の実施例では、mClockアルゴリズムによって第1のI/O要求のタグ値を取得してもよく、または第1のI/O要求の要求番号を基礎として、他の方法により第1のI/O要求のタグ値を取得してもよく、本開示の実施例は、第1のI/O要求のタグ値を取得する具体的な方法を制限しない。
ステップ250では、第1のI/O要求のタグ値に基づいて、第1のI/O要求をスケジューリングする。
本開示の実施例では、ローカルに取得された第1の番号区間に基づいて第1のI/O要求に要求番号を割り当て、要求番号の高速取得を実現し、各クライアント(ユーザ)に対するリソース割り当てを実現し、ユーザの要求数および並行数を効果的に制御する。
1つ以上の選択的な実施例では、センタサーバから取得される第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当てる前記ステップ220は、第1の番号区間に空き番号が存在しないことに応答して、新たな番号区間を要求するための番号要求をセンタサーバに送信するステップと、センタサーバが番号要求に基づいて送信する、前記第1の番号区間と少なくとも1つの番号区間を隔てた第2の番号区間を受信するステップと、を含む。
本開示の実施例では、第1の番号区間に空き番号が存在せず、すなわち第1の番号区間内の全ての番号が要求番号として第1のI/O要求に割り当てられた場合また、第1のI/O要求を受信したら、新たな番号区間を要求するための番号要求をセンタサーバに送信する必要がある。センタサーバが番号要求を受信した後、番号要求に応じて、第1の番号区間と少なくとも1つの番号区間を隔てた、設定数の番号が含まれる第2の番号区間をリソーススケジューリング機器に送信する。
いくつかの選択的な実施例では、第2の番号区間の取得を要求する待ち時間に、処理効率を向上させるためには、リソーススケジューリング機器が受信された第1のI/O要求にローカルの仮要求番号を割り当てるようにしてもよい。このためには、ローカルの仮要求番号に空きスペースを確保する必要があり、よって、本開示の実施例では、リソーススケジューリング機器により割り当てられるローカルの仮要求番号の番号区間として、第2の番号区間と第1の番号区間との間に少なくとも1つの番号区間を確保する。
いくつかの選択的な実施例では、前記方法はさらに、第1の番号区間に空き番号が存在しないことに応答して、第1の番号区間における最大番号に基づいて第1のI/O要求の要求番号を決定するステップを含む。例えば、第1の番号区間を<21,40>とし、第1の番号区間内の全ての番号が要求番号として第1のI/O要求に割り当てられた場合また、第1のI/O要求を受信したら、センタサーバに第2の番号区間を要求すると同時に、1つ前の第1のI/O要求に割り当てられた要求番号が番号40であると特定したら、番号40に1を加算し、新たに受信された第1のI/O要求にローカルの仮要求番号として番号41を割り当てる(すなわち、第1のI/O要求の要求番号となる)。
いくつかの選択的な実施例では、センタサーバから取得される第2の番号区間は、番号61-番号80が含まれる<61,80>であってよい。無論、本実施例における第2の番号区間はこれに限定されるものではなく、<81,110>等であってもよい。
本開示の1つ以上の選択的な実施例では、ステップ130は、第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値に基づいて、第1のI/O要求のタグ値を決定するステップであって、第2のI/O要求は、第1のI/O要求に対応するクライアントが前回送信したI/O要求であるステップを含む。
任意選択的に、各第1のI/O要求に対応するタグ値を決定するには、2つの第1のI/O要求の要求番号の差値、すなわち同一のクライアントが前回送信した第2のI/O要求に対応する要求番号と、前記クライアントが今回送信した第1のI/O要求に対応する要求番号との間の差値をそれぞれ決定し、その後、前記差値に基づいて前記第1のI/O要求のタグ値を計算する必要がある。クライアントごとに送信されるI/O要求についてタグ値を計算することで、各クライアントのI/O要求の数に対する制御が実現され、一部のクライアントからの大量の要求により他のクライアントがリソースを取得できなくなるという問題が低減される。
いくつかの選択的な実施例では、第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値に基づいて、第1のI/O要求のタグ値を決定するステップは、第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値、第2のI/O要求のタグ値、および現時刻に基づいて、第1のI/O要求のタグ値を決定するステップを含む。
いくつかの選択的な実施例では、第1のI/O要求のタグ値は、リザーブタグ値、閾値タグ値、および重みタグ値の少なくとも1種を含むが、これらに限定されない。第1のI/O要求のタグ値を決定するプロセスは以下のステップを含んでもよい。第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値、第2のI/O要求のタグ値、クライアントに対応するリザーブタグの既存タグ値、および現時刻(現時刻は、第1のI/O要求を取得する時間である)に基づいて計算し、第1のI/O要求に対応するリザーブタグのタグ値を取得する。
第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値、第2のI/O要求のタグ値、クライアントに対応する閾値タグの既存タグ値、および現時刻(現時刻は、第1のI/O要求を取得する時間である)に基づいて計算し、第1のI/O要求に対応する閾値タグのタグ値を取得する。
第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値、第2のI/O要求のタグ値、クライアントに対応する重みタグの既存タグ値、および現時刻(現時刻は、第1のI/O要求を取得する時間である)に基づいて計算し、第1のI/O要求に対応する重みタグのタグ値を取得する。
リザーブタグ値、閾値タグ値および重みタグ値は、例えば以下の式を用いて取得できる。
Figure 0007174764000001
式(1)
Figure 0007174764000002
式(2)
Figure 0007174764000003
式(3)
上記式において、
Figure 0007174764000004
はi番目のクライアントのr要求(第1のI/O要求に対応)のリザーブタグ値を表し、
Figure 0007174764000005
はi番目のクライアントのr要求(第1のI/O要求に対応)の閾値タグ値を表し、
Figure 0007174764000006
はi番目のクライアントのr要求(第1のI/O要求に対応)の重みタグ値を表す。
Figure 0007174764000007

Figure 0007174764000008
はそれぞれ、i番目のクライアントに対応するリザーブタグの既存タグ値、閾値タグの既存タグ値および重みタグの既存タグ値を表し、tは現時刻を表す。counterは、i番目のクライアントの1つ前のI/O要求(第2のI/O要求に対応)と現在のI/O要求(第1のI/O要求に対応)との要求番号の差値を表す。上記公式によれば各第1のI/O要求に対応する3種のタグのタグ値を得ることができる。
本開示の1つ以上の選択的な実施例では、ステップ140は、第1のI/O要求のタグ値に基づいて、I/O要求キュー内の第1のI/O要求の順位を決定するステップと、I/O要求キュー内の第1のI/O要求の順位に基づいて、第1のI/O要求をスケジューリングするステップと、を含んでもよい。
任意選択的に、タグ値による順位付け、および第1のI/O要求に対するスケジューリングは、以下の擬似コードにより実現できる。
Figure 0007174764000009
本開示のいくつかの選択的な実施例では、タグ値は、リザーブタグ値、閾値タグ値、および重みタグ値の少なくとも1種を含み得ることから、第1のI/O要求のI/O要求キュー内の順位を決定するステップは、リザーブタグ値が現時刻より小さい少なくとも1つの第1のI/O要求を取得し、リザーブタグ値に基づいて、取得された少なくとも1つの第1のI/O要求の順位付けを行い、第1の序列を取得するステップ、および、閾値タグ値が現時刻より小さい少なくとも1つの第1のI/O要求を取得し、取得された少なくとも1つの第1のI/O要求に対応する少なくとも1つの重みタグ値に基づいて、取得された前記少なくとも1つの第1のI/O要求の順位付けを行い、第2の序列を取得するステップの少なくとも1つを含んでもよい。さらに、第1の序列および/または第2の序列に基づいて、少なくとも1つの第1のI/O要求にI/O要求されたリソースを割り当てる。
例えば、リザーブタグ値の小さい順に第1のI/O要求の順位付けを行い、第1の序列を取得してもよく、また例えば、閾値タグ値が現時刻より小さい少なくとも1つの第1のI/O要求について、重みタグ値の小さい順に少なくとも1つの第1のI/O要求の順位付けを行い、第2の序列を取得する。
本開示のいくつかの選択的な実施例では、第1の序列および第2の序列に基づいて、少なくとも1つの第1のI/O要求にI/O要求されたリソースを割り当てるステップは、第1の序列から設定数の第1のI/O要求を順に取得し、設定数の第1のI/O要求の、第1の序列内の順位に基づいて、設定数の第1のI/O要求に要求されるリソースを割り当てるステップと、第1の序列内の残りの第1のI/O要求の、第2の序列内の順位を取得し、設定数の第1のI/O要求の、第2の序列内の順位に基づいて、設定数の第1のI/O要求に要求されるリソースを割り当てるステップと、を含む。
任意選択的に、本開示の実施例では、バックエンドのサービスエンティティは、mClockアルゴリズムを利用してリソースの割り当てを実現し、3種のタグに基づいて第1の序列および/または第2の序列を取得し、第1の序列および/または第2の序列に基づいてリソースを割り当てる。例えばこれは以下のように実現される。
mClockアルゴリズムがリソーススケジューリングを実現するプロセスは、以下のステップを含んでもよいが、これらに限定されない。第1のI/O要求に3種のタグ(tag)を設置し、本開示の実施例では、3種のタグは、リザーブタグri(Reservation tagに対応)、閾値タグli(Limit tagに対応)、および重みタグwi(Share or weight tagに対応)を含む。
ここで、まずReservationを極力最優先とし、例えば、トレーニングサービスをサポートするよう、あるクライアントがIOPS 1wを確保できるようにする。なお、説明すべきものとして、全てのクライアントの予約(Reservation)を確保できるために、基礎となるシステムが提供できるリソースの総和は、全てのクライアントに必要とされるReservationの和より大きくしなければならない。Limit&Share(例えば、上記weight tag)について、Limitを超えないことが確保された以上、統一的にShareの比率に従ってリソースを割り当てる。
3種のタグ値およびスケジューリング機器の切り替えによって第1のI/O要求のスケジューリングを実現する。
上記式(1)、(2)、(3)においてMaxを取る理由は、クライアントアイドル状態(idle)の場合に発生するidle積分の現象を回避することである。例えば、1つ前のI/O要求を早々に受信して、後のI/O要求のR値が
Figure 0007174764000010
である場合、結果として、明らかに、
Figure 0007174764000011
は場合により、現時刻(current-Time)よりはるかに小さいことになりやすい。スケジューリング優先度の点で、スケジューリング機器は、優先的にR値が最小のI/O要求をスケジューリングすることになるが、その結果として、idleからアクティブ状態(Active)に入った直後の他のクライアントのR値I/O要求は、この前のクライアントよりはるかに大きくなり、activeに入った直後のクライアントのI/O要求のスタベーションをもたらすことになる。
Limit &shareについて、Limitタグ値が大きいほど、I/O要求キューにおける密度は大きく、占有比率は大きい。しかし、share tagの優先度が確実にLimitを超えないI/O要求に基づいて、shareの比重に従ってスケジューリングを行うことになる。
任意選択的な一実施例では、本開示の実施例により提供されるリソース制御方法は、以下のいくつかの仕組みを組み合わせて実現してもよい。上記仕組みは、アプリケーション層(マルチマシン・マルチカードによるトレーニング)、センタサーバ(要求番号の管理を担当し、ゲートウェイインスタンスの番号要求を受信した度に、1つの連続した番号区間、例えば<1,100> <101,200>…を返す)、多重ゲートウェイインスタンス層、バックエンド記憶層等を含むが、これらに限定されない。
上記いくつかの要素によってリソース制御を実現するプロセスは以下のステップを含んでもよい。アプリケーション層は、分散型深層学習モデルトレーニングを行い、シングルマシン・マルチカード、マルチマシン・マルチカードのシーンに分けて、I/O要求(本開示の実施例の第1のI/O要求に対応)の開始を担うようにしてもよい。I/O要求が負荷分散ソフトウェア層に到着した後、各ゲートウェイインスタンスの負荷状況に応じて、そのうちの1つのゲートウェイインスタンスを選択してI/O要求を処理させる。I/O要求がゲートウェイインスタンスに到着した後、ゲートウェイインスタンスは、I/O要求のhttp headerを解析して、ユーザ基本情報を取得し、そして現在空き番号が存在するか否かを判断する。空き番号が存在する場合、要求番号としてI/O要求に1つの空き番号を割り当てる。空き番号が存在しない場合、番号要求の開始を担うバックグラウンドスレッドをアクティブ化させ、センタサーバに番号要求を開始して新たな番号区間を取得する。性能向上のためには、このとき、I/O要求は、次ロットの番号を待つことなく、1つのローカルの仮要求番号が直接割り当てられる。番号を取得した後、I/O要求に対してタグ付けの操作を行い(対応するタグ値を保有するリザーブタグ、閾値タグ、重みタグの少なくとも1種が含まれる)、I/O要求をmClock順位付けキューに転送する。mClock順位付けキューは、I/O要求が保有するタグ値に基づいて、キュー内のI/O要求の順位を調整する。I/O要求処理スレッドプールは、mClockキューからI/O要求を取得した後、I/O要求を解析し、I/O要求のタイプに応じてバックグラウンド記憶層に提出して実行される。バックグラウンド記憶層の処理が完了した後、処理結果をオブジェクト記憶ゲートウェイインスタンスにフィードバックし、ゲートウェイインスタンスからアプリケーション層プログラムにフィードバックする。
当業者であれば、上記各方法の実施例を実現する全てまたは一部のステップはプログラムによって関連ハードウェアに命令を出すことにより完了できることを理解でき、前記プログラムは、ROM、RAM、磁気ディスクまたは光ディスクなどのプログラムコードを記憶可能である様々な媒体を含むコンピュータ読み取り可能記憶媒体に記憶可能であり、前記プログラムは実行される時に、上記各方法の実施例を含むステップを実行する。
図3は、本開示の実施例により提供されるリソーススケジューリング機器の構成模式図である。前記実施例の機器は、本開示の上記各方法の実施例を実現するために用いてもよい。図3に示すように、前記実施例の機器は、
クライアントから送信される第1のI/O要求を受信するように構成される要求受信ユニット31と、
センタサーバから取得される第1の番号区間に基づいて、第1のI/O要求に要求番号を割り当てるように構成される番号区間取得ユニット32と、
第1のI/O要求の要求番号に基づいて、第1のI/O要求のタグ値を決定するように構成されるタグ値決定ユニット33と、
第1のI/O要求のタグ値に基づいて、第1のI/O要求をスケジューリングするように構成されるリソーススケジューリングユニット34と、を含む。
本開示の上記実施例により提供されるリソーススケジューリング機器によれば、要求番号に基づいてタグ値を決定し、そしてタグ値に基づいて第1のI/O要求をスケジューリングし、これにより、リソース割り当てが不均等である問題が解決され、システムの並行性に応じたI/O要求の数および並行数の制御が実現される。
任意選択的に、番号区間取得ユニット32は、第1の番号区間に未割り当ての空き番号が存在するか否かを判断するステップと、第1の番号区間に少なくとも1つの空き番号が存在することに応答して、少なくとも1つの空き番号のうち、最小番号を第1のI/O要求の要求番号とするステップと、を実行するように構成される。
任意選択的に、番号区間取得ユニット32は、第1の番号区間に空き番号が存在しないことに応答して、新たな番号区間を要求するための番号要求をセンタサーバに送信するステップと、センタサーバが番号要求に基づいて送信する、第1の番号区間と少なくとも1つの番号区間を隔てた第2の番号区間を受信するステップと、を実行するように構成される。
任意選択的に、番号区間取得ユニット32は、第1の番号区間に空き番号が存在しないことに応答して、第1の番号区間における最大番号に基づいて第1のI/O要求の要求番号を決定するように構成される。
1つ以上の選択的な実施例では、タグ値決定ユニット33は、第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値に基づいて、第1のI/O要求のタグ値を決定するステップであって、第2のI/O要求は、前記第1のI/O要求に対応するクライアントが前回送信したI/O要求であるステップ、を実行するように構成される。
任意選択的に、各第1のI/O要求に対応するタグ値を決定するには、各第1のI/O要求の番号の差値、すなわち同一のクライアントが前回送信した第2のI/O要求に対応する要求番号と、前記クライアントが今回送信した第1のI/O要求に対応する要求番号との間の差値をそれぞれ決定し、その後、前記差値に基づいて前記第1のI/O要求のタグ値を計算する必要がある。ユーザごとに送信されるI/O要求についてタグ値を計算することで、各クライアントに対応するI/O要求の数に対する制御が実現され、一部のユーザからの大量の要求により他のユーザがリソースを取得できなくなるという問題が低減される。
任意選択的に、タグ値決定ユニット33は、第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値、第2のI/O要求のタグ値、および現時刻に基づいて、第1のI/O要求のタグ値を決定するように構成される。
任意選択的に、第1のI/O要求のタグ値は、リザーブタグ値、閾値タグ値、および重みタグ値の少なくとも1種を含む。
任意選択的に、リソーススケジューリングユニット34は、第1のI/O要求のタグ値に基づいて、I/O要求キュー内の第1のI/O要求の順位を決定するステップと、I/O要求キュー内の第1のI/O要求の順位に基づいて、第1のI/O要求をスケジューリングするステップと、を実行するように構成される。
図4は、本開示の実施例により提供されるリソーススケジューリング方法のさらに別のフローチャートであり、前記方法はサーバに適用されてもよく、図4に示すように、前記方法は以下のステップを含む。
ステップ410では、第1のリソーススケジューリング機器から送信される、クライアントの番号区間を要求するための第1の番号要求を受信する。
任意選択的に、前記第1の番号要求は以下のことに由来する。第1のリソーススケジューリング機器がクライアントからI/O要求を受信し、受信されたI/O要求に要求番号を割り当てる必要があることから、センタサーバに番号区間の取得を要求する必要があり、これにより、取得された番号区間に基づいてI/O要求に要求番号を割り当て、さらにクライアントにリソースをスケジューリングすることを実現する。
ステップ420では、第2の番号要求に割り当てられた第3の番号区間に基づいて、第3の番号区間の後にある第1の番号区間を第1のリソーススケジューリング機器に送信する。ここで、第2の番号要求は、センタサーバが前回受信した、第2のリソーススケジューリング機器から送信されるクライアントの番号要求である。
任意選択的に、本開示の実施例により提供されるサーバは、複数のリソーススケジューリング機器(例えば、第1のリソーススケジューリング機器および第2のリソーススケジューリング機器等を含む)に対応する。この前番号要求を送信した第2のリソーススケジューリング機器に第3の番号区間を割り当てた後、現在番号要求を送信している第1のリソーススケジューリング機器に第1の番号区間を割り当てる時、第3の番号区間に基づいて累加し、第1の番号区間の具体的な数値範囲を得るようにしてもよい。例えば、第3の番号区間を<1,20>とする場合、第1の番号区間を<21,40>とする。
任意選択的に、前記方法はさらに、第1のリソーススケジューリング機器に第1の番号区間を供与する前に、クライアントのサービス品質(Quality of Service:QoS)等の情報から決定できる、リソーススケジューリング機器(第1のリソーススケジューリング機器を含む)に対応するクライアントの番号総数を取得するステップを含んでもよい。
任意選択的に、前記方法はさらに以下のステップを含んでもよい。クライアントの番号総数を取得した後、クライアントの番号総数に基づいて、第1のリソーススケジューリング機器に送信する第1の番号区間に含まれる番号数を決定し、すなわち、クライアントの番号総数に基づいて、今回前記第1のリソーススケジューリング機器に送信する第1の番号区間の番号数を決定し、送信する第1の番号区間の番号数を番号総数より小さくすることで、システムの並行性に応じた要求数および並行数の有効な制御が実現され、過大な負荷によるシステムクラッシュ、ダウンの現象が低減される。
本開示の実施例により提供されるリソーススケジューリング方法は、サーバによってリソーススケジューリング機器から送信される第1の番号要求を受信し、リソーススケジューリング機器に設定数の番号が含まれる番号区間を送信し、リソーススケジューリング機器はそれに基づいて、受信されたI/O要求に要求番号を割り当て、これにより、複数のリソーススケジューリング機器に対するリソーススケジューリングを実現する。
当業者であれば、上記各方法の実施例を実現する全てまたは一部のステップはプログラムによって関連ハードウェアに命令を出すことにより完了できることを理解でき、前記プログラムは、ROM、RAM、磁気ディスクまたは光ディスクなどのプログラムコードを記憶可能である様々な媒体を含むコンピュータ読み取り可能記憶媒体に記憶可能であり、前記プログラムは実行される時に、上記各方法の実施例を含むステップを実行する。
図5は、本開示の実施例により提供されるサーバの構成模式図である。前記実施例のサーバは、本開示の上記各方法の実施例を実現するために用いてもよい。図5に示すように、前記実施例のサーバは、
第1のリソーススケジューリング機器から送信される、クライアントの番号区間を要求するための第1の番号要求を受信するように構成される要求受信ユニット51と、
第2の番号要求に割り当てられた第3の番号区間に基づいて、第3の番号区間の後にある第1の番号区間を第1のリソーススケジューリング機器に供与するステップであって、第2の番号要求は、サーバが前回受信した、第2のリソーススケジューリング機器から送信されるクライアントの番号要求であるステップを、行うように構成される番号区間供与ユニット52と、を含む。
本開示の実施例により提供されるサーバは、リソーススケジューリング機器から送信される第1の番号要求を受信し、リソーススケジューリング機器に設定数の番号が含まれる番号区間を割り当て、リソーススケジューリング機器はそれに基づいて、受信されたI/O要求に要求番号を割り当て、これにより、複数のリソーススケジューリング機器に対するリソーススケジューリングを実現する。
図6は、本開示の実施例により提供されるリソーススケジューリングシステムの構成模式図である。前記リソーススケジューリングシステムは、
ユーザの番号区間を要求するための第1の番号要求をセンタサーバに送信するように構成される複数のリソーススケジューリング機器61と、
第1の番号要求、および前回クライアントに送信した第3の番号区間に基づいて、第3の番号区間の後にある第1の番号区間をリソーススケジューリング機器に送信するように構成される複数のセンタサーバ62と、を含む。
任意選択的に、本開示の実施例に用いられるリソーススケジューリング機器61は、上記いずれかの実施例に提供されるリソーススケジューリング機器であってよく、上記図1または2に示す実施例に提供されるリソーススケジューリング方法を実現できる。本開示の実施例は、リソーススケジューリング機器61の具体的なタイプおよびその適用方法を制限しない。本開示の実施例では、クライアントのI/O要求(例えば第1のI/O要求)に対するリソーススケジューリング機器61によるスケジューリングを実現するために、センタサーバ62に番号区間の取得を要求し、取得された番号区間に基づいてクライアントに番号を付ける。
任意選択的に、本開示の実施例に用いられるセンタサーバ62は、上記いずれかの実施例に提供されるセンタサーバであってよく、上記図3に示す実施例に提供されるリソーススケジューリング方法を実現できる。本開示の実施例は、センタサーバ62の具体的なタイプおよびその適用方法を制限しない。任意選択的に、センタサーバ62が今回クライアントに供与した第1の番号区間内の番号は、前回クライアントに供与した第3の番号区間内の番号に基づいて決定され、例えば、前回取得された第3の番号区間が<1,100>である場合、今回取得される第1の番号区間は<301,400>であり得、第1の番号区間は第3の番号区間の後にあり、第1の番号区間と第3の番号区間は必ずしも連続しているとは限らない。
本開示の上記実施例に提供されるリソーススケジューリングシステムによれば、センタサーバからリソーススケジューリング機器へ番号区間を供与する方法によって、複数のゲートウェイインスタンスはそれぞれ独立して記憶サービスを提供し、互いに通信していないことから生じる、ユーザに対する有効な制御の実現が困難であるという問題が解決され、ユーザの要求数および並行数に対する制御は、番号区間によって実現でき、リソース割り当てが不均等である問題が解決される。
任意選択的に、リソーススケジューリング機器61はさらに、クライアントから送信される第1のI/O要求を受信するステップと、第1の番号区間に基づいて、第1のI/O要求に要求番号を割り当てるステップと、第1のI/O要求の要求番号に基づいて、第1のI/O要求をスケジューリングするステップと、を実行するように構成される。
任意選択的に、リソーススケジューリング機器61は、第1のI/O要求の要求番号に基づいて、第1のI/O要求のタグ値を決定するステップと、第1のI/O要求のタグ値に基づいて、第1のI/O要求をスケジューリングするステップと、を実行するように構成される。
任意選択的に、リソーススケジューリング機器61は、第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値に基づいて、第1のI/O要求のタグ値を決定するステップであって、第2のI/O要求は、第1のI/O要求に対応するクライアントが前回送信したI/O要求であるステップを、行うように構成される。
任意選択的に、リソーススケジューリング機器61はさらに、第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値、第2のI/O要求のタグ値、および現時刻に基づいて、第1のI/O要求のタグ値を決定するように構成される。
任意選択的に、リソーススケジューリング機器61は、第1の番号区間に未割り当ての空き番号が存在するか否かを判断するステップと、第1の番号区間に少なくとも1つの空き番号が存在することに応答して、少なくとも1つの空き番号のうち、最小番号を第1のI/O要求の要求番号とするステップと、を実行するように構成される。
任意選択的に、リソーススケジューリング機器61は、第1の番号区間に空き番号が存在しないことに応答して、新たな番号区間を要求するための第2の番号要求をセンタサーバに送信するステップと、センタサーバが第2の番号要求に基づいて送信する、第1の番号区間と少なくとも1つの番号区間を隔てた第2の番号区間を受信するステップと、を実行するように構成される。
任意選択的に、リソーススケジューリング機器61はさらに、第1の番号区間に空き番号が存在しないことに応答して、第1の番号区間における最大番号に基づいて第1のI/O要求の要求番号を決定するように構成される。
図7は、本開示の実施例により提供されるリソーススケジューリングシステムの対話フローチャートである。図7に示すように、本開示の実施例では、リソーススケジューリング機器61は、ゲートウェイインスタンスであってよい。
前記実施例では、リソーススケジューリングシステムは、クライアントから送信される第1のI/O要求を受信するためのゲートウェイインスタンスを含む。クライアント、ゲートウェイインスタンスおよびセンタサーバの対話フローは以下を含む。ゲートウェイインスタンスは、クライアントの番号区間を要求するための第1の番号要求を送信し、第1の番号要求をセンタサーバに送信する。センタサーバは、第1の番号要求、および前回前記クライアントに供与した第3の番号区間に基づいて第1の番号区間を決定し、第1の番号区間をゲートウェイインスタンスにフィードバックする。ゲートウェイインスタンスは、第1の番号区間を受信する。クライアントは、第1のI/O要求をゲートウェイインスタンスに送信する。ゲートウェイインスタンスは、第1のI/O要求を受信し、第1の番号区間に基づいて第1のI/O要求に要求番号を割り当て、そして割り当てられた要求番号に基づいて第1のI/O要求のタグ値を決定し、第1のI/O要求のタグ値に基づいて第1のI/O要求に対するスケジューリングを実現する。
図8は、本開示の実施例により提供されるリソーススケジューリングシステムの適用例の構成図である。図8に示すように、ユーザは、シングルマシン・マルチカード、マルチマシン・マルチカードのタスクを提出してI/O要求を開始し、オブジェクト記憶ゲートウェイ(リソーススケジューリング機器に対応)は、I/O要求を受信した後、現在番号区間内の番号が全て割り当てたか否か(すなわち、空き番号が含まれるか否か)を判断する。空き番号が存在する場合、I/O要求の要求番号として1つの番号を取得する(現在のI/O要求の要求番号は、前回のI/O要求の番号に1を加算するものであってよい)。空き番号が存在しない場合、新たな番号区間を取得するように(このとき取得される番号区間と前に取得された番号区間は必ずしも連続しているとは限らず、例えば、前の区間が<1,100>である場合、現在取得される区間は<301,400>であってもよい)、バックグラウンドスレッドをアクティブ化してセンタサーバに番号要求を送信し、そしてI/O要求に要求番号としてローカルの仮要求番号を割り当てる。mClockアルゴリズム、例えば式(1)、(2)、(3)の少なくとも1つによってタグ値(リザーブタグ(reservation)値、閾値タグ(limit)値、重みタグ(weight)値の少なくとも1種)を取得し、「タグ付け」によってタグ値をI/O要求に保有させるようにしてもよい。
「タグ付け」が完了したI/O要求を要求キューにプッシュ(push)し、タグ値に基づいて順位付けを行う。I/O要求処理スレッドプールは、順位付けの結果に基づいて要求キューからI/O要求を取得し、バックグラウンド記憶層(すなわち、図8におけるバックエンド記憶機器)に提出して処理させ、バックグラウンド記憶層の処理が完了した後、実行結果をアプリケーション層にフィードバックする。
本開示の実施例はさらに、実行可能コマンドを記憶するためのメモリと、メモリと通信して実行可能コマンドを実行することで上記いずれかの実施例に提供されるリソーススケジューリング方法のステップを実現するためのプロセッサと、を含む電子機器を提供する。
本開示の実施例はさらに、実行されると上記いずれかの実施例に提供されるリソーススケジューリング方法の操作を実行するコンピュータ可読コマンド、を記憶するためのコンピュータ可読記憶媒体を提供する。
本開示の実施例はさらに、機器上で実行されると、機器内のプロセッサが上記いずれかの実施例に提供されるリソーススケジューリング方法を実現するためのコマンドを実行するコンピュータ可読コードを、含むコンピュータプログラム製品を提供する。
前記コンピュータプログラム製品は具体的にはハードウェア、ソフトウェアまたはそれらの組合せにより実現可能である。選択可能な一例において、前記コンピュータプログラム製品は具体的にはコンピュータ記憶媒体として実現され、別の選択可能な一例において、コンピュータプログラム製品は具体的には、例えばソフトウェア開発キット(SDK:Software Development Kit)などのソフトウェア製品として実現される。
本開示の実施例における「第1の」、「第2の」などの用語は区別するためのものに過ぎず、本開示の実施例に対する限定と理解してはならないことを理解すべきである。
さらに、本開示の実施例では、「複数の」は2つまたは2つ以上を指してよく、「少なくとも1つの」は1つ、2つまたは2つ以上を指してよいことを理解すべきである。
さらに、本開示の実施例に言及された任意の部材、データまたは構造は、明確に限定されまたは明細書の前後で反対的に示唆された場合でなければ、一般的には1つまたは複数と理解してよいことを理解すべきである。
さらに、本開示ではそれぞれの実施例についての説明はそれぞれの実施例の相違点を重点として強調し、その同一または類似的な点について相互に参照してよく、簡単化するために、ここで一つずつに繰り返して説明しないことを理解すべきである。
本開示の実施例は、例えば、携帯端末、パーソナルコンピュータ(PC)、タブレット型コンピュータ、サーバなどであってよい電子機器をさらに提供する。以下、本開示の実施例の端末機器またはサーバを実現するのに適する電子機器900の構造模式図を示す図9を参照し、図9に示すように、電子機器900は1つまたは複数のプロセッサ、通信部などを含み、前記1つまたは複数のプロセッサは、例えば、1つまたは複数の中央処理ユニット(CPU)901、および/または1つまたは複数の画像プロセッサ(GPU)913などであり、プロセッサは、読み取り専用メモリ(ROM、Read Only Memory)902に記憶された実行可能コマンドまたは記憶部908からランダムアクセスメモリ(RAM、Random Access Memory)903にロードされた実行可能コマンドによって各種の適切な動作および処理を実現することができる。通信パート912はネットワークカードを含んでよいが、それに限定されなく、前記ネットワークカードはIB(Infiniband)ネットワークカードを含んでよいが、それに限定されない。
プロセッサはROM902および/またはRAM903と通信して実行可能コマンドを実行し、通信バス904を介して通信パート912に接続され、通信パート912を介して他のターゲット機器と通信してよく、それにより本開示の実施例で提供されるいずれか一項の方法に対応する操作を完了し、例えば、クライアントから送信される第1のI/O要求を受信する。センタサーバから取得される第1の番号区間に基づいて、第1のI/O要求に要求番号を割り当てる。第1のI/O要求の要求番号に基づいて、第1のI/O要求のタグ値を決定する。第1のI/O要求のタグ値に基づいて、第1のI/O要求をスケジューリングし、要求番号に基づいてタグ値を決定し、そしてタグ値に基づいて第1のI/O要求をスケジューリングする。
また、RAM903には、装置の動作に必要な各種のプログラムやデータが記憶されていてもよい。CPU901、ROM902およびRAM903は、通信バス904を介して相互に接続される。RAM903を有する場合に、ROM902は選択可能なモジュールである。RAM903は実行可能コマンドを記憶するか、または動作時に実行可能コマンドをROM902に書き込み、実行可能コマンドによってプロセッサ901に上記通信方法に対応する操作を実行させる。I/Oインタフェース905も通信バス904に接続される。通信パート912は、統合的に設置されてもよく、複数のサブモジュール(例えば複数のIBネットワークカード)を有し、通信バスのリンク上にあるように設置されてもよい。
キーボード、マウスなどを含む入力部906と、陰極線管(CRT、Cathode Ray Tube)、液晶ディスプレイー(LCD、Liquid Crystal Display)などおよびスピーカなどを含む出力部907と、ハードディスクなどを含む記憶部908と、LANカード、モデムなどのネットワークインタフェースカードを含む通信部909とがI/Oインタフェース905に接続されている。通信部909は例えばインターネットのようなネットワークを介して通信処理を行う。ドライブ910も必要に応じてI/Oインタフェース905に接続される。磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどのリムーバブル媒体911は、必要に応じてドライブ910上に装着され、そこから読み出されたコンピュータプログラムを必要に応じて記憶部908にインストールする。
なお、図9に示す構造は選択可能な一実施形態に過ぎず、具体的な実践過程では、実際の必要に応じて上記図9の部品の数および種類を選択、削除、追加、または置換することができ、異なる機能部品の設置上でも、分離設置または統合設置などの実施形態を採用でき、例えばGPU913とCPU901は分離設置するかまたはGPU913をCPU901に統合するようにしてよく、通信部は分離設置するか、またはCPU901やGPU913に統合設置することなども可能であることを説明する必要がある。これらの置換可能な実施形態はいずれも本開示の保護範囲に属する。
特に、本開示の実施例によれば、フローチャートを参照しながら上述したプロセスはコンピュータソフトウェアプログラムとして実現できる。例えば、本開示の実施例はコンピュータプログラム製品を含み、それは機械可読媒体に有形に具現化された、フローチャートに示す方法を実行するためのプログラムコードを含むコンピュータプログラムを含み、プログラムコードは本開示の実施例により提供される方法のステップを対応して実行する対応のコマンドを含んでよく、例えば、クライアントから送信される第1のI/O要求を受信する。センタサーバから取得される第1の番号区間に基づいて、第1のI/O要求に要求番号を割り当てる。第1のI/O要求の要求番号に基づいて、第1のI/O要求のタグ値を決定する。第1のI/O要求のタグ値に基づいて、第1のI/O要求をスケジューリングし、要求番号に基づいてタグ値を決定し、そしてタグ値に基づいて第1のI/O要求をスケジューリングする。このような実施例では、前記コンピュータプログラムは通信部909によってネットワークからダウンロードおよびインストールされ、および/またはリムーバブル媒体911からインストールされ得る。CPU901によって前記コンピュータプログラムを実行する時に、本開示の方法で限定された上記機能の操作を実行する。
本開示の方法および装置は、様々な形態で実現され得る。例えば、ソフトウェア、ハードウェア、ファームウェアまたはソフトウェア、ハードウェア、ファームウェアの任意の組合せによって本開示の方法および装置を実現することができる。前記方法のステップのための上記順序は説明することのみを目的とし、本開示の方法のステップは、特に断らない限り、以上で具体的に説明した順序に限定されない。また、いくつかの実施例では、本開示は記録媒体に記憶されたプログラムとしてもよく、これらのプログラムは本開示の方法を実現するための機械可読コマンドを含む。従って、本開示は本開示の方法を実行するためのプログラムが記憶された記録媒体も含む。
本開示の説明は、例示および説明のために提示されたものであり、網羅的なものでありもしくは開示された形式に本開示を限定するというわけでない。当業者にとっては多くの修正および変形を加えることができるのは明らかであろう。実施例は本開示の原理および実際応用をより明瞭に説明するため、かつ当業者が本開示を理解して特定用途に適した各種の修正を加えた各種の実施例を設計可能にするように選択され説明されたものである。

Claims (15)

  1. リソーススケジューリング機器に適用されるリソーススケジューリング方法であって、
    クライアントから送信される第1の入出力(I/O)要求を受信するステップであって、前記I/O要求は、リソースに対する操作を要求するためのものである、ステップと、
    クライアントのために第1の番号区間を要求するための第1の番号要求をセンタサーバに送信し、前記センタサーバから取得される前記第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当てるステップと、
    前記第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値、前記第2のI/O要求のタグ値、および現時刻に基づいて、前記第1のI/O要求のタグ値を決定するステップであって、前記第2のI/O要求は、前記第1のI/O要求に対応するクライアントが前回送信したI/O要求であり、前記現時刻は、前記第1のI/O要求を取得する時間であり、前記タグ値は、リザーブタグ、閾値タグ、および重みタグの少なくとも1つのタグ値を含む、ステップと、
    前記第1のI/O要求のタグ値の大きさに基づいて、I/O要求キュー内の前記第1のI/O要求の順位を決定し、I/O要求キュー内の前記第1のI/O要求の順位に基づいて、前記第1のI/O要求をスケジューリングするステップと、を含む、リソーススケジューリング方法。
  2. 前記センタサーバから取得される第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当てる前記ステップは、
    前記第1の番号区間に未割り当ての空き番号が存在するか否かを判断するステップと、
    前記第1の番号区間に少なくとも1つの空き番号が存在することに応答して、前記少なくとも1つの空き番号のうち、最小番号を前記第1のI/O要求の要求番号とするステップと、を含む請求項1に記載の方法。
  3. 前記センタサーバから取得される第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当てる前記ステップは、
    前記第1の番号区間に空き番号が存在しないことに応答して、新たな番号区間を要求するための番号要求を前記センタサーバに送信するステップと、
    前記センタサーバが前記番号要求に基づいて送信する、前記第1の番号区間と少なくとも1つの番号区間を隔てた第2の番号区間を受信するステップと、を含む請求項1または2に記載の方法。
  4. 前記センタサーバから取得される第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当てる前記ステップは、
    前記第1の番号区間に空き番号が存在しないことに応答して、前記第1の番号区間における最大番号に基づいて前記第1のI/O要求の要求番号を決定するステップを含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値、前記第2のI/O要求のタグ値、および現時刻に基づいて、前記第1のI/O要求のタグ値を決定する前記ステップは、
    前記第1のI/O要求の要求番号と前記第2のI/O要求の要求番号との間の差値、前記第2のI/O要求のタグ値、クライアントに対応するリザーブタグの既存タグ値、および前記現時刻に基づいて計算し、前記第1のI/O要求に対応するリザーブタグのタグ値を取得するステップと、
    前記第1のI/O要求の要求番号と前記第2のI/O要求の要求番号との間の差値、前記第2のI/O要求のタグ値、クライアントに対応する閾値タグの既存タグ値、および前記現時刻に基づいて計算し、前記第1のI/O要求に対応する閾値タグのタグ値を取得するステップと、
    前記第1のI/O要求の要求番号と前記第2のI/O要求の要求番号との間の差値、前記第2のI/O要求のタグ値、クライアントに対応する重みタグの既存タグ値、および前記現時刻に基づいて計算し、前記第1のI/O要求に対応する重みタグのタグ値を取得するステップと、のうちの少なくとも1つを含む、請求項1から4のいずれか一項に記載の方法。
  6. リソーススケジューリング機器であって、
    クライアントから送信される第1のI/O要求を受信するように構成される要求受信ユニットであって、前記I/O要求は、リソースに対する操作を要求するためのものである、要求受信ユニットと、
    クライアントのために第1の番号区間を要求するための第1の番号要求をセンタサーバに送信し、前記センタサーバから取得される前記第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当てるように構成される番号区間取得ユニットと、
    前記第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値、前記第2のI/O要求のタグ値、および現時刻に基づいて、前記第1のI/O要求のタグ値を決定するように構成されるタグ値決定ユニットであって、前記第2のI/O要求は、前記第1のI/O要求に対応するクライアントが前回送信したI/O要求であり、前記現時刻は、前記第1のI/O要求を取得する時間であり、前記タグ値は、リザーブタグ、閾値タグ、および重みタグの少なくとも1つのタグ値を含む、タグ値決定ユニットと、
    前記第1のI/O要求のタグ値の大きさに基づいて、I/O要求キュー内の前記第1のI/O要求の順位を決定し、I/O要求キュー内の前記第1のI/O要求の順位に基づいて、前記第1のI/O要求をスケジューリングするように構成されるリソーススケジューリングユニットと、を含む、リソーススケジューリング機器。
  7. センタサーバであって、
    第1のリソーススケジューリング機器から送信される、クライアントのために第一の番号区間を要求するための第1の番号要求を受信するように構成される要求受信ユニットと、
    第2の番号要求に割り当てられた第3の番号区間に基づいて、前記第3の番号区間の後にある第1の番号区間を前記第1のリソーススケジューリング機器に供与するステップであって、前記第2の番号要求は、前記センタサーバが前回受信した、第2のリソーススケジューリング機器から送信される前記クライアントの番号要求であるステップを実行するように構成される番号区間供与ユニットと、を含む、センタサーバ。
  8. 複数のリソーススケジューリング機器及び複数のセンタサーバを含むリソーススケジューリングシステムであって、
    前記リソーススケジューリング機器は、クライアントから送信される第1の入出力(I/O)要求を受信し、前記I/O要求は、リソースに対する操作を要求するためのものであり、クライアントのために第一の番号区間を要求するための第1の番号要求を前記センタサーバに送信し、前記センタサーバから取得される前記第1の番号区間に基づいて、前記第1のI/O要求に要求番号を割り当て、前記第1のI/O要求の要求番号と第2のI/O要求の要求番号との間の差値、前記第2のI/O要求のタグ値、および現時刻に基づいて、前記第1のI/O要求のタグ値を決定し、前記第2のI/O要求は、前記第1のI/O要求に対応するクライアントが前回送信したI/O要求であり、前記現時刻は、前記第1のI/O要求を取得する時間であり、前記タグ値は、リザーブタグ、閾値タグ、および重みタグの少なくとも1つのタグ値を含み、前記第1のI/O要求のタグ値の大きさに基づいて、I/O要求キュー内の前記第1のI/O要求の順位を決定し、I/O要求キュー内の前記第1のI/O要求の順位に基づいて、前記第1のI/O要求をスケジューリングするように構成され、
    前記センタサーバは、前記リソーススケジューリング機器から送信される、クライアントのために第一の番号区間を要求するための第1の番号要求を受信し、前記第1の番号要求および前回、前記クライアントに供与した第3の番号区間に基づいて、前記第3の番号区間の後にある第1の番号区間を前記リソーススケジューリング機器に送信するように構成される、リソーススケジューリングシステム。
  9. 前記リソーススケジューリング機器は、前記第1の番号区間に未割り当ての空き番号が存在するか否かを判断するステップと、前記第1の番号区間に少なくとも1つの空き番号が存在することに応答して、前記少なくとも1つの空き番号のうち、最小番号を前記第1のI/O要求の要求番号とするステップと、を実行するように構成される、請求項8に記載のシステム。
  10. 前記リソーススケジューリング機器は、前記第1の番号区間に空き番号が存在しないことに応答して、新たな番号区間を要求するための第2の番号要求を前記センタサーバに送信するステップと、前記センタサーバが前記第2の番号要求に基づいて送信する、前記第1の番号区間と少なくとも1つの番号区間を隔てた第2の番号区間を受信するステップと、を実行するように構成される請求項8又は9に記載のシステム。
  11. 前記リソーススケジューリング機器は、前記第1の番号区間に空き番号が存在しないことに応答して、前記第1の番号区間における最大番号に基づいて前記第1のI/O要求の要求番号を決定するように構成される、請求項9又は10に記載のシステム。
  12. 前記リソーススケジューリング機器はゲートウェイインスタンスである、請求項8から11のいずれか一項に記載のシステム。
  13. 実行可能コマンドを記憶するためのメモリと、
    前記メモリと通信して前記実行可能コマンドを実行することで請求項1から5のいずれか一項に記載のリソーススケジューリング方法のステップを実現するために用いられるプロセッサと、を含む、電子機器。
  14. コンピュータ可読コマンドを記憶するためのコンピュータ可読記憶媒体であって、前記コンピュータ可読コマンドが実行されるとき、請求項1から5のいずれか一項に記載のリソーススケジューリング方法のステップを実行する、コンピュータ可読記憶媒体。
  15. コンピュータに、請求項1から5のいずれか一項に記載のリソーススケジューリング方法を実行させるためのコンピュータプログラム。
JP2020539089A 2019-03-07 2019-10-23 リソーススケジューリング方法、機器、システム、ならびにセンタサーバ Active JP7174764B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910172678.0A CN111666147B (zh) 2019-03-07 2019-03-07 资源调度方法、设备、系统及中心服务器
CN201910172678.0 2019-03-07
PCT/CN2019/112844 WO2020177336A1 (zh) 2019-03-07 2019-10-23 资源调度方法、设备、系统及中心服务器

Publications (2)

Publication Number Publication Date
JP2021518002A JP2021518002A (ja) 2021-07-29
JP7174764B2 true JP7174764B2 (ja) 2022-11-17

Family

ID=72337033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020539089A Active JP7174764B2 (ja) 2019-03-07 2019-10-23 リソーススケジューリング方法、機器、システム、ならびにセンタサーバ

Country Status (6)

Country Link
US (1) US20200348977A1 (ja)
JP (1) JP7174764B2 (ja)
CN (1) CN111666147B (ja)
SG (1) SG11202006769YA (ja)
TW (1) TWI747092B (ja)
WO (1) WO2020177336A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4002791B1 (en) 2020-11-13 2024-10-23 Secure Thingz Limited A provisioning system and method
CN112584361B (zh) * 2020-12-09 2021-09-07 齐鲁工业大学 M2m通信中基于深度强化学习的资源调度方法及装置
US12106151B2 (en) * 2021-01-25 2024-10-01 Lenovo (Singapore) Pte. Ltd. Dynamic client/server selection for machine learning execution based on current performance characteristics
CN112948089B (zh) * 2021-03-22 2024-04-05 福建随行软件有限公司 一种招投标请求的资源分发方法及数据中心
US20220374149A1 (en) * 2021-05-21 2022-11-24 Samsung Electronics Co., Ltd. Low latency multiple storage device system
US12067254B2 (en) 2021-05-21 2024-08-20 Samsung Electronics Co., Ltd. Low latency SSD read architecture with multi-level error correction codes (ECC)
CN114528093B (zh) * 2022-01-08 2024-10-15 智协慧同(北京)科技有限公司 一种提高车载终端设备存储服务性能的方法及系统
CN114168306B (zh) * 2022-02-10 2022-05-17 北京奥星贝斯科技有限公司 调度方法及调度装置
CN116016373A (zh) * 2022-12-30 2023-04-25 昆仑芯(北京)科技有限公司 数据处理请求的发送方法及装置、设备和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018180985A (ja) 2017-04-14 2018-11-15 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0215354A (ja) * 1988-07-04 1990-01-19 Hitachi Ltd I/oスケジューリング方法
JPH056282A (ja) * 1991-06-27 1993-01-14 Fujitsu Ltd プロセス管理方式
CN101123448B (zh) * 2006-08-10 2011-04-20 大唐移动通信设备有限公司 一种增强的随机接入控制信道资源分配方法及装置
US20120151479A1 (en) * 2010-12-10 2012-06-14 Salesforce.Com, Inc. Horizontal splitting of tasks within a homogenous pool of virtual machines
US8700628B1 (en) * 2011-02-03 2014-04-15 Google Inc. Personalized aggregation of annotations
CN103139255B (zh) * 2011-11-30 2016-04-06 腾讯科技(深圳)有限公司 分配资源标识和标识段的方法
US9967230B2 (en) * 2016-02-04 2018-05-08 Google Llc Systems and methods for allocating communication resources via information technology infrastructure
CN105812248A (zh) * 2016-05-09 2016-07-27 腾讯科技(深圳)有限公司 标识取值的分配方法和装置
CN106293536B (zh) * 2016-08-12 2019-06-11 华为技术有限公司 输入/输出i/o调度方法及装置
CN108881348B (zh) * 2017-05-15 2021-04-06 新华三技术有限公司 服务质量控制方法、装置和存储服务器
US10719245B1 (en) * 2017-07-13 2020-07-21 EMC IP Holding Company LLC Transactional IO scheduler for storage systems with multiple storage devices
US10671494B1 (en) * 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery
CN108153494B (zh) * 2017-12-25 2019-09-17 新华三技术有限公司 一种io请求处理方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018180985A (ja) 2017-04-14 2018-11-15 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
US20200348977A1 (en) 2020-11-05
CN111666147B (zh) 2022-06-07
SG11202006769YA (en) 2020-10-29
WO2020177336A1 (zh) 2020-09-10
TWI747092B (zh) 2021-11-21
JP2021518002A (ja) 2021-07-29
TW202034179A (zh) 2020-09-16
CN111666147A (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
JP7174764B2 (ja) リソーススケジューリング方法、機器、システム、ならびにセンタサーバ
US10985989B2 (en) Cross layer signaling for network resource scaling
EP3254196B1 (en) Method and system for multi-tenant resource distribution
CN107018091B (zh) 资源请求的调度方法和装置
US9898794B2 (en) Host-based GPU resource scheduling
US11321118B2 (en) System and method for controlled sharing of consumable resources in a computer cluster
US11616686B1 (en) Cluster management
Mishra et al. Time efficient dynamic threshold-based load balancing technique for Cloud Computing
CN109726005A (zh) 用于管理资源的方法、服务器系统和计算机程序产品
Liu et al. Deadline guaranteed service for multi-tenant cloud storage
Ramkumar et al. Efficient resource utilization algorithm (ERUA) for service request scheduling in cloud
Kyi et al. An efficient approach for virtual machines scheduling on a private cloud environment
Peng et al. BQueue: A coarse-grained bucket QoS scheduler
Nzanywayingoma et al. Task scheduling and virtual resource optimising in Hadoop YARN-based cloud computing environment
Shishira et al. A comprehensive survey on federated cloud computing and its future research directions
JP2010097566A (ja) 情報処理装置、及び情報処理システムにおけるバッチ処理の割り当て方法
Sutagundar et al. Development of fog based dynamic resource allocation and pricing model in IoT
Kurdi et al. A hybrid approach for scheduling virtual machines in private clouds
Bhatia et al. An analysis report of workflow scheduling algorithm for cloud environment
Yadav et al. A Study on Particle Swarm based Load Balancing Algorithms in Cloud Computing
Nirmala et al. Service provisioning of flexible advance reservation leases in IaaS clouds
Chen et al. Efficient weighted and balanced resource allocation for high-performance render farms
Vondra et al. Maximizing utilization in private iaas clouds with heterogenous load
Sharma et al. An effective mechanism for improving performance of load balancing system in cluster computing
Phan Proactive and Dynamic Task Scheduling in Fog-cloud Environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200715

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220624

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221107

R150 Certificate of patent or registration of utility model

Ref document number: 7174764

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150