JP2016071886A - スケジューラコンピューティング装置、それを含む分散コンピューティングシステムのデータノード、及びその方法 - Google Patents

スケジューラコンピューティング装置、それを含む分散コンピューティングシステムのデータノード、及びその方法 Download PDF

Info

Publication number
JP2016071886A
JP2016071886A JP2015186832A JP2015186832A JP2016071886A JP 2016071886 A JP2016071886 A JP 2016071886A JP 2015186832 A JP2015186832 A JP 2015186832A JP 2015186832 A JP2015186832 A JP 2015186832A JP 2016071886 A JP2016071886 A JP 2016071886A
Authority
JP
Japan
Prior art keywords
data
data node
computing
storage device
central processor
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.)
Granted
Application number
JP2015186832A
Other languages
English (en)
Other versions
JP2016071886A5 (ja
JP6694683B2 (ja
Inventor
ファン イ,ジェ
Jaehwan Lee
ファン イ,ジェ
ソク キ,ヤン
Yang Seok Ki
ソク キ,ヤン
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 JP2016071886A publication Critical patent/JP2016071886A/ja
Publication of JP2016071886A5 publication Critical patent/JP2016071886A5/ja
Application granted granted Critical
Publication of JP6694683B2 publication Critical patent/JP6694683B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

【課題】少なくともデータノード内のデータ移動を効率的に減らして、大規模演算問題の解を効率的に求める分散コンピューティングシステムのスケジューラコンピューティング装置を提供する。
【解決手段】少なくとも1つのコンピューティング業務を格納するように構成され、コンピューティング業務は分散コンピューティングシステムのデータノードによって実行され、分散コンピューティングシステムは少なくとも1つのデータノードを含み、各データノードは中央プロセッサ及び知能型格納装置を含み、知能型格納装置は制御器プロセッサとメモリを含む、コンピューティング業務メモリと、コンピューティング業務に連関されたデータの量に少なくとも部分的に基づいて、データノードの中央プロセッサ或いはデータノードの知能型格納装置の中で何れか1つによって実行されるようにコンピューティング業務を割当てるように構成されたプロセッサと、を含む。
【選択図】図1

Description

本発明はスケジューラコンピューティング装置、それを含む分散(distributed)コンピューティングシステムのデータノード、及びその方法に関する。
分散コンピューティングシステムは一般的に分散システムを研究/利用するコンピュータ科学の分野である。分散コンピューティングシステムは伝統的に、コンピュータネットワーク上に位置する構成要素がそれら自身の間でメッセージを交換してその行動を通信し調整するシステムである。構成要素は共通の目標を達成するために互いに相互作用する。
分散システムの一般的な特性は、構成要素の同時動作性、グローバルクロックの欠如、及び、構成要素の独立した故障が許容されることである。分散システムの例としては、巨大なマルチプレーヤオンラインゲームからピアツーピア・アプリケーションまで多様である。
“分散システム”、“分散プログラミング”、“分散ファイルシステム”等のような用語で使用される“分散”という単語は、元来は、個別コンピュータが物理的に地域的に分散されているコンピュータネットワークの状態に言及している。しかし、この用語は最近さらに広い意味に使用され、しばしば、同一の物理的位置で運転され、メッセージ交換により相互作用を行う自律的プロセスを指す。
分散コンピューティングシステムは例えば、大規模演算問題の解を求めるというような共通の目標を有する。例えば、或る分散システムでは、大規模演算問題は同時に、又は並列に実行される、より小さい複数のコンピューティング業務(task)に分けられる。このような業務は分散システムの多様なコンピュータ(データノード)に割当てられる。問題を順次的に処理する単一のコンピュータとは異なり、このような分散コンピューティングシステムでは、大規模演算問題が実質的に並列に問題を処理する分散システムの実行能力を活用してより速やかに解決され得る。しかし、従来の分散コンピューティングシステムでは、コンピューティング業務の処理に当たり、データノード間及び/又はデータノード内のデータ移動が多く、消費電力と処理時間の増大を招いていた。
本発明の目的は、少なくともデータノード内のデータ移動を効率的に減らして、大規模演算問題の解を効率的に求める分散コンピューティングシステムのスケジューラコンピューティング装置及び方法を提供することにある。
本発明の実施形態によるスケジューラコンピューティング装置は、少なくとも1つのコンピューティング業務を格納するように構成されたコンピューティング業務メモリと、ここで、前記コンピューティング業務は分散コンピューティングシステムのデータノードによって実行され、前記分散コンピューティングシステムは少なくとも1つのデータノードを含み、各データノードは中央プロセッサ及び知能型格納装置を含み、前記知能型格納装置は制御器プロセッサとメモリを含み、前記コンピューティング業務に連関されたデータの量に少なくとも部分的に基づいて、前記データノードの前記中央プロセッサ或いは前記データノードの知能型格納装置の中で何れか1つによって実行されるように前記コンピューティング業務を割当てるように構成されたプロセッサと、を含む。
本発明の実施形態によるスケジューラコンピューティング装置の方法は、複数の動作(operation)を有するコンピューティング業務を受信する段階と、前記コンピューティング業務をデータノードに割当てる段階と、ここで、前記データノードは、中央プロセッサ、メーンメモリ、及び知能型格納装置を含み、前記知能型格納装置は、制御器プロセッサとメモリを含み、前記コンピューティング業務を少なくとも第1動作チェーンと第2動作チェーンとに分割する段階と、前記第1動作チェーンを前記データノードの前記知能型格納装置に割当てる段階と、前記第2動作チェーンを前記データノードの前記中央プロセッサに割当てる段階と、を含む。
本発明の実施形態による分散コンピューティングシステムのデータノードは、知能型格納装置によって格納されたデータに基づいて第1動作セットの中で少なくとも1つを実行するように構成された中央プロセッサと、ここで、前記知能型格納装置は、半永久的な方法によりデータを格納するように構成されたメモリ、及び前記知能型格納装置に格納されたデータに基づいて第2動作セットの中で少なくとも1つを実行するように構成された制御器プロセッサを含み、スケジューラコンピューティング装置から複数の動作を受信するように構成されたネットワークインタフェイスと、を含み、前記データノードは、コンピューティング業務を少なくとも前記第1動作セットと前記第2動作セットとに分割し、前記第1動作セットの実行を前記中央プロセッサに割当て、前記第2動作セットの実行を前記知能型格納装置に割当てる。
分散コンピューティングシステムにおいて、本発明に係るスケジューラコンピューティング装置は、或るコンピューティング業務に連関されたデータの量に少なくとも部分的に基づいて、データノードの中央プロセッサのみならず、データノード内の本発明による特別な構成要素である知能型格納装置にもコンピューティング業務を割当てることができるので、データノード内のデータの移動を効率的に低減できる。
本発明の実施形態によるシステム100を例示的に示す図面である。 本発明の実施形態によるシステム200の例示的な実施形態のブロック図である。 本発明の実施形態による分類システムの例示的な実施形態のテーブル300である。 本発明の実施形態による動作のチェーンの例示的な実施形態のブロック図400である。 本発明の実施形態による方法500の例示的な実施形態のフローチャートである。 分割過程の可能である実施形態をさらに詳細に説明するための図面である。 本発明の実施形態による情報処理システム700のブロックダイヤグラムを示す図面である。
以下では図面を利用して、本発明の技術分野で通常の知識を有する者が容易に実施できる程度に本発明の内容を明確、且つ詳細に記載する。
本発明は多様な変更を追加でき、様々な形態を保有できるので、特定実施形態を図面に例示し、本文で詳細に説明する。しかし、これは本発明を特定の開示形態に限定せず、本発明の思想及び技術範囲に含まれる全ての変更、均等物乃至代替物を含むと理解されなければならない。第1、第2等の用語は多様な構成要素を明確に説明するために使用されるが、構成要素はこの用語によって限定されない。
前記用語は1つの構成要素を他の構成要素から区別する目的のみに使用される。例えば、本発明の権利範囲を逸脱することなく、第1構成要素は第2構成要素と称され、類似に第2構成要素も第1構成要素と称され得る。何れかの構成要素が他の構成要素に“連結されている”か、“接続されている”と言及されたときには、その、他の構成要素に直接的に連結されているか、或いは接続されている場合だけでなく、中間に更に他の構成要素が存在する場合も含み得ると理解されなければならない。反面に、何れかの構成要素が他の構成要素に“直接連結されている”か、或いは“直接接続されている”と言及されたときには、中間に更に他の構成要素が存在しないと理解されなければならない。
構成要素間の関係を説明する他の用語ら、即ち“〜間に”と“直接〜間に”、或いは“〜に隣接する”と“〜に直接隣接する”等も同様に解釈されなければならない。本出願で使用した用語は単に特定な実施形態を説明するために使用されており、本発明を限定する意図はない。単数の表現は文脈上、明確に複数の表現と異なるように意味しない限り、複数の表現を含む。
本出願で、“含む”又は“有する”等の用語は、少なくとも明細書上に記載された特徴、数字、段階、動作、構成要素、部品又はこれらの組合せが存在することを指定するに過ぎず、1つ又はそれ以上の他の特徴や数字、段階、動作、構成要素、部分品又はそれらの組合せの存在又は付加可能性を予め排除しないと理解されなければならない。別途異なって定義しない限り、技術的であるか、或いは科学的な用語を含んでここで使用される全ての用語は本発明が属する技術分野で通常の知識を有する者によって一般的に理解されるのと同一の意味を有する。一般的に使用される、事前に定義されていない用語は関連技術の文脈上で有する意味に一致する意味を有すると解釈されなければならず、本出願で明確に定義しない限り、理想的であるか、或いは過度に形式的な意味に解釈されてはならない。
以下では、例示的な実施形態が図面に基づいて詳細に説明される。
図1は本発明の実施形態によるシステム100を例示的に示す図面である。多様な実施形態で、システム100は分散コンピューティングシステムを含み、そして分散アプリケーションを実行する。上記システム100は本発明を制限しない1つの実施形態として理解されなければならない。
図示された実施形態で、システム100は複数のデータノード108、及びスケジューラコンピューティング装置、即ちスケジューラ104を含む。このような実施形態で、複数のデータノード108は順に個別的なデータノード(例、データノード106、106b、及び106c、等)を含む。上述されたように、分散コンピューティングシステムの多様な実施形態において、スケジューラ104は分散コンピューティングシステムによって遂行、即ち実行される少なくとも1つのコンピューティング業務172を含む、即ち、有する。
多様な実施形態において、スケジューラ104はコンピューティング装置、或いはそれらの仮想マシン、即ちその仮想コンピューティング装置を含む。ここで、コンピューティング装置は、例えば、ラップトップ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、スマートフォン、タブレット、及び他の適切なコンピュータである。多様な実施形態において、スケジューラ104は使用者(図示せず)によって使用できない場合がある。多様な実施形態において、スケジューラ104は、ソフトウェア、ファームウェア、或いはそれらの組合せの断片(pieces)、即ち、マシン実行可能なインストラクションを実行するように構成されたプロセッサ182を含む。或る実施形態において、スケジューラ104は、一時的に、永久的に、半永久的に、或いはそれらの組合せで1以上のデータ断片を格納するように構成されたメモリ184を含む。
更にメモリ184は、揮発性メモリ、不揮発性メモリ、或いはそれらの組合せを含み得る。多様な実施形態において、スケジューラ104は半永久的或いは実質的に永久的な形態にデータを格納するように構成された格納装置185を含む。多様な実施形態において、格納装置185はメモリ184に含まれる。
以下、プロセッサ182は、スケジューラプロセッサ、又はコンピューティング業務プロセッサともいう。
また、メモリ184は、スケジューラメモリ、又はコンピューティング業務メモリともいう。
また、格納装置185は、スケジューラ格納装置、又はコンピューティング業務格納装置ともいう。
多様な実施形態において、スケジューラ104は、スケジューラ104の一部として構成され、多様なプロトコルを使用する通信ネットワークを通じて通信する少なくとも1つのネットワークインタフェイス186を含む。ネットワークインタフェイス186のプロトコルのうち、Wi−Fiプロトコルの例は、これに限定されないが、IEEE(Institute of Electrical and Electronics Engineers)_802.11g, IEEE_802.11n,等を含み、セルラ(携帯)プロトコルの例は、これに限定されないが、eIEEE_802.16m(別名、Wireless−MAN(Metropolitan Area Network)−Advanced), LTE(Long Term Evolution)−Advanced),EDGE(Enhanced Data rates for GSM(登録商標)(Global System for Mobile Communications) Evolution),Evolved High−Speed Packet Access(HSPA+)等を含み、有線プロトコルの例は、これに限定されないが、IEEE 802.3(別名、Ethernet(登録商標)),Fiber Channel,Power Line communication(例えば、HomePlug,IEEE 1901,等),等を含む。上述のプロトコルは何れも、本発明を限定しない幾つかの実施形態に係ると理解されなければならない。
多様な実施形態において、スケジューラ104は少なくとも1つの別途のハードウェア構成要素183を含む。このような構成要素は、ディスプレー或いはモニタ、キーボード、マウス、カメラ、フィンガプリントリーダ、ビデオプロセッサ等の何れかである。上述したことは、本発明を限定しない、単なる幾つかの実施形態に係ると理解されなければならない。
多様な実施形態において、データノード108の各々は上述のスケジューラ104に関して参照されたハードウェア構成要素(例、ネットワークインタフェイス186、別途のハードウェア構成要素183、等)と類似なハードウェア構成要素を含む。このような実施形態で、データノード108は以下で説明される構成要素(例、知能型格納装置(ISM、intelligent storage medium)116、中央プロセッサ112、等)をさらに含むか、或いは選択的に含む。上述したことは、本発明を限定しない幾つかの実施形態に係ると理解されなければならない。
データノード108はコンピューティング業務172を実行するように雇用されたコンピューティング装置を含む。スケジューラ104は実行のための多様なデータノード108にコンピューティング業務172を割当てるように構成される。
このような実施形態で、各コンピューティング業務172はデータ(例、データ182i)の各々の断片に連関される。データ断片は単一の(或いは複数の)データノード(例、データノード106)に格納される。スケジューラ104はどのデータ断片がどのデータノード108に格納されているか、を指示する指示170を維持する。このような実施形態で、どのデータノードにコンピューティング業務172が割当てられるか、を決定する時、指示170が点検され、どのデータノード(単数又は複数)が連関されたデータを格納しているか否かが決定される。
例えば、第1のコンピューティング業務172がデータ182iに連関されれば、データ182iがデータノード106b内に発見されないので、第1のコンピューティング業務172はデータノード106bに割当てられない。代わりに、データノード106がデータ182iを格納しているので、第1のコンピューティング業務172はデータノード106に割当てられる。同様に、データノード106bに格納されているデータ184iに連関された第2のコンピューティング業務172はデータノード106(データ184iが格納されない)に割当てられず、データノード106bに割当てられる。
このような実施形態で、スケジューラ104はデータノード間のデータを移動するように(例、データ184iをデータノード106bからデータノード106に移動)コンピューティング業務172を発生する場合があるが、そのような場合は本発明で開示する技術的特徴の、殆ど範囲外である。
伝統的なデータノード(例、データノード106c、等)は、中央処理ユニット、即ち、中央プロセッサ(CPU)112、メーンメモリ114(例、RAM(random access memory)、等)、及び格納装置118を含み、格納装置118はメモリ143(マグネチックメモリ、ソリッドステートメモリ、等)を含む。伝統的に、データノードの業務を実行する唯一のプロセッサは中央プロセッサ112である。従って、データは中央プロセッサ112がそれにアクセスできるようにデータノード106cを通じて移動されなければならない。これは3つの主要構成要素(格納装置118、メーンメモリ114、及び中央プロセッサ112)を巻き込んで、その各々に/からデータを移動することを意味する。データの各々の移動は追加的な電力消費をもたらし、そして一定の時間を必要とする。更に、中央プロセッサ112及びメーンメモリ114によって提供されるべきシステムリソースが例えば、コンピュータサイクル及び格納空間によって制限されるので、データの移動はこのようにシステムリソースを消費する。
本発明に係り説明する実施形態では、複数のデータノード108の個別データノード(例えば、106、106b)は、個別データノード間におけるデータの移動を低減し、これによってこのような移動によるオーバヘッドを節約できる構成要素を含む。
本実施形態で、データノード(例、データノード106、等)は、中央処理ユニットCPU或いは中央プロセッサ112、メーンメモリ114(例、RAM、等)を含み、それだけでなく知能型格納装置(ISM)116を含む。このような実施形態で、知能型格納装置116は制御器プロセッサ142及びメモリ143(マグネチックメモリ、ソリッドステートメモリ、等)を含む。この文脈において、外部的にアクセス、即ち割当てが可能な制御器プロセッサ142が無い伝統的な格納装置は、“シンプル格納装置”(SSM、simple storage medium)118と称する。
このような実施形態で、データノード106は2つ(或いはそれ以上)のプロセッサを含む。本実施形態で、システム100はデータノードのみでなく、データノード内の特殊な構成要素にもコンピューティング業務172の割当てができるように構成される。
このような実施形態では、データ(例、データ184i、等)の移動の低減と、事実上の排除を可能にする。例えば、制御器プロセッサ142がコンピューティング業務172を実行するように割当てられれば、データは以下に説明されるように、ISM 116の外部へ移動する必要がない。
第1番目の実施形態として、図示された実施形態で、伝統的な使用と類似な場合を表すが、スケジューラ104はデータノード106のみでなく、中央プロセッサ112にコンピューティング業務172を割当てる。このような実施形態で、データ182iの移動は伝統的な場合と類似に発生する。特別に、データ182iは永久的に或いは半永久的に知能型格納装置(ISM)116に格納される。コンピューティング業務172が実行される時、このデータ182iはISM 116からメーンメモリ114にコピーされる。中央プロセッサ112はその後に、メーンメモリ114内のデータ182iにアクセスする。コンピューティング業務172の結果、即ち出力データ182oはメーンメモリ114の内部に格納される。結論的に(例、コンピューティング業務の終わりに、等)、出力データ182oは永久的に、或いは半永久的にISM 116の内部に格納される。
伝統的な使用から実質的に外れた第2番目の実施形態として、図示された実施形態で、スケジューラ104はデータノード106bのみでなく、その中の知能型格納装置(ISM)116にコンピューティング業務172を割当てる。このような実施形態で、データ184iの移動は、上述された第1番目の実施形態或いは伝統的な場合と比較して大きく減少される。このような実施形態で、データ184iは永久的に、或いは半永久的に知能型格納装置116のメモリ143に格納される。コンピューティング業務172が実行される時、このデータ184iは制御器プロセッサ142によってメモリ143からコピー、即ちアクセスされる。このような実施形態で、ISM 116とメーンメモリ114との間の通信バス或いはチャンネル(図示せず)の使用は回避でき、従って以前に説明されたシステムリソースの消費を低減できる。コンピューティング業務172の結果或いは出力データ184oは(メーンメモリ114及びISM 116の間のデータを移動するためのシステムリソースの使用を避けながら)永久的に或いは半永久的にメモリ143の内部に格納される。
以下で図2、図3、及び図3を参照して説明するように、スケジューラ104は、データノード(例、データノード106等)に対するデータを移動する時に使用されるシステムリソースの最小化以外に関連する場合もある。例えば、全てのコンピュータ業務172が制御器プロセッサ142によって実行可能とは限らない。伝統的に、制御器プロセッサ142の機能はコンピューティング業務172の性能を果たせない場合がある。反面に、制御器プロセッサ142の2つの主要機能は、(1)ISM 116とISM 116自身を含む任意の装置(例、データノード106、等)との間の通信を管理し、(2)メモリ143内のデータ格納を管理する、ことにある。
図示された実施形態で、ISM 116の制御器プロセッサ142はこのような伝統的な機能を実行するように構成されるだけでなく、コンピューティング業務172を実行するように構成される。例えば、SSD(solid state drive)を含むISM 116は管理機能を実行するように構成される制御器プロセッサ142を含む。ここで、管理機能は、例えば、ECC(error correcting code)計算、ウェアレベリング管理、バッドブロックマッピング、リードスクラビング(read scrubbing)及びリードディスターブ(read disturb)管理、読出し及び書込みキャッシング、ガーベッジコレクション、及び/或いは暗号化等である。
或る実施形態において、制御器プロセッサ142は制限されたセット、即ち、より一般的にいうと、動作或いはインストラクションの第1セットのみを実行する。このような実施形態で、コンピューティング業務172の上位レベル動作をどのようにして実行するか、或いはコンピューティング業務172の上位レベル動作を制御器プロセッサ142で理解できる下位レベル動作にどのようにして変換するかを説明するインストラクション或いは動作コード(opcodes)は制御器プロセッサ142内のファームウェア160或いはメモリに格納される。一部の実施形態において、このようなファームウェア160は、制御器プロセッサ142に新しい機能(例、実行される可能性のある新しい動作、等)を調節するか、或いは追加するように頻繁にアップデートされるか、或いは編集される。他の実施形態で、動作或いは動作の一部は、固定配線される、即ち、制御器プロセッサ142の構造の物理的な部分となし得る。上述したことは本発明を制限しない、単なる例示的な実施形態であると理解されなければならない。
前記制御器プロセッサ142の制御集合が全ての可能な動作のサブセットである実施形態においては、スケジューラ104は制御器プロセッサ142によって支援可能な動作範囲によって、業務172をISM 116に割当てる能力が、中央処理装置112に割当てる場合よりは制限される。
多様な実施形態において、相異なるデータノード(例えば、データノード106及びデータノード106B、等)は異なる動作を支援する。例えば、第1 ISM(例えば、データノード106のISM 116)は第2データノード(例えば、データノード106bのISM 116)とは相異なる他の製造社によって製造され、ファームウェア160が異なるバーションを有する。このように、2つのデータノードは異なる能力又は動作を支援する。一部の実施形態で、スケジューラ104は第1データノードのISM 116に動作172を割当てるが、(よって能力が異なる場合)同一或いは類似の業務172を第2データノードの中央処理装置112に割当てることもあり得る。上述したことは本発明を制限しない実施形態として理解されなければならない。
このような実施形態で、ISM 116によって提供される動作をアプグレード又は変更するか、或いはISMによって実行される動作方法を変化することが可能である。他の実施形態で、ファームウェア160或いは動作を実行する他の構造は、全体的に或いは部分的に固定されるか、或いは変更されない。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
更に、多様な実施形態において、複数のデータノード108は複数のISM 116と複数のSSM 118との混合を含む。一部の実施形態において、各セット或いはグループは互に異なる特性及び/或いは機能を含むか、或いはこれらによって分割される。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
他の実施形態で、中央プロセッサ112は制御器プロセッサ142より強力である。このような実施形態で、中央プロセッサ112によるコンピューティング業務172の性能は、制御器プロセッサ142を通じた性能よりさらに効率的である。一部の実施形態において、このような効率性の長所は、中央プロセッサ112によってアクセス可能であるところにデータを移動させることによって発生するシステムリソースの使用量の増加を上回る。このような実施形態で、プロセッサ112或いは142にコンピューティング業務172を割当てる時、スケジューラ104はシステム100の全体効率を考慮するように構成される。
その他の実施形態で、コンピューティング業務172は一連の小動作、即ち小動作のチェーンを含む。このような実施形態で、スケジューラ104は大きいコンピューティング業務172を2つ以上の小さいコンピューティング業務172に分割する。多様な実施形態において、スケジューラ104はシングルプロセッサ(例、中央プロセッサ112或いは制御器プロセッサ142の中で何れか1つ)によって実行される動作のみを含む小コンピューティング業務172を発生する。このような実施形態で、スケジューラ104はシステム100の効率を増加する方式にコンピューティング動作172を発生するように構成される。
例えば、一実施形態で、大きいコンピューティング業務172は部分的には中央プロセッサ112によって実行される必要があるが、また、制御器プロセッサ142によって実行される第2部分を含む。このような実施形態において、スケジューラ104は第1部分或いは比較的大きいコンピューティング業務は中央プロセッサ112によって実行され、第2部分或いは比較的小さいコンピューティング業務は制御器プロセッサ142によって実行されるように元の大きいコンピューティング業務を分割する。
一実施形態で、スケジューラ104はISM 116からメーンメモリ114(或いは他の構成要素)に移動されるか、或いはコピーされるデータの量に基づいて大きいコンピューティング業務172を分割するブレークポイント又は動作を選択する。多様な実施形態で、2つの構成要素の間においてコピーされるデータの量を減らすことが有利である。他の実施形態では、計算の効率性が関心事になる。その場合、それが望ましいレベルより多量のデータ(コピー)が発生しても、中央処理装置112に特定な動作を実行させた方がより効率的である。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
その他の実施形態で、大きいコンピューティング業務172は2つ以上の動作のセット又は動作のチェーンに分離されるか、或いは分割される。例えば、第1小コンピューティング業務或いは動作のチェーンはISM 116に割当てられるか、或いは実行される。
その後に、決定された時点或いは動作で、第2小コンピューティング業務又は動作のチェーンは、中央プロセッサ112によって割当てられるか、或いは実行される(例えば、複雑な動作が検出された場合で、コピーされるべきデータ量等が小さい場合)。最後に、第3小コンピューティング業務或いは動作のチェーンは、ISM 116に割当てられるか、或いは実行され、そして大きいコンピューティング業務172はISM 116内に格納された出力を以って完了する。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
一部の実施形態で、スケジューラ104はコンピューティング業務172或いは動作チェーンの出力データが格納される場所を指示するか、或いは決定するように構成される。上述した3つの小さいコンピューティング業務の例に戻ると、スケジューラ104は第1小コンピューティング業務の出力データ(第2小コンピューティング業務に対する入力データとしての例)はメーンメモリ114に格納せよと指示する。同様に、スケジューラ104は第3小コンピューティング業務の出力データがISM 116のメモリ143に格納せよと指示する。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
一実施形態で、上述したように、スケジューラ104は、出力データを全く異なるデータノードに格納せよと指示するように構成されてもよい。例えば、スケジューラ104は出力データ(例、出力データ182o等)が、ISM 116のメモリ143ではない他のデータノード(例えば、データノード106b、等)に格納せよと指示する。
このような実施形態で、スケジューラ104は、特定のデータノード或いはプロセッサに関するコンピューティング業務172のスケジューリングのみならず、複数のデータノード108全体を管理する。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
その他の実施形態で、システム100は、スケジューラコンピューティング装置(以下、「スケジューラ」に統一する)104が、データノード(例えば、データノード106等)に複数の動作或いは業務172を割当て、データノード自身が割当てられた大きいコンピューティング業務172を2つ以上の動作のセット或いは動作のチェーンに分割するように構成される。上述したように、第1小コンピューティング業務或いは動作のチェーンはデータノードのISM 116によって実行されるようにデータノード106に割当てられる。その後、第2小コンピューティング業務或いは動作のチェーンはデータノードの中央プロセッサ112によって実行されるようにデータノードに割当てられる。大きいコンピューティング業務172は上述したように、第3或いは更なる小コンピューティング業務に分割される。但しこの実施形態では、データノードがスケジューラ104の代わりに分割及び割当てを実行する。上述したことは本発明を制限しない例示的な実施形態であると理解されなければならない。
本発明を明確にするために、ここでは、スケジューラ104が大きいコンピューティング業務172を小さいコンピューティング業務に分割し、それを割当てる実施形態だけを説明する。しかし、これは本発明を制限しない構成可能である実施形態であると理解されなければならない。
図2は本発明の実施形態によるシステム200の例示的な実施形態のブロック図である。多様な実施形態で、システム200は、CPU或いは中央プロセッサ112、メーンメモリ114、及び知能型格納装置(ISM)116を含むデータノード106を示す。ISM 116は上述された制御器プロセッサ142及びメモリ143を含む。
図示された実施形態で、大きいコンピューティング業務或いは動作のチェーンは小さいコンピューティング業務或いは動作のチェーン(例、オフロードされた(off−loaded)動作202、ホスト計算動作204、等)に分割され、そしてその後に中央プロセッサ112或いはISM 116の中で何れか1つに実行されるように割当てられる。多様な実施形態では2つ以上の小さいコンピューティング業務が存在するが、ここでは限定する意図の無い、説明上の目的のため、2つの小さいコンピューティング業務の場合を示す。
図示された実施形態で、スケジューラコンピューティング装置は動作の第1セット或いはチェーンがISM 116によって実行されることを感知する。この文脈で、このような動作は、伝統的にそれらを実行する中央プロセッサ112からオフロードされたものと看做される。このような動作はオフロードされた動作202に含まれ、ISM 116に割当てられる。
このような実施形態で、オフロードされた動作202はISM 116のメモリ143に格納された入力データ282iに連関される。この入力データ282iは制御器プロセッサ142によってアクセスされる。制御器プロセッサ142は制御器プロセッサ112の補助無しでオフロードされた動作202を実行、即ち遂行し、或いは一部の実施形態においては、制御器プロセッサ112に知られること無くオフロードされた動作202を実行、即ち遂行する。
このような実施形態で、中央プロセッサ112は通常、互に異なるデータにアクセスする動作(図示せず)の互に異なるセットを実行し、及び/又は、互に異なるコンピューティング業務に連関するのに忙しい。上述したことは本発明を制限しない1つの実施形態であると理解されなければならない。オフロードされた動作202の実行結果は出力データ282oとなる。
多様な実施形態で、オフロードされた動作202の実行の結果、出力データ282oはISM 116のメモリ143或いはメーンメモリ114の中で何れか1つに格納される。一実施形態で、もしも動作の次のチェーン或いは出力データ282oにアクセスするコンピューティング業務が中央プロセッサ112に割当てられれば、出力データ282oは(例、図1のデータ182iのように)ISM 116からメーンメモリ114にコピーされる。
他の実施形態で、動作の次のチェーン或いは出力データ282oにアクセスするコンピューティング業務がISM 116に割当てられるか、或いはもしもオフロードされた動作202が大きいコンピューティング業務の最後の動作であれば、出力データ282oがISM 116のメモリ143に局部的に格納される方が更に効率的であり、便利である。上述したことは、本発明を制限しない幾つかの実施形態であると理解されなければならない。
例示された実施形態でスケジューラは、次のチェーンの動作又はコンピューティング業務が中央処理装置112に割当てられていることを認識し、図示された実施形態において、スケジューラは、オフロードされた動作202の結果である出力デ−タ282oがISMメモリ143ではなく、データノード106のメーンメモリ114にデータ284iとして格納されるように命令、即ち、指示する。上述した説明は単なる例示であり、開示された発明に制限されない。
図示された実施形態で、動作の次のセット或いはチェーンは中央プロセッサ112が遂行するべき動作を含む。このような実施形態で、このような動作は“ホスト計算動作204”として言及され、ホスト或いは中央プロセッサ112に割当てられる。多様な実施形態で、中央プロセッサ112はメーンメモリ114(例、RAM、等)から入力データ284iを読み出す。中央プロセッサ112は、データ造作がこのホスト計算動作204によって指示されたデータ操作(manipulation)を何であれ実行する。一部の実施形態で、中間結果値或いはデータは中央プロセッサ112の内部メモリ(例、レジスター、キャッシュ、等)及び/或いはメーンメモリ114に格納される。
一実施形態で、ホスト計算動作204の終わりで、最後出力データ284oはメーンメモリ114に格納される。上述したように、多様な実施形態で、スケジューラは最後の出力データ284oがメーンメモリ114或いはISM 116に格納せよと指示する。他の実施形態で、スケジューラはオフロードされた動作202が関与している時、最後の格納位置のみを指示するように構成される。
図示された実施形態で、出力データ284oはメーンメモリ114に格納される。このような実施形態で、最後の動作(例、最後の格納206、等)は出力データ284oをメーンメモリ114からISM 116に移動する。上述したことは本発明を制限しない1つの例示的な実施形態であると理解されなければならない。
図3は本発明の実施形態による分類システムの例示的な実施形態のテーブル300である。図示された実施形態で、テーブル300は、例示的な動作、サブルーチン、又は多数の機能を示す。テーブル300は本発明によって採択されている2つの分類(classification)、即ち、類別(categorization)体系の2つの例を示す。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
図示された実施形態で、グループ312は、入力データの大きさ(size、特許請求の範囲における「量」(amount)と同義)が出力データの大きさより大きいと予想される動作の例を示す。このような実施形態では、大きい入力データは通信バスを通じてデータノードのメーンメモリ114に伝送しないことが望ましい。代わりに、必要である場合(例、もしもホスト計算動作が必要であれば、等)、動作が完了した後に、小さい出力データが通信バスを通じてデータノードのメーンメモリ114に伝送されることが望ましい。
テーブル300におけるグループ312は、入力データの大きさが出力データの大きさより大きいと予想されるグループに含まれる幾つかの例示的な動作をリストする。このような例示的な動作は、多様な実施形態で、Filter(フィルタ)()、Sample(サンプル)()、GroupByKey(鍵によるグループ分け)()、ReduceByKey(鍵による削減)()、PartitionBy(区分)()、Count(カウント)()、Reduce(削減)()、及びLookUp(ルックアップ)()である。上述したことは、本発明を制限しない幾つかの実施形態であると理解されなければならない。
図示された実施形態で、グループ314は入力データの大きさが出力データの大きさと概ね同一であることと予想される動作の例を示す。このような実施形態で、入力データを通信バスを通じてデータノードのメーンメモリ114に伝送することが望ましい場合と望ましくない場合がある。或る一部の実施形態で、この相対的に中立的なアクション(neutral action)の好ましさは、動作のチェーンにおける次の動作として何が発生するかに依存する。もしも次の動作が中央プロセッサによって遂行されるならば、現在データを伝送し、中央プロセッサ112によってグループ314の動作を実行することが望ましい。反対に、もしも次の動作が制御器プロセッサによって遂行されるならば、知能型格納装置142でデータ及び動作を維持することが望ましい。上述したことは、本発明を制限しない幾つかの実施形態であると理解されなければならない。
テーブル300におけるグループ314は、入力データの大きさが出力データの大きさと概ね同一であると予想される幾つかの例示的な動作の例を示す。このような例示的な動作は、多様な実施形態で、Map(マッピング)()、FlatMap(フラットマップ)()、MapValues(マップ値)()、Collect(収集)()、及びSort(分類)()である。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
図示された実施形態で、グループ316は入力データの大きさが出力データの大きさより小さいことと予想される動作の例を示す。このような実施形態で、小さい入力データを通信バスを通じてデータノードのメーンメモリ114に伝送することが望ましい。動作が完了する前に(例えば、ホスト演算動作等のために必要である場合)、実際に、通信バスを通じて小さい入力データをデータノードのメーンメモリ114に伝送することが望ましい。
テーブル300におけるグループ316は入力データの大きさが出力データの大きさより小さいと予想されるグループに含まれた幾つかの例示的な動作の例を示す。このような例示的な動作は、多様な実施形態で、Union(結合)()、Join(合併)()、Cogroup(共同グループ化)()、及びCross Product(交叉積)()である。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
テーブル300の第2列、即ち中間列は、本発明による第1の類別(カテゴリ分け)、即ち分類方式を図示する。図示された実施形態で、各動作は2つのカテゴリの中の1つに属すると表示される、即ち識別される。2つのカテゴリとはオフロード可能な分類322、及びホスト計算可能な分類326である。
図示された実施形態で、出力データの大きさが入力データの大きさより小さいか、或いは入力データと同一であると予想される動作は、オフロード可能な分類322に分類され、ISMの制御器プロセッサによって実行される。このような実施形態で、データノードのメーンメモリとISMとの間のデータ伝送は減少される。何故なら、このようなデータ伝送は、そもそも発生しないか、出力データの大きさが相対的に小さい時か、或いは、入力データが伝送される場合より悪くない場合にのみ発生するからである。
図示された実施形態で、出力データの大きさが入力データの大きさより大きいか、或いは入力データと同一であると予想される動作は、ホスト計算可能な分類326に分類され、データノードの中央プロセッサによって実行される。このような実施形態で、データノードのメーンメモリとISMとの間のデータ伝送は減少される。何故なら、入力データの大きさが相対的に小さいときにのみ発生するからである。
一部の実施形態で、グループ314の動作はオフロード可能な分類322ではなく、ホスト計算可能分類326の一部となる。それは、グループ314にとって入出力データ大きさの差が無視できる程度だからである。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
テーブル300の第3列、即ち右側列は、本発明の実施形態における第2の類別、即ちカテゴリ分類方式を図示する。図示された実施形態で、動作は3つのカテゴリの中で1つに属することとして表示されるか、或いは識別される。3つのカテゴリは、オフロード可能な分類332、曖昧な分類334、及びホスト計算可能分類336である。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
図示された実施形態で、出力データの大きさが入力データより小さいことと予測される動作はオフロード可能な分類332に分類され、ISMの制御器プロセッサによって実行される。このような実施形態で、データノードのメーンメモリとISMとの間のデータ伝送は、出力データの大きさが相対的に小さいか、或いは入力データが伝送される場合より悪くない場合のみに発生するので、減少される。
図示された実施形態で、出力データの大きさが入力データより大きいと予想される動作はホスト計算可能分類336に分類され、データノードの中央プロセッサによって実行される。このような実施形態で、データノードのメーンメモリとISMとの間のデータ伝送は出力データの大きさが相対的に小さい場合にのみ発生するので、減少される。
図示された実施形態で、出力データの大きさが入力データの概ね同一であると予想される動作は曖昧な分類334に分類される。このような実施形態で、このような種類の動作は中央プロセッサ或いはISMの中で何れか1つに演繹的に割当てられず、その代わりに、入/出力データを伝送する/伝送しないことによる費用の削減が少ないか、或いは無視できるので、スケジューラは、このような動作(例、グループ314)が全体処理に最も有利なように何れかのプロセッサに割当てられればよいと感じる。
このような実施形態で、このような曖昧な動作334に対するプロセッサ割当ては次の動作の分類が何であるかに依存する。例えば、もしも曖昧な動作が2つのオフロード可能な動作の間に介在されている場合、曖昧な動作は、2回分のデータ伝送費用を発生してまで中央プロセッサに割当てる意味が無い。反対に、もしも曖昧な動作がオフロード可能な動作とホスト計算可能動作との間に(或いはその逆に)介在している場合、曖昧な動作は中央プロセッサに割当てる意味がある。このような実施形態で、曖昧な動作の終り或いは始めにデータ伝送が発生するが、入/出力データの大きさが大略同一なので、どちらのデータ伝送もそれ程悪く無い。しかし、曖昧な動作は中央プロセッサの大きい計算能力を利用した方が一般には有利であろう。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
多様な実施形態で、入力データと出力データ間の相対的な大きさは、互に異なる大きさの許容値、即ち閾値評価に基づく。他の実施形態で、入/出力データの大きさは、所定の平均値又はヒストリカル期待値(経験的期待値)に基づき決定され、各動作に対して特定の実例に伴うデータをその都度、動的に評価しない。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
更に、このようなグループ(例、グループ312、314、316)は、出力データの大きさと比較した入力データの大きさによってグループ分けされたが、多様な他の実施形態では、他の関心事項が或る動作のグループ入り或いは分類を決める。例えば、一部の動作は知能型格納装置によっては(例えば、ファームウェア欠如のため、という理由で)に遂行できない場合がある。このような実施形態では、動作は出力データと比較される入力データの大きさに拘わらず、ホスト計算可能動作(例、グループ316内に)と看做される。他の実施形態で、制御器プロセッサでは或る動作の実行が単に非常に非効率的であり、その動作は出力データと比較される入力データの大きさに拘わらず、ホスト計算可能動作に分類せざるを得ない。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
多様な実施形態で、スケジューラはオフロード可能な動作(例、分類322、332)を中央プロセッサに割当て、通常のISMの制御器プロセッサに割当てない場合もある。例えば、オフロード可能な動作(例、グループ312)はそれらの入力データ量より小さい出力データ量をもたらす。従って、オフロード可能な動作が実行された後にデータノードのメモリとISMとの間のデータ伝送を行うのが有利である。このような実施形態で、もしも以前のホスト計算可能動作(例、グループ316)が大きい出力データ量をもたらす場合、これはオフロード可能な動作を中央プロセッサに割当てる方が有利である。このような実施形態で、ISMに再び伝送される(例えば、最後の格納、又は更なる他のオフロード可能な動作を実行するために)前にデータの量は減少される。
反対に、スケジューラは、ホスト計算可能動作(例、分類322、332)を通常の中央プロセッサ(もしも物理的に可能である)ではなくISMの制御器プロセッサに割当てる場合もある。例えば、もしも単独の(或いは、非常に少数の)ホスト計算可能動作が大きいコンピューティング業務の最も終わり部分に存在し、もしもISMの制御器プロセッサがこのような動作を物理的に実行可能であるならば、システムは、ISMにコンピューティング業務を完了させ、即ちホスト計算可能動作を実行させることによって、ISMによるメモリデータ伝送を避けることが有利である。上述したことは本発明を制限しない1つの実施形態であると理解されなければならない。
図4は本発明の実施形態による動作のチェーンの例示的な実施形態のブロック図400である。図4はスケジューラが、(1)大きいコンピューティング業務を取り上げ、(2)大きいコンピューティング業務を構成する動作の各々を分類し、(3)大きいコンピューティング業務を少なくとも2つの小さいコンピューティング業務或いは動作のチェーンに分割し、その後、(4)この小さいコンピューティング業務或いは動作のチェーンの各々を中央プロセッサ或いはISMの中の何れか1つに割当てる、方法を図解する。上述したことは本発明を制限しない1つの実施形態であると理解されなければならない。
図示された実施形態で、第1部分410は大きいコンピューティング動作を順に実行する一連の動作或いはチェーンを含む方法を図示する。図示された実施形態で、大きいコンピューティング業務は、順に、動作#1 411、動作#2 412、動作#3 413、動作#4 414、動作#5 415、及び動作#6 416を含む。多様な実施形態で、このような動作は如何なる形態の事前分類を伴わずスケジューラに入力される。他の実施形態で、このような動作は特定のプロセッサ(例、データノードの中央プロセッサ、ISMの制御器プロセッサ、等)を選好する割当てとして事前にタギング或いはマーキングされる。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
図4の第2部分420は、スケジューラが分類又は大きいコンピューティング業務の各動作を分類できることを示す。図示された実施形態で、動作#1 421及び動作#2 422は全てオフロード可能な(OL)動作として分類され、ISMに割当てられる第1小コンピューティング業務428の一部と看做される。しかし、動作#3 423は、曖昧(E)動作に分類され、(特定の小コンピューティング業務及び/或いはプロセッサへの)割当ては必ずしも明確ではない。動作#4 424はオフロード可能な(OL)動作に分類され、ISMに割当てられる。
一実施形態で(図示せず)、スケジューラは4つの動作421、422、423、424から3つのコンピューティング業務を発生する。第1コンピューティング業務は動作421、422を含み、ISMに割当てられる。第2コンピューティング業務は曖昧な動作423を含み、中央プロセッサに割当てられる。第3コンピューティング業務はオフロード可能な動作424を含み、ISMに再び割当てられる。しかし、この実施形態は、データ、及び演算実行制御の双方を多数伝送するという避けられ得た事態を惹起する。
上述の第2部分420に図示された実施形態で、スケジューラはISMに曖昧な動作423を割当てる。このような実施形態で、動作421、422、423、及び424は全て第1小コンピューティング業務428に割当てられ、またISMに割当てられる。このような実施形態では、伝送数を減少でき、システムの効率を増加できる。上述したことは本発明を制限しない1つの実施形態であると理解されなければならない。
図示された実施形態で、動作425はホスト計算可能(HC)動作に分類され、第1或いはオフロード可能な第1小コンピューティング業務428に適合しない。そこで、第2小コンピューティング業務429が、動作425のような、データノードの中央プロセッサに割当てられるべき動作のために発生される。また、動作426もホスト計算可能(HC)動作であるので、第2小コンピューティング業務429内に置かれる。
図4の第3部分430は、スケジューラが大きいコンピューティング業務の各動作を分類し、この場合、動作#4 434がオフロード可能な動作に分類されず、代わりにホスト計算可能動作に分類されていることを示す。例えば、本実施形態では、動作#4 434が上記第2部分420の動作#4 424と異なる他の動作であるか、又は、システムが単に同一の動作が異なって分類される他の分類体系を採用している。
それにも拘わらず、第3部分430は、互に異なる動作分類がある時、大きいコンピューティング業務は互に異なる方式に細分割できることを単に示しているに過ぎない。上述したことは本発明を制限しない1つの実施形態であると理解されなければならない。
図4の第3部分430は、細分割過程の、可能性のある実施形態をさらに詳細に説明するための図面である。図示された実施形態で、動作#1 421及び動作#2 422の全てはオフロード可能な(OL)動作を分類し、ISMに割当てられる第1小コンピューティング業務438の一部と看做される。動作#3 423は、しかし、曖昧(E)動作に分類され、(特定の小コンピューティング業務及び/或いはプロセッサへの割当ては必ずしも明確ではない。
しかし、上述したように、動作#4 434は中央プロセッサに割当てられるべきホスト計算可能(HC)動作に分類される。本実施形態では、スケジューラは曖昧な動作423を、上述の第2部分で行ったようにISMに割当て、別の選択的実施形態で行ったように中央プロセッサには割当てない。このような実施形態では、動作421、422、423は第1小コンピューティング業務に含まれ、従ってISMに割当てられる。
本実施形態では、動作425と426は再びホスト計算可能な(HC)動作に分類され、このような実施形態で、動作434、425、及び426は第2小コンピューティング業務439内に含まれ、データノードの中央プロセッサに割当てられる。
別の実施形態で、システムは第4部分440に図示したように、第1、第2小コンピューティング業務448、449を発生する。図示された実施形態で、第4部分440のグルーピング規則は第3部分430のそれとは互いに異なる。このような実施形態では、動作#3 423はホスト計算可能動作#4 434と共にグループ化され、そして第2小コンピューティング業務449に含められる。このような実施形態では、動作421、422のみが第1小コンピューティング業務448に含まれる。上述したことは本発明を制限しない1つの実施形態であると理解されなければならない。
上記では、2つの小コンピューティング業務の場合を示したが、多様な実施形態で、3以上の小コンピューティング業務が大きいコンピューティング業務から生成され得ることが理解されよう。更に別の実施形態では、大きいコンピューティング業務の細分割をしない場合もある(例えば、全部の動作が単一の分類に属する場合)。
更に別の実施形態で、スケジューラは動作チェーンが本当に線形的、即ち順次的であるか否かを決定するように構成される。一部の実施形態で、スケジューラは、効率を向上する、即ちコンピューティング業務或いはデータ伝送の個数を減少するために、一連の動作をリオーダ(re−order、動作順序を変更)できるように構成される。図示された実施形態では、インオーダ(in−order、与えられた動作順序に従う)方式が示されたが、上述されたことは本発明を制限しない1つの実施例であると理解されなければならない。
図5は本発明の実施形態による方法500の例示的な実施形態のフローチャートである。多様な実施形態で、方法500により開示される技術(以下、技術500という)は、図1、図2或いは図7に示すようなシステムによって使用されるか、或いは生産される。更に、技術500の一部分は図3及び図4に示すようなデータ構造或いは分類を発生するために使用される。しかし、上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。例えば、技術500によって開示された順序或いは動作の個数が本発明を制限しないと理解されなければならない。
ブロック502は上述したように、一実施形態で、コンピューティング業務が入力されることを示す。上述したように多様な実施形態で、コンピューティング業務は、複数の動作を含む。多様な実施形態で、このブロック502によって示された少なくとも1つのアクションは、上述のように図1、図2、或いは図7の装置或いはシステムにおいて、図1のスケジューラコンピューティング装置104によって実行される。
ブロック504は上述したように、一実施形態で、コンピューティング業務が、データノードに割当てられることを示す。上述したように或る一部の実施形態で、データノードは中央プロセッサ及び知能型格納装置を含む。上述したように1つのこのような実施形態で、知能型格納装置はプロセッサと制御器メモリとを含む。多様な実施形態はこのブロック504によって示された少なくとも1つのアクションは、上述のように図1、図2、或いは図7の装置或いはシステムにおいて、図1のスケジューラコンピューティング装置104或いはデータノード108によって実行される。
ブロック506は上述したように、一実施形態で、コンピューティング業務は少なくとも動作の第1チェーン及び動作の第2チェーンに分割されることを示す。一実施形態で、分割は、各動作を第1カテゴリ或いは第2カテゴリに分類することを含む。このような実施形態で、第1カテゴリに連関された動作は入力データの量より小さい出力データの量を発生する。このような実施形態で、第2カテゴリに連関された動作は、入力データの量より大きい出力データの量を発生する。他の実施形態で、分割はコンピューティング業務において、何れか1つのカテゴリ動作から他のカテゴリの動作への遷移がどの動作で生じるかを判別することと、コンピューティング業務を互に異なる動作のチェーンに分割することと、を含む。
上述したように、その他の実施形態で、分割は3つ以上のカテゴリに分類する動作を各々含む。このような実施形態で、第1番目のカテゴリはデータノードの中央プロセッサに連関され、第2番目のカテゴリはデータノードの知能型格納装置に連関され、第3番目のカテゴリは中央プロセッサと知能型格納装置の双方に連関される。このような実施形態で、分割は、もしも現在の動作が第3カテゴリに連関されれば、以前の動作或いは次の動作に連関されたカテゴリに基づいて現在の動作をデータノードの中央プロセッサ或いはデータノードの知能型格納装置に割当てることを含む。多様な実施形態で、ブロック506によって示された少なくとも1つのアクションは、上述のように図1、図2、或いは図7の装置或いはシステムにおいて、図1のスケジューラコンピューティング装置104によって実行される。
ブロック508は上述したように、一実施形態で、動作の第1チェーンがデータノードの知能型格納装置に割当てられる。多様な実施形態で、ブロック508によって示された少なくとも1つのアクションは、上述のように図1、図2、或いは図7の装置或いはシステムにおいて、図1のスケジューラコンピューティング装置104、或いは図1のデータノード108によって実行される。
ブロック510は一実施形態で、動作の第1チェーンによって発生された出力データの出力位置が上述したように割当てられることを示す。多様な実施形態で、出力位置を割当てることは、もしも次の動作がデータノードの中央プロセッサに割当てられれば、動作の第1チェーンの出力データはデータノードの中央プロセッサに格納されることを指示し、もしも次の動作が知能型格納装置に割当てられれば、動作の第1チェーンの出力データが知能型格納装置に格納されることを指示する。多様な実施形態で、ブロック510によって示された少なくとも1つのアクションは、上述のように図1、図2、或いは図7の装置或いはシステムにおいて、図1のスケジューラコンピューティング装置104によって実行される。
ブロック512は上述したように、一実施形態で、動作の第2チェーンがデータノードの中央プロセッサに割当てられる。多様な実施形態で、ブロック512によって示された少なくとも1つのアクションは、上述のように図1、図2、或いは図7の装置或いはシステムにおいて、図1のスケジューラコンピューティング装置104によって実行される。
図6は本発明の実施形態による方法600の例示的な実施形態のフローチャートである。特に、方法600は大きいコンピューティング業務を少なくとも第1の動作チェーンと第2の動作チェーンとに分割して実行するための方法に関する実施形態を提示する。多様な実施形態で、方法600は図1、図2、或いは図7のそれのようなシステムと共に使用されるか、或いはそれによって発生される。上述されたことは本発明を制限しない1つの実施例であると理解されなければならない。
ブロック602は、一実施形態で、大きい動作チェーンとその分割の簿記値(bookkeeping values、ブックキーピング値、工程管理番号)が公知された値にリセットされることを示す。図示された実施形態で、簿記値は、以前の動作、現在、或いは次の動作を追跡するインデックス(i)、新しいか或いは現在のコンピューティング業務が始まるポイント或いは動作が開始される開始点(GroupStart)、及び現在の小グルーピング業務或いは以前動作に連関された動作タイプ(OpType)、即ち動作分類を含む。図示された実施形態で、動作タイプ(OpType)は、ISMに割当てられた、即ちオフロードされたコンピューティング業務、及び、ホスト計算業務の2種である。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
現在の動作(Op[i])が評価及び分類のために選択される。多様な実施形態で、スケジューラは、個々の動作を順番に分類しながら、動作チェーンを“ウォークスルー(walk_through、巡回)”する。
ブロック604は、現在の動作が曖昧な動作であるか否かを判別することを示す。さらに一般的には、曖昧な動作は、動作タイプ(OpType)がオフロードされたコンピューティング業務でもなく、ホスト計算業務でもない、ことを意味。もしも現在の動作がである曖昧な動作ではなければ、方法600の流れ図は次の評価のためにブロック605に移動する。反対に、もしも現在の動作が曖昧な動作であれば、方法600の流れ図はブロック610に移動する。
ブロック610は、一実施形態で、現在の動作が大きいコンピューティング動作の最後、即ち最終の動作であるか否かを判別することを示す。「いいえ」であれば、ブロック620は、一実施形態で、スケジューラが次の動作(例、i=i+1或いはi++)に移動し、これを評価する。もしも現在の動作が最後の動作であれば、動作チェーンは、ISMに割当てられるべき、即ちオフロードされたコンピューティング業務と、ホスト計算業務とに分割される。
ブロック605に戻って、ブロック605は現在の動作が曖昧な動作ではなければ、方法600はコンピューティング業務の現在グループのための動作タイプ(OpType)が設定されたか否かを判別する(例、OpTypeが“null”ではないか、即ち他に定義されていないか)。もしも動作タイプ(例、ホスト或いはオフロードされた)が割当てられていなければ、これはコンピューティング業務の現在グループに含まれた第1動作であるためである。もしも現在の動作が現在コンピューティング業務の第1動作であれば、方法600はブロック608に進行する。ブロック608で、コンピューティング業務(例、活性OpType)の現在の動作グループの動作タイプが現在の動作(例、オフロードされたコンピューティング業務或いはホスト計算業務)として同一の分類に設定される。コンピューティング業務の現在グループの分類或いは動作タイプ(OpType)が設定される時、方法600の流れ図は追加的な評価のためにブロック610に移動する。
現在の、即ち活性の動作タイプ(OpType)が以前に定義されている場合、方法600はブロック605からブロック608にではなくブロック606に進行する。ブロック606は、一実施形態で、現在の動作と連関された分類がコンピューティング業務の現在グループと連関された現在、即ち活性動作タイプ(OpType)と比較されることを示す。もしも現在の動作(即ち、Op[i])がグループ分類(即ち、OpType)と同一の分類であれば、現在の動作は現在のグループに加えられ、技術600のフローはブロック610に移動して更なる評価が上述のように行われる。
現在の動作(即ち、Op[i])がグループ分類(即ち、OpType)と異なる分類であれば、大きいコンピューティング業務は2つのコンピューティング業務に分離される(或いは、もしも2つの業務が既に存在する場合は、3つ目の他のコンピューティング業務として分離される)。ブロック607は、一実施形態で、現在コンピューティング業務の最後の動作(GroupStop)が以前の動作(例、Op[i−1])に設定され、そして現在のコンピューティング業務が連関された動作タイプ(OpType)(例、オフロードされたコンピューティング業務、及び、ホスト計算業務、等)による指定に従って割当てられることを示す。更に、新しいグループ、即ち新しいコンピューティング業務が(GroupStartを現在の動作に設定することによって)生成される。このような新しいグループ、即ち新しいコンピューティング業務はブロック608に示したように、現在の動作の分類に連関される。
図示された実施形態で、以前の動作が曖昧な動作であれば、曖昧な動作は現在コンピューティング業務(例、図4の第3部分430)の最後の動作である。図示されなかった他の実施形態で、曖昧な動作は新しいコンピューティング業務(例、図4の第4部分440)の第1動作である。その他の実施形態で、規則がさらに複雑なシステムは、以前の曖昧な動作(或いは以前の曖昧な動作のストリング)がどのコンピューティング業務にグループ化されるかを判別する。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
上述したように、ブロック610の図示された実施形態で、現在の動作が最後の動作であるか否かを判別が行われる。上述したように、もしも現在の動作が最後の動作ではなければ、方法600の流れ図はブロック620に進行し、次の動作が処理される。反対に、もしも現在の動作が最後の動作であれば、方法600の流れ図はブロック612に進行する。
ブロック612は、一実施形態で、動作タイプ(OpType)が設定されているか(即ち、少なくとも1つの動作が曖昧な動作ではなかったか)を判別することを示す。そうすると、ブロック614は、一実施形態で、現在コンピューティング業務の動作タイプ(OpType)を、オフロード可能なカテゴリ或いはホスト計算カテゴリの中で何れか1つに任意的に設定する。他の実施形態において、他の規則或いは割当て方法が適用される。例えば、オフロード可能な業務としてコンピューティング業務を分類するために選好度が与えられることもある。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
しかし、動作タイプ(OpType)が設定されれば(例、オフロード可能なカテゴリ或いはホスト計算カテゴリの中で何れか1つ)、ブロック616は、一実施形態で、大きいコンピューティング業務が、可変のGroupStartと現在の動作によって定義された業務に分割されることを示す。図示された実施形態で、新しく定義された小コンピューティング業務には動作タイプ(OpType)の分類が割当てられる。
ブロック618は、一実施形態で、スケジューラは評価、即ち分割プロセスを終了することを図示する。上述したように、スケジューラは、各々のプロセッサに小コンピューティング業務或いは分割された動作チェーンを割当てる。上述したことは本発明を制限しない実施形態であると理解されなければならない。
図7は本発明の実施形態による情報処理システム700のブロックダイヤグラムを示す図面であり、該システムは本発明に係り開示した原則に従って形成された半導体装置を含む。
図7を参照すれば、情報処理システム700は本発明の技術思想に従って構成された少なくとも1つの装置を含む。他の実施形態で、情報処理システム700は本発明の技術思想に従う少なくとも1つの方法を採用するか、或いは実行する。
多様な実施形態で、情報処理システム700は、例えば、ノートブック型コンピュータ、デスクトップコンピュータ、ワークステーション、サーバ、ブレードサーバ、個人デジタル補助装置、スマートフォン、タブレット、及び他の適切なコンピュータ等、若しくは、これらの仮想マシン、即ちこれらに対応する仮想コンピューティング装置を含む。多様な実施形態で、情報処理システム700は使用者(図示せず)によって使用される。
本発明の実施形態による情報処理システム700は、追加的に、中央処理装置(CPU)、ロジック、或いはプロセッサ710を含む。一部の実施形態で、プロセッサ710は1つ以上の機能ユニットブロック(FUB)或いは組合せ論理ブロック(CLB) 715を含む。このような実施形態で、組合せ論理ブロックCLBは、多様なブール論理演算(例えば、NAND、NOR、NOT、XOR等)、安定状態のある論理装置(例、フリップフロップ、ラッチ、等)、他の論理装置、或いはそれらの組合せを含む。このような組合せ論理演算は望む結果値に到達するために入力信号を処理するように簡単な或いは複雑な方法で構成される。同期式組合せ論理演算が幾つかの実施形態が説明されたが、本発明はこれに制限されず、非同期式組合せ論理演算或いはそれらの組合せによっても構成されると理解されなければならない。一実施形態で、組合せ論理演算は複数のCMOS(complementary metal oxide semiconductor)トランジスタを含む。多様な実施形態で、CMOSトランジスタは論理演算を実行するゲートで配列される。それにも拘わらず、本発明の技術思想は他の技術に使用されるか、或いは含まれることと理解されなければならない。
情報処理システム700は本発明の実施形態による揮発性メモリ720(RAM)を含む。本発明の実施形態による情報処理システム700は不揮発性メモリ730(例えば、ハードドライブ、光学メモリ、又はNANDフラッシュメモリ等)を含む。一部の具体的な実施形態で、揮発性メモリ720、不揮発性メモリ730、或いはそれらの組合せ或いはそれの中で1つは“格納装置”として指称される。多様な実施形態で、揮発性メモリ720及び/或いは不揮発性メモリ730は半永久的又は永久的な形態に実質的にデータを格納するように構成される。
多様な実施形態で、情報処理システム700の一部及び通信ネットワークを通じて通信する情報処理システム700を許容するように構成される1つ以上のネットワークインタフェイス740を含む。Wi−Fiプロトコルの例は、IEEE 802.11g、IEEE 802.11n等を含むが、これに制限されない。セルラプロトコルの例としては、ここに制限されないが、IEEE 802.16m(別名、Wireless−MAN(Metropolitan Area Network) Advanced、LTE(Long Term Evolution) Advanced)、EDGE(Enhanced Data rates for GSM(登録商標)(Global System for Mobile communication) Evolution)、HSPA+(Evolived High Speed Packet Access)等を含む。ワイヤプロトコルの例としては、ここに制限されないが、IEEE 802.3(別名、Ethernet(登録商標))、ファイバチャンネル(Fiber Channel)、電力線通信(例、HomePlug、IEEE 1901、等)等を含む。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
情報処理システム700は本発明の実施形態による使用者インタフェイスユニット750を含む(例えば、ディスプレーアダプタ、ハプティックインタフェイス、ヒューマンインタフェイス装置)。多様な実施形態で、この使用者インタフェイスユニット750は使用者から入力を受信及び/或いは使用者に出力を提供するために構成される。他の種類の装置は、使用者との相互作用を提供するために使用される。例えば、使用者に提供されるフィードバックは、感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックの任意の形態である。そして、使用者からの入力は音響、音声、又は触覚入力を含む任意の形態に受信される。
多様な実施形態で、情報処理システム700は1つ以上の他の装置或いは別途のハードウェア構成要素760を含み得る(例えば、ディスプレー又はモニタ、キーボード、マウス、カメラ、指紋認識器、ビデオプロセッサ等)。上述したことは本発明を制限しない実施形態であると理解されなければならない。
本発明の実施形態による情報処理システム700は、追加的に少なくとも1つのシステムバス705を含む。このような実施形態で、システムバス705はプロセッサ710、揮発性メモリ720、不揮発性メモリ730、ネットワークインタフェイス740、使用者インタフェイスユニット750、及び少なくとも1つの別途のハードウェア構成要素760に連結するように構成される。
多様な実施形態で、情報処理システム700は、少なくとも1つのソフトウェア構成要素770を含むか、或いは実行する。ソフトウェア構成要素770はOS(運営体系)及び/或いはアプリケーションを含む。一部の実施形態で、OSはアプリケーションに1つ以上のサービスを提供し、アプリケーションと多様なハードウェア構成要素(例えば、プロセッサ710、ネットワークインタフェイス740等)との間の仲介役として動作、即ち管理するように構成される。
このような実施形態で、情報処理システム700は、局部的に(例えば、不揮発性メモリ730内に)設置され、プロセッサ710により直接実行され且つOSと直接に相互作用するように構成された1つ以上のネイティブアプリケーションを含む。このような実施形態で、ネイティブアプリケーションは予めコンパイルされたマシン実行可能コードを含む。
一部の実施形態で、ネイティブアプリケーションは、スクリプトインタプリタ(例えば、C_shell(CSH)、AppleScript、AutoHotkey、等)、或いは仮想実行マシンVM(例、Java(登録商標)仮想マシン、マイクロソフト共通言語ランタイム(Microsoft_Common_Language_Runtime)、等)を含み、これはソース或いはオブジェクトコードをプロセッサ710によって実行される実行コードに変換するように構成される。
上述された半導体装置は多様なパッケージング技術を使用して封止(カプセル化)される。例えば、本発明の実施形態による半導体装置は、POP(package on package)技術、BGA(ball grid arrays)技術、CSP(chip scale package)技術、PLCC(plastic leaded chip carrier)技術、PDIP(plastic dual in−line package)技術、ダイインワッフルパック(die in waffle pack)技術、ダイインウェハフォーム(die in wafer form)技術、COB(chip on board)技術、CERDIP(ceramic dual in−line package)技術、PQFP(plastic quad flat package)技術、SOIC(small outline package)技術、SSOP(shrink small outline package)技術、TSOP(thin small outline package)技術、TQFP(thin quad flat package)技術、SIP(system in package)技術、MCP(multichip package)技術、WFP(wafer−level fabricated package)技術、WSP(wafer−level processed stack package)技術、或いは当業者に公知された他のパッケージ技術の中で少なくとも1つによってパッケージングされ得る。
本発明に係る方法における各段階は、データを受信し、出力を発生するように動作する機能を実行するコンピュータプログラムを実行する少なくとも1つのプログラマブルプロセッサによって実行される。また、方法の段階は、特別目的論理回路、例えば、FPGA(field programmable gate array)或いはASIC(application specific integrated circuit、専用集積回路)によって構成される。
多様な実施形態で、コンピュータ読出し可能な媒体は、実行される場合、装置が方法の段階の中で少なくとも一部を実行するようにするインストラクションを含む。一部の実施形態で、コンピュータ読出し可能媒体は、磁気媒体、光媒体、他の媒体、又はこれらの組合せ(例えば、CD−ROM、ハードドライブ、読出し専用メモリ、フラッシュドライブ、等)を含む。このような実施形態で、コンピュータ読出し可能媒体は、有形の、持続的に具現化された製品であり得る。
一方、上述された本発明の内容は、本発明を実施するための具体的な実施形態に過ぎない。本発明は具体的であり、実際に利用できる手段だけでなく、将来の技術で活用できる抽象的であり概念的なアイディアである技術的思想を含む。
100 システム
104 スケジューラ、スケジューラコンピューティング装置、スケジューリングコンピュータ装置
106、106b、106c データノード
108 複数のデータノード
112 中央プロセッサ(CPU)
114 メーンメモリ
116 知能型格納装置、ISM
118 格納装置、SSM
142 制御器プロセッサ
143 メモリ
160 ファームウェア
170 指示
172 業務、コンピューティング業務
182 プロセッサ、スケジューラプロセッサ、コンピューティング業務プロセッサ
182i、184i、282i データ、入力データ
182o、184o、284o 出力データ
183 別途のハードウェア構成要素
184 メモリ、スケジューラメモリ、コンピューティング業務メモリ
185 格納装置、スケジューラ格納装置、コンピューティング業務格納装置
186 ネットワークインタフェイス
200 システム
202 オフロード(された)動作
204 ホスト計算動作
206 最後の格納
300 (分類システムの)テーブル
312、314、316 グループ
322、332 オフロード可能な分類
334 曖昧な分類
326、336 ホスト計算可能な分類
400 動作チェーンのブロック図
410、420、430、440 第1、第2、第3、第4部分
411、412、413、414、415、416 動作#1〜#6
421、422、423、424、425、426 動作#1〜#6
428、438、448 第1小コンピューティング業務
429、439、449 第2小コンピューティング業務
500 方法、技術
600 技術、フローチャート
700 情報処理システム
705 システムバス
710 中央処理装置(CPU)、ロジック、或いはプロセッサ
715 機能ユニットブロック(FUB)或いは組合せ論理ブロック(CLB)
720 揮発性メモリ(RAM)
730 不揮発性メモリ
740 ネットワークインタフェイス
750 使用者インタフェイスユニット
760 別途のハードウェア構成要素
770 ソフトウェア構成要素

Claims (20)

  1. スケジューラコンピューティング装置において、
    少なくとも1つのコンピューティング業務を格納するように構成されたコンピューティング業務メモリと、
    ここで、前記コンピューティング業務は分散コンピューティングシステムのデータノードによって実行され、前記分散コンピューティングシステムは少なくとも1つのデータノードを含み、各データノードは中央プロセッサ及び知能型格納装置を含み、前記知能型格納装置は制御器プロセッサとメモリを含み、
    前記コンピューティング業務に連関されたデータの量に少なくとも部分的に基づいて、前記データノードの前記中央プロセッサ或いは前記データノードの前記知能型格納装置の中で何れか1つによって実行されるように前記コンピューティング業務を割当てるように構成されたプロセッサと、を含むことを特徴とする装置。
  2. 前記プロセッサは、
    前記コンピューティング業務に連関された出力データの量と比較した前記コンピューティング業務に連関された入力データの量に少なくとも部分的に基づいて、前記データノードの前記中央プロセッサ或いは前記データノードの知能型格納装置の中で何れか1つによって実行される前記コンピューティング業務を割当てるように構成されたことを特徴とする請求項1に記載の装置。
  3. 前記プロセッサは、
    前記出力データの量が前記入力データの量より大きければ、前記コンピューティング業務を前記データノードの前記中央プロセッサに割当て、
    前記出力データの量が前記入力データの量より小さければ、前記コンピューティング業務を前記知能型格納装置の前記制御器プロセッサに割当てるように構成されることを特徴とする請求項2に記載の装置。
  4. 前記プロセッサは、
    大きいコンピューティング業務を小さいコンピューティング業務に分割し、
    ここで、前記コンピューティング業務の各々は、動作のチェーンを含み、前記小さいコンピューティング業務の各々は、前記データノードの前記中央プロセッサ及び前記データノードの前記知能型格納装置の中で何れか1つによって実行され、
    前記小さいコンピューティング業務の各々を、少なくとも2つのカテゴリに分類し、
    ここで、第1カテゴリは、前記データノードの前記中央プロセッサに割当てられ、前記第2カテゴリは、前記データノードの前記知能型格納装置に割当てられ、
    前記小さいコンピューティング業務の各々に連関されたカテゴリに基づいて、前記小さいコンピューティング業務の各々を前記データノードの前記中央プロセッサ及び前記データノードの前記知能型格納装置の中で何れか1つに割当てる、ことを特徴とする請求項1に記載の装置。
  5. 前記プロセッサは、
    前記コンピューティング業務を少なくとも3つのカテゴリに分類し、
    前記第1カテゴリは、前記データノードの前記中央プロセッサに割当てられるように存在し、
    前記第2カテゴリは、前記データノードの前記知能型格納装置に割当てられるように存在し、
    前記第3カテゴリは、前記データノードの前記中央プロセッサ及び前記格納装置の中で何れか1つに割当てられるように存在し、
    もしも現在コンピューティング業務が第3カテゴリに連関されれば、以前コンピューティング業務或いは次のコンピューティング業務に連関されたカテゴリに基づいて、前記現在コンピューティング業務を前記データノードの前記中央プロセッサ及び前記知能型格納装置の中で何れか1つに割当てることを特徴とする請求項1に記載の装置。
  6. 各データノードは、メーンメモリをさらに含み、
    前記スケジューラコンピューティング装置は、前記コンピューティング業務の出力データが前記データノードの前記メーンメモリ及び前記知能型格納装置の前記メモリの中で何れか1つに格納されることを指示するように構成されることを特徴とする請求項1に記載の装置。
  7. 前記分散コンピューティングシステムは、少なくとも1つの第2データノードをさらに含み、
    前記第2データノード各々は、第2中央プロセッサ及びシンプル格納装置を含み、
    前記シンプル格納装置は、第2メモリを含み、
    前記スケジューラコンピューティング装置の前記プロセッサは、
    コンピューティング業務を、前記コンピューティング業務に連関されたデータの断片をどのデータノードが格納しているかに、少なくとも部分的に基づいて、知能型格納装置を含む前記複数のデータノードの内のデータノードの何れか、或いはシンプル格納装置を含む前記複数のデータノードの内の何れかのデータノードに割当て、
    もしも前記コンピューティング業務が前記シンプル格納装置を含む前記複数のデータノードの内のデータノードに割当てられば、全体コンピューティング業務を前記データノードの前記中央プロセッサに割当てることを特徴とする請求項1に記載の装置。
  8. スケジューラコンピューティング装置の方法において、
    複数の動作を有するコンピューティング業務を受信する段階と、
    前記コンピューティング業務をデータノードに割当てる段階と、
    ここで、前記データノードは、中央プロセッサ、メーンメモリ、及び知能型格納装置を含み、前記知能型格納装置は、制御器プロセッサとメモリを含み、
    前記コンピューティング業務を少なくとも第1動作チェーンと第2動作チェーンとに分割する段階と、
    前記第1動作チェーンを前記データノードの前記知能型格納装置に割当てる段階と、
    前記第2動作チェーンを前記データノードの前記中央プロセッサに割当てる段階と、を含むことを特徴とする方法。
  9. 前記分割する段階は、
    各動作を少なくとも第1カテゴリと第2カテゴリとに分類する段階と、
    前記第1カテゴリに連関された動作は、入力データの量より小さい出力データの量を発生する段階と、
    前記第2カテゴリに連関された動作は、入力データの量より大きい出力データの量を発生する段階と、を含むことを特徴とする請求項8に記載の方法。
  10. 前記分割する段階は、
    前記コンピューティング業務の動作の内、何れか1つのカテゴリの動作から他のカテゴリの動作に遷移する箇所の動作を判別する段階と、
    前記判別した動作箇所で前記コンピューティング業務を互に異なる動作チェーンに分割する段階と、を含むことを特徴とする請求項9に記載の方法。
  11. 前記分割する段階は、
    各動作を少なくとも3つのカテゴリの中で1つに分類する段階を含み、
    前記第1カテゴリは、前記データノードの前記中央プロセッサに連関され、
    前記第2カテゴリは、前記データノードの前記知能型格納装置に連関され、
    前記第3カテゴリは、前記データノードの前記中央プロセッサ及び前記知能型格納装置の双方に連関され、
    もしも現在動作が前記第3カテゴリに連関されれば、以前の動作或いは次の動作に連関されたカテゴリに基づいて、前記現在の動作を前記データノードの前記中央プロセッサ及び前記データノードの前記知能型格納装置の中で何れか1つに割当てることを特徴とする請求項8に記載の方法。
  12. 前記第1動作チェーンによって発生される出力データのための前記出力位置を割当てる段階をさらに含むことを特徴とする請求項8に記載の方法。
  13. 前記出力位置を割当てる段階は、
    もしも次の動作が前記データノードの前記中央プロセッサに割当てられれば、前記第1動作チェーンの出力データが前記データノードのメーンメモリに格納されることを指示する段階と、
    前記次の動作が前記データノードの前記知能型格納装置に割当てられれば、前記第1動作チェーンの出力データが前記知能型格納装置に格納されることを指示する段階と、を含むことを特徴とする請求項12に記載の方法。
  14. 分散コンピューティングシステムのデータノードにおいて、
    知能型格納装置によって格納されたデータに基づいて第1動作セットの中で少なくとも1つを実行するように構成される中央プロセッサと、
    ここで、前記知能型格納装置は、半永久的な方法によりデータを格納するように構成されたメモリ、及び前記知能型格納装置に格納されたデータに基づいて第2動作セットの中で少なくとも1つを実行するように構成される制御器プロセッサを含み、
    スケジューラコンピューティング装置から複数の動作を受信するように構成されるネットワークインタフェイスと、を含み、
    前記データノードは、
    コンピューティング業務を少なくとも前記第1動作セットと前記第2動作セットとに分割し、
    前記第1動作セットの実行を前記中央プロセッサに割当て、
    前記第2動作セットの実行を前記知能型格納装置に割当てることを特徴とするデータノード。
  15. 動作に連関された出力データの量と比較した前記動作に連関された入力データ量に少なくとも部分的に基づいて、前記動作を前記第1動作セット及び前記第2動作セットの中で何れか1つに割当てるように構成されることを特徴とする請求項14に記載のデータノード。
  16. 前記複数の動作の全てが前記第2動作セットに含まれ、前記第1動作セットは空になり、
    前記知能型格納装置は、前記複数の動作を実行するように構成されることを特徴とする請求項14に記載のデータノード。
  17. 更に、一時的にデータを格納するように構成されたメーンメモリを含み、
    前記動作に連関された出力データが前記メーンメモリ及び前記知能型格納装置の前記メモリの中で何れか1つに格納されることを特徴とする請求項14に記載のデータノード。
  18. もしも次の動作が前記中央プロセッサに割当てられれば、前記データノードの前記メーンメモリに前記出力データが格納され、
    もしも次の動作が前記知能型格納装置に割当てられれば、前記知能型格納装置の前記メモリに前記出力データが格納されることを特徴とする請求項17に記載のデータノード。
  19. 出力割当てを前記第2動作セットに連関するように構成され、
    前記出力割当てに応答して、前記メーンメモリ或いは前記知能型格納装置の前記メモリに前記出力データを格納することを特徴とする請求項17に記載のデータノード。
  20. 前記中央プロセッサは、前記第2動作セットを実行することを特徴とする請求項17に記載のデータノード。

JP2015186832A 2014-09-29 2015-09-24 スケジューラコンピューティング装置、それを含む分散コンピューティングシステムのデータノード、及びその方法 Active JP6694683B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462057203P 2014-09-29 2014-09-29
US62/057,203 2014-09-29
US14/663,249 US9632831B2 (en) 2014-09-29 2015-03-19 Distributed real-time computing framework using in-storage processing
US14/663,249 2015-03-19

Publications (3)

Publication Number Publication Date
JP2016071886A true JP2016071886A (ja) 2016-05-09
JP2016071886A5 JP2016071886A5 (ja) 2018-10-25
JP6694683B2 JP6694683B2 (ja) 2020-05-20

Family

ID=55485969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015186832A Active JP6694683B2 (ja) 2014-09-29 2015-09-24 スケジューラコンピューティング装置、それを含む分散コンピューティングシステムのデータノード、及びその方法

Country Status (4)

Country Link
US (1) US9632831B2 (ja)
JP (1) JP6694683B2 (ja)
KR (1) KR102238600B1 (ja)
DE (1) DE102015116036A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452444B1 (en) * 2017-10-19 2019-10-22 Pure Storage, Inc. Storage system with compute resources and shared storage resources
CN107967536B (zh) * 2017-11-27 2021-02-26 南京航空航天大学 基于鲁棒优化的绿色数据中心节能任务调度策略
US10565014B2 (en) 2017-12-05 2020-02-18 Western Digital Technologies, Inc. Data processing offload using in-storage code execution

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657706B2 (en) * 2003-12-18 2010-02-02 Cisco Technology, Inc. High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory
JP2010244470A (ja) * 2009-04-09 2010-10-28 Ntt Docomo Inc 分散処理システム及び分散処理方法
JP2013186770A (ja) * 2012-03-09 2013-09-19 Hitachi Ltd データ処理装置
US8819335B1 (en) * 2013-08-30 2014-08-26 NXGN Data, Inc. System and method for executing map-reduce tasks in a storage device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745633B2 (en) * 2010-05-11 2014-06-03 Lsi Corporation System and method for managing resources in a partitioned computing system based on resource usage volatility
US8631414B2 (en) * 2010-09-15 2014-01-14 Qualcomm Incorporated Distributed resource management in a portable computing device
US9423983B2 (en) * 2012-01-19 2016-08-23 Syncsort Incorporated Intelligent storage controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657706B2 (en) * 2003-12-18 2010-02-02 Cisco Technology, Inc. High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory
JP2010244470A (ja) * 2009-04-09 2010-10-28 Ntt Docomo Inc 分散処理システム及び分散処理方法
JP2013186770A (ja) * 2012-03-09 2013-09-19 Hitachi Ltd データ処理装置
US8819335B1 (en) * 2013-08-30 2014-08-26 NXGN Data, Inc. System and method for executing map-reduce tasks in a storage device

Also Published As

Publication number Publication date
DE102015116036A1 (de) 2016-03-31
US9632831B2 (en) 2017-04-25
KR102238600B1 (ko) 2021-04-09
US20160092279A1 (en) 2016-03-31
JP6694683B2 (ja) 2020-05-20
KR20160037737A (ko) 2016-04-06

Similar Documents

Publication Publication Date Title
KR102173284B1 (ko) 이종의 저장 매체들을 이용하는 분산 파일 시스템을 구동하는 전자 시스템, 및 그것의 데이터 저장 방법 및 관리 방법
US10896064B2 (en) Coordinated, topology-aware CPU-GPU-memory scheduling for containerized workloads
JP7469026B2 (ja) ストレージでの最適な動的シャードを生成する装置及びシステム
CN107111517B (zh) 针对归约器任务的虚拟机优化分配和/或生成
US10884707B1 (en) Transpose operations using processing element array
KR102240774B1 (ko) 지역 베이스보드 관리 제어기를 이용하여 패브릭 시스템에 걸쳐 불휘발성 메모리 익스프레스 내에서 공유된 그래픽 처리부 자원들을 할당하는 방법
CN109669985B (zh) 在微服务环境中使用相关数据分配执行任务
KR101471749B1 (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
US11231852B2 (en) Efficient sharing of non-volatile memory
KR20200091790A (ko) Gpu 연산의 동시 실행을 위한 플랫폼
JP5923627B2 (ja) 仮想プラットフォーム上でi/oチャネルを調整する方法及び装置
US20190146837A1 (en) Distributed real-time computing framework using in-storage processing
US10120798B1 (en) Dynamic FPGA re-configuration using a virtual FPGA controller
CN103856548A (zh) 动态资源调度方法和动态资源调度器
JP2022033688A (ja) メモリアクセスリクエストスケジューリング方法、装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
JP6694683B2 (ja) スケジューラコンピューティング装置、それを含む分散コンピューティングシステムのデータノード、及びその方法
US10198293B2 (en) Distributed real-time computing framework using in-storage processing
JP2016071886A5 (ja)
KR20180124692A (ko) 분산 파일 시스템에 대한 태스크 처리 방법
US11119787B1 (en) Non-intrusive hardware profiling
JP6157719B2 (ja) 計算機
US9176910B2 (en) Sending a next request to a resource before a completion interrupt for a previous request
Sahebi et al. Distributed large-scale graph processing on FPGAs
JP6322968B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP6445876B2 (ja) リソース割当装置、リソース割当システム、および、リソース割当方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180911

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191007

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200420

R150 Certificate of patent or registration of utility model

Ref document number: 6694683

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250