(57)【特許請求の範囲】
【請求項１】
スケジューラコンピューティング装置において、
少なくとも１つのコンピューティング業務を格納するように構成されたコンピューティング業務メモリと、
ここで、前記コンピューティング業務は分散コンピューティングシステムのデータノードによって実行され、前記分散コンピューティングシステムは少なくとも１つのデータノードを含み、各データノードは中央プロセッサ及び知能型格納装置を含み、前記知能型格納装置は制御器プロセッサと不揮発性メモリと、
前記コンピューティング業務に連関された入力データの量と比較した前記コンピューティング業務に連関された出力データの量に少なくとも部分的に基づいて、前記データノードの前記中央プロセッサ或いは前記データノードの前記知能型格納装置の中で何れか１つによって実行されるように前記コンピューティング業務を割当てるように決定することにより前記データノードの構成要素間のデータ転送を低減するように構成され、前記スケジューラコンピューティング装置のプロセッサと、を含み、
前記スケジューラコンピューティング装置のプロセッサは、
前記出力データの量が前記入力データの量より大きければ、前記コンピューティング業務を前記データノードの前記中央プロセッサに割当て、
前記出力データの量が前記入力データの量より小さければ、前記コンピューティング業務を前記知能型格納装置の前記制御器プロセッサに割当てるように構成されることを特徴とする装置。
【請求項２】
前記スケジューラコンピューティング装置のプロセッサは、
前記コンピューティング業務に連関された出力データの量と比較した前記コンピューティング業務に連関された入力データの量に少なくとも部分的に基づいて、前記データノードの前記中央プロセッサ或いは前記データノードの前記知能型格納装置の中で何れか１つによって実行される前記コンピューティング業務を割当てるように構成されたことを特徴とする請求項１に記載の装置。
【請求項３】
前記スケジューラコンピューティング装置のプロセッサは、
大きいコンピューティング業務を１つ以上の小さいコンピューティング業務に分割し、
ここで、前記コンピューティング業務の各々は、１つ以上の動作のチェーンを含み、前記小さいコンピューティング業務の各々は、前記データノードの前記中央プロセッサ及び前記データノードの前記知能型格納装置の中で何れか１つによって実行され、
前記小さいコンピューティング業務の各々を、１つか又は少なくとも２つのカテゴリに分類し、
ここで、第１カテゴリは、前記データノードの前記中央プロセッサに割当てられ、第２カテゴリは、前記データノードの前記知能型格納装置に割当てられ、
前記小さいコンピューティング業務の各々に連関されたカテゴリに基づいて、前記小さいコンピューティング業務の各々を前記データノードの前記中央プロセッサ及び前記データノードの前記知能型格納装置の中で何れか１つに割当てる、ことを特徴とする請求項１に記載の装置。
【請求項４】
前記スケジューラコンピューティング装置のプロセッサは、
前記コンピューティング業務を少なくとも１つか又は少なくとも３つのカテゴリに分類し、
第１カテゴリは、前記データノードの前記中央プロセッサに割当てられるように存在し、
第２カテゴリは、前記データノードの前記知能型格納装置に割当てられるように存在し、
第３カテゴリは、前記データノードの前記中央プロセッサ及び前記知能型格納装置の中で何れか１つに割当てられるように存在し、
もしも現在コンピューティング業務が前記第３カテゴリに連関されれば、以前コンピューティング業務或いは次のコンピューティング業務に連関されたカテゴリに基づいて、前記現在コンピューティング業務を前記データノードの前記中央プロセッサ及び前記知能型格納装置の中で何れか１つに割当てることを特徴とする請求項１に記載の装置。
【請求項５】
各データノードは、メーンメモリをさらに含み、
前記スケジューラコンピューティング装置は、前記コンピューティング業務の出力データが前記データノードの前記メーンメモリ及び前記知能型格納装置の前記不揮発性メモリの中で何れか１つに格納されることを指示するように構成されることを特徴とする請求項１に記載の装置。
【請求項６】
前記分散コンピューティングシステムは、第２の複数のデータノードをさらに含み、
前記第２の複数のデータノードの各々は、第２中央プロセッサ及びシンプル格納装置を含み、
前記シンプル格納装置は、メモリを含み、
前記スケジューラコンピューティング装置の前記プロセッサは、
コンピューティング業務を、前記コンピューティング業務に連関されたデータの断片をどのデータノードが格納しているかに、少なくとも部分的に基づいて、前記知能型格納装置を含む前記複数のデータノードの内のデータノードの何れか、或いは前記シンプル格納装置を含む前記複数のデータノードの内の何れかのデータノードに割当て、
もしも前記コンピューティング業務が前記シンプル格納装置を含む前記複数のデータノードの内のデータノードに割当てられれば、全体コンピューティング業務を前記データノードの前記中央プロセッサに割当てることを特徴とする請求項１に記載の装置。
【請求項７】
スケジューラコンピューティング装置の方法において、
複数の動作を有するコンピューティング業務を受信する段階と、
前記コンピューティング業務をデータノードに割当てる段階と、
ここで、前記データノードは、中央プロセッサ、メーンメモリ、及び知能型格納装置を含み、前記知能型格納装置は、制御器プロセッサとメモリを含み、
前記コンピューティング業務を少なくとも第１動作チェーンと第２動作チェーンとに分割する段階と、
ここで、前記コンピューティング業務の分割は、各動作を第１カテゴリ或いは第２カテゴリに分類することを含み、何れか１つのカテゴリ動作から他のカテゴリの動作への遷移がどの動作で生じるかを判別することと、前記コンピューティング業務を互に異なる動作のチェーンに分割することを含み、
もしも、各動作チェーンにとって、出力データ量が入力データ量より小さいならば、前記各動作チェーンを前記データノードの前記知能型格納装置に割当てる段階と、
もしも、前記各動作チェーンにとって、前記出力データ量が前記入力データ量より大きいならば、前記各動作チェーンを前記データノードの前記中央プロセッサに割当てる段階と、を含むことを特徴とする方法。
【請求項８】
前記分割する段階は、
各動作を少なくとも前記第１カテゴリと前記第２カテゴリとの何れかに分類する段階と、
前記第１カテゴリに連関された動作は、前記入力データ量より小さい前記出力データ量を発生する段階と、
前記第２カテゴリに連関された動作は、前記入力データ量より大きい前記出力データ量を発生する段階と、を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記分割する段階は、
前記コンピューティング業務の動作の中、何れか１つのカテゴリの動作からもう１つのカテゴリの動作に遷移する箇所の動作を判別する段階と、
前記判別した動作の箇所で前記コンピューティング業務を互いに異なる動作チェーンに分割する段階と、を含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記分割する段階は、
各動作を少なくとも３つのカテゴリの中で１つに分類する段階を含み、
第１カテゴリは、前記データノードの前記中央プロセッサに連関され、
第２カテゴリは、前記データノードの前記知能型格納装置に連関され、
第３カテゴリは、前記データノードの前記中央プロセッサ及び前記知能型格納装置の双方に連関され、
もしも現在の動作が前記第３カテゴリに連関されれば、以前の動作或いは次の動作に連関されたカテゴリに基づいて、前記現在の動作を前記データノードの前記中央プロセッサ及び前記データノードの前記知能型格納装置の中で何れか１つに割当てることを特徴とする請求項７に記載の方法。
【請求項１１】
前記第１動作チェーンによって発生される出力データのための出力位置を割当てる段階をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１２】
前記出力位置を割当てる段階は、
もしも次の動作が前記データノードの前記中央プロセッサに割当てられれば、前記第１動作チェーンの出力データが前記データノードの前記メーンメモリに格納されることを指示する段階と、
前記次の動作が前記データノードの前記知能型格納装置に割当てられれば、前記第１動作チェーンの出力データが前記知能型格納装置に格納されることを指示する段階と、を含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
分散コンピューティングシステムのデータノードにおいて、
知能型格納装置によって格納されたデータに対して第１動作セットの中で少なくとも１つを実行するように構成される中央プロセッサと、
ここで、前記知能型格納装置は、半永久的な方法によりデータを格納するように構成されたメモリ、及び前記知能型格納装置に格納されたデータに対して第２動作セットの中で少なくとも１つを実行するように構成される制御器プロセッサを含み、
スケジューラコンピューティング装置から複数の動作を受信するように構成されているネットワークインタフェイスと、を含み、
ここで、前記データノードは、
コンピューティング業務を、各動作セットに連関した入力データ量と比較した各動作セットに連関した出力データ量に少なくとも部分的に基づいて、少なくとも前記第１動作セットと前記第２動作セットとに分割し、
もしも、各動作セットにとって、前記出力データ量が前記入力データ量より小さいならば、前記各動作セットの実行を前記知能型格納装置に割当て、
もしも、各動作セットにとって、前記出力データ量が前記入力データ量より大きいならば、前記各動作セットの実行を前記中央プロセッサに割当てる、ことを特徴とするデータノード。
【請求項１４】
１つの動作に連関された出力データの量と比較した前記１つの動作に連関された入力データ量に少なくとも部分的に基づいて、前記１つの動作を前記第１動作セット及び前記第２動作セットの中で何れか１つに割当てるように構成されることを特徴とする請求項１３に記載のデータノード。
【請求項１５】
前記複数の動作の全てが前記第２動作セットに含まれ、前記第１動作セットは空になり、
前記知能型格納装置は、前記複数の動作の全てを実行するように構成されることを特徴とする請求項１３に記載のデータノード。
【請求項１６】
更に、一時的にデータを格納するように構成されたメーンメモリを含み、
前記動作に連関された出力データが前記メーンメモリ及び前記知能型格納装置の前記メモリの中で何れか１つに格納されることを特徴とする請求項１３に記載のデータノード。
【請求項１７】
もしも次の動作が前記中央プロセッサに割当てられれば、前記データノードの前記メーンメモリに前記出力データが格納され、
もしも次の動作が前記知能型格納装置に割当てられれば、前記知能型格納装置の前記メモリに前記出力データが格納されることを特徴とする請求項１６に記載のデータノード。
【請求項１８】
出力割当てを前記第２動作セットに連関するように構成され、
前記出力割当てに応答して、前記メーンメモリ或いは前記知能型格納装置の前記メモリに前記出力データを格納することを特徴とする請求項１６に記載のデータノード。
【請求項１９】
前記中央プロセッサは、前記第２動作セットを実行可能であることを特徴とする請求項１３に記載のデータノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスケジューラコンピューティング装置、それを含む分散（ｄｉｓｔｒｉｂｕｔｅｄ）コンピューティングシステムのデータノード、及びその方法に関する。
【背景技術】
【０００２】
分散コンピューティングシステムは一般的に分散システムを研究／利用するコンピュータ科学の分野である。分散コンピューティングシステムは伝統的に、コンピュータネットワーク上に位置する構成要素がそれら自身の間でメッセージを交換してその行動を通信し調整するシステムである。構成要素は共通の目標を達成するために互いに相互作用する。
分散システムの一般的な特性は、構成要素の同時動作性、グローバルクロックの欠如、及び、構成要素の独立した故障が許容されることである。分散システムの例としては、巨大なマルチプレーヤオンラインゲームからピアツーピア・アプリケーションまで多様である。
【０００３】
“分散システム”、“分散プログラミング”、“分散ファイルシステム”等のような用語で使用される“分散”という単語は、元来は、個別コンピュータが物理的に地域的に分散されているコンピュータネットワークの状態に言及している。しかし、この用語は最近さらに広い意味に使用され、しばしば、同一の物理的位置で運転され、メッセージ交換により相互作用を行う自律的プロセスを指す。
【０００４】
分散コンピューティングシステムは例えば、大規模演算問題の解を求めるというような共通の目標を有する。例えば、或る分散システムでは、大規模演算問題は同時に、又は並列に実行される、より小さい複数のコンピューティング業務（ｔａｓｋ）に分けられる。このような業務は分散システムの多様なコンピュータ（データノード）に割当てられる。問題を順次的に処理する単一のコンピュータとは異なり、このような分散コンピューティングシステムでは、大規模演算問題が実質的に並列に問題を処理する分散システムの実行能力を活用してより速やかに解決され得る。しかし、従来の分散コンピューティングシステムでは、コンピューティング業務の処理に当たり、データノード間及び／又はデータノード内のデータ移動が多く、消費電力と処理時間の増大を招いていた。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、少なくともデータノード内のデータ移動を効率的に減らして、大規模演算問題の解を効率的に求める分散コンピューティングシステムのスケジューラコンピューティング装置及び方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の実施形態によるスケジューラコンピューティング装置は、少なくとも１つのコンピューティング業務を格納するように構成されたコンピューティング業務メモリと、
ここで、前記コンピューティング業務は分散コンピューティングシステムのデータノードによって実行され、前記分散コンピューティングシステムは少なくとも１つのデータノードを含み、各データノードは中央プロセッサ及び知能型格納装置を含み、前記知能型格納装置は制御器プロセッサと不揮発性メモリと、
前記コンピューティング業務に連関された入力データの量と比較した前記コンピューティング業務に連関された出力データの量に少なくとも部分的に基づいて、前記データノードの前記中央プロセッサ或いは前記データノードの知能型格納装置の中で何れか１つによって実行されるように前記コンピューティング業務を割当てるように決定することにより前記データノードの構成要素間のデータ転送を低減するように構成されたプロセッサと、を含み、
前記プロセッサは、
前記出力データの量が前記入力データの量より大きければ、前記コンピューティング業務を前記データノードの前記中央プロセッサに割当て、
前記出力データの量が前記入力データの量より小さければ、前記コンピューティング業務を前記知能型格納装置の前記制御器プロセッサに割当てるように構成される。
【０００７】
本発明の実施形態によるスケジューラコンピューティング装置の方法は、複数の動作（ｏｐｅｒａｔｉｏｎ）を有するコンピューティング業務を受信する段階と、前記コンピューティング業務をデータノードに割当てる段階と、ここで、前記データノードは、中央プロセッサ、メーンメモリ、及び知能型格納装置を含み、前記知能型格納装置は、制御器プロセッサとメモリを含み、  前記コンピューティング業務を少なくとも第１動作チェーンと第２動作チェーンとに分割する段階と、
ここで、前記コンピューティング業務の分割は、各動作チェーンにとって、前記各動作チェーンに連関した出力データ量と前記各動作チェーンに連関した入力データ量を決定することを含み、  もしも、前記各動作チェーンにとって、前記出力データ量が前記入力データ量より小さいならば、前記各動作チェーンを前記データノードの前記知能型格納装置に割当てる段階と、  もしも、前記各動作チェーンにとって、前記出力データ量が前記入力データ量より大きいならば、前記各動作チェーンを前記データノードの前記中央プロセッサに割当てる段階と、を含む。
【０００８】
本発明の実施形態による分散コンピューティングシステムのデータノードは、知能型格納装置によって格納されたデータに対して第１動作セットの中で少なくとも１つを実行するように構成された中央プロセッサと、ここで、前記知能型格納装置は、半永久的な方法によりデータを格納するように構成されたメモリ、及び前記知能型格納装置に格納されたデータに対して第２動作セットの中で少なくとも１つを実行するように構成された制御器プロセッサを含み、スケジューラコンピューティング装置から複数の動作を受信するように構成されているネットワークインタフェイスと、を含み、
ここで、前記データノードは、  コンピューティング業務を、各動作セットに連関した入力データ量と比較した各動作セットに連関した出力データ量に少なくとも部分的に基づいて、少なくとも前記第１動作セットと前記第２動作セットとに分割し、  もしも、各動作セットにとって、前記出力データ量が前記入力データ量より小さいなら、前記各動作セットの実行を前記中央プロセッサに割当て、  もしも、各動作セットにとって、前記出力データ量が前記入力データ量より大きいなら、前記各動作セットの実行を前記知能型格納装置に割当てる。
【発明の効果】
【０００９】
分散コンピューティングシステムにおいて、本発明に係るスケジューラコンピューティング装置は、或るコンピューティング業務に連関されたデータの量に少なくとも部分的に基づいて、データノードの中央プロセッサのみならず、データノード内の本発明による特別な構成要素である知能型格納装置にもコンピューティング業務を割当てることができるので、データノード内のデータの移動を効率的に低減できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態によるシステム１００を例示的に示す図面である。
【図２】本発明の実施形態によるシステム２００の例示的な実施形態のブロック図である。
【図３】本発明の実施形態による分類システムの例示的な実施形態のテーブル３００である。
【図４】本発明の実施形態による動作のチェーンの例示的な実施形態のブロック図４００である。
【図５】本発明の実施形態による方法５００の例示的な実施形態のフローチャートである。
【図６】分割過程の可能である実施形態をさらに詳細に説明するための図面である。
【図７】本発明の実施形態による情報処理システム７００のブロックダイヤグラムを示す図面である。
【発明を実施するための形態】
【００１１】
以下では図面を利用して、本発明の技術分野で通常の知識を有する者が容易に実施できる程度に本発明の内容を明確、且つ詳細に記載する。
【００１２】
本発明は多様な変更を追加でき、様々な形態を保有できるので、特定実施形態を図面に例示し、本文で詳細に説明する。しかし、これは本発明を特定の開示形態に限定せず、本発明の思想及び技術範囲に含まれる全ての変更、均等物乃至代替物を含むと理解されなければならない。第１、第２等の用語は多様な構成要素を明確に説明するために使用されるが、構成要素はこの用語によって限定されない。
【００１３】
前記用語は１つの構成要素を他の構成要素から区別する目的のみに使用される。例えば、本発明の権利範囲を逸脱することなく、第１構成要素は第２構成要素と称され、類似に第２構成要素も第１構成要素と称され得る。何れかの構成要素が他の構成要素に“連結されている”か、“接続されている”と言及されたときには、その、他の構成要素に直接的に連結されているか、或いは接続されている場合だけでなく、中間に更に他の構成要素が存在する場合も含み得ると理解されなければならない。反面に、何れかの構成要素が他の構成要素に“直接連結されている”か、或いは“直接接続されている”と言及されたときには、中間に更に他の構成要素が存在しないと理解されなければならない。
【００１４】
構成要素間の関係を説明する他の用語ら、即ち“〜間に”と“直接〜間に”、或いは“〜に隣接する”と“〜に直接隣接する”等も同様に解釈されなければならない。本出願で使用した用語は単に特定な実施形態を説明するために使用されており、本発明を限定する意図はない。単数の表現は文脈上、明確に複数の表現と異なるように意味しない限り、複数の表現を含む。
【００１５】
本出願で、“含む”又は“有する”等の用語は、少なくとも明細書上に記載された特徴、数字、段階、動作、構成要素、部品又はこれらの組合せが存在することを指定するに過ぎず、１つ又はそれ以上の他の特徴や数字、段階、動作、構成要素、部分品又はそれらの組合せの存在又は付加可能性を予め排除しないと理解されなければならない。別途異なって定義しない限り、技術的であるか、或いは科学的な用語を含んでここで使用される全ての用語は本発明が属する技術分野で通常の知識を有する者によって一般的に理解されるのと同一の意味を有する。一般的に使用される、事前に定義されていない用語は関連技術の文脈上で有する意味に一致する意味を有すると解釈されなければならず、本出願で明確に定義しない限り、理想的であるか、或いは過度に形式的な意味に解釈されてはならない。
【００１６】
以下では、例示的な実施形態が図面に基づいて詳細に説明される。
【００１７】
図１は本発明の実施形態によるシステム１００を例示的に示す図面である。多様な実施形態で、システム１００は分散コンピューティングシステムを含み、そして分散アプリケーションを実行する。上記システム１００は本発明を制限しない１つの実施形態として理解されなければならない。
【００１８】
図示された実施形態で、システム１００は複数のデータノード１０８、及びスケジューラコンピューティング装置、即ちスケジューラ１０４を含む。このような実施形態で、複数のデータノード１０８は順に個別的なデータノード（例、データノード１０６、１０６ｂ、及び１０６ｃ、等）を含む。上述されたように、分散コンピューティングシステムの多様な実施形態において、スケジューラ１０４は分散コンピューティングシステムによって遂行、即ち実行される少なくとも１つのコンピューティング業務１７２を含む、即ち、有する。
【００１９】
多様な実施形態において、スケジューラ１０４はコンピューティング装置、或いはそれらの仮想マシン、即ちその仮想コンピューティング装置を含む。ここで、コンピューティング装置は、例えば、ラップトップ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、スマートフォン、タブレット、及び他の適切なコンピュータである。多様な実施形態において、スケジューラ１０４は使用者（図示せず）によって使用できない場合がある。多様な実施形態において、スケジューラ１０４は、ソフトウェア、ファームウェア、或いはそれらの組合せの断片（ｐｉｅｃｅｓ）、即ち、マシン実行可能なインストラクションを実行するように構成されたプロセッサ１８２を含む。或る実施形態において、スケジューラ１０４は、一時的に、永久的に、半永久的に、或いはそれらの組合せで１以上のデータ断片を格納するように構成されたメモリ１８４を含む。
更にメモリ１８４は、揮発性メモリ、不揮発性メモリ、或いはそれらの組合せを含み得る。多様な実施形態において、スケジューラ１０４は半永久的或いは実質的に永久的な形態にデータを格納するように構成された格納装置１８５を含む。多様な実施形態において、格納装置１８５はメモリ１８４に含まれる。
以下、プロセッサ１８２は、スケジューラプロセッサ、又はコンピューティング業務プロセッサともいう。
また、メモリ１８４は、スケジューラメモリ、又はコンピューティング業務メモリともいう。
また、格納装置１８５は、スケジューラ格納装置、又はコンピューティング業務格納装置ともいう。
【００２０】
多様な実施形態において、スケジューラ１０４は、スケジューラ１０４の一部として構成され、多様なプロトコルを使用する通信ネットワークを通じて通信する少なくとも１つのネットワークインタフェイス１８６を含む。ネットワークインタフェイス１８６のプロトコルのうち、Ｗｉ−Ｆｉプロトコルの例は、これに限定されないが、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）＿８０２．１１ｇ，  ＩＥＥＥ＿８０２．１１ｎ，等を含み、セルラ（携帯）プロトコルの例は、これに限定されないが、ｅＩＥＥＥ＿８０２．１６ｍ（別名、Ｗｉｒｅｌｅｓｓ−ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）−Ａｄｖａｎｃｅｄ），  ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）−Ａｄｖａｎｃｅｄ），ＥＤＧＥ（Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ｒａｔｅｓ  ｆｏｒ  ＧＳＭ（登録商標）（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）  Ｅｖｏｌｕｔｉｏｎ），Ｅｖｏｌｖｅｄ  Ｈｉｇｈ−Ｓｐｅｅｄ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ（ＨＳＰＡ＋）等を含み、有線プロトコルの例は、これに限定されないが、ＩＥＥＥ  ８０２．３（別名、Ｅｔｈｅｒｎｅｔ（登録商標）），Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ，Ｐｏｗｅｒ  Ｌｉｎｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ（例えば、ＨｏｍｅＰｌｕｇ，ＩＥＥＥ  １９０１，等），等を含む。上述のプロトコルは何れも、本発明を限定しない幾つかの実施形態に係ると理解されなければならない。
【００２１】
多様な実施形態において、スケジューラ１０４は少なくとも１つの別途のハードウェア構成要素１８３を含む。このような構成要素は、ディスプレー或いはモニタ、キーボード、マウス、カメラ、フィンガプリントリーダ、ビデオプロセッサ等の何れかである。上述したことは、本発明を限定しない、単なる幾つかの実施形態に係ると理解されなければならない。
【００２２】
多様な実施形態において、データノード１０８の各々は上述のスケジューラ１０４に関して参照されたハードウェア構成要素（例、ネットワークインタフェイス１８６、別途のハードウェア構成要素１８３、等）と類似なハードウェア構成要素を含む。このような実施形態で、データノード１０８は以下で説明される構成要素（例、知能型格納装置（ＩＳＭ、ｉｎｔｅｌｌｉｇｅｎｔ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）１１６、中央プロセッサ１１２、等）をさらに含むか、或いは選択的に含む。上述したことは、本発明を限定しない幾つかの実施形態に係ると理解されなければならない。
【００２３】
データノード１０８はコンピューティング業務１７２を実行するように雇用されたコンピューティング装置を含む。スケジューラ１０４は実行のための多様なデータノード１０８にコンピューティング業務１７２を割当てるように構成される。
【００２４】
このような実施形態で、各コンピューティング業務１７２はデータ（例、データ１８２ｉ）の各々の断片に連関される。データ断片は単一の（或いは複数の）データノード（例、データノード１０６）に格納される。スケジューラ１０４はどのデータ断片がどのデータノード１０８に格納されているか、を指示する指示１７０を維持する。このような実施形態で、どのデータノードにコンピューティング業務１７２が割当てられるか、を決定する時、指示１７０が点検され、どのデータノード（単数又は複数）が連関されたデータを格納しているか否かが決定される。
【００２５】
例えば、第１のコンピューティング業務１７２がデータ１８２ｉに連関されれば、データ１８２ｉがデータノード１０６ｂ内に発見されないので、第１のコンピューティング業務１７２はデータノード１０６ｂに割当てられない。代わりに、データノード１０６がデータ１８２ｉを格納しているので、第１のコンピューティング業務１７２はデータノード１０６に割当てられる。同様に、データノード１０６ｂに格納されているデータ１８４ｉに連関された第２のコンピューティング業務１７２はデータノード１０６（データ１８４ｉが格納されない）に割当てられず、データノード１０６ｂに割当てられる。
このような実施形態で、スケジューラ１０４はデータノード間のデータを移動するように（例、データ１８４ｉをデータノード１０６ｂからデータノード１０６に移動）コンピューティング業務１７２を発生する場合があるが、そのような場合は本発明で開示する技術的特徴の、殆ど範囲外である。
【００２６】
伝統的なデータノード（例、データノード１０６ｃ、等）は、中央処理ユニット、即ち、中央プロセッサ（ＣＰＵ）１１２、メーンメモリ１１４（例、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、等）、及び格納装置１１８を含み、格納装置１１８はメモリ１４３（マグネチックメモリ、ソリッドステートメモリ、等）を含む。伝統的に、データノードの業務を実行する唯一のプロセッサは中央プロセッサ１１２である。従って、データは中央プロセッサ１１２がそれにアクセスできるようにデータノード１０６ｃを通じて移動されなければならない。これは３つの主要構成要素（格納装置１１８、メーンメモリ１１４、及び中央プロセッサ１１２）を巻き込んで、その各々に／からデータを移動することを意味する。データの各々の移動は追加的な電力消費をもたらし、そして一定の時間を必要とする。更に、中央プロセッサ１１２及びメーンメモリ１１４によって提供されるべきシステムリソースが例えば、コンピュータサイクル及び格納空間によって制限されるので、データの移動はこのようにシステムリソースを消費する。
【００２７】
本発明に係り説明する実施形態では、複数のデータノード１０８の個別データノード（例えば、１０６、１０６ｂ）は、個別データノード間におけるデータの移動を低減し、これによってこのような移動によるオーバヘッドを節約できる構成要素を含む。
【００２８】
本実施形態で、データノード（例、データノード１０６、等）は、中央処理ユニットＣＰＵ或いは中央プロセッサ１１２、メーンメモリ１１４（例、ＲＡＭ、等）を含み、それだけでなく知能型格納装置（ＩＳＭ）１１６を含む。このような実施形態で、知能型格納装置１１６は制御器プロセッサ１４２及びメモリ１４３（マグネチックメモリ、ソリッドステートメモリ、等）を含む。この文脈において、外部的にアクセス、即ち割当てが可能な制御器プロセッサ１４２が無い伝統的な格納装置は、“シンプル格納装置”（ＳＳＭ、ｓｉｍｐｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）１１８と称する。
【００２９】
このような実施形態で、データノード１０６は２つ（或いはそれ以上）のプロセッサを含む。本実施形態で、システム１００はデータノードのみでなく、データノード内の特殊な構成要素にもコンピューティング業務１７２の割当てができるように構成される。
【００３０】
このような実施形態では、データ（例、データ１８４ｉ、等）の移動の低減と、事実上の排除を可能にする。例えば、制御器プロセッサ１４２がコンピューティング業務１７２を実行するように割当てられれば、データは以下に説明されるように、ＩＳＭ  １１６の外部へ移動する必要がない。
【００３１】
第１番目の実施形態として、図示された実施形態で、伝統的な使用と類似な場合を表すが、スケジューラ１０４はデータノード１０６のみでなく、中央プロセッサ１１２にコンピューティング業務１７２を割当てる。このような実施形態で、データ１８２ｉの移動は伝統的な場合と類似に発生する。特別に、データ１８２ｉは永久的に或いは半永久的に知能型格納装置（ＩＳＭ）１１６に格納される。コンピューティング業務１７２が実行される時、このデータ１８２ｉはＩＳＭ  １１６からメーンメモリ１１４にコピーされる。中央プロセッサ１１２はその後に、メーンメモリ１１４内のデータ１８２ｉにアクセスする。コンピューティング業務１７２の結果、即ち出力データ１８２ｏはメーンメモリ１１４の内部に格納される。結論的に（例、コンピューティング業務の終わりに、等）、出力データ１８２ｏは永久的に、或いは半永久的にＩＳＭ  １１６の内部に格納される。
【００３２】
伝統的な使用から実質的に外れた第２番目の実施形態として、図示された実施形態で、スケジューラ１０４はデータノード１０６ｂのみでなく、その中の知能型格納装置（ＩＳＭ）１１６にコンピューティング業務１７２を割当てる。このような実施形態で、データ１８４ｉの移動は、上述された第１番目の実施形態或いは伝統的な場合と比較して大きく減少される。このような実施形態で、データ１８４ｉは永久的に、或いは半永久的に知能型格納装置１１６のメモリ１４３に格納される。コンピューティング業務１７２が実行される時、このデータ１８４ｉは制御器プロセッサ１４２によってメモリ１４３からコピー、即ちアクセスされる。このような実施形態で、ＩＳＭ  １１６とメーンメモリ１１４との間の通信バス或いはチャンネル（図示せず）の使用は回避でき、従って以前に説明されたシステムリソースの消費を低減できる。コンピューティング業務１７２の結果或いは出力データ１８４ｏは（メーンメモリ１１４及びＩＳＭ  １１６の間のデータを移動するためのシステムリソースの使用を避けながら）永久的に或いは半永久的にメモリ１４３の内部に格納される。
【００３３】
以下で図２、図３、及び図３を参照して説明するように、スケジューラ１０４は、データノード（例、データノード１０６等）に対するデータを移動する時に使用されるシステムリソースの最小化以外に関連する場合もある。例えば、全てのコンピュータ業務１７２が制御器プロセッサ１４２によって実行可能とは限らない。伝統的に、制御器プロセッサ１４２の機能はコンピューティング業務１７２の性能を果たせない場合がある。反面に、制御器プロセッサ１４２の２つの主要機能は、（１）ＩＳＭ  １１６とＩＳＭ  １１６自身を含む任意の装置（例、データノード１０６、等）との間の通信を管理し、（２）メモリ１４３内のデータ格納を管理する、ことにある。
図示された実施形態で、ＩＳＭ  １１６の制御器プロセッサ１４２はこのような伝統的な機能を実行するように構成されるだけでなく、コンピューティング業務１７２を実行するように構成される。例えば、ＳＳＤ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）を含むＩＳＭ  １１６は管理機能を実行するように構成される制御器プロセッサ１４２を含む。ここで、管理機能は、例えば、ＥＣＣ（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｎｇ  ｃｏｄｅ）計算、ウェアレベリング管理、バッドブロックマッピング、リードスクラビング（ｒｅａｄ  ｓｃｒｕｂｂｉｎｇ）及びリードディスターブ（ｒｅａｄ  ｄｉｓｔｕｒｂ）管理、読出し及び書込みキャッシング、ガーベッジコレクション、及び／或いは暗号化等である。
【００３４】
或る実施形態において、制御器プロセッサ１４２は制限されたセット、即ち、より一般的にいうと、動作或いはインストラクションの第１セットのみを実行する。このような実施形態で、コンピューティング業務１７２の上位レベル動作をどのようにして実行するか、或いはコンピューティング業務１７２の上位レベル動作を制御器プロセッサ１４２で理解できる下位レベル動作にどのようにして変換するかを説明するインストラクション或いは動作コード（ｏｐｃｏｄｅｓ）は制御器プロセッサ１４２内のファームウェア１６０或いはメモリに格納される。一部の実施形態において、このようなファームウェア１６０は、制御器プロセッサ１４２に新しい機能（例、実行される可能性のある新しい動作、等）を調節するか、或いは追加するように頻繁にアップデートされるか、或いは編集される。他の実施形態で、動作或いは動作の一部は、固定配線される、即ち、制御器プロセッサ１４２の構造の物理的な部分となし得る。上述したことは本発明を制限しない、単なる例示的な実施形態であると理解されなければならない。
【００３５】
前記制御器プロセッサ１４２の制御集合が全ての可能な動作のサブセットである実施形態においては、スケジューラ１０４は制御器プロセッサ１４２によって支援可能な動作範囲によって、業務１７２をＩＳＭ  １１６に割当てる能力が、中央処理装置１１２に割当てる場合よりは制限される。
多様な実施形態において、相異なるデータノード（例えば、データノード１０６及びデータノード１０６Ｂ、等）は異なる動作を支援する。例えば、第１  ＩＳＭ（例えば、データノード１０６のＩＳＭ  １１６）は第２データノード（例えば、データノード１０６ｂのＩＳＭ  １１６）とは相異なる他の製造社によって製造され、ファームウェア１６０が異なるバーションを有する。このように、２つのデータノードは異なる能力又は動作を支援する。一部の実施形態で、スケジューラ１０４は第１データノードのＩＳＭ  １１６に動作１７２を割当てるが、（よって能力が異なる場合）同一或いは類似の業務１７２を第２データノードの中央処理装置１１２に割当てることもあり得る。上述したことは本発明を制限しない実施形態として理解されなければならない。
【００３６】
このような実施形態で、ＩＳＭ  １１６によって提供される動作をアプグレード又は変更するか、或いはＩＳＭによって実行される動作方法を変化することが可能である。他の実施形態で、ファームウェア１６０或いは動作を実行する他の構造は、全体的に或いは部分的に固定されるか、或いは変更されない。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００３７】
更に、多様な実施形態において、複数のデータノード１０８は複数のＩＳＭ  １１６と複数のＳＳＭ  １１８との混合を含む。一部の実施形態において、各セット或いはグループは互に異なる特性及び／或いは機能を含むか、或いはこれらによって分割される。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００３８】
他の実施形態で、中央プロセッサ１１２は制御器プロセッサ１４２より強力である。このような実施形態で、中央プロセッサ１１２によるコンピューティング業務１７２の性能は、制御器プロセッサ１４２を通じた性能よりさらに効率的である。一部の実施形態において、このような効率性の長所は、中央プロセッサ１１２によってアクセス可能であるところにデータを移動させることによって発生するシステムリソースの使用量の増加を上回る。このような実施形態で、プロセッサ１１２或いは１４２にコンピューティング業務１７２を割当てる時、スケジューラ１０４はシステム１００の全体効率を考慮するように構成される。
【００３９】
その他の実施形態で、コンピューティング業務１７２は一連の小動作、即ち小動作のチェーンを含む。このような実施形態で、スケジューラ１０４は大きいコンピューティング業務１７２を２つ以上の小さいコンピューティング業務１７２に分割する。多様な実施形態において、スケジューラ１０４はシングルプロセッサ（例、中央プロセッサ１１２或いは制御器プロセッサ１４２の中で何れか１つ）によって実行される動作のみを含む小コンピューティング業務１７２を発生する。このような実施形態で、スケジューラ１０４はシステム１００の効率を増加する方式にコンピューティング動作１７２を発生するように構成される。
【００４０】
例えば、一実施形態で、大きいコンピューティング業務１７２は部分的には中央プロセッサ１１２によって実行される必要があるが、また、制御器プロセッサ１４２によって実行される第２部分を含む。このような実施形態において、スケジューラ１０４は第１部分或いは比較的大きいコンピューティング業務は中央プロセッサ１１２によって実行され、第２部分或いは比較的小さいコンピューティング業務は制御器プロセッサ１４２によって実行されるように元の大きいコンピューティング業務を分割する。
【００４１】
一実施形態で、スケジューラ１０４はＩＳＭ  １１６からメーンメモリ１１４（或いは他の構成要素）に移動されるか、或いはコピーされるデータの量に基づいて大きいコンピューティング業務１７２を分割するブレークポイント又は動作を選択する。多様な実施形態で、２つの構成要素の間においてコピーされるデータの量を減らすことが有利である。他の実施形態では、計算の効率性が関心事になる。その場合、それが望ましいレベルより多量のデータ（コピー）が発生しても、中央処理装置１１２に特定な動作を実行させた方がより効率的である。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００４２】
その他の実施形態で、大きいコンピューティング業務１７２は２つ以上の動作のセット又は動作のチェーンに分離されるか、或いは分割される。例えば、第１小コンピューティング業務或いは動作のチェーンはＩＳＭ  １１６に割当てられるか、或いは実行される。
その後に、決定された時点或いは動作で、第２小コンピューティング業務又は動作のチェーンは、中央プロセッサ１１２によって割当てられるか、或いは実行される（例えば、複雑な動作が検出された場合で、コピーされるべきデータ量等が小さい場合）。最後に、第３小コンピューティング業務或いは動作のチェーンは、ＩＳＭ  １１６に割当てられるか、或いは実行され、そして大きいコンピューティング業務１７２はＩＳＭ  １１６内に格納された出力を以って完了する。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００４３】
一部の実施形態で、スケジューラ１０４はコンピューティング業務１７２或いは動作チェーンの出力データが格納される場所を指示するか、或いは決定するように構成される。上述した３つの小さいコンピューティング業務の例に戻ると、スケジューラ１０４は第１小コンピューティング業務の出力データ（第２小コンピューティング業務に対する入力データとしての例）はメーンメモリ１１４に格納せよと指示する。同様に、スケジューラ１０４は第３小コンピューティング業務の出力データがＩＳＭ  １１６のメモリ１４３に格納せよと指示する。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００４４】
一実施形態で、上述したように、スケジューラ１０４は、出力データを全く異なるデータノードに格納せよと指示するように構成されてもよい。例えば、スケジューラ１０４は出力データ（例、出力データ１８２ｏ等）が、ＩＳＭ  １１６のメモリ１４３ではない他のデータノード（例えば、データノード１０６ｂ、等）に格納せよと指示する。
このような実施形態で、スケジューラ１０４は、特定のデータノード或いはプロセッサに関するコンピューティング業務１７２のスケジューリングのみならず、複数のデータノード１０８全体を管理する。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００４５】
その他の実施形態で、システム１００は、スケジューラコンピューティング装置（以下、「スケジューラ」に統一する）１０４が、データノード（例えば、データノード１０６等）に複数の動作或いは業務１７２を割当て、データノード自身が割当てられた大きいコンピューティング業務１７２を２つ以上の動作のセット或いは動作のチェーンに分割するように構成される。上述したように、第１小コンピューティング業務或いは動作のチェーンはデータノードのＩＳＭ  １１６によって実行されるようにデータノード１０６に割当てられる。その後、第２小コンピューティング業務或いは動作のチェーンはデータノードの中央プロセッサ１１２によって実行されるようにデータノードに割当てられる。大きいコンピューティング業務１７２は上述したように、第３或いは更なる小コンピューティング業務に分割される。但しこの実施形態では、データノードがスケジューラ１０４の代わりに分割及び割当てを実行する。上述したことは本発明を制限しない例示的な実施形態であると理解されなければならない。
【００４６】
本発明を明確にするために、ここでは、スケジューラ１０４が大きいコンピューティング業務１７２を小さいコンピューティング業務に分割し、それを割当てる実施形態だけを説明する。しかし、これは本発明を制限しない構成可能である実施形態であると理解されなければならない。
【００４７】
図２は本発明の実施形態によるシステム２００の例示的な実施形態のブロック図である。多様な実施形態で、システム２００は、ＣＰＵ或いは中央プロセッサ１１２、メーンメモリ１１４、及び知能型格納装置（ＩＳＭ）１１６を含むデータノード１０６を示す。ＩＳＭ  １１６は上述された制御器プロセッサ１４２及びメモリ１４３を含む。
【００４８】
図示された実施形態で、大きいコンピューティング業務或いは動作のチェーンは小さいコンピューティング業務或いは動作のチェーン（例、オフロードされた（ｏｆｆ−ｌｏａｄｅｄ）動作２０２、ホスト計算動作２０４、等）に分割され、そしてその後に中央プロセッサ１１２或いはＩＳＭ  １１６の中で何れか１つに実行されるように割当てられる。多様な実施形態では２つ以上の小さいコンピューティング業務が存在するが、ここでは限定する意図の無い、説明上の目的のため、２つの小さいコンピューティング業務の場合を示す。
【００４９】
図示された実施形態で、スケジューラコンピューティング装置は動作の第１セット或いはチェーンがＩＳＭ  １１６によって実行されることを感知する。この文脈で、このような動作は、伝統的にそれらを実行する中央プロセッサ１１２からオフロードされたものと看做される。このような動作はオフロードされた動作２０２に含まれ、ＩＳＭ  １１６に割当てられる。
【００５０】
このような実施形態で、オフロードされた動作２０２はＩＳＭ  １１６のメモリ１４３に格納された入力データ２８２ｉに連関される。この入力データ２８２ｉは制御器プロセッサ１４２によってアクセスされる。制御器プロセッサ１４２は制御器プロセッサ１１２の補助無しでオフロードされた動作２０２を実行、即ち遂行し、或いは一部の実施形態においては、制御器プロセッサ１１２に知られること無くオフロードされた動作２０２を実行、即ち遂行する。
このような実施形態で、中央プロセッサ１１２は通常、互に異なるデータにアクセスする動作（図示せず）の互に異なるセットを実行し、及び／又は、互に異なるコンピューティング業務に連関するのに忙しい。上述したことは本発明を制限しない１つの実施形態であると理解されなければならない。オフロードされた動作２０２の実行結果は出力データ２８２ｏとなる。
【００５１】
多様な実施形態で、オフロードされた動作２０２の実行の結果、出力データ２８２ｏはＩＳＭ  １１６のメモリ１４３或いはメーンメモリ１１４の中で何れか１つに格納される。一実施形態で、もしも動作の次のチェーン或いは出力データ２８２ｏにアクセスするコンピューティング業務が中央プロセッサ１１２に割当てられれば、出力データ２８２ｏは（例、図１のデータ１８２ｉのように）ＩＳＭ  １１６からメーンメモリ１１４にコピーされる。
他の実施形態で、動作の次のチェーン或いは出力データ２８２ｏにアクセスするコンピューティング業務がＩＳＭ  １１６に割当てられるか、或いはもしもオフロードされた動作２０２が大きいコンピューティング業務の最後の動作であれば、出力データ２８２ｏがＩＳＭ  １１６のメモリ１４３に局部的に格納される方が更に効率的であり、便利である。上述したことは、本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００５２】
例示された実施形態でスケジューラは、次のチェーンの動作又はコンピューティング業務が中央処理装置１１２に割当てられていることを認識し、図示された実施形態において、スケジューラは、オフロードされた動作２０２の結果である出力デ−タ２８２ｏがＩＳＭメモリ１４３ではなく、データノード１０６のメーンメモリ１１４にデータ２８４ｉとして格納されるように命令、即ち、指示する。上述した説明は単なる例示であり、開示された発明に制限されない。
【００５３】
図示された実施形態で、動作の次のセット或いはチェーンは中央プロセッサ１１２が遂行するべき動作を含む。このような実施形態で、このような動作は“ホスト計算動作２０４”として言及され、ホスト或いは中央プロセッサ１１２に割当てられる。多様な実施形態で、中央プロセッサ１１２はメーンメモリ１１４（例、ＲＡＭ、等）から入力データ２８４ｉを読み出す。中央プロセッサ１１２は、データ造作がこのホスト計算動作２０４によって指示されたデータ操作（ｍａｎｉｐｕｌａｔｉｏｎ）を何であれ実行する。一部の実施形態で、中間結果値或いはデータは中央プロセッサ１１２の内部メモリ（例、レジスター、キャッシュ、等）及び／或いはメーンメモリ１１４に格納される。
【００５４】
一実施形態で、ホスト計算動作２０４の終わりで、最後出力データ２８４ｏはメーンメモリ１１４に格納される。上述したように、多様な実施形態で、スケジューラは最後の出力データ２８４ｏがメーンメモリ１１４或いはＩＳＭ  １１６に格納せよと指示する。他の実施形態で、スケジューラはオフロードされた動作２０２が関与している時、最後の格納位置のみを指示するように構成される。
【００５５】
図示された実施形態で、出力データ２８４ｏはメーンメモリ１１４に格納される。このような実施形態で、最後の動作（例、最後の格納２０６、等）は出力データ２８４ｏをメーンメモリ１１４からＩＳＭ  １１６に移動する。上述したことは本発明を制限しない１つの例示的な実施形態であると理解されなければならない。
【００５６】
図３は本発明の実施形態による分類システムの例示的な実施形態のテーブル３００である。図示された実施形態で、テーブル３００は、例示的な動作、サブルーチン、又は多数の機能を示す。テーブル３００は本発明によって採択されている２つの分類（ｃｌａｓｓｉｆｉｃａｔｉｏｎ）、即ち、類別（ｃａｔｅｇｏｒｉｚａｔｉｏｎ）体系の２つの例を示す。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００５７】
図示された実施形態で、グループ３１２は、入力データの大きさ（ｓｉｚｅ、特許請求の範囲における「量」（ａｍｏｕｎｔ）と同義）が出力データの大きさより大きいと予想される動作の例を示す。このような実施形態では、大きい入力データは通信バスを通じてデータノードのメーンメモリ１１４に伝送しないことが望ましい。代わりに、必要である場合（例、もしもホスト計算動作が必要であれば、等）、動作が完了した後に、小さい出力データが通信バスを通じてデータノードのメーンメモリ１１４に伝送されることが望ましい。
【００５８】
テーブル３００におけるグループ３１２は、入力データの大きさが出力データの大きさより大きいと予想されるグループに含まれる幾つかの例示的な動作をリストする。このような例示的な動作は、多様な実施形態で、Ｆｉｌｔｅｒ（フィルタ）（）、Ｓａｍｐｌｅ（サンプル）（）、ＧｒｏｕｐＢｙＫｅｙ（鍵によるグループ分け）（）、ＲｅｄｕｃｅＢｙＫｅｙ（鍵による削減）（）、ＰａｒｔｉｔｉｏｎＢｙ（区分）（）、Ｃｏｕｎｔ（カウント）（）、Ｒｅｄｕｃｅ（削減）（）、及びＬｏｏｋＵｐ（ルックアップ）（）である。上述したことは、本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００５９】
図示された実施形態で、グループ３１４は入力データの大きさが出力データの大きさと概ね同一であることと予想される動作の例を示す。このような実施形態で、入力データを通信バスを通じてデータノードのメーンメモリ１１４に伝送することが望ましい場合と望ましくない場合がある。或る一部の実施形態で、この相対的に中立的なアクション（ｎｅｕｔｒａｌ  ａｃｔｉｏｎ）の好ましさは、動作のチェーンにおける次の動作として何が発生するかに依存する。もしも次の動作が中央プロセッサによって遂行されるならば、現在データを伝送し、中央プロセッサ１１２によってグループ３１４の動作を実行することが望ましい。反対に、もしも次の動作が制御器プロセッサによって遂行されるならば、知能型格納装置１４２でデータ及び動作を維持することが望ましい。上述したことは、本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００６０】
テーブル３００におけるグループ３１４は、入力データの大きさが出力データの大きさと概ね同一であると予想される幾つかの例示的な動作の例を示す。このような例示的な動作は、多様な実施形態で、Ｍａｐ（マッピング）（）、ＦｌａｔＭａｐ（フラットマップ）（）、ＭａｐＶａｌｕｅｓ（マップ値）（）、Ｃｏｌｌｅｃｔ（収集）（）、及びＳｏｒｔ（分類）（）である。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
【００６１】
図示された実施形態で、グループ３１６は入力データの大きさが出力データの大きさより小さいことと予想される動作の例を示す。このような実施形態で、小さい入力データを通信バスを通じてデータノードのメーンメモリ１１４に伝送することが望ましい。動作が完了する前に（例えば、ホスト演算動作等のために必要である場合）、実際に、通信バスを通じて小さい入力データをデータノードのメーンメモリ１１４に伝送することが望ましい。
【００６２】
テーブル３００におけるグループ３１６は入力データの大きさが出力データの大きさより小さいと予想されるグループに含まれた幾つかの例示的な動作の例を示す。このような例示的な動作は、多様な実施形態で、Ｕｎｉｏｎ（結合）（）、Ｊｏｉｎ（合併）（）、Ｃｏｇｒｏｕｐ（共同グループ化）（）、及びＣｒｏｓｓ  Ｐｒｏｄｕｃｔ（交叉積）（）である。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
【００６３】
テーブル３００の第２列、即ち中間列は、本発明による第１の類別（カテゴリ分け）、即ち分類方式を図示する。図示された実施形態で、各動作は２つのカテゴリの中の１つに属すると表示される、即ち識別される。２つのカテゴリとはオフロード可能な分類３２２、及びホスト計算可能な分類３２６である。
【００６４】
図示された実施形態で、出力データの大きさが入力データの大きさより小さいか、或いは入力データと同一であると予想される動作は、オフロード可能な分類３２２に分類され、ＩＳＭの制御器プロセッサによって実行される。このような実施形態で、データノードのメーンメモリとＩＳＭとの間のデータ伝送は減少される。何故なら、このようなデータ伝送は、そもそも発生しないか、出力データの大きさが相対的に小さい時か、或いは、入力データが伝送される場合より悪くない場合にのみ発生するからである。
【００６５】
図示された実施形態で、出力データの大きさが入力データの大きさより大きいか、或いは入力データと同一であると予想される動作は、ホスト計算可能な分類３２６に分類され、データノードの中央プロセッサによって実行される。このような実施形態で、データノードのメーンメモリとＩＳＭとの間のデータ伝送は減少される。何故なら、入力データの大きさが相対的に小さいときにのみ発生するからである。
一部の実施形態で、グループ３１４の動作はオフロード可能な分類３２２ではなく、ホスト計算可能分類３２６の一部となる。それは、グループ３１４にとって入出力データ大きさの差が無視できる程度だからである。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
【００６６】
テーブル３００の第３列、即ち右側列は、本発明の実施形態における第２の類別、即ちカテゴリ分類方式を図示する。図示された実施形態で、動作は３つのカテゴリの中で１つに属することとして表示されるか、或いは識別される。３つのカテゴリは、オフロード可能な分類３３２、曖昧な分類３３４、及びホスト計算可能分類３３６である。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
【００６７】
図示された実施形態で、出力データの大きさが入力データより小さいことと予測される動作はオフロード可能な分類３３２に分類され、ＩＳＭの制御器プロセッサによって実行される。このような実施形態で、データノードのメーンメモリとＩＳＭとの間のデータ伝送は、出力データの大きさが相対的に小さいか、或いは入力データが伝送される場合より悪くない場合のみに発生するので、減少される。
【００６８】
図示された実施形態で、出力データの大きさが入力データより大きいと予想される動作はホスト計算可能分類３３６に分類され、データノードの中央プロセッサによって実行される。このような実施形態で、データノードのメーンメモリとＩＳＭとの間のデータ伝送は出力データの大きさが相対的に小さい場合にのみ発生するので、減少される。
【００６９】
図示された実施形態で、出力データの大きさが入力データの概ね同一であると予想される動作は曖昧な分類３３４に分類される。このような実施形態で、このような種類の動作は中央プロセッサ或いはＩＳＭの中で何れか１つに演繹的に割当てられず、その代わりに、入／出力データを伝送する／伝送しないことによる費用の削減が少ないか、或いは無視できるので、スケジューラは、このような動作（例、グループ３１４）が全体処理に最も有利なように何れかのプロセッサに割当てられればよいと感じる。
【００７０】
このような実施形態で、このような曖昧な動作３３４に対するプロセッサ割当ては次の動作の分類が何であるかに依存する。例えば、もしも曖昧な動作が２つのオフロード可能な動作の間に介在されている場合、曖昧な動作は、２回分のデータ伝送費用を発生してまで中央プロセッサに割当てる意味が無い。反対に、もしも曖昧な動作がオフロード可能な動作とホスト計算可能動作との間に（或いはその逆に）介在している場合、曖昧な動作は中央プロセッサに割当てる意味がある。このような実施形態で、曖昧な動作の終り或いは始めにデータ伝送が発生するが、入／出力データの大きさが大略同一なので、どちらのデータ伝送もそれ程悪く無い。しかし、曖昧な動作は中央プロセッサの大きい計算能力を利用した方が一般には有利であろう。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
【００７１】
多様な実施形態で、入力データと出力データ間の相対的な大きさは、互に異なる大きさの許容値、即ち閾値評価に基づく。他の実施形態で、入／出力データの大きさは、所定の平均値又はヒストリカル期待値（経験的期待値）に基づき決定され、各動作に対して特定の実例に伴うデータをその都度、動的に評価しない。上述したことは本発明が制限されない幾つかの例示的な実施形態であると理解されなければならない。
【００７２】
更に、このようなグループ（例、グループ３１２、３１４、３１６）は、出力データの大きさと比較した入力データの大きさによってグループ分けされたが、多様な他の実施形態では、他の関心事項が或る動作のグループ入り或いは分類を決める。例えば、一部の動作は知能型格納装置によっては（例えば、ファームウェア欠如のため、という理由で）に遂行できない場合がある。このような実施形態では、動作は出力データと比較される入力データの大きさに拘わらず、ホスト計算可能動作（例、グループ３１６内に）と看做される。他の実施形態で、制御器プロセッサでは或る動作の実行が単に非常に非効率的であり、その動作は出力データと比較される入力データの大きさに拘わらず、ホスト計算可能動作に分類せざるを得ない。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００７３】
多様な実施形態で、スケジューラはオフロード可能な動作（例、分類３２２、３３２）を中央プロセッサに割当て、通常のＩＳＭの制御器プロセッサに割当てない場合もある。例えば、オフロード可能な動作（例、グループ３１２）はそれらの入力データ量より小さい出力データ量をもたらす。従って、オフロード可能な動作が実行された後にデータノードのメモリとＩＳＭとの間のデータ伝送を行うのが有利である。このような実施形態で、もしも以前のホスト計算可能動作（例、グループ３１６）が大きい出力データ量をもたらす場合、これはオフロード可能な動作を中央プロセッサに割当てる方が有利である。このような実施形態で、ＩＳＭに再び伝送される（例えば、最後の格納、又は更なる他のオフロード可能な動作を実行するために）前にデータの量は減少される。
【００７４】
反対に、スケジューラは、ホスト計算可能動作（例、分類３２２、３３２）を通常の中央プロセッサ（もしも物理的に可能である）ではなくＩＳＭの制御器プロセッサに割当てる場合もある。例えば、もしも単独の（或いは、非常に少数の）ホスト計算可能動作が大きいコンピューティング業務の最も終わり部分に存在し、もしもＩＳＭの制御器プロセッサがこのような動作を物理的に実行可能であるならば、システムは、ＩＳＭにコンピューティング業務を完了させ、即ちホスト計算可能動作を実行させることによって、ＩＳＭによるメモリデータ伝送を避けることが有利である。上述したことは本発明を制限しない１つの実施形態であると理解されなければならない。
【００７５】
図４は本発明の実施形態による動作のチェーンの例示的な実施形態のブロック図４００である。図４はスケジューラが、（１）大きいコンピューティング業務を取り上げ、（２）大きいコンピューティング業務を構成する動作の各々を分類し、（３）大きいコンピューティング業務を少なくとも２つの小さいコンピューティング業務或いは動作のチェーンに分割し、その後、（４）この小さいコンピューティング業務或いは動作のチェーンの各々を中央プロセッサ或いはＩＳＭの中の何れか１つに割当てる、方法を図解する。上述したことは本発明を制限しない１つの実施形態であると理解されなければならない。
【００７６】
図示された実施形態で、第１部分４１０は大きいコンピューティング動作を順に実行する一連の動作或いはチェーンを含む方法を図示する。図示された実施形態で、大きいコンピューティング業務は、順に、動作＃１  ４１１、動作＃２  ４１２、動作＃３  ４１３、動作＃４  ４１４、動作＃５  ４１５、及び動作＃６  ４１６を含む。多様な実施形態で、このような動作は如何なる形態の事前分類を伴わずスケジューラに入力される。他の実施形態で、このような動作は特定のプロセッサ（例、データノードの中央プロセッサ、ＩＳＭの制御器プロセッサ、等）を選好する割当てとして事前にタギング或いはマーキングされる。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００７７】
図４の第２部分４２０は、スケジューラが分類又は大きいコンピューティング業務の各動作を分類できることを示す。図示された実施形態で、動作＃１  ４２１及び動作＃２  ４２２は全てオフロード可能な（ＯＬ）動作として分類され、ＩＳＭに割当てられる第１小コンピューティング業務４２８の一部と看做される。しかし、動作＃３  ４２３は、曖昧（Ｅ）動作に分類され、（特定の小コンピューティング業務及び／或いはプロセッサへの）割当ては必ずしも明確ではない。動作＃４  ４２４はオフロード可能な（ＯＬ）動作に分類され、ＩＳＭに割当てられる。
【００７８】
一実施形態で（図示せず）、スケジューラは４つの動作４２１、４２２、４２３、４２４から３つのコンピューティング業務を発生する。第１コンピューティング業務は動作４２１、４２２を含み、ＩＳＭに割当てられる。第２コンピューティング業務は曖昧な動作４２３を含み、中央プロセッサに割当てられる。第３コンピューティング業務はオフロード可能な動作４２４を含み、ＩＳＭに再び割当てられる。しかし、この実施形態は、データ、及び演算実行制御の双方を多数伝送するという避けられ得た事態を惹起する。
【００７９】
上述の第２部分４２０に図示された実施形態で、スケジューラはＩＳＭに曖昧な動作４２３を割当てる。このような実施形態で、動作４２１、４２２、４２３、及び４２４は全て第１小コンピューティング業務４２８に割当てられ、またＩＳＭに割当てられる。このような実施形態では、伝送数を減少でき、システムの効率を増加できる。上述したことは本発明を制限しない１つの実施形態であると理解されなければならない。
【００８０】
図示された実施形態で、動作４２５はホスト計算可能（ＨＣ）動作に分類され、第１或いはオフロード可能な第１小コンピューティング業務４２８に適合しない。そこで、第２小コンピューティング業務４２９が、動作４２５のような、データノードの中央プロセッサに割当てられるべき動作のために発生される。また、動作４２６もホスト計算可能（ＨＣ）動作であるので、第２小コンピューティング業務４２９内に置かれる。
【００８１】
図４の第３部分４３０は、スケジューラが大きいコンピューティング業務の各動作を分類し、この場合、動作＃４  ４３４がオフロード可能な動作に分類されず、代わりにホスト計算可能動作に分類されていることを示す。例えば、本実施形態では、動作＃４  ４３４が上記第２部分４２０の動作＃４  ４２４と異なる他の動作であるか、又は、システムが単に同一の動作が異なって分類される他の分類体系を採用している。
それにも拘わらず、第３部分４３０は、互に異なる動作分類がある時、大きいコンピューティング業務は互に異なる方式に細分割できることを単に示しているに過ぎない。上述したことは本発明を制限しない１つの実施形態であると理解されなければならない。
【００８２】
図４の第３部分４３０は、細分割過程の、可能性のある実施形態をさらに詳細に説明するための図面である。図示された実施形態で、動作＃１  ４２１及び動作＃２  ４２２の全てはオフロード可能な（ＯＬ）動作を分類し、ＩＳＭに割当てられる第１小コンピューティング業務４３８の一部と看做される。動作＃３  ４２３は、しかし、曖昧（Ｅ）動作に分類され、（特定の小コンピューティング業務及び／或いはプロセッサへの割当ては必ずしも明確ではない。
【００８３】
しかし、上述したように、動作＃４  ４３４は中央プロセッサに割当てられるべきホスト計算可能（ＨＣ）動作に分類される。本実施形態では、スケジューラは曖昧な動作４２３を、上述の第２部分で行ったようにＩＳＭに割当て、別の選択的実施形態で行ったように中央プロセッサには割当てない。このような実施形態では、動作４２１、４２２、４２３は第１小コンピューティング業務に含まれ、従ってＩＳＭに割当てられる。
【００８４】
本実施形態では、動作４２５と４２６は再びホスト計算可能な（ＨＣ）動作に分類され、このような実施形態で、動作４３４、４２５、及び４２６は第２小コンピューティング業務４３９内に含まれ、データノードの中央プロセッサに割当てられる。
【００８５】
別の実施形態で、システムは第４部分４４０に図示したように、第１、第２小コンピューティング業務４４８、４４９を発生する。図示された実施形態で、第４部分４４０のグルーピング規則は第３部分４３０のそれとは互いに異なる。このような実施形態では、動作＃３  ４２３はホスト計算可能動作＃４  ４３４と共にグループ化され、そして第２小コンピューティング業務４４９に含められる。このような実施形態では、動作４２１、４２２のみが第１小コンピューティング業務４４８に含まれる。上述したことは本発明を制限しない１つの実施形態であると理解されなければならない。
【００８６】
上記では、２つの小コンピューティング業務の場合を示したが、多様な実施形態で、３以上の小コンピューティング業務が大きいコンピューティング業務から生成され得ることが理解されよう。更に別の実施形態では、大きいコンピューティング業務の細分割をしない場合もある（例えば、全部の動作が単一の分類に属する場合）。
【００８７】
更に別の実施形態で、スケジューラは動作チェーンが本当に線形的、即ち順次的であるか否かを決定するように構成される。一部の実施形態で、スケジューラは、効率を向上する、即ちコンピューティング業務或いはデータ伝送の個数を減少するために、一連の動作をリオーダ（ｒｅ−ｏｒｄｅｒ、動作順序を変更）できるように構成される。図示された実施形態では、インオーダ（ｉｎ−ｏｒｄｅｒ、与えられた動作順序に従う）方式が示されたが、上述されたことは本発明を制限しない１つの実施例であると理解されなければならない。
【００８８】
図５は本発明の実施形態による方法５００の例示的な実施形態のフローチャートである。多様な実施形態で、方法５００により開示される技術（以下、技術５００という）は、図１、図２或いは図７に示すようなシステムによって使用されるか、或いは生産される。更に、技術５００の一部分は図３及び図４に示すようなデータ構造或いは分類を発生するために使用される。しかし、上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。例えば、技術５００によって開示された順序或いは動作の個数が本発明を制限しないと理解されなければならない。
【００８９】
ブロック５０２は上述したように、一実施形態で、コンピューティング業務が入力されることを示す。上述したように多様な実施形態で、コンピューティング業務は、複数の動作を含む。多様な実施形態で、このブロック５０２によって示された少なくとも１つのアクションは、上述のように図１、図２、或いは図７の装置或いはシステムにおいて、図１のスケジューラコンピューティング装置１０４によって実行される。
【００９０】
ブロック５０４は上述したように、一実施形態で、コンピューティング業務が、データノードに割当てられることを示す。上述したように或る一部の実施形態で、データノードは中央プロセッサ及び知能型格納装置を含む。上述したように１つのこのような実施形態で、知能型格納装置はプロセッサと制御器メモリとを含む。多様な実施形態はこのブロック５０４によって示された少なくとも１つのアクションは、上述のように図１、図２、或いは図７の装置或いはシステムにおいて、図１のスケジューラコンピューティング装置１０４或いはデータノード１０８によって実行される。
【００９１】
ブロック５０６は上述したように、一実施形態で、コンピューティング業務は少なくとも動作の第１チェーン及び動作の第２チェーンに分割されることを示す。一実施形態で、分割は、各動作を第１カテゴリ或いは第２カテゴリに分類することを含む。このような実施形態で、第１カテゴリに連関された動作は入力データの量より小さい出力データの量を発生する。このような実施形態で、第２カテゴリに連関された動作は、入力データの量より大きい出力データの量を発生する。他の実施形態で、分割はコンピューティング業務において、何れか１つのカテゴリ動作から他のカテゴリの動作への遷移がどの動作で生じるかを判別することと、コンピューティング業務を互に異なる動作のチェーンに分割することと、を含む。
【００９２】
上述したように、その他の実施形態で、分割は３つ以上のカテゴリに分類する動作を各々含む。このような実施形態で、第１番目のカテゴリはデータノードの中央プロセッサに連関され、第２番目のカテゴリはデータノードの知能型格納装置に連関され、第３番目のカテゴリは中央プロセッサと知能型格納装置の双方に連関される。このような実施形態で、分割は、もしも現在の動作が第３カテゴリに連関されれば、以前の動作或いは次の動作に連関されたカテゴリに基づいて現在の動作をデータノードの中央プロセッサ或いはデータノードの知能型格納装置に割当てることを含む。多様な実施形態で、ブロック５０６によって示された少なくとも１つのアクションは、上述のように図１、図２、或いは図７の装置或いはシステムにおいて、図１のスケジューラコンピューティング装置１０４によって実行される。
【００９３】
ブロック５０８は上述したように、一実施形態で、動作の第１チェーンがデータノードの知能型格納装置に割当てられる。多様な実施形態で、ブロック５０８によって示された少なくとも１つのアクションは、上述のように図１、図２、或いは図７の装置或いはシステムにおいて、図１のスケジューラコンピューティング装置１０４、或いは図１のデータノード１０８によって実行される。
【００９４】
ブロック５１０は一実施形態で、動作の第１チェーンによって発生された出力データの出力位置が上述したように割当てられることを示す。多様な実施形態で、出力位置を割当てることは、もしも次の動作がデータノードの中央プロセッサに割当てられれば、動作の第１チェーンの出力データはデータノードの中央プロセッサに格納されることを指示し、もしも次の動作が知能型格納装置に割当てられれば、動作の第１チェーンの出力データが知能型格納装置に格納されることを指示する。多様な実施形態で、ブロック５１０によって示された少なくとも１つのアクションは、上述のように図１、図２、或いは図７の装置或いはシステムにおいて、図１のスケジューラコンピューティング装置１０４によって実行される。
【００９５】
ブロック５１２は上述したように、一実施形態で、動作の第２チェーンがデータノードの中央プロセッサに割当てられる。多様な実施形態で、ブロック５１２によって示された少なくとも１つのアクションは、上述のように図１、図２、或いは図７の装置或いはシステムにおいて、図１のスケジューラコンピューティング装置１０４によって実行される。
【００９６】
図６は本発明の実施形態による方法６００の例示的な実施形態のフローチャートである。特に、方法６００は大きいコンピューティング業務を少なくとも第１の動作チェーンと第２の動作チェーンとに分割して実行するための方法に関する実施形態を提示する。多様な実施形態で、方法６００は図１、図２、或いは図７のそれのようなシステムと共に使用されるか、或いはそれによって発生される。上述されたことは本発明を制限しない１つの実施例であると理解されなければならない。
【００９７】
ブロック６０２は、一実施形態で、大きい動作チェーンとその分割の簿記値（ｂｏｏｋｋｅｅｐｉｎｇ  ｖａｌｕｅｓ、ブックキーピング値、工程管理番号）が公知された値にリセットされることを示す。図示された実施形態で、簿記値は、以前の動作、現在、或いは次の動作を追跡するインデックス（ｉ）、新しいか或いは現在のコンピューティング業務が始まるポイント或いは動作が開始される開始点（ＧｒｏｕｐＳｔａｒｔ）、及び現在の小グルーピング業務或いは以前動作に連関された動作タイプ（ＯｐＴｙｐｅ）、即ち動作分類を含む。図示された実施形態で、動作タイプ（ＯｐＴｙｐｅ）は、ＩＳＭに割当てられた、即ちオフロードされたコンピューティング業務、及び、ホスト計算業務の２種である。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【００９８】
現在の動作（Ｏｐ［ｉ］）が評価及び分類のために選択される。多様な実施形態で、スケジューラは、個々の動作を順番に分類しながら、動作チェーンを“ウォークスルー（ｗａｌｋ＿ｔｈｒｏｕｇｈ、巡回）”する。
【００９９】
ブロック６０４は、現在の動作が曖昧な動作であるか否かを判別することを示す。さらに一般的には、曖昧な動作は、動作タイプ（ＯｐＴｙｐｅ）がオフロードされたコンピューティング業務でもなく、ホスト計算業務でもない、ことを意味。もしも現在の動作がである曖昧な動作ではなければ、方法６００の流れ図は次の評価のためにブロック６０５に移動する。反対に、もしも現在の動作が曖昧な動作であれば、方法６００の流れ図はブロック６１０に移動する。
【０１００】
ブロック６１０は、一実施形態で、現在の動作が大きいコンピューティング動作の最後、即ち最終の動作であるか否かを判別することを示す。「いいえ」であれば、ブロック６２０は、一実施形態で、スケジューラが次の動作（例、ｉ＝ｉ＋１或いはｉ＋＋）に移動し、これを評価する。もしも現在の動作が最後の動作であれば、動作チェーンは、ＩＳＭに割当てられるべき、即ちオフロードされたコンピューティング業務と、ホスト計算業務とに分割される。
【０１０１】
ブロック６０５に戻って、ブロック６０５は現在の動作が曖昧な動作ではなければ、方法６００はコンピューティング業務の現在グループのための動作タイプ（ＯｐＴｙｐｅ）が設定されたか否かを判別する（例、ＯｐＴｙｐｅが“ｎｕｌｌ”ではないか、即ち他に定義されていないか）。もしも動作タイプ（例、ホスト或いはオフロードされた）が割当てられていなければ、これはコンピューティング業務の現在グループに含まれた第１動作であるためである。もしも現在の動作が現在コンピューティング業務の第１動作であれば、方法６００はブロック６０８に進行する。ブロック６０８で、コンピューティング業務（例、活性ＯｐＴｙｐｅ）の現在の動作グループの動作タイプが現在の動作（例、オフロードされたコンピューティング業務或いはホスト計算業務）として同一の分類に設定される。コンピューティング業務の現在グループの分類或いは動作タイプ（ＯｐＴｙｐｅ）が設定される時、方法６００の流れ図は追加的な評価のためにブロック６１０に移動する。
【０１０２】
現在の、即ち活性の動作タイプ（ＯｐＴｙｐｅ）が以前に定義されている場合、方法６００はブロック６０５からブロック６０８にではなくブロック６０６に進行する。ブロック６０６は、一実施形態で、現在の動作と連関された分類がコンピューティング業務の現在グループと連関された現在、即ち活性動作タイプ（ＯｐＴｙｐｅ）と比較されることを示す。もしも現在の動作（即ち、Ｏｐ［ｉ］）がグループ分類（即ち、ＯｐＴｙｐｅ）と同一の分類であれば、現在の動作は現在のグループに加えられ、技術６００のフローはブロック６１０に移動して更なる評価が上述のように行われる。
【０１０３】
現在の動作（即ち、Ｏｐ［ｉ］）がグループ分類（即ち、ＯｐＴｙｐｅ）と異なる分類であれば、大きいコンピューティング業務は２つのコンピューティング業務に分離される（或いは、もしも２つの業務が既に存在する場合は、３つ目の他のコンピューティング業務として分離される）。ブロック６０７は、一実施形態で、現在コンピューティング業務の最後の動作（ＧｒｏｕｐＳｔｏｐ）が以前の動作（例、Ｏｐ［ｉ−１］）に設定され、そして現在のコンピューティング業務が連関された動作タイプ（ＯｐＴｙｐｅ）（例、オフロードされたコンピューティング業務、及び、ホスト計算業務、等）による指定に従って割当てられることを示す。更に、新しいグループ、即ち新しいコンピューティング業務が（ＧｒｏｕｐＳｔａｒｔを現在の動作に設定することによって）生成される。このような新しいグループ、即ち新しいコンピューティング業務はブロック６０８に示したように、現在の動作の分類に連関される。
【０１０４】
図示された実施形態で、以前の動作が曖昧な動作であれば、曖昧な動作は現在コンピューティング業務（例、図４の第３部分４３０）の最後の動作である。図示されなかった他の実施形態で、曖昧な動作は新しいコンピューティング業務（例、図４の第４部分４４０）の第１動作である。その他の実施形態で、規則がさらに複雑なシステムは、以前の曖昧な動作（或いは以前の曖昧な動作のストリング）がどのコンピューティング業務にグループ化されるかを判別する。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【０１０５】
上述したように、ブロック６１０の図示された実施形態で、現在の動作が最後の動作であるか否かを判別が行われる。上述したように、もしも現在の動作が最後の動作ではなければ、方法６００の流れ図はブロック６２０に進行し、次の動作が処理される。反対に、もしも現在の動作が最後の動作であれば、方法６００の流れ図はブロック６１２に進行する。
【０１０６】
ブロック６１２は、一実施形態で、動作タイプ（ＯｐＴｙｐｅ）が設定されているか（即ち、少なくとも１つの動作が曖昧な動作ではなかったか）を判別することを示す。そうすると、ブロック６１４は、一実施形態で、現在コンピューティング業務の動作タイプ（ＯｐＴｙｐｅ）を、オフロード可能なカテゴリ或いはホスト計算カテゴリの中で何れか１つに任意的に設定する。他の実施形態において、他の規則或いは割当て方法が適用される。例えば、オフロード可能な業務としてコンピューティング業務を分類するために選好度が与えられることもある。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【０１０７】
しかし、動作タイプ（ＯｐＴｙｐｅ）が設定されれば（例、オフロード可能なカテゴリ或いはホスト計算カテゴリの中で何れか１つ）、ブロック６１６は、一実施形態で、大きいコンピューティング業務が、可変のＧｒｏｕｐＳｔａｒｔと現在の動作によって定義された業務に分割されることを示す。図示された実施形態で、新しく定義された小コンピューティング業務には動作タイプ（ＯｐＴｙｐｅ）の分類が割当てられる。
【０１０８】
ブロック６１８は、一実施形態で、スケジューラは評価、即ち分割プロセスを終了することを図示する。上述したように、スケジューラは、各々のプロセッサに小コンピューティング業務或いは分割された動作チェーンを割当てる。上述したことは本発明を制限しない実施形態であると理解されなければならない。
【０１０９】
図７は本発明の実施形態による情報処理システム７００のブロックダイヤグラムを示す図面であり、該システムは本発明に係り開示した原則に従って形成された半導体装置を含む。
【０１１０】
図７を参照すれば、情報処理システム７００は本発明の技術思想に従って構成された少なくとも１つの装置を含む。他の実施形態で、情報処理システム７００は本発明の技術思想に従う少なくとも１つの方法を採用するか、或いは実行する。
【０１１１】
多様な実施形態で、情報処理システム７００は、例えば、ノートブック型コンピュータ、デスクトップコンピュータ、ワークステーション、サーバ、ブレードサーバ、個人デジタル補助装置、スマートフォン、タブレット、及び他の適切なコンピュータ等、若しくは、これらの仮想マシン、即ちこれらに対応する仮想コンピューティング装置を含む。多様な実施形態で、情報処理システム７００は使用者（図示せず）によって使用される。
【０１１２】
本発明の実施形態による情報処理システム７００は、追加的に、中央処理装置（ＣＰＵ）、ロジック、或いはプロセッサ７１０を含む。一部の実施形態で、プロセッサ７１０は１つ以上の機能ユニットブロック（ＦＵＢ）或いは組合せ論理ブロック（ＣＬＢ）  ７１５を含む。このような実施形態で、組合せ論理ブロックＣＬＢは、多様なブール論理演算（例えば、ＮＡＮＤ、ＮＯＲ、ＮＯＴ、ＸＯＲ等）、安定状態のある論理装置（例、フリップフロップ、ラッチ、等）、他の論理装置、或いはそれらの組合せを含む。このような組合せ論理演算は望む結果値に到達するために入力信号を処理するように簡単な或いは複雑な方法で構成される。同期式組合せ論理演算が幾つかの実施形態が説明されたが、本発明はこれに制限されず、非同期式組合せ論理演算或いはそれらの組合せによっても構成されると理解されなければならない。一実施形態で、組合せ論理演算は複数のＣＭＯＳ（ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ  ｏｘｉｄｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ）トランジスタを含む。多様な実施形態で、ＣＭＯＳトランジスタは論理演算を実行するゲートで配列される。それにも拘わらず、本発明の技術思想は他の技術に使用されるか、或いは含まれることと理解されなければならない。
【０１１３】
情報処理システム７００は本発明の実施形態による揮発性メモリ７２０（ＲＡＭ）を含む。本発明の実施形態による情報処理システム７００は不揮発性メモリ７３０（例えば、ハードドライブ、光学メモリ、又はＮＡＮＤフラッシュメモリ等）を含む。一部の具体的な実施形態で、揮発性メモリ７２０、不揮発性メモリ７３０、或いはそれらの組合せ或いはそれの中で１つは“格納装置”として指称される。多様な実施形態で、揮発性メモリ７２０及び／或いは不揮発性メモリ７３０は半永久的又は永久的な形態に実質的にデータを格納するように構成される。
【０１１４】
多様な実施形態で、情報処理システム７００の一部及び通信ネットワークを通じて通信する情報処理システム７００を許容するように構成される１つ以上のネットワークインタフェイス７４０を含む。Ｗｉ−Ｆｉプロトコルの例は、ＩＥＥＥ  ８０２．１１ｇ、ＩＥＥＥ  ８０２．１１ｎ等を含むが、これに制限されない。セルラプロトコルの例としては、ここに制限されないが、ＩＥＥＥ  ８０２．１６ｍ（別名、Ｗｉｒｅｌｅｓｓ−ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）  Ａｄｖａｎｃｅｄ、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）  Ａｄｖａｎｃｅｄ）、ＥＤＧＥ（Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ｒａｔｅｓ  ｆｏｒ  ＧＳＭ（登録商標）（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）  Ｅｖｏｌｕｔｉｏｎ）、ＨＳＰＡ＋（Ｅｖｏｌｉｖｅｄ  Ｈｉｇｈ  Ｓｐｅｅｄ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ）等を含む。ワイヤプロトコルの例としては、ここに制限されないが、ＩＥＥＥ  ８０２．３（別名、Ｅｔｈｅｒｎｅｔ（登録商標））、ファイバチャンネル（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）、電力線通信（例、ＨｏｍｅＰｌｕｇ、ＩＥＥＥ  １９０１、等）等を含む。上述したことは本発明を制限しない幾つかの実施形態であると理解されなければならない。
【０１１５】
情報処理システム７００は本発明の実施形態による使用者インタフェイスユニット７５０を含む（例えば、ディスプレーアダプタ、ハプティックインタフェイス、ヒューマンインタフェイス装置）。多様な実施形態で、この使用者インタフェイスユニット７５０は使用者から入力を受信及び／或いは使用者に出力を提供するために構成される。他の種類の装置は、使用者との相互作用を提供するために使用される。例えば、使用者に提供されるフィードバックは、感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックの任意の形態である。そして、使用者からの入力は音響、音声、又は触覚入力を含む任意の形態に受信される。
【０１１６】
多様な実施形態で、情報処理システム７００は１つ以上の他の装置或いは別途のハードウェア構成要素７６０を含み得る（例えば、ディスプレー又はモニタ、キーボード、マウス、カメラ、指紋認識器、ビデオプロセッサ等）。上述したことは本発明を制限しない実施形態であると理解されなければならない。
【０１１７】
本発明の実施形態による情報処理システム７００は、追加的に少なくとも１つのシステムバス７０５を含む。このような実施形態で、システムバス７０５はプロセッサ７１０、揮発性メモリ７２０、不揮発性メモリ７３０、ネットワークインタフェイス７４０、使用者インタフェイスユニット７５０、及び少なくとも１つの別途のハードウェア構成要素７６０に連結するように構成される。
【０１１８】
多様な実施形態で、情報処理システム７００は、少なくとも１つのソフトウェア構成要素７７０を含むか、或いは実行する。ソフトウェア構成要素７７０はＯＳ（運営体系）及び／或いはアプリケーションを含む。一部の実施形態で、ＯＳはアプリケーションに１つ以上のサービスを提供し、アプリケーションと多様なハードウェア構成要素（例えば、プロセッサ７１０、ネットワークインタフェイス７４０等）との間の仲介役として動作、即ち管理するように構成される。
このような実施形態で、情報処理システム７００は、局部的に（例えば、不揮発性メモリ７３０内に）設置され、プロセッサ７１０により直接実行され且つＯＳと直接に相互作用するように構成された１つ以上のネイティブアプリケーションを含む。このような実施形態で、ネイティブアプリケーションは予めコンパイルされたマシン実行可能コードを含む。
一部の実施形態で、ネイティブアプリケーションは、スクリプトインタプリタ（例えば、Ｃ＿ｓｈｅｌｌ（ＣＳＨ）、ＡｐｐｌｅＳｃｒｉｐｔ、ＡｕｔｏＨｏｔｋｅｙ、等）、或いは仮想実行マシンＶＭ（例、Ｊａｖａ（登録商標）仮想マシン、マイクロソフト共通言語ランタイム（Ｍｉｃｒｏｓｏｆｔ＿Ｃｏｍｍｏｎ＿Ｌａｎｇｕａｇｅ＿Ｒｕｎｔｉｍｅ）、等）を含み、これはソース或いはオブジェクトコードをプロセッサ７１０によって実行される実行コードに変換するように構成される。
【０１１９】
上述された半導体装置は多様なパッケージング技術を使用して封止（カプセル化）される。例えば、本発明の実施形態による半導体装置は、ＰＯＰ（ｐａｃｋａｇｅ  ｏｎ  ｐａｃｋａｇｅ）技術、ＢＧＡ（ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ）技術、ＣＳＰ（ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅ）技術、ＰＬＣＣ（ｐｌａｓｔｉｃ  ｌｅａｄｅｄ  ｃｈｉｐ  ｃａｒｒｉｅｒ）技術、ＰＤＩＰ（ｐｌａｓｔｉｃ  ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｐａｃｋａｇｅ）技術、ダイインワッフルパック（ｄｉｅ  ｉｎ  ｗａｆｆｌｅ  ｐａｃｋ）技術、ダイインウェハフォーム（ｄｉｅ  ｉｎ  ｗａｆｅｒ  ｆｏｒｍ）技術、ＣＯＢ（ｃｈｉｐ  ｏｎ  ｂｏａｒｄ）技術、ＣＥＲＤＩＰ（ｃｅｒａｍｉｃ  ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｐａｃｋａｇｅ）技術、ＰＱＦＰ（ｐｌａｓｔｉｃ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ）技術、ＳＯＩＣ（ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技術、ＳＳＯＰ（ｓｈｒｉｎｋ  ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技術、ＴＳＯＰ（ｔｈｉｎ  ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技術、ＴＱＦＰ（ｔｈｉｎ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ）技術、ＳＩＰ（ｓｙｓｔｅｍ  ｉｎ  ｐａｃｋａｇｅ）技術、ＭＣＰ（ｍｕｌｔｉｃｈｉｐ  ｐａｃｋａｇｅ）技術、ＷＦＰ（ｗａｆｅｒ−ｌｅｖｅｌ  ｆａｂｒｉｃａｔｅｄ  ｐａｃｋａｇｅ）技術、ＷＳＰ（ｗａｆｅｒ−ｌｅｖｅｌ  ｐｒｏｃｅｓｓｅｄ  ｓｔａｃｋ  ｐａｃｋａｇｅ）技術、或いは当業者に公知された他のパッケージ技術の中で少なくとも１つによってパッケージングされ得る。
【０１２０】
本発明に係る方法における各段階は、データを受信し、出力を発生するように動作する機能を実行するコンピュータプログラムを実行する少なくとも１つのプログラマブルプロセッサによって実行される。また、方法の段階は、特別目的論理回路、例えば、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）或いはＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、専用集積回路）によって構成される。
【０１２１】
多様な実施形態で、コンピュータ読出し可能な媒体は、実行される場合、装置が方法の段階の中で少なくとも一部を実行するようにするインストラクションを含む。一部の実施形態で、コンピュータ読出し可能媒体は、磁気媒体、光媒体、他の媒体、又はこれらの組合せ（例えば、ＣＤ−ＲＯＭ、ハードドライブ、読出し専用メモリ、フラッシュドライブ、等）を含む。このような実施形態で、コンピュータ読出し可能媒体は、有形の、持続的に具現化された製品であり得る。
【０１２２】
一方、上述された本発明の内容は、本発明を実施するための具体的な実施形態に過ぎない。本発明は具体的であり、実際に利用できる手段だけでなく、将来の技術で活用できる抽象的であり概念的なアイディアである技術的思想を含む。
【符号の説明】
【０１２３】
１００      システム
１０４      スケジューラ、スケジューラコンピューティング装置、スケジューリングコンピュータ装置
１０６、１０６ｂ、１０６ｃ      データノード
１０８      複数のデータノード
１１２      中央プロセッサ（ＣＰＵ）
１１４      メーンメモリ
１１６      知能型格納装置、ＩＳＭ
１１８      格納装置、ＳＳＭ
１４２      制御器プロセッサ
１４３      メモリ
１６０      ファームウェア
１７０      指示
１７２      業務、コンピューティング業務
１８２      プロセッサ、スケジューラプロセッサ、コンピューティング業務プロセッサ
１８２ｉ、１８４ｉ、２８２ｉ      データ、入力データ
１８２ｏ、１８４ｏ、２８４ｏ      出力データ
１８３      別途のハードウェア構成要素
１８４      メモリ、スケジューラメモリ、コンピューティング業務メモリ
１８５      格納装置、スケジューラ格納装置、コンピューティング業務格納装置
１８６      ネットワークインタフェイス
２００      システム
２０２      オフロード（された）動作
２０４      ホスト計算動作
２０６      最後の格納
３００      （分類システムの）テーブル
３１２、３１４、３１６      グループ
３２２、３３２      オフロード可能な分類
３３４      曖昧な分類
３２６、３３６      ホスト計算可能な分類
４００      動作チェーンのブロック図
４１０、４２０、４３０、４４０      第１、第２、第３、第４部分
４１１、４１２、４１３、４１４、４１５、４１６      動作＃１〜＃６
４２１、４２２、４２３、４２４、４２５、４２６      動作＃１〜＃６
４２８、４３８、４４８      第１小コンピューティング業務
４２９、４３９、４４９      第２小コンピューティング業務
５００      方法、技術
６００      技術、フローチャート
７００      情報処理システム
７０５      システムバス
７１０      中央処理装置（ＣＰＵ）、ロジック、或いはプロセッサ
７１５      機能ユニットブロック（ＦＵＢ）或いは組合せ論理ブロック（ＣＬＢ）
７２０      揮発性メモリ（ＲＡＭ）
７３０      不揮発性メモリ
７４０      ネットワークインタフェイス
７５０      使用者インタフェイスユニット
７６０      別途のハードウェア構成要素
７７０      ソフトウェア構成要素
【図１】
0006694683.tif 000002
【図２】
0006694683.tif 000003
【図３】
0006694683.tif 000004
【図４】
0006694683.tif 000005
【図５】
0006694683.tif 000006
【図６】
0006694683.tif 000007
【図７】
0006694683.tif 000008