JP2017021798A - コンピューティングシステム、及びそのリソース管理方法、並びにコンピューティングシステムのための記録媒体 - Google Patents

コンピューティングシステム、及びそのリソース管理方法、並びにコンピューティングシステムのための記録媒体 Download PDF

Info

Publication number
JP2017021798A
JP2017021798A JP2016134856A JP2016134856A JP2017021798A JP 2017021798 A JP2017021798 A JP 2017021798A JP 2016134856 A JP2016134856 A JP 2016134856A JP 2016134856 A JP2016134856 A JP 2016134856A JP 2017021798 A JP2017021798 A JP 2017021798A
Authority
JP
Japan
Prior art keywords
processing
instance
block
computing system
host
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.)
Pending
Application number
JP2016134856A
Other languages
English (en)
Other versions
JP2017021798A5 (ja
Inventor
シン,ヴィクラム
Singh Vikram
涛 ウー,文
wen tao Wu
涛 ウー,文
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2017021798A publication Critical patent/JP2017021798A/ja
Publication of JP2017021798A5 publication Critical patent/JP2017021798A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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]
    • 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
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】電力を抑えながら、処理性能を向上させるコンピューティングシステム及びそのリソース管理方法を提供する。【解決手段】本発明によるコンピューティングシステムはプロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別するコマンドフェッチブロック(command fetch block)、及び前記コマンドフェッチブロックに連結されて通信エンドポイントで前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントでのインスタンスバジェット(instance budget)を計算するクレジットチェッカブロック(credit checker block)を含む。【選択図】図1

Description

本発明はコンピューティングシステム及びそのリソース管理方法、並びにコンピューティングシステムのための記録媒体に係り、より詳しくは、ホストプロファイルを判別するコマンドフェッチブロック、インスタンスバジェットを計算するクレジットチェッカブロックを含むコンピューティングシステム及びそのリソース管理方法、並びにコンピューティングシステムのための記録媒体に関する。
コンピューティングシステム、サーバ、家電製品、テレビジョン、携帯電話、自動車、衛星、及び結合装置などの消費者電子産業は現代生活の支援水準を高めている。性能要求は消費者製品、企業又は商業製品において互いに異なることがあるが、電力消費を抑えながら、さらに高い性能を要求する点においては一般的である。現在の技術の研究開発は多くの方向に及んでいる。
このような方向は有用なリソースの管理の改善を含む。電子装置の個数及び各装置の消費する電力が増加することによって、コンピューティングリソースに対する要求が幾何級数的に増加している。効率的又は効果的に有用なリソースを管理することは複数の装置において機能及び性能の水準を増加させる。
したがって、電力を抑えながら、処理性能を向上させるためのリソース管理メカニズムを有するコンピューティングシステムに対する要求が高い。さらに増加する商業的な競争圧迫の観点から消費者の期待が増加して市場において意味ある製品差別化が減少する状況であり、このような問題点の解決策を発見することがますます重要になっている。さらに、費用を減らし、効率と性能を改善し、競争圧力に対する要求はこのような問題点の解決策に対してさらに緊急なものである。
このような問題点に対する解決策は長い間模索されて来たが、従来の技術によっては何らかの解決策を教示、或いは提案ができなかった。
米国特許第7,478,178号公報 米国特許第7,675,929号公報 米国特許第7,869,356号公報 米国特許第8,139,575号公報
本発明の目的は電力を抑えながら、処理性能を向上させるコンピューティングシステム及びそのリソース管理方法を提供することにある。
本発明の実施形態によるコンピューティングシステムは、プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別するコマンドフェッチブロック(command fetch block)、及び前記コマンドフェッチブロックに連結されて通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェット(instance budget)を計算するように構成されたクレジットチェッカブロック(credit checker block)を含む。
本発明の実施形態によるコンピューティングシステムの動作方法は、プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別する段階、及び通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェットを計算する段階を含む。
本発明の実施形態による非一時的コンピュータ読出し可能媒体は、プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別する段階、及び通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェットを計算する段階を遂行するコンピューティングシステムのためのインストラクションを有する。
本発明の実施形態によるコンピューティングシステム及びそのリソース管理方法において、データプロバイダーは、処理結果を発生するためにプロセシング要請を処理しながら、データプロバイダーのインスタンスバジェットを利用してリソース使用を制御することにより、消費電力を抑えながら、性能の改善を図ることができる。
本発明の実施形態によるリソース管理メカニズムを有するコンピューティングシステムの例示的なブロック図である。 本発明の実施形態によるコンピューティングシステムのブロック図である。 本発明の実施形態によるコンピューティングシステムの追加的な例示ブロック図である。 本発明の実施形態によるコンピューティングシステムの制御フローを例示的に示す図である。 本発明の実施形態によるコンピューティングシステムの動作方法を例示的に示すフローチャートである。
以下においては、図面を利用して本発明の技術分野において通常の知識を有する者が容易に実施できる程度に本発明の内容を明確、詳細に記載する。
以下に開示する本発明の実施形態はインスタンスバジェットを計算するためにクレジット管理メカニズムを具現するデータプロバイダーを含む。データプロバイダーは要請ホスト(requesting host)からのプロセシング要請を処理するためにインスタンスバジェットを使用する。インスタンスバジェットが指定したデータプロバイダーは全体リソースのうちの一部を使用する。スマート格納装置又はIoT(internet of things)装置を有するデータプロバイダーは、処理結果を発生するためにプロセシング要請を処理しながら、データプロバイダーのインスタンスバジェットを利用してリソース使用を制御する。
ターゲットリソースはターゲット業務を遂行するか、或いは具現するためのノード熱容量を含む。ここで、ターゲットノードは電力消費及び性能のバランスのための最適なノード又は最も熱的に余裕があるノードであってもよい。熱候補セットは、ノード間の熱容量、現在電力、現在熱的負荷、熱的モデル又はそれらの組合せに基づいて動的に計算される。
次に、開示する実施形態は本発明を構成して使用する当業者が具現するのに十分に詳細に説明される。本発明に基づいた他の実施形態も、システム、工程、アーキテクチャ、又は機械的変更が本発明の範囲を逸脱なく、なされるとして理解されるべきである。
以下の説明においては、多数の特定細部事項は本発明の完全な理解を提供するために与えられる。しかし、本発明及び多様な実施形態がこのような特定細部事項無しでも実施できることが分かる。本発明によると、幾つかの広く公知された回路、システム構成及び工程段階の実施形態をあいまいにすることを避けるため、詳細に記載しないこともあり得る。
システムの実施形態を示した図面は半図式的である。特に、寸法の一部は明確な表現のために、図面において誇張されて示すこともあり得る。説明の便宜のために図面において一般的に類似な方向を表示しても、図面における説明は大部分の場合、任意的である。一般的に、実施形態は任意の方向に動作される。
本発明において言及される“ブロック(block)”という用語は使用される文脈によって本発明の実施形態によるソフトウェア、ハードウェア、又はそれらの組合せを含む。例えば、ソフトウェアはマシンコード、ファームウェア、埋め込み型コード、及びアプリケーションソフトウェアであってもよい。また、例えばハードウェアは回路、プロセッサ、コンピュータ、集積回路、集積回路コア、圧力センサ、慣性センサ、マイクロ電子機械システム(MEMS)、受動素子、又はこれらの組合せであってもよい。さらに、ブロックが装置の請求項の中に記入される場合、ブロックは目的達成のためのハードウェア回路装置、及び装置を含むと看做される。
実施形態の説明においてブロックは説明されるか、或いは図示された他の装置に連結されてもよい。ここで、連結は直接又は間接、結合された項目の間の介入があるか、或いは無いこともあり得る。また、連結は物理的接触又は項目の間の通信による。
図1は本発明の実施形態によるリソース管理メカニズムを有するコンピューティングシステム100の例示的なブロック図を示す。図1を参照すれば、コンピューティングシステム100は、クライアント装置又はサーバのような第2装置106に接続されたクライアント装置のような第1装置102を含む。第1装置102は無線又は有線ネットワークのようなネットワーク104を通じて第2装置106と通信する。
例えば、第1装置102はスマートフォン、ウェアラブル装置又は健康モニタ、センサ又はIoTのための処理装置又はそれらの組合せを含む。また、例えば第1装置102はコンピュータ、グリッドコンピューティングリソース、仮想化コンピュータリソース、クラウドコンピューティングリソース、ルータ、スイッチ、ピアツーピアの分散コンピューティング装置、又はそれらの組合せを含む。また、例えば第2装置106はサービスプロバイダーによって利用されるサーバを含む。また、例えば第2装置106はスマート格納装置、分散コンピューティングリソース又は分散格納システム、データセンタ、ディスクドライブ、アレイ、又はそれらの組合せの格納装置を含む。
第1装置102は独立形装置であってもよく、又はモバイル装置、エンターテイメント装置、衣類商品、アクセサリー、接着又は固定器具、多機能装置、サーバ又はデータセンタ、又はそれらの組合せと統合される。第1装置102は第2装置106と通信するためにネットワーク104に連結される。
第2装置106はモバイル装置又は非モバイル装置であってもよい。例えば、第2装置106はスマートフォン、タブレット装置、セルラー電話、個人携帯情報端末機、ノートブック型コンピュータ、ネットブックコンピュータ、シンクライアント装置(thin client device)、多重機能のモバイル装置、又はエンターテイメント装置、IoT装置、又はそれらの組合せのような多様なモバイル装置の中のいずれか一つであってもよい。
また、第2装置106はコンピューティング装置、機器、又はそれらの組合せの非モバイル装置であってもよい。第2装置106は中央集中型又は分散コンピューティングのような多様な装置の中の任意のものであってもよい。例えば、第2装置106はデスクトップコンピュータ、グリッドコンピューティングリソース、サーバ、サーバファーム、仮想コンピューティングリソース、クラウドコンピューティングリソース、ルータ、スイッチ、ピアツーピアの分散コンピューティングリソース、又はそれらの組合せを含む。
第2装置106は1つのコンピュータルームに集中されるか、異なるルームに分散されるか、互に異なる地理的位置に分散されるか、又は通信ネットワークに内蔵される。例えば、第2装置106はメーンフレーム、サーバ、クラスターサーバ、ラックマウンテッドサーバ、又はブレードサーバ等の特殊化マシンであってもよい。さらに詳細には、第2装置106はIBMシステムz10(登録商標)ビジネスクラスメーンフレーム又はHP ProLiant ML(登録商標)サーバであってもよい。
また、第2装置106はリビング機器、キッチン機器、バス機器、ベッドルーム機器、又はそれらの組合せを含む機器であってもよい。例えば、第2装置106はテレビジョン、ビデオ装置、オーディオ装置、時計、照明装置、ホームエンターテイメントシステム、洗濯機、冷蔵庫、オーブン、電子レンジ、ゲームコンソール、又はそれらの組合せを含む。また、第2装置106は自動温度調節装置、警報装置、加熱装置、冷却装置、電子ドアロック、ガレージドアオープナ(garage door opener)、発電システム装置、又はそれらの組合せを含む。
ネットワーク104は多様なネットワーク又は通信媒体であってもよい。例えば、ネットワーク104は無線通信、有線通信、光通信、超音波通信、又はそれらの組合せを含む。衛星通信、セルラー通信、ブルートゥース(登録商標)、低いエネルギー(Low Energy、BLE)、無線高画質マルチメディアインターフェイス(wireless High−Definition Multimedia Interface、HDMI(登録商標))、ジグビー(ZigBee)(登録商標)、近距離無線通信(Near Field Communication、NFC)、赤外線データ協会(Infrared Data Association)標準(IrDA)、Wi−Fi(登録商標)(wireless fidelity)、マイクロウェーブアクセスのための世界的な相互運用(worldwide interoperability for microwave access、WiMAX)は無線のネットワーク104に含まれる。イーサーネット(登録商標)(ethernet)、HDMI(登録商標)、デジタル加入者回線(DSL)、FTTH(fiber to the home)、POTS(plain old telephone service)は有線のネットワーク104に含まれる。
また、ネットワーク104は多数のネットワークトポロジーを横断できる。例えば、ネットワーク104は直接接続、個人領域ネットワーク(PAN)、近距離通信網(LAN)、都市圏通信網(MAN)、広域通信網(WAN)又はこれらの組合せを含む。
ネットワーク104は一つ以上の中間ネットワークコンポーネント108を含む。中間ネットワークコンポーネント108は、プロセシング要請112を発生及び処理する複数の通信エンドポイント110の間に介在する。中間ネットワークコンポーネント108は通信エンドポイント110の間において情報をリレーするように構成される装置又は一部を含む。例えば、中間ネットワークコンポーネント108はルータ、リピーター、基地局増幅機、装置内のインターフェイス、又はそれらの組合せを含む。
通信エンドポイント110は情報を発生する装置、又はその一部を含む。通信エンドポイント110は要請を発生するか、プロセシング出力を発生するか、そこに格納された情報にアクセスするか、それらの組み合わせを実行する装置又はその一部を含む。
例えば、通信エンドポイント110の中の一つは情報にアクセスするためのプロセシング要請112を発生する。プロセシング要請112は通信エンドポイント110の他のインスタンスに伝達される。前記他のインスタンスはプロセシング要請112に対応する情報又は出力値としてプロセシング結果114を発生する。
また、例えば通信エンドポイント110はプロセシング結果114を発生するデータプロバイダー116を含む。データプロバイダー116はプロセシング要請112を処理するように構成されるか、或いは要請された情報を利用するように構成される。データプロバイダー116はプロセシング結果114を計算するか、或いは発生でき、データプロバイダー116に格納された情報にアクセスでき、又はそれらの組合せをすることができる。データプロバイダー116はプロセシング要請112を通信してきた通信エンドポイント110のインスタンスにプロセシング結果114を返す。
データプロバイダー116はプロセシング要請112に対する消費者であってもよい。データプロバイダー116はデータプロバイダー116の外部に分離された装置又は分離された部分を利用せずに、プロセシング要請112を処理するか、或いは応答する。例えば、データプロバイダー116はプロセシング要請112によって要請された情報を有する装置内の格納装置又は格納部分であってもよい。また、例えばデータプロバイダー116はプロセシング結果114によって要請された情報を発生及び提供するコンピューティング装置又は計算ユニットであってもよい。
中間ネットワークコンポーネント108は通信エンドポイントの間に存在する。中間ネットワークコンポーネント108はプロセシング要請112、プロセシング結果114、又は通信エンドポイントの間のその組合せをリレーする。
コンピューティングシステム100はクレジット管理メカニズム118を具現するためにデータプロバイダー116を使用する。クレジット管理メカニズム118はプロセシング要請112の処理においてデータプロバイダー116のための全体リソース120を管理して消費バランスを合わせるように構成された方法、工程、回路、又はそれらの組合せである。
クレジット管理メカニズム118はさらに機能、回路、段階又は命令、方程式又はそれらの組合せの適応又は自体学習インスタンスのように自体的に再構成される。クレジット管理メカニズム118はプロセシング要請112の一つ以上のインスタンスを処理するためにクレジット又はバジェットを割当することに基づいて全体リソース120の使用を管理しバランスを合わせる。
全体リソース120はデータプロバイダー116の総処理能力を示す。例えば、全体リソース120はデータの量、処理速度、又はそれらの組合せを示す。より具体的な例として、全体リソース120はデータリソース122、プロセシングリソース124、又はそれらの組合せを含む。
データリソース122は格納容量になり得る。データリソース122は揮発性又は不揮発性格納装置を含む。データリソース122は後のアクセスのために格納、与えられた時間又は期間に同時にアクセスできるデータの量、又はそれらの組合せを含む。
プロセシングリソース124はデータの造作と関連した容量であってもよい。プロセシングリソース124は速度や処理速度を含む。プロセシングリソース124は命令語の数や同時に所定の期間中に処理できるデータの量を示す。
コンピューティングシステム100はプロセシング要請112の一つ以上のインスタンスを処理するため、全体リソース120のために制御、管理、分割、専用、拡張するように、又はそれらの組合せを遂行するようにクレジット管理メカニズム118を利用する。例えば、コンピューティングシステム100はクレジット管理メカニズム118を利用して入出力(IO)読出し/書込み要請を有するプロセシング要請112が進行中のインスタンスを優先する。
例を続けて、コンピューティングシステム100はポート、身体機能、仮想関数、又はそれらの組合せに基づいて処理を優先する。コンピューティングシステム100はサービスレベル合意書(SLA)の応答時間約束を観察しながら、多数のコンピューティングホストがデータプロバイダー116を共有する共通データセンタ環境のクレジット管理メカニズム118を使用する。クレジット管理メカニズム118に関する詳細な事項は後述する。
図示したコンピューティングシステム100においては通信エンドポイント110として第1装置102と第2装置106とを示す。しかし、コンピューティングシステム100は第1装置102、第2装置106、及びネットワーク104の間に互に異なるパーティションを有するとして理解されるべきである。
例えば、第1装置102、第2装置106、又はそれらの組合せはネットワーク104の一部として機能する。また、例えば第2装置106はデータプロバイダー116として示したが、第1装置102がデータプロバイダー116であってもよい。
さらに詳細な実施形態において、コンピューティングシステム100は第1装置102、第2装置106、又は管理及び格納システム、通信システム等のコンピューティングリソースを提供するためにそれらの組合せを含む。コンピューティングシステム100は第1装置102、第2装置106又は管理するメモリアクセスの処理サイクル又は時間、熱容量、帯域幅、又はそれらの組合せを含むコンピューティングリソースを提供するためのそれらの組合せを含む。
例示的な例を継続して、コンピューティングシステム100は第1装置102、第2装置106、又はそれらの組合せにより構成されたデータプロバイダー116を含む。コンピューティングシステム100は管理及び一つ以上のホストコンピューティングリソースを提供するためにデータプロバイダー116を使用する。コンピューティングシステム100はデータプロバイダー116、一つ以上のホスト、又はこの一つの装置又はシステム内のコンポーネントとして構成されるか、又は様々な個別装置又はシステムにより構成されるか、或いはそれらの組合せにより構成されることを含む。
さらに具体的な例として、コンピューティングシステム100は他のサーバ、ワークステーション、又はエンドユーザー装置により構成されたホストを支援するための多機能格納装置、ネットワーク格納装置、サーバ、基地局、又は他のサーバにより構成されるサービスホスト、それらの組合せとして構成されたデータプロバイダー116を含む。また、さらに具体的な例としてコンピューティングシステム100は独立的なコンピューティング装置又は分散コンピューティングシステム内の他の回路又は装置を支援するためのディスクドライブ、プロセッサ、制御回路、ソフトウェア機能又はファームウェア機能、又はそれらの組合せにより構成されるデータプロバイダー116をさらに含む。
図2は本発明の実施形態によるコンピューティングシステム100の例示的なブロック図を示す。図2を参照すれば、コンピューティングシステム100は第1装置102、ネットワーク104、及び第2装置106を含む。第1装置102はネットワーク104の第1装置伝送208から情報を第2装置106に伝送する。
図示したコンピューティングシステム100はクライアント装置として第1装置102を示している。しかし、コンピューティングシステム100は互に異なる種類の装置として第1装置102を含むとして理解されるべきである。例えば、第1装置102は中継装置であってもよい。
また、コンピューティングシステム100はモバイル装置、コンピューティング装置、機器、又はそれらの組合せとして第2装置106を含むことを示す。しかし、コンピューティングシステム100は互に異なる種類の装置として第2装置106を含むとして理解されるべきである。
本発明の実施形態において、説明を簡単にするために第1装置102はクライアント装置として説明し、第2装置106はモバイル装置、コンピューティング装置、機器、ウェアラブル装置、又はそれらの組合せとして説明する。本発明の実施形態において、装置の種類のための選択は制限されないとして理解されるべきである。選択は本発明の実施形態の例である。
第1装置102は第1制御ユニット212、第1格納ユニット214、第1通信ユニット216、第1使用者インターフェイス218、位置ユニット220、又はそれらの組合せを含む。第1制御ユニット212は多くの他の方式により構成されるコンピューティングシステム100の知能を提供するための第1ソフトウェア226を実行する。
例えば、第1制御ユニット212はプロセッサ、埋め込み型プロセッサ、マイクロプロセッサ、ハードウェア制御ロジック、ハードウェア有限状態機械(FSM)、デジタル信号プロセッサ(DSP)、又はそれらの組合せであってもよい。第1制御インターフェイス222は第1装置102において第1制御ユニット212及び他の機能ユニットの間の通信のために使用される。また、第1制御インターフェイス222は第1装置102と外部との通信のために使用される。
第1制御インターフェイス222は他の機能ユニット又は外部ソースから情報を受信するか、或いは他の機能ユニット又は外部目的地に情報を伝送する。外部ソースと外部目的地は、第1装置102の外部にあるソースと目的地を指す。
第1制御インターフェイス222は多様な方式により構成される。第1制御インターフェイス222は第1制御インターフェイス222にインターフェイスする機能ユニット又は外部ユニットに依存する互に異なる構成を含む。例えば、第1制御インターフェイス222は圧力センサ、慣性センサ、マイクロ電子機械システム(MEMS)、光学回路、導波路、無線回路、有線回路、又はそれらの組合せを含む。
位置ユニット220は例えば、位置情報、ヘディング(heading)、加速度、第1装置102の速度を発生する。位置ユニット220は多くの方式により構成されてもよい。例えば、位置ユニット220は衛星位置確認システム(GPS)、ジャイロスコープ、加速度計、磁力計、コンパス、スペクトル分析機、ビーコン、セルラータワー位置システム、加圧位置システム、又はこれらの組合せの少なくとも一部の機能を含む。
位置ユニット220は位置インターフェイス232を含む。位置インターフェイス232は第1装置102の位置ユニット220及び他の機能ユニットの間の通信のために使用される。また、位置インターフェイス232は第1装置102の外部との通信のために使用される。
位置インターフェイス232は他の機能ユニット又は外部ソースから情報を受信するか、或いは他の機能ユニット又は外部目的地に情報を伝送する。ここで外部ソースと外部目的地は、第1装置102の外部にあるソースと目的地を指す。
位置インターフェイス232は機能ユニット又は外部装置が位置ユニット220とインターフェイスされているか否かによって互に異なる構成を含む。位置インターフェイス232は第1制御インターフェイス222の構成と類似の技術により構成される。
第1格納ユニット214は第1ソフトウェア226を格納する。また、第1格納ユニット214は生体情報、関心位置(POI)、ナビゲーションルーティングエントリ、レビュー/レーティング、フィードバック、又はそれらの組合せ等の関連情報を格納する。
第1格納ユニット214は揮発性メモリ、不揮発性メモリ、内部メモリ、外部メモリ、又はそれらの組合せであってもよい。例えば、第1格納ユニット214は不揮発性ランダムアクセスメモリ(NVRAM)、フラッシュメモリ、ディスク格納装置等の不揮発性格納装置又は静的RAM(SRAM)等の揮発性格納であってもよい。
第1格納ユニット214は第1格納インターフェイス224を含む。第1格納インターフェイス224は第1格納ユニット214と位置ユニット220及び他の機能ユニットの間の通信のために使用される。また、第1格納インターフェイス224は第1装置102の外部と通信するのに使用される。
第1格納インターフェイス224は他の機能ユニット又は外部ソースから情報を受信するか、或いは他の機能ユニット又は外部目的地に情報を伝送する。外部ソースと外部目的地は、第1装置102の外部にあるソースと目的地を指す。
第1格納インターフェイス224は機能ユニット又は外部装置が第1格納ユニット214とインターフェイスされているか否かによって互に異なる構成を含む。第1格納インターフェイス224は第1制御インターフェイス222の構成技術又は類似の技術により構成される。
第1通信ユニット216は第1装置102に/から外部通信を活性化する。第1通信ユニット216は図1の第2装置106、周辺装置又はノートブック型コンピュータのような付属物、及びネットワーク104と通信する第1装置102を許容する。
また、第1通信ユニット216はエンドポイント又は端末機ユニットに制限されないネットワーク104の一部として機能を遂行する第1装置102を許容する通信ハブとして機能を遂行する。第1通信ユニット216は、ネットワーク104と相互作用するためのマイクロエレクトロニクス又はアンテナ等の能動及び手動素子を含む。
第1通信ユニット216は第1通信インターフェイス228を含む。第1通信インターフェイス228は第1装置102の第1通信ユニット216及び他の機能ユニットの間の通信のために使用される。第1通信インターフェイス228は他の機能ユニットから情報を受信するか、或いは他の機能ユニットに情報を伝送する。
第1通信インターフェイス228は第1通信ユニット216にインターフェイスされる機能ユニットに依存する互に異なる構成を含む。第1通信インターフェイス228は第1制御インターフェイス222の技術又は類似の技術により構成される。
第1使用者インターフェイス218は使用者(図示されない)が第1装置102にインターフェイス及び相互作用することを許容する。第1使用者インターフェイス218は入力装置及び出力装置を含む。第1使用者インターフェイス218の入力装置の実施形態はキーパッド、タッチパッド、ソフトキー、キーボード、センサ、信号発生機、又はこのデータ通信入力を提供する任意の組合せを含む。
先ず、第1使用者インターフェイス218は第1ディスプレイインターフェイス230を含む。第1ディスプレイインターフェイス230はディスプレイ、プロジェクター、ビデオスクリーン、スピーカー、又はこの任意の組合せを含む。
第1制御ユニット212はコンピューティングシステム100によって発生された情報をディスプレイするために第1使用者インターフェイス218を動作させる。また、第1制御ユニット212は位置ユニット220から位置情報を受信するコンピューティングシステム100の他の機能のためのソフトウェアを実行する。第1制御ユニット212は第1通信ユニット216を通じてネットワーク104にインターフェイスする第1ソフトウェア226をさらに実行する。
第2装置106は第1装置102を有する複数の装置において、多様な実施形態を構成するために最適化される。第2装置106は第1装置102と比較して高い性能処理電力を提供する。第2装置106は第2制御ユニット234、第2通信ユニット236、及び第2使用者インターフェイス238を含む。
第2使用者インターフェイス238は使用者に第2装置106にインターフェイスし、相互作用することを許可する。第2使用者インターフェイス238は入力装置及び出力装置を含む。第2使用者インターフェイス238の入力装置の例はキーパッド、タッチパッド、ソフトキー、キーボード、マイクロフォン、又はそのデータと通信入力を提供する任意の組合せを含む。第2使用者インターフェイス238の出力装置は第2ディスプレイインターフェイス240を含む。第2ディスプレイインターフェイス240はディスプレイ、プロジェクター、ビデオスクリーン、スピーカー、又はこの任意の組合せを含む。
第2制御ユニット234はコンピューティングシステム100の第2装置106に知能を提供する第2ソフトウェア242を実行する。第2ソフトウェア242は第1ソフトウェア226と連接して動作する。第2制御ユニット234は第1制御ユニット212の追加性能を提供する。
第2制御ユニット234は情報を表示する第2使用者インターフェイス238を動作する。また、第2制御ユニット234はネットワーク104を通じて第1装置102と通信する第2通信ユニット236動作を含むコンピューティングシステム100の他の機能のための第2ソフトウェア242を実行する。
第2制御ユニット234は互に異なる方法により構成される。例えば、第2制御ユニット234はプロセッサ、埋め込み型プロセッサ、マイクロプロセッサ、ハードウェア制御ロジック、ハードウェア有限状態機械(FSM)、デジタル信号プロセッサ(DSP)、又はそれらの組合せであってもよい。
第2制御ユニット234は第2制御インターフェイス244を含む。第2制御インターフェイス244は第2装置106の第2制御ユニット234及び他の機能ユニットの間の通信に使用される。また、第2制御インターフェイス244は第2装置106の外部の通信のために使用される。
第2制御インターフェイス244は他の機能ユニット又は外部ソースから情報を受信するか、或いは他の機能ユニット又は外部目的地に情報を伝送する。外部ソースと外部目的地は第2装置106の外部にあるソースと目的地を指す。
第2制御インターフェイス244は多様な方式により構成され、機能ユニット又は外部ユニットが第2制御インターフェイス244にインターフェイスすることに依存する互に異なる実施形態を含む。例えば、第2制御インターフェイス244は圧力センサ、慣性センサ、マイクロ電子機械システム(MEMS)、光学回路、導波路、無線回路、有線回路、又はそれらの組合せを含む。
第2格納ユニット246は第2ソフトウェア242を格納する。また、第2格納ユニット246は広告、生体情報、関心地点、ナビゲーションルーティングエントリ、レビュー/レーティング、フィードバック、又はそれらの組合せのような関連情報を格納する。第2格納ユニット246は第1格納ユニット214を補充する付加的な格納容量を提供するようにサイズが定められる。
第2格納ユニット246はシングル素子として示したが、第2格納ユニット246は格納素子が分布されると理解されるべきである。また、コンピューティングシステム100は単一の階層格納システムとして第2格納ユニット246を示したが、コンピューティングシステム100は互に異なる構造の第2格納ユニット246を有するとして理解されるべきである。例えば、第2格納ユニット246はキャッシング、メーンメモリ、回転媒体又はオフライン格納の互に異なるレベルを有するメモリ階層システムを形成する互に異なる格納技術により形成される。
第2格納ユニット246は揮発性メモリ、不揮発性メモリ、内部メモリ、外部メモリ又はそれらの組合せであってもよい。例えば、第2格納ユニット246は不揮発性ランダムアクセスメモリ(NVRAM)、フラッシュメモリ、ディスク格納装置等の不揮発性格納装置、又は静的RAM(SRAM)のような揮発性格納装置であってもよい。
第2格納ユニット246は第2格納インターフェイス248を含む。第2格納インターフェイス248は第2装置106の位置ユニット220及び他の機能ユニットの間の通信のために使用される。また、第2格納インターフェイス248は第2装置106の外部との通信のために使用される。
第2格納インターフェイス248は他の機能ユニット又は外部ソースから情報を受信するか、或いは他の機能ユニット又は外部目的地に情報を伝送する。外部ソースと外部目的地は、第2装置106の外部にあるソースと目的地を指す。
第2格納インターフェイス248は機能ユニット又は外部ユニットが第2格納ユニット246とインターフェイスされることに依存する互に異なる構成を含む。第2格納インターフェイス248は第2制御インターフェイス244の構成と類似の技術により構成される。
第2通信ユニット236は第2装置106への、又は第2装置106からの外部通信を可能にさせる。例えば、第2通信ユニット236はネットワーク104を通じて第1装置102と通信することを第2装置106に許容する。
また、第2通信ユニット236はネットワーク104に対するエンドポイント又は端末機ユニットに制限されないネットワーク104の一部として機能を遂行するように第2装置106を許容する通信ハブとして機能を遂行する。例えば、第2通信ユニット236はネットワーク104と相互作用のためのマイクロ電子又はアンテナのような能動及び手動素子を含む。
第2通信ユニット236は第2通信インターフェイス250を含む。第2通信インターフェイス250は第2装置106において第2通信ユニット236及び他の機能ユニットの間の通信のために使用される。第2通信インターフェイス250は他の機能ユニットから情報を受信し、又は他の機能ユニットに情報を伝送する。
第2通信インターフェイス250は機能ユニットが第2通信ユニット236とインターフェイスすることに依存する互に異なる装置を含む。第2通信インターフェイス250は第2制御インターフェイス244の構成技術と類似に構成される。
第2通信インターフェイス250は第1装置伝送208から第2装置106に情報を伝送するようにネットワーク104に連結される。第2装置106はネットワーク104の第1装置伝送208から第2通信ユニット236により情報を受信する。
第2通信ユニット236は第2装置伝送210から第1装置102に情報を伝送するようにネットワーク104に連結される。第1装置102はネットワーク104の第2装置伝送210から第1通信ユニット216により情報を受信する。コンピューティングシステム100は第1制御ユニット212、第2制御ユニット234、又はそれらの組合せによって実行される。
第2装置106は第2使用者インターフェイス238、第2格納ユニット246、第2制御ユニット234、及び第2通信ユニット236を有するパーティションを図示したが、第2装置106は互に異なるパーティションを含むとして理解されるべきである。例えば、第2ソフトウェア242は機能の全体又は一部が第2制御ユニット234及び第2通信ユニット236になるように互いに異なって分割できる。また、第2装置106は明確性のために図2に図示しない他の機能ユニットを含むことができる。
第1装置102の機能的ユニットの各々は独立的に他の機能ユニットと作業を遂行する。第1装置102は第2装置106とネットワーク104から個別的、及び独立的に動作する。
第2装置106の機能的ユニットの各々は独立的に他の機能ユニットと作業を遂行する。第2装置106は第1装置102とネットワーク104から個別的、及び独立的に動作する。
コンピューティングシステム100を第1装置102及び第2装置106の動作によって説明した。第1装置102及び第2装置106はコンピューティングシステム100のブロック及び機能のいずれか一つを動作するとして理解されるべきである。例えば、第1装置102は位置ユニット220を動作するように説明したが、第2装置106が位置ユニット220を動作するとしても理解されるべきである。
図3は本発明の実施形態によるコンピューティングシステム100の追加的な例示ブロック図を示す。追加の例示ブロック図は図1の通信エンドポイント110を示す。通信エンドポイント110はスマート格納装置302、多機能格納装置304、感知装置306、プロセシングハブ308、他の機能(未図示)、又はそれらの組合せのデータプロバイダー116を含む。
スマート格納装置302は基本格納−アクセス機能に対して追加された能力を有してデータに対する格納、保管、及びアクセスするように構成された装置である。スマート格納装置302は、データを単に格納しアクセスする機能に追加してデータを処理する機能を提供する。スマート格納装置302は、格納されたデータ又はアクセスされたデータを処理して結果データを提供し、その結果データに対する格納又はアクセス操作を処理するため、又はそれらの組合せのための、回路、機能、又はそれらの組合せを含む。
スマート格納装置302は多機能格納装置304を含む。多機能格納装置304は複数のコンピューティングホスト、ホスト内の複数のホステッド仮想マシン、又はそれらの組合せを収容するためのデータを格納するか、或いは利用する装置である。
多機能格納装置304は共有メモリを利用するエンタープライズデータセンタのような複数のコンピューティングホスト及びそのホステッド仮想マシンからプロセシング要請112の複数のインスタンスを同時にサービスするように連結される。多機能格納装置304はエンタープライズSSD(solid state drive)格納装置を含む。
データプロバイダー116は格納装置の互に異なるタイプをさらに含む。例えば、データプロバイダー116は揮発性格納装置、不揮発性格納装置、又はそれらの組合せを含む。より具体的な例として、データプロバイダー116はディスクドライブ、DRAM、SRAM、フラッシュメモリ装置、NANDメモリ装置、他の不揮発性メモリ装置を含む分散メモリ又は分散形コンピューティングシステム、ディスクアレイ、その制御回路又は制御装置、又はそれらの組合せを含む。
感知装置306は環境又は感知装置と関連された対象と関連された情報を提供するように構成される装置又はその部分であってもよい。例えば、感知装置306は生体認証装置、位置又は動きの監視装置、環境モニタリング装置、又はそれらの組合せを含む。より具体的な例として、感知装置306は心臓モニタ、動きを追跡するGPS装置、加速度センサ、圧力センサ、温度計、光センサ、音響センサ、マイクロフォン、又はそれらの組合せを含む。
プロセシングハブ308は環境又は感知装置306と関連された対象に対して処理された出力を提供する装置又はその部分であってもよい。例えば、仮にIoT技術を含むコンピューティングシステム100は感知装置306を使用して多様な情報を検索する。感知装置306はサーバやスマートフォンのような処理装置に直接感知情報を提供する。また、例えば仮にIoT技術を含むコンピューティングシステム100は格納された情報をセンシング情報に結合する。
また、例えば感知装置306は感知された情報を要約するか、或いは中間処理を提供するプロセシングハブ308に感知された情報をさらに提供する。プロセシングハブ308はサーバ又は追加処理のためにスマートフォン等の通信エンドポイント110に要約又は中間出力を提供する。プロセシングハブ308はセンサデータを圧縮してセンサデータのためのパターンを計算して提供することによって、中間処理を要約するか、或いは提供し、センサデータを統計的に分析するグループ又はカテゴリーを提供し、それらの組合せを提供する。
プロセシングハブ308及び感知装置306は通信エンドポイント110であってもよい。プロセシングハブ308又は感知装置306は図1のプロセシング要請112を発生するか、或いは図1のクレジット管理メカニズム118を構成するデータプロバイダー116の機能を遂行するか、或いはそれらの組合せを提供する。
例えば、プロセシングハブ308はアップロードリソースを提供する感知装置に対して感知された情報又は中間結果を提供するサーバ又は/及びエンドユーザー装置のようなサービス装置、それらの組合せに対してデータプロバイダー116になる。また、例えば感知装置306は感知された情報を提供するプロセシングハブ308又はサービス装置に対してデータプロバイダー116の役割を遂行する。プロセシングハブ308、感知装置306、又はそれらの組合せはセンシング情報又はこの中間結果アクセスの全体リソース120を管理するクレジット管理メカニズム118を構成する。
データプロバイダー116は通信メカニズム310を含む。通信メカニズム310は装置の間又は装置の部分の間において情報を交換するための方法、過程、連結、又はそれらの組合せを含む。通信メカニズム310はワイヤ、バス、周波数、時間スロット、コード、プロトコル、又はそれらの組合せを含む。
例えば、通信メカニズム310は搬送波周波数、通信プロトコル、又はプロセシングハブ308、感知装置306、図1の第2装置106の間の通信のためのそれらの組合せを含む。また、通信メカニズム310は内部バス、外部バス、並列又は直列バス、又はそれらの組合せに対するバス、プロトコル、又はそれらの組合せを含む。より具体的な例として、通信メカニズム310はPCI(Peripheral Component Interconnect)標準でPCIe(PCI Express)標準、汎用直列バス(USB)、又はその他の拡張バス又はプロトコルを含む。
データプロバイダー116はプロセシングセグメント312を処理するためにプロセシング要請112を利用する。プロセシングセグメント312はデータプロバイダー116のための情報を処理するために利用されるリソースのユニットであってもよい。プロセシングセグメント312はデータプロバイダー116の情報を処理するためのプロセシング区間又は時間区間、メモリの分割、又はグループ、プロセシングサイクルの分割又は組合せを含む。
例えば、プロセシングセグメント312はデータプロバイダー116のためのクロック又は命令又は動作を遂行する時間区間を含む。また、例えばプロセシングセグメント312はコンピューティングシステム100によって事前に決定された時間の任意の区間又はコンピューティングシステム100によって確立されるか、或いは樹立されたセッションを含む。
データプロバイダー116はプロセシング要請112を処理するために全体リソース120を制御するダイナミックバジェッティングメカニズム314(dynamic budgeting mechanism)を使用する。ダイナミックバジェッティングメカニズム314は全体リソース120を割当するか、分配するか、管理するか、或いはそれらの組合せのための処理、方法、回路、方程式、又はそれらの組合せであってもよい。
ダイナミックバジェッティングメカニズム314はプロセシングセグメント312に基づく。ダイナミックバジェッティングメカニズム314はプロセシングセグメント312の一つ以上のインスタンスのための全体リソース120の一部を動的に割当する。ダイナミックバジェッティングメカニズム314はプロセシング要請112の受信、請求(soliciting)、予期(expecting)又はそれらの組合せに基づいてデータプロバイダー116の動作の中において全体リソース120、又はそれの部分を動的に割当する。
データプロバイダー116は要請ホスト316と通信する。要請ホスト316はプロセシング要請112が発生するか、或いは伝送する通信エンドポイント110のインスタンスであってもよい。要請ホスト316は装置又はその部分を含み、データプロバイダー116から分離される。
コンピューティングシステム100は要請ホスト316を表すためのホストプロフィール318を含む。ホストプロフィール318はデータプロバイダー116によってサービスが提供される要請ホスト316の一つ以上のインスタンスの説明であってもよい。ホストプロフィール318はデータプロバイダー116に連結されるか、或いは割当された要請ホスト316の一つ以上のインスタンスを説明する。
ホストプロフィール318は要請ホスト316とデータプロバイダー116との間の連結、データプロバイダー116によって提供される要請ホスト316に対する機能又はサービス、又はそれらの組合せを説明する。例えば、ホストプロフィール318は連結識別子320、物理機能識別子322、仮想機能識別子324、又はそれらの組合せを含む。
連結識別子320は要請ホスト316とデータプロバイダー116の間の連結に対する説明(description、詳細記述の識別子、以下、単に「説明」という)である。連結識別子320は装置の間の又は装置の部分の間の情報交換のために物理メカニズムを説明する。連結識別子320は要請ホスト316、データプロバイダー116、又はそれらの組合せにおけるポート、チャンネル、接続の細部事項や特性、又はそれらの組合せを示す。
物理機能識別子322はデータプロバイダー116によって提供される機能又は全体特徴又は全体機能に対する説明であり、またプロセシング要請112を通じた要請ホスト316に対するアクセス可能性に対する説明であってもよい。仮想機能識別子324はデータプロバイダー116によって提供されて対応する機能又は特徴、又はそれらの組合せに対する説明であり、またプロセッシング要請112を通じた要請ホスト316に対するアクセス可能性に対する説明であってもよい。
仮想機能識別子324は物理機能に包含された構成リソースを欠くことができる。例えば、物理機能識別子322、仮想機能識別子324、又はそれらの組合せは例えば、PCIeを有する通信メカニズム310に対応する。物理機能識別子322、仮想機能識別子324、又はそれらの組合せはデータプロバイダー116の可能な機能、過程、特徴、又はそれらの組合せをアクセスする又は構成することを示す。
例示したように、コンピューティングシステム100は通信及び格納システム等のデータセンタを含む。データセンタは要請ホスト316に要請ホスト316の複数のインスタンスを提供するデータプロバイダー116と一緒に複数のホストを収容するためのメモリ又はデータ格納のような共有されたリソースを使用する。要請ホスト316とデータプロバイダー116との間の通信メカニズム310はPCIeを含む。データプロバイダー116はスマート格納装置302、多機能格納装置304、又はそれらの組合せを含む。
また、一例として、コンピューティングシステム100は一つの装置内にデータプロバイダー116及び要請ホスト316を含む。データプロバイダー116は図2の第1格納ユニット214を含む。第1格納ユニット214は図2の第1制御ユニット212、図2の第1通信ユニット216、図2の第1使用者インターフェイス218、又はそれらの組合せを含む要請ホスト316をサービスする。また、データプロバイダー116は図2の第2格納ユニット246を含む。第2格納ユニット246は図2の第2制御ユニット234、図2の第2通信ユニット236、図2の第2使用者インターフェイス238、又はそれらの組合せを含む要請ホスト316をサービスする。
さらに詳細な例として、コンピューティングシステム100はデータ独立ディスク(RAID)の重複配列の全体システムとして構成されるデータプロバイダー116ドライブやストレージアレイを含む。その他の詳細な例として、コンピューティングシステム100はRAID内のドライブ又はストレージアレイ内の単一の個別ドライブ又はディスクとして構成されるデータプロバイダー116を含む。
データプロバイダー116は要請ホスト316の複数のインスタンスに関連した全体リソース120の使用を管理するクレジット管理メカニズム118を構成する。データプロバイダー116は要請ホスト316の各インスタンスを提供するように全体リソース120の適切な部分を分割して割当するためのクレジット管理メカニズム118を具現する。
データプロバイダー116はダイナミックバジェッティングメカニズム314を使用する。ダイナミックバジェッティングメカニズム314は要請ホスト316の各インスタンスのための現在又はプロジェクトされたプロセシング要求又は必要によって全体リソース120の部分を動的に分割及び割当する。
データプロバイダー116によって連結されて提供される要請ホスト316のすべてのインスタンスにおいて要請ホスト316の個別インスタンスは重要な互に異なる性能の要求事項を有する。このような性能の要求事項は重要なSLAマトリックスを満足することを補正するのに十分でなければならない。データプロバイダー116は対応するSLAによって要請ホスト316の各インスタンスにサービス(QoS)の測定又は性能パラメータの品質を提供することが期待される。
例えば、要請ホスト316の一つ以上のインスタンスは無意味なデータ伝送量又は高い帯域幅を含む高い要求移行率を要求する。また、例えば要請ホスト316の一つ以上のインスタンスの各々は相当のデータ伝送帯域幅を必要とする幾つかの要請を提示する。また、例えば要請ホスト316の一つ以上のインスタンスは、各正常プレゼンテーション要請レートを示し、各要請はほぼ均一な装置の成就応答時間(device−fulfillment response times)を要求する。また、例えば要請ホスト316の一つ以上のインスタンスが要請プレゼンテーションレートの予測不可能なバーストを示す。
データプロバイダー116は要請ホスト316のインスタンスに関連した多様な要求及び必要を動的に管理するクレジット管理メカニズム118を利用する。データプロバイダー116は他のホスト要請干渉にもかかわらず要請ホスト316のインスタンスが、それらの特定の性能要求を満足させるように活性化させるか、或いは最悪の場合にも、相対的優雅かつバランスのとれた方法によるそれらのSLAを失敗することをホストに許容する。
データプロバイダー116は多機能格納装置304を有するPCIeのような通信メカニズム310を利用する。また、データプロバイダー116はPCIeホストインターフェースを通じてPCIe物理ポートを露出する。PCIe装置は同時に装置に連結できるホストの個数を増加させながら、論理ホストの連結を提供するメカニズムの個数を増加させる。
図4は本発明の実施形態によるコンピューティングシステム100の制御フローを例示的に示す図である。図4を参照すれば、コンピューティングシステム100はコマンドフェッチブロック402、クレジットチェッカブロック404、コマンドプロセシングブロック406、コマンド補完ブロック408、又はそれらの組合せを含む。
ブロック、バッファ、ユニット、又はそれらの組合せは多様な方式により互いに連結される。例えば、ブロックは有線又は無線連結、学習段階、工程順序、又はそれらの組合せを使用して他の出力に連結された一つのブロックの入力を有することによって結合する。また、例えばブロック、バッファ、ユニット、又はそれらの組合せは中間構造無しに直接的に他のブロック、バッファ、ユニット、又はそれらの組合せの間の連結手段に直接的に連結される。または、ブロック、バッファ、ユニット、又はそれらの組合せはブロック、バッファ、ユニット、又はそれらの組合せによって他のブロック、バッファ、ユニット、又はそれらの組合せの間の連結手段によって間接的に連結される。
より具体的な例として、クレジットチェッカブロック404の一つ以上の入力又は出力はコマンドフェッチブロック402、コマンド補完ブロック408又はそれらの組合せの一つ以上の入力又は出力に直接的に連結される。このような直接連結は直接連結のためのコンダクタ又は動作連結を利用する。また、クレジットチェッカブロック404の一つ以上の入力又は出力はコマンドフェッチブロック402、コマンド補完ブロック408、又はそれらの組合せの一つ以上の入力又は出力に間接的に連結されることもできる。このような間接連結は間接連結のための他のユニット、ブロック、バッファ、装置、又はそれらの組合せを利用する。また、例えばコマンドフェッチブロック402、コマンド補完ブロック408、又はそれらの組合せは類似にコマンドプロセシングブロック406に連結される。また、コマンドフェッチブロック402、コマンド補完ブロック408、又はそれらの組合せは図3の要請ホスト316の一つ以上のインスタンスに直接的に又は間接的に連結されることもできる。
コマンドフェッチブロック402は図2の要請ホスト316の一つ以上のインスタンスとインターフェイスするように構成される。コマンドフェッチブロック402は図1のデータプロバイダー116のための要請ホスト316と通信する。
コマンドフェッチブロック402は多様な方法により要請ホスト316と通信する。例えば、コマンドフェッチブロック402は図1のプロセシング要請112のための要請ホスト316を遮断するか、或いは要請ホスト316からプロセシング要請112をフェッチする。また、例えばコマンドフェッチブロック402はプロセシング要請112を処理するためのデータプロバイダー116において要請ホスト316からプロセシング要請112を受信する。
コマンドフェッチブロック402はプロセシング要請112を通信するように、図2の第1通信ユニット216、第2通信ユニット236、又はそれらの組合せを使用する。コマンドフェッチブロック402はプロセシング要請112を通信するように、図2の第1格納インターフェイス224、第2格納インターフェイス248、第1制御インターフェイス222、第2制御インターフェイス244、及びその組合せをさらに使用する。コマンドフェッチブロック402はPCIeバス又はAXI(advanced extensible interface)バスのような通信メカニズム310(図3)をさらに使用する。
コマンドフェッチブロック402はプロフィールブロック403を含む。プロフィールブロック403は要請ホスト316の一つ以上のインスタンスを指示する図3のホストプロフィール318を判別する。プロフィールブロック403は図3の連結識別子320、物理機能識別子322、仮想機能識別子324、又はそれらの組合せを有するホストプロフィール318を判別する。
プロフィールブロック403は多様な方式によりホストプロフィール318を決定する。例えば、プロフィールブロック403はより具体的な例として、要請ホスト316の一つ以上のインスタンスを識別又は構成情報を通信に基づきホストプロフィール318を決定する。プロフィールブロック403は要請ホスト316から装置識別を受信するためにホストプロフィール318と通信する。プロフィールブロック403は要請ホスト316の対応するインスタンスに通信するために使用される連結識別子320を識別する。
また、例えばプロフィールブロック403はデータプロバイダー116に連結された要請ホスト316の各インスタンスに連関された事前に決定された情報に基づいてホストプロフィール318を判別する。プロフィールブロック403は機能の目録、構成情報、性能又は設定パラメータ、又はそれらの組合せを含む。
例を続けると、プロフィールブロック403はSLA又はQoSに基づいて機能の目録、構成情報、性能又は設定パラメータ、又はそれらの組合せを含む。プロフィールブロック403は要請ホスト316の各インスタンスに従って機能、構成情報、パラメータ、又はそれらの組合せに基づくホストプロフィール318を判別する。
より具体的な例として、プロフィールブロック403は構成情報に基づいて連結識別子320を判別する。また、さらに具体的な例として、プロフィールブロック403は機能の目録、性能又は設定パラメータ、又はそれらの組合せから物理機能識別子322、仮想機能識別子324、又はそれらの組合せを判別する。
また、例えばプロフィールブロック403はホストプロフィール318のインスタンス又はプロセシング要請112の入力インスタンスに対応するホストプロフィール318内の一部を選択するか、或いは識別することに基づいてホストプロフィール318を判別する。プロフィールブロック403はプロセシング要請112のインスタンスを伝送するか、或いは発生する要請ホスト316を識別することに基づいてホストプロフィール318を識別する。プロフィールブロック403はホストプロフィール318に対応するインスタンスを選択するように要請ホスト316に連関された識別情報又は連結識別子320を利用する。
コマンドフェッチブロック402はホストプロフィール318を判別するため、第1格納ユニット214、第2格納ユニット246、専用回路又は内部コンポーネント、又はそれらの組合せを使用する。コマンドフェッチブロック402はホストプロフィール318を判別するため、第1制御ユニット212、第2制御ユニット234、又はそれらの組合せをさらに使用する。コマンドフェッチブロック402は第1格納ユニット214、第2格納ユニット246、又はそれらの組合せによりホストプロフィール318を格納する。
より具体的な例として、コマンドフェッチブロック402は揮発性メモリ、不揮発性メモリ、内部メモリ、外部メモリ、又はそれらの組合せを使用する。例えば、不揮発性メモリはフラッシュメモリ、ディスク格納装置であり、揮発性メモリはSRAM又はDRAMであってもよい。コマンドフェッチブロック402はNANDメモリ装置、分散メモリ、又は分散型コンピューティングシステム、ディスクアレイ、制御回路、又は制御装置、又はそれらの組合せであってもよい。また、さらに具体的な例として、コマンドフェッチブロック402はプロセッサ、埋め込み型プロセッサ、マイクロプロセッサ、ハードウェア制御ロジック、ハードウェア有限状態機械(FSM)、デジタル信号プロセッサ(DSP)、受動回路素子、能動回路素子、メモリユニット/通信ユニットに含まれた制御回路又はそれらの組合せを含む。
コマンドフェッチブロック402は公知された格納ユニット又は事前に決定されたプロファイルにアクセスする。コマンドフェッチブロック402は、プロファイルを一致させるために、新しいプロファイルを発生するために、新しいプロファイルを格納するために、又はそれらの組合せのために一つ以上の格納ユニット又は制御ユニットを使用する。
コマンドフェッチブロック402はクレジットチェッカブロック404から情報を指定/格納情報を得る。コマンドフェッチブロック402は要請ホスト316の一つ以上のインスタンスに対応する図1の全体リソース120又は一部リソースの指定又は分割するためにプロンプトするか、或いは受信する。
制御フローはコマンドフェッチブロック402からクレジットチェッカブロック404に進行する。制御フローは多様な方式により進行できる。例えば、制御フローは他のブロックに進行した一つのブロックのプロセシング結果を有することにより進行する。これはまるで、ホストプロフィール318、プロセシング要請112、それらの初期又は中間インスタンス、又はそれらの組合せのようなプロセシング結果をコマンドフェッチブロック402からクレジットチェッカブロック404に進行することである。
また、例えば制御フローは、公知でありクレジットチェッカブロック404にアクセス可能な格納位置にホストプロフィール318又はプロセシング要請112を格納するように、公知でありクレジットチェッカブロック404にアクセス可能な格納位置にプロセシングの結果を格納することによって進行する。また、例えば制御フローはフラッグ、インタラプト、状態信号、又はそれらの組合せをクレジットチェッカブロック404に通知することによって進行する。
クレジットチェッカブロック404はプロセシング要請112を処理するための全体リソース120を管理するように構成される。クレジットチェッカブロック404は全体リソース120又はそれの部分を分割又は割当することによって全体リソース120を管理する。クレジットチェッカブロック404はインスタンスバジェット410、追加バジェット412、又はそれらの組合せの計算に基づいて全体リソース120を管理する。
インスタンスバジェット410は要請ホスト316の対応するインスタンス、プロセシング要請112の対応するインスタンス、又はそれらの組合せをサービスするために指定された全体リソース120の一部であってもよい。インスタンスバジェット410は図1のデータリソース122、プロセシングリソース124、又はそれらの組合せを割当する。これは要請ホスト316の対応するインスタンス、プロセシング要請112の対応するインスタンス、又はそれらの組合せをサービスするために設定される。
追加バジェット412はプロセシング要請112の他のインスタンス、要請ホスト316の他のインスタンス、又はそれらの組合せをサービスするために指定された全体リソース120の追加の一部であってもよい。追加バジェット412はインスタンスバジェット410から分離されて異なる。追加バジェット412は現在のプロセシング要請112、現在の要請ホスト316又はそれらの組合せと異なる要請ホスト316の追加インスタンス、プロセシング要請112の追加インスタンス、又はそれらの組合せを詳細化させる。
クレジットチェッカブロック404はデータプロバイダー116に連結されるか、或いはサービスされた要請ホスト316のすべてのインスタンスに対応する一つ以上のバジェットを計算する。クレジットチェッカブロック404はデータプロバイダー116に連結されるか、或いはサービスされた要請ホスト316の活性化された通信インスタンスに対応する一つ以上のバジェットをさらに計算する。
クレジットチェッカブロック404は図1のクレジット管理メカニズム118、図3のダイナミックバジェッティングメカニズム314、又はそれらの組合せを利用して、インスタンスバジェット410、追加バジェット412、又はそれらの組合せを計算する。例えば、クレジットチェッカブロック404はクレジット管理メカニズム118、ダイナミックバジェッティングメカニズム314、又はそれらの組合せによって要請ホスト316の対応するインスタンスのためのホストプロフィール318に基づいてインスタンスバジェット410、追加バジェット412、又はそれらの組合せを計算する。
さらに具体的な例として、クレジットチェッカブロック404は連結識別子320、物理機能識別子322、仮想機能識別子324、又はそれらの組合せに基づいてインスタンスバジェット410、追加バジェット412、又はそれらの組合せを計算する。また、さらに具体的な例として、クレジットチェッカブロック404はプロセシング要請112、要請ホスト316のアイデンティティ、又はそれらの組合せに基づいてインスタンスバジェット410、追加バジェット412、又はそれらの組合せを計算する。
さらに詳細には、PCIe物理ポート、物理機能、及び仮想機能の組合せはマルチ機能のPCIe格納装置のプロセシングリソースに連結されて共有する物理ホスト及び仮想マシンの個数を大きく増加させる。マルチ機能のPCIe格納装置はホストの間における干渉を管理するように設置されたホストのサービス又は仮想マシンのサービスを測定する。
例を続けると、クレジットチェッカブロック404はホスト又は仮想マシンがあまりにも多くの装置リソースを使用するか、或いは他の設置ホストに“ノイジーネイバー(noisy neighbor)”として活動する時を識別するクレジット基盤管理を構成するためにインスタンスバジェット410、追加バジェット412、又はそれらの組合せを計算する。クレジットチェッカブロック404はデータ伝送帯域のようなデータリソース122、コマンドカウントのようなプロセシングリソース124、又はそれらの組合せを制限するためにインスタンスバジェット410、追加バジェット412、又はそれらの組合せを計算する。
クレジットチェッカブロック404はインスタンスバジェット410、追加バジェット412、及びその組合せを計算する過程において、クレジット管理メカニズム118、ダイナミックバジェッティングメカニズム314、又はそれらの組合せのための過程、方法、方程式、回路、又はそれらの組合せを使用する。コマンドフェッチブロック402はクレジット管理メカニズム118、ダイナミックバジェッティングメカニズム314、又はそれらの組合せのための入力パラメータとしてプロセシング要請112、プロセシング要請112に連関された要請ホスト316のアイデンティティ、ホストプロフィール318、又はそれらの組合せを使用する。
例えば、クレジットチェッカブロック404は要請ホスト316の各々に対応するタイプ又はカテゴリに対応する比率、優先権、加重値、又はそれらの組合せを含む。また、例えばクレジットチェッカブロック404はプロセシング要請112のタイプ又は特殊なインスタンスに対応する比率、優先権、加重値、又はそれらの組合せを含む。また、例えばクレジットチェッカブロック404は要請ホスト316の各々のためのSLAに対応する比率、優先権、加重値、又はそれらの組合せを含む。
クレジットチェッカブロック404は比率、優先権、加重値、又はそれらの組合せによって全体リソース120を分割することに基づいてインスタンスバジェット410、追加バジェット412、及びその組合せを計算する。さらに詳細に、クレジットチェッカブロック404はプロセシングセグメント312の現在インスタンスにおいて、比率構成、優先権、加重値、又はそれらの組合せのための全体を計算する。
クレジットチェッカブロック404はプロセシングセグメント312のための全体リソース120内のシングルユニットを計算するため、計算された全体によって全体リソース120を分割する。クレジットチェッカブロック404は要請ホスト316、特殊プロセシング要請112、SLA、又はそれらの組合せに対応するインスタンスに関連された比率、優先権、加重値、又はそれらの組合せによって全体リソース120のシングルユニットを乗算することに基づいてインスタンスバジェット410、追加バジェット412、及びその組合せを計算する。
クレジットチェッカブロック404は図1の通信エンドポイント110の中の一つにおいてインスタンスバジェット410、追加バジェット412、及びその組合せをさらに計算する。クレジットチェッカブロック404は通信エンドポイント110のいずれか一つ、プロセシング要請112、又はプロセシング要請112のための専用又は拡張されたリソースの量を制御する。
クレジットチェッカブロック404はデータプロバイダー116においてバジェットを計算する。クレジットチェッカブロック404はプロセシング要請112を実行するか、或いは具現するためのデータプロバイダー116によりリソースの使用をさらに制御する。クレジットチェッカブロック404は図3のスマート格納装置302、多機能格納装置304、感知装置306、プロセシングハブ308、又はそれらの組合せを含むデータプロバイダー116により計算するか、或いは制御する。
クレジットチェッカブロック404は入出力(IO)読出し/書込み要請を有するプロセシング要請112の係留中のインスタンスを優先するため、インスタンスバジェット410、追加バジェット412、及びその組合せを計算する。クレジットチェッカブロック404は要請ホスト316及び要請ホスト316のための計算されたバジェットによってプロセシング要請112の係留中のインスタンスを優先する。
クレジットチェッカブロック404は図3のプロセシングセグメント312のためのインスタンスバジェット410、追加バジェット412、及びその組合せを計算する。クレジットチェッカブロック404はプロセシング要請112の処理のためのプロセシングセグメント312のインスタンスに対応する全体リソース120の分割を制御するためにインスタンスバジェット410、追加バジェット412、及びその組合せを計算する。
クレジットチェッカブロック404はプロセシングセグメント312の各インスタンスのためのインスタンスバジェット410、追加バジェット412、及びその組合せを計算するためにダイナミックバジェッティングメカニズム314を使用する。クレジットチェッカブロック404はプロセシング要請112を処理するためのプロセシングセグメント312に対応するインスタンスの内に使用されたリソースの量を制御するか、制限するか、或いは指定するためにインスタンスバジェット410、追加バジェット412、及びその組合せを計算する。
コマンドプロセシングブロック406は対応するバジェットによってプロセシング要請112を処理する。下記において、このような処理に対して詳細に説明する。
クレジットチェッカブロック404は次の要求の予測又は推定に基づいてインスタンスバジェット410、追加バジェット412、及びその組合せを計算する。
予測ブロック416は要請ホスト316の一つ以上のインスタンスからリソースのための要求又は要請を予測するか、或いは推定するように構成される。予測ブロック416はプロセシングセグメント312の現在インスタンス又は次(upcoming)のインスタンスを予測するか、或いは推定する。
予測ブロック416は消費予測418を計算することに基づいて予測するか、或いは推定する。消費予測418は要請ホスト316の一つ以上のインスタンスからリソースのための要求及び要請の推定であってもよい。消費予測418はプロセシングセグメント312の現在インスタンス又は次のインスタンスのための要求又は要請を予測する。
消費予測418は要請ホスト316又は他のホストに対応するインスタンスからプロセシング要請112の現在又は次のインスタンスを推定することを根拠にする。消費予測418はインストラクションを残すこと又はプロセシング要請112の現在インスタンスの一部を処理することを根拠にする。
装置アクセスクレジット420はプロセシングセグメント312の利用に対応する。コマンドプロセシングブロック406は、プロセシングセグメント312の各インスタンスのために開始と終了部分のような装置アクセスクレジット420をリセットする。
例えば、コマンドプロセシングブロック406は要請ホスト316に対応するインスタンスからプロセシング要請112を処理するためにプロセシングリソース124を追跡しながら、実行されるコマンド又はインストラクションの個数をカウントする。また、例えばコマンドプロセシングブロック406は要請ホスト316に対応するインスタンスからプロセシング要請112を処理するためにデータリソース122を追跡しながら、データの帯域幅又は伝送比率を測定する。
コマンドプロセシングブロック406は、要請ホスト316に対応するバジェットを超過することなく、残り又は使用されたクレジットに基づいてプロセシング結果114を発生する。コマンドプロセシングブロック406は装置アクセスクレジット420、追加アクセスクレジット422、又はそれらの組合せがインスタンスバジェット410、追加バジェット412、又はそれらの組合せに合致する時に処理を中断する。
コマンドプロセシングブロック406は停止点までの過程の出力としてプロセシング結果114を発生する。コマンドプロセシングブロック406はバランスがバジェットの最後に到達したか否かを示すクレジット枯渇状態424を設定する。
コマンドプロセシングブロック406はクレジットチェッカブロック404、コマンド補完ブロック408、又はそれらの組合せにクレジット枯渇状態424、クレジット量の残り個数、又はそれらの組合せを通信するか、或いは通過する。クレジットチェッカブロック404は消費予測418を計算して、インスタンスバジェット410を調節し、それらの組合せのためにクレジット枯渇状態424、バランス、又はそれらの組合せを利用する。
データプロバイダー116におけるバランスに合わせて構成されたバジェットは信頼性及び予測可能性を増加させることが明らかになった。データプロバイダー116はバランスを反映して実際に使用データを有する実時間に全体リソース120を制御する。データプロバイダー116における実際使用データは、中間ネットワークコンポーネント108又は第1装置102を含む要請ホスト316において予測が外れる洞察を提供する。バランス及びバジェットに基づいた制御は複数のホストの間の衝突を抑えながら、これによりコンピューティングシステム100の信頼性及び予測可能性を向上させる。
制御フローはコマンドプロセシングブロック406からコマンド補完ブロック408に進行する。制御フローは、装置アクセスクレジット420、追加アクセスクレジット422、クレジット枯渇状態424又はそれらの組合せのようなコマンドプロセシングブロック406のプロセシングの結果を利用して上述したように装置アクセスクレジット420とクレジットチェッカブロック404の間を進行する。
コマンド補完ブロック408はプロセシング要請112の処理を完了するように構成される。コマンド補完ブロック408はプロセシング要請112を発生させる要請ホスト316に対するプロセシング結果114を通信することによって完了する。
コマンド補完ブロック408は一つ以上のクレジットをさらに返す。コマンド補完ブロック408はクレジットチェッカブロック404に対してインスタンスバジェット410、追加バジェット412、又はそれらの組合せを返すことによって一つ以上のクレジットを返す。コマンド補完ブロック408はインスタンスバジェット410、追加バジェット412、又はそれらの組合せを再設定することによってクレジットをさらに返す。
コマンド補完ブロック408は要請ホスト316のインスタンスに対応してクレジット枯渇状態424、バランス、又はそれらの組合せを通過するか、或いはそれらと通信する。要請ホスト316はデータプロバイダー116からクレジット枯渇状態424、バランス、又はそれらの組合せに基づいてプロセシング要請112の連続的なインスタンス又は他の任意処理を調節する。
バジェット、バランス、クレジット枯渇状態424又はそれらの組合せのようなデータプロバイダー116から通信に基づいたプロセシング要請112は全体性能の向上を提供すると明らかになった。データプロバイダー116から直接的なフィードバックはバジェッティングを通じたホストから処理を調節しながら、フィードバックを通じた各ホストにおいて処理を調節するのに利用される。他のホストと共にデータプロバイダー116の能力に関する直接的なフィードバックはブラインドシステム又は中間ネットワークコンポーネント108によって発生されたフィードバックがあるところから洞察を提供する。このような洞察は全体の性能向上のために調節するのに利用される。さらに、時間に対する装置の効率性も増大する。
クレジットチェッカブロック404はプロセシングリソース124のためのバジェットを計算し、コマンドカウントクレジットを具現する。データプロバイダー116は時間の任意の地点においてデータプロバイダー116によってサービスされるか、実行される個別コマンドの個数を制限するか、或いは制御するようにコマンドカウントクレジットを使用する。この限界に到達するか、或いはクレジットが消尽されると、データプロバイダー116は追加コマンドフェッチ及び処理を中止する。
コマンドカウントクレジットが許容するか、或いはホストが装置フェッチサイクル以前に提出されたエンティティ(entity)のためのPCIeコマンドをデータプロバイダー116はエンティティリストの始まりを開始して処理する。その後に、データプロバイダー116はコマンドカウントクレジットを許容するエンティティのためのPCIeコマンドを処理するように次のリストエントリに対する次のエンティティに移動する。データプロバイダー116はデータプロバイダー116がリストの最後に到達するまで上述した過程を継続する。その後に、データプロバイダー116はこれを繰り返する。
クレジットチェッカブロック404はデータリソース122のためのバジェットを計算する。クレジットチェッカブロック404は機能又はグループ機能、又は全体のホスト、アプリケーション、又は装置、又はそれに対応するグループのために伝送されたバイトの個数を制限するため、データプロバイダー116のための方法を提供するデータ伝送帯域クレジットを具現する。このような制限は伝送帯域能力のために競争する他の機能又はグループのためのコマンド伝送を処理するために開始される前に賦課される。
データプロバイダー116は伝送コマンドのための伝送動作を待機する前に装置フェッチサイクルの以前に伝送帯域クレジットが許容するか、或いはホストが提出したエンティティのためのデータを、エンティティリストの始まりを開始して伝送する。その後に、データプロバイダー116はデータ帯域クレジットが許容するエンティティのためのバイトを伝送するためにエンティティリストに対する次のエンティティに移動する。データプロバイダー116は装置がリストの最後に到達するまで過程を継続する。その後、データプロバイダー116はこれらを繰り返す。
インスタンスバジェット410、追加バジェット412、又はそれらの組合せは要請ホスト316を通じて使用されるか、或いは通信される装置の間の情報により物理的変形を引き起こす。物理界の移動は消費予測418又は将来要求にアップデートを引き起こす。消費予測418又は将来要求はコンピューティングシステム100にフィードバックされ、インスタンスバジェット410、追加バジェット412、又はそれらの組合せの連続的なインスタンスが発生する。
コンピューティングシステム100は一例としてモジュールの機能又は命令として説明される。コンピューティングシステム100は互いに異なったモジュールが区分されるか、或いは互いに異なったモジュールが要求される。例えば、コマンドプロセシングブロック406及びコマンド補完ブロック408は併合される。また、例えばクレジットチェッカブロック404はバジェットを計算することにより初期化され、その後にコマンドフェッチブロック402はプロセシング要請112をもたらす。
また、例えばコマンド補完ブロック408はクレジットチェッカブロック404に、クレジット又はバジェットを返す。また、例えばコマンドフェッチブロック402は使用又はバランスを追跡する。
図示したように、コンピューティングシステム100は制御フローに従い反復的に進行する。制御フローは反復の間にコマンドフェッチブロック402及びクレジットチェッカブロック404の間を繰り返す。制御フローはホストを識別及びインターフェースするためにホストによって全体リソース120を管理するため、コマンドフェッチブロック402及びクレジットチェッカブロック404の間を反復する。
例を続けると、制御フローは上述したようにクレジットチェッカブロック404からコマンドプロセシングブロック406に進行する。制御フローはホストの知られた、或いは識別されたインスタンスの処理/計算の閾値条件に合うとコマンドプロセシングブロック406に進行する。制御フローはクレジットチェッカブロック404及びコマンドプロセシングブロック406の間を反復する。制御フローは上述したようにコマンドプロセシングブロック406からコマンド補完ブロック408に進行する。制御フローは結果が発生するか、或いは要請に対応する内部過程を完了して、閾値条件を満足することに基づいて進行する。
例示的な例を続けると、制御フローは上述したようにクレジットチェッカブロック404からコマンド補完ブロック408に進行する。コマンド補完ブロック408は結果を提供するか、或いは公知目的のためにホストと通信する。クレジットチェッカブロック404は上述したようにクレジットを処理するか、或いはアップデートし、反復を行う。
図5は本発明の実施形態によるコンピューティングシステム100の動作の方法500を例示的に示すフローチャートである。図5を参照すれば、方法500はプロセシング要請に対応するホスト要請を示すホストプロファイルを判別する段階502、及び通信エンドポイントにおいて前記プロセシング要請を制御するための通信エンドポイントの全体リソース120から前記通信エンドポイント110のインスタンスバジェットを計算する段階504を含む。
ブロック502は連結識別子、物理機能識別子、仮想機能識別子、又はそれらの組合せに基づいてホストプロファイルを判別することをさらに含む。
ブロック504は、プロセシングセグメントの次のインスタンスのための装置アクセスクレジットを予測するための消費予測を計算する段階、プロセシング要請112を処理するためのデータプロバイダー116を含む前記通信エンドポイント110において前記インスタンスバジェット410を計算する段階、連結識別子320、物理機能識別子322、仮想機能識別子324、又はそれらの組合せに基づいてインスタンスバジェット410を計算する段階、通信エンドポイント110においてプロセシング要請112を処理するためのプロセシングセグメント312のインスタンスに対応する装置バジェットを計算する段階、又はそれらの組合せを含む。
結論的な方法、過程、器具、装置、製品、及び/又はシステムは、簡単な費用の効率的な合計、非常に多様な正確さ、敏感さ、効果的であり、既に、効率的及び経済的な製造、応用、及び活用によって具現される。本発明の実施形態のその他の重要な側面は性能を増加させながら、費用を節減してシステムを簡略にする傾向を提供できることである。
このような本発明の実施形態による他の側面は次のレベルの技術状態を促進する。
上述した方法段階は入力データに対して動作すること、及び出力生成することにより、機能を遂行するためのコンピュータプログラムを実行する一つ以上のプログラミング可能なプロセッサによって遂行される。また、方法段階は特殊目的論理回路、例えば、FPGA(field programmable gate array)又はASIC(application−specific integrated circuit)により具現できる。
実施形態において、コンピュータ読出し可能媒体は上述した方法の中の少なくとも一部を遂行するように装置を活性させるインストラクションを含む。実施形態において、コンピュータ読出し可能媒体は磁氣媒体、光学媒体、他の媒体、又はこれらの組合せを含む(例えば、CD−ROM、ハードドライブ、読出し専用メモリ、フラッシュドライブ等)。実施形態において、コンピュータ読出し可能媒体は実際に非一時的に具現された物品(article)であってもよい。
一方、上述した本発明の内容は、発明を実施するための具体的な実施形態に過ぎない。本発明は具体的で実際に利用できる手段自体だけではなく、将来の技術に活用できる抽象的で概念的なアイディアである技術的思想を含む。
100 コンピューティングシステム
102 第1装置
104 ネットワーク
106 第2装置
108 中間ネットワークコンポーネント
110 通信エンドポイント
112 プロセシング要請
114 プロセシング結果
116 データプロバイダー
118 クレジット管理メカニズム
120 全体リソース
122 データリソース
124 プロセシングリソース
208 第1装置伝送
210 第2装置伝送
212 第1制御ユニット
214 第1格納ユニット
216 第1通信ユニット
218 第1使用者インターフェイス
220 位置ユニット
222 第1制御インターフェイス
224 第1格納インターフェイス
226 第1ソフトウェア
228 第1通信インターフェイス
230 第1ディスプレイインターフェイス
232 位置インターフェイス
234 第2制御ユニット
236 第2通信ユニット
238 第2使用者インターフェイス
240 第2ディスプレイインターフェイス
242 第2ソフトウェア
244 第2制御インターフェイス
246 第2格納ユニット
248 第2格納インターフェイス
250 第2通信インターフェイス
302 スマート格納装置
304 多機能格納装置
306 感知装置
308 プロセシングハブ
310 通信メカニズム
312 プロセシングセグメント
314 ダイナミックバジェッティングメカニズム
316 要請ホスト
318 ホストプロフィール
320 連結識別子
322 物理機能識別子
324 仮想機能識別子
402 コマンドフェッチブロック
403 プロフィールブロック
404 クレジットチェッカブロック
406 コマンドプロセシングブロック
408 コマンド補完ブロック
410 インスタンスバジェット
412 追加バジェット
416 予測ブロック
418 消費予測
420 装置アクセスクレジット
422 追加アクセスクレジット
424 クレジット枯渇状態

Claims (20)

  1. プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別するコマンドフェッチブロック(command fetch block)と、
    前記コマンドフェッチブロックに連結され、通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェット(instance budget)を計算するように構成されたクレジットチェッカブロック(credit checker block)と、を含むことを特徴とするコンピューティングシステム。
  2. 前記クレジットチェッカブロックは、
    プロセシングセグメントの次(upcoming)のインスタンスのための装置アクセスクレジット(device access credit)を予測するために消費予測を計算し、
    前記消費予測に基づいて前記インスタンスバジェットを計算するように構成されることを特徴とする請求項1に記載のコンピューティングシステム。
  3. 前記クレジットチェッカブロックは、前記プロセシング要請を処理するためのデータプロバイダーを有する前記通信エンドポイントにおいて前記インスタンスバジェットを計算するように構成されることを特徴とする請求項1に記載のコンピューティングシステム。
  4. 前記コマンドフェッチブロックは、前記要請ホストを表すための連結識別子(connection identifier)、物理機能識別子(physical function identifier )、及び仮想機能識別子(virtual function identifier)の中の少なくとも一つを含む前記ホストプロファイルを判別するように構成され、
    前記クレジットチェッカブロックは、前記連結識別子、前記物理機能識別子、及び前記仮想機能識別子の中の少なくとも1つに基づいて前記インスタンスバジェットを計算するように構成されることを特徴とする請求項1に記載のコンピューティングシステム。
  5. 前記クレジットチェッカブロックは、前記通信エンドポイントにおいて前記プロセシング要請を処理するためにプロセシングセグメントに対応する前記インスタンスバジェットを計算するように構成されることを特徴とする請求項1に記載のコンピューティングシステム。
  6. 前記コマンドフェッチブロックは、前記要請ホストから前記プロセシング要請を処理するために前記通信エンドポイントにおいて前記プロセシング要請を受信するように構成され、
    前記クレジットチェッカブロックは、前記プロセシング要請に基づいてプロセシングセグメントのための前記インスタンスバジェットを計算するように構成され、
    前記コマンドフェッチブロックに連結され、前記プロセシング要請に応答して前記インスタンスバジェットによって前記通信エンドポイントにおいてプロセシング結果が発生するコマンド処理ブロックをさらに含み、
    前記プロセシング結果は、前記プロセシングセグメントに対応することを特徴とする請求項1に記載のコンピューティングシステム。
  7. 前記クレジットチェッカブロックは、
    プロセシングセグメントのための装置アクセスクレジットを予測するために前記ホストプロファイル、及び前記プロセシング要請の中の少なくとも一つに基づいて消費予測を計算し、
    前記消費予測に基づいて前記インスタンスバジェットを計算するように構成されることを特徴とする請求項1に記載のコンピューティングシステム。
  8. 前記クレジットチェッカブロックは、前記プロセシング結果のために前記プロセシング要請を処理するためのスマート格納装置を有する前記通信エンドポイントにおいて前記インスタンスバジェットを計算するように構成されることを特徴とする請求項6に記載のコンピューティングシステム。
  9. コマンドプロセシングブロックは、
    前記要請ホストのために利用された前記全体リソースを表すための装置アクセスクレジットを計算し、
    前記インスタンスバジェットを超過しないアクセスクレジットを有する前記プロセシング結果が発生するように構成されることを特徴とする請求項6に記載のコンピューティングシステム。
  10. コマンドプロセシングブロックは、
    前記プロセシングセグメントの間に前記要請ホストのために利用された前記全体リソースを表すための前記プロセシングセグメントに対応する装置アクセスクレジットを計算し、
    前記プロセシングセグメントの各々のインスタンスのための前記装置アクセスクレジットをリセットするように構成されることを特徴とする請求項6に記載のコンピューティングシステム。
  11. コンピューティングシステムの動作方法において、
    プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別する段階と、
    通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェットを計算する段階と、を含むことを特徴とする方法。
  12. 前記インスタンスバジェットを計算する段階は、
    プロセシングセグメントの次(upcoming)のインスタンスのための装置アクセスクレジットを予測するために消費予測を計算する段階と、
    前記消費予測に基づいて前記インスタンスバジェットを計算する段階と、を含むことを特徴とする請求項11に記載の方法。
  13. 前記インスタンスバジェットを計算する段階は、
    前記プロセシング要請を処理するためのデータプロバイダーを有する前記通信エンドポイントにおいて前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項11に記載の方法。
  14. 前記ホストプロファイルを判別する段階は、前記要請ホストを表すための連結識別子、物理機能識別子、及び仮想機能識別子の中の少なくとも一つを有する前記ホストプロファイル判別する段階を含み、
    前記インスタンスバジェットを計算する段階は、前記連結識別子、前記物理機能識別子、及び前記仮想機能識別子の中の少なくとも一つに基づいて前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項11に記載の方法。
  15. 前記インスタンスバジェットを計算する段階は、前記通信エンドポイントにおいて前記プロセシング要請を処理するためのプロセシングセグメントのインスタンスに対応する前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項11に記載の方法。
  16. プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別する段階と、
    通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェットを計算する段階と、を遂行するコンピューティングシステムのためのインストラクションを有することを特徴とする非一時的コンピュータ読出し可能媒体。
  17. 前記インスタンスバジェットを計算する段階は、
    プロセシングセグメントの次(upcoming)のインスタンスのための装置アクセスクレジットを予測するために消費予測を計算する段階と、
    前記消費予測に基づいて前記インスタンスバジェットを計算する段階と、を含むことを特徴とする請求項16に記載の非一時的コンピュータ読出し可能媒体。
  18. 前記インスタンスバジェットを計算する段階は、
    前記プロセシング要請を処理するためのデータプロバーダーを有する前記通信エンドポイントにおける前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項16に記載の非一時的コンピュータ読出し可能媒体。
  19. 前記ホストプロファイルを判別する段階は、前記要請ホストを表すための連結識別子、物理機能識別子、及び仮想機能識別子の中の少なくとも一つを有する前記ホストプロファイル判別する段階を含み、
    前記インスタンスバジェットを計算する段階は、前記連結識別子、前記物理機能識別子、及び前記仮想機能識別子の中の少なくとも一つに基づいて前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項16に記載の非一時的コンピュータ読出し可能媒体。
  20. 前記インスタンスバジェットを計算する段階は、前記通信エンドポイントにおいて前記プロセシング要請を処理するためのプロセシングセグメントのインスタンスに対応する前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項16に記載の非一時的コンピュータ読出し可能媒体。
JP2016134856A 2015-07-10 2016-07-07 コンピューティングシステム、及びそのリソース管理方法、並びにコンピューティングシステムのための記録媒体 Pending JP2017021798A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562190897P 2015-07-10 2015-07-10
US62/190897 2015-07-10
US14/849202 2015-09-09
US14/849,202 US10296383B2 (en) 2015-07-10 2015-09-09 Computing system with resource management mechanism and method of operation thereof

Publications (2)

Publication Number Publication Date
JP2017021798A true JP2017021798A (ja) 2017-01-26
JP2017021798A5 JP2017021798A5 (ja) 2019-08-08

Family

ID=57730981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016134856A Pending JP2017021798A (ja) 2015-07-10 2016-07-07 コンピューティングシステム、及びそのリソース管理方法、並びにコンピューティングシステムのための記録媒体

Country Status (4)

Country Link
US (3) US10296383B2 (ja)
JP (1) JP2017021798A (ja)
KR (1) KR102362687B1 (ja)
CN (1) CN106339052B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016207931A1 (ja) * 2015-06-26 2016-12-29 株式会社三井住友銀行 ストラクチャードファイナンスの与信管理のための銀行システム、方法およびプログラム
JP6596752B2 (ja) * 2016-06-24 2019-10-30 本田技研工業株式会社 車体下部構造
CN111382163B (zh) * 2018-12-27 2023-03-21 技嘉科技股份有限公司 效能管理系统、提供和更新效能参数的方法及存储媒体
US11748285B1 (en) * 2019-06-25 2023-09-05 Amazon Technologies, Inc. Transaction ordering management
US11620053B2 (en) * 2019-10-24 2023-04-04 Micron Technology, Inc. Quality of service for the multiple functions in memory devices
US11687244B2 (en) 2019-10-24 2023-06-27 Micron Technology, Inc. Quality of service for memory devices using weighted memory access operation types
KR102154213B1 (ko) 2020-04-06 2020-09-09 임대규 수중발파 작업용 작업대
US20220407931A1 (en) * 2021-06-17 2022-12-22 EMC IP Holding Company LLC Method to provide sla based access to cloud data in backup servers with multi cloud storage
CN117539613B (zh) * 2023-09-27 2024-05-17 上海麦杰科技股份有限公司广州分公司 一种在分布式计算系统中管理共享资源方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591339B1 (en) 1999-05-03 2003-07-08 3Ware, Inc. Methods and systems for selecting block sizes for use with disk arrays
CN1677956A (zh) * 2004-03-31 2005-10-05 松下电器产业株式会社 资源管理装置、资源管理系统以及资源管理方法
US8091088B2 (en) 2005-02-22 2012-01-03 Microsoft Corporation Method and system for hierarchical resource management involving hard and soft resource limits
JP2006235960A (ja) 2005-02-24 2006-09-07 Fujitsu Ltd ガーベッジコレクション高速化方法
US7478178B2 (en) 2005-04-22 2009-01-13 Sun Microsystems, Inc. Virtualization for device sharing
US7675929B1 (en) 2006-01-03 2010-03-09 Emc Corporation Method and system for managing data flow in a data transmission system
US8087026B2 (en) * 2006-04-27 2011-12-27 International Business Machines Corporation Fair share scheduling based on an individual user's resource usage and the tracking of that usage
US7698251B2 (en) 2006-04-27 2010-04-13 International Business Machines Corporation Fault tolerant facility for the aggregation of data from multiple processing units
US8205205B2 (en) * 2007-03-16 2012-06-19 Sap Ag Multi-objective allocation of computational jobs in client-server or hosting environments
US8139575B2 (en) 2007-06-29 2012-03-20 International Business Machines Corporation Device, system and method of modification of PCI express packet digest
US8146099B2 (en) 2007-09-27 2012-03-27 Microsoft Corporation Service-oriented pipeline based architecture
US7869356B2 (en) * 2007-12-18 2011-01-11 Plx Technology, Inc. Dynamic buffer pool in PCIExpress switches
CN100570569C (zh) * 2008-06-13 2009-12-16 南京邮电大学 网格计算环境下的作业跨域控制方法
US8247000B2 (en) * 2009-04-10 2012-08-21 Cypress Pharmaceutical, Inc. Phosphate-binding magnesium salts and uses thereof
US8589936B2 (en) 2010-03-16 2013-11-19 Alcatel Lucent Method and apparatus for managing reallocation of system resources
WO2012020544A1 (ja) 2010-08-11 2012-02-16 日本電気株式会社 データ処理システム、データ処理方法、およびプログラム
US8521941B2 (en) * 2010-12-28 2013-08-27 Plx Technology, Inc. Multi-root sharing of single-root input/output virtualization
WO2012176277A1 (ja) * 2011-06-21 2012-12-27 富士通株式会社 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
US8818276B2 (en) * 2012-05-16 2014-08-26 Nokia Corporation Method, apparatus, and computer program product for controlling network access to guest apparatus based on presence of hosting apparatus
CN103092699A (zh) * 2013-01-10 2013-05-08 中国南方电网有限责任公司超高压输电公司 一种云计算资源预分配实现方法
US10574748B2 (en) * 2013-03-21 2020-02-25 Infosys Limited Systems and methods for allocating one or more resources in a composite cloud environment
US9871741B2 (en) * 2014-03-10 2018-01-16 Microsoft Technology Licensing, Llc Resource management based on device-specific or user-specific resource usage profiles
US9756361B2 (en) * 2014-07-25 2017-09-05 Verizon Patent And Licensing Inc. On-demand load balancer and virtual live slicer server farm for program ingest
CN105743808B (zh) * 2014-12-08 2017-09-19 华为技术有限公司 一种适配QoS的方法和装置
US9459905B2 (en) * 2014-12-16 2016-10-04 International Business Machines Corporation Implementing dynamic SRIOV virtual function resizing
US10114675B2 (en) * 2015-03-31 2018-10-30 Toshiba Memory Corporation Apparatus and method of managing shared resources in achieving IO virtualization in a storage device

Also Published As

Publication number Publication date
US20170010916A1 (en) 2017-01-12
US20220027196A1 (en) 2022-01-27
US11144351B2 (en) 2021-10-12
KR20170007095A (ko) 2017-01-18
KR102362687B1 (ko) 2022-02-14
CN106339052A (zh) 2017-01-18
CN106339052B (zh) 2021-04-06
US20190220313A1 (en) 2019-07-18
US10296383B2 (en) 2019-05-21
US11995465B2 (en) 2024-05-28

Similar Documents

Publication Publication Date Title
US11995465B2 (en) Computing system with resource management mechanism and method of operation thereof
US10200261B2 (en) Multiple-computing-node system job node selection
US9146716B2 (en) Automatic resource balancing for multi-device applications
US9213573B2 (en) Management of prioritizing virtual machines in an operating environment
US9619292B2 (en) Resource placement in networked cloud based on resource constraints
KR101977726B1 (ko) 가상 데스크탑 서비스 방법 및 장치
US9465622B2 (en) Application defined computing component configuration
KR101793014B1 (ko) 비정상 데이터의 병합식 클러스터링을 위한 병렬 방법
KR102505855B1 (ko) 가중치 기반 멀티-큐 가능 리소스 공유 방법
EP3968159A1 (en) Performance monitoring in a distributed storage system
US9722947B2 (en) Managing task in mobile device
US9535770B2 (en) Electronic system with offloading mechanism and method of operation thereof
US10469335B2 (en) Service placement on hosts for a consumer based on their geographic location
US9860303B1 (en) Data center growth control
Yu et al. A survey of large-scale deep learning serving system optimization: Challenges and opportunities
JP2016076108A (ja) 情報処理装置、メモリ制御装置及び情報処理装置の制御方法
JP2016010124A (ja) 管理装置、管理プログラム及び情報処理システム
US9124591B2 (en) Automatic resource balancing for multi-device location-based applications
US11842213B2 (en) Cooling-power-utilization-based workload allocation system
US11856062B2 (en) Multi-device connection management
KR20220047408A (ko) 무선 네트워크들에서의 모델 지원 심층 강화 학습 기반 스케줄링
US11340950B2 (en) Service band management system
WO2024098313A1 (en) Ambient temperature estimation and device optimization
CN116266139A (zh) 在混合模式下优化dc持久性内存模块(dcpmm)上的内存与存储容量划分
HUSSAIN CFRO: Cloudlet Federation for Resource Optimization

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190627

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210420