JP2006092554A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

Publication number
JP2006092554A
JP2006092554A JP2005276099A JP2005276099A JP2006092554A JP 2006092554 A JP2006092554 A JP 2006092554A JP 2005276099 A JP2005276099 A JP 2005276099A JP 2005276099 A JP2005276099 A JP 2005276099A JP 2006092554 A JP2006092554 A JP 2006092554A
Authority
JP
Japan
Prior art keywords
configuration
performance
objects
combination
processors
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
JP2005276099A
Other languages
English (en)
Inventor
Yoshiyuki Hamaoka
快之 濱岡
Kazuko Ishibashi
和子 石橋
Hiroo Hayashi
宏雄 林
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Publication of JP2006092554A publication Critical patent/JP2006092554A/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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • 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
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • 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

Abstract

【課題】マルチメディアプロセッサシステムの性能を向上させる。
【解決手段】このシステムは、複数のプロセッサ212−214とオブジェクトマネージャ230とを具備する。オブジェクトマネージャ230は、複数のプロセッサ212−214にインストールされた現在の組み合わせの構成オブジェクト222−224の夫々の性能を評価し、望ましい組み合わせの構成オブジェクトを選択し、現在の組み合わせを望ましい組み合わせに合致させるように、現在の組み合わせ内の構成オブジェクト222−224の1つ以上を置換するように構成される。
【選択図】 図2

Description

本発明は、一般的にはコンピュータシステムに関し、特に、マルチプロセッサシステム内において個々のプロセッサの構成の動的最適化を可能とするシステム及び方法に関する。
コンピュータ関連技術の発展と共に、速度及び処理能力の更なる向上が要望されている。これらの要望は、処理性能の向上に必要なパワーを減少させるという要求によって幾分か相殺される。
これらの領域における性能の向上を達成する取り組みにおいて、様々な形態が実施されている。コンピュータシステムの計算能力を向上させるための、もっとも明白且つ単刀直入なアプローチの1つは、クロック速度及びシステムによって実行可能な対応する指令数を増加させることである。実施されることがより少ない他のアプローチは、コンピュータシステムによって利用されるプロセッサ数を増加させることである。2つ以上のプロセッサを使用するコンピュータシステムは、マルチプロセッサシステムとして言及することができる。
マルチプロセッサコンピュータシステムは、多数の方式で実施可能であるが、一般的に言えば、マルチプロセッサアプローチの目的は、シングルプロセッサシステム内の単一プロセッサによって実行されるプログラム指令を、マルチプロセッサシステム内の2つ以上のプロセッサに分配することである。複数のプロセッサに指令を分配することにより、シングルプロセッサシステムと比較して、各プロセッサの作業負担が軽減されると共に、所与の時間内でコンピュータシステムによって実行可能な指令数が増加する。
マルチプロセッサシステムは、マルチメディア用途などの用途において有用である可能性がある。例えば、ある家電デバイスは、ユーザに対する説明のためにマルチメディアデータを処理するように設計される。このデータは、例えば、WAVオーディオ、MP3オーディオ、MPEGビデオなどの様々な異なるタイプのデータを含む可能性がある。マルチプロセッサシステムはまた、ゲームシステムにおいて有用である可能性があり、ここでは、オーディオ及びビデオ信号を出力するためのオーディオ及びビデオデータの変換に加えて、相当量の演算処理を行うことが要求される可能性がある。これらのシステムによって処理されることが必要となる可能性がある多数の異なるタイプのデータがあるため、プロセッサの特定のどれかを特定のタイプのデータを処理するために最適化されるように構成することが有用である可能性がある。従って、全てのプロセッサによって同じタイプのデータが処理される時、あるプロセッサは、他のプロセッサよりも、より最適に機能することができる。どのプロセッサが最適に機能するかは、処理されるデータのタイプに依存する。
従来のマルチプロセッサシステムにおいて、システム内の各プロセッサの構成は、システムが初期化される時に決定されなければならない。プロセッサの構成は、システムの停止及び再初期化なしでは、変更することができない。従って、処理されることが予想されるデータに基づいて、各プロセッサの単一構成を決定する必要がある。典型的には、異なるプロセッサは、幾つかの異なるタイプのデータに対して最適に機能するように構成され、ここで、どのようなタイプのデータが処理されるのであっても、特定の(典型的にはより小さい)部分集合のプロセッサがより最適に機能する一方、他の(典型的にはより大きい)部分集合のプロセッサがそれに及ばない程度で最適に機能する。従って、システムは、全ての或いは殆どのプロセッサに対して最適に機能することはまれである。システムの未最適(sub-optimal)性能の全体は、様々な方式で明らかにされ、それらは、削減された処理効率(より少ないデータが処理される)及び増加されたパワー消費量(同等量のデータを処理するのに、未最適構成によってより多くのパワーが要求される)を含む。
従って、システム処理能力及びシステムのパワー消費量の両者に関して、マルチプロセッサシステムの性能を向上させる手段を提供することが必要となる。
上述の課題は、本発明の様々な実施形態によって解消することが可能である。概略的には、本発明は、マルチメディアプロセッサシステムの性能を向上させるためのシステム及び方法を具備し、ここで、システムの現在の性能を動的に評価すると共に、もし必要であれば、システムの性能を向上させるように個々のプロセッサの構成を更新する。
1実施形態は、マルチプロセッサシステムの性能を向上させるための方法を具備し、これは、前記複数のプロセッサにインストールされた現在の組み合わせの構成オブジェクトの夫々の性能を評価する工程と、望ましい組み合わせの構成オブジェクトを選択する工程と、前記現在の組み合わせを前記望ましい組み合わせに合致させるように、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換する工程と、を具備する。1実施形態において、前記構成オブジェクトの性能の評価は、ユーザの優先傾向に基づく。1実施形態において、前記構成オブジェクトの性能の評価は、特定のタイプのユーザ用途に関連する評価関数を使用して行われる。1実施形態において、前記望ましい組み合わせの構成オブジェクトは、選択可能な戦略、例えば、統一性戦略または多様性戦略に従って選択される。
1代替実施形態において、前記方法は、前記現在インストールされた組み合わせ内の第2の構成オブジェクトよりも高いデータ処理効率を有する前記望ましい組み合わせ内の第1の構成オブジェクトを選択する工程と、前記第2の構成オブジェクトを前記第1の構成オブジェクトで置換する工程と、前記システムのパワー消費量を削減するように前記対応するプロセッサが動作されるクロックレートを低下させる工程と、を含むことができる。他の代替実施形態において、前記方法は、遠隔的に配置される構成オブジェクトを審査してそれらが前記望ましい組み合わせに含まれるべきか否かを決定する工程を含むことができる。例えば、これらの構成オブジェクトは、前記システムの外部のネットワークを介してアクセス可能なサーバに保存されることができる。前記遠隔的に配置される構成オブジェクトは、これらの構成オブジェクトと共に保存される性能情報に基づいて評価される。これらの遠隔的に配置される構成オブジェクトの1つが、前記現在インストールされた構成オブジェクトの1つを置換するために選択されると、前記遠隔的に配置される構成オブジェクトが検索され(例えば、前記外部ネットワークを介して)、適当なプロセッサにインストールされる。1実施形態において、新たな未検証の構成オブジェクトを使用するプロセッサの動作は、このプロセッサ及び匹敵する構成オブジェクトを使用するプロセッサを通して同一のデータを処理し、夫々によって生成される出力データを比較することによって検証される。
他の実施形態は、オブジェクトマネージャを含むマルチプロセッサシステムを具備し、前記オブジェクトマネージャは、前記複数のプロセッサにインストールされた現在の組み合わせの構成オブジェクトの夫々の性能を評価し、望ましい組み合わせの構成オブジェクトを選択し、前記現在の組み合わせを前記望ましい組み合わせに合致させるように、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換するように構成される。他の実施形態は、前記方法の実施形態に関連して上述したものと類似の変更例を含むことができる。
多数の他の実施形態もまた可能である。本発明のその他の目的及び利点は以下の詳細な説明と、添付図面の参照により明白になるであろう。
本発明は様々な変形及び代替形態を取るが、その特定の実施形態を図面及び付随する詳細な説明によって例示する。しかしながら、図面及び詳細な説明は、本発明を説明した特定の実施形態に限定することを意図するものではないことを理解すべきである。即ち、この説明は、特許請求の範囲により規定される本発明の技術的範囲内に入る全ての変形、等価物、及び他の実施形態をカバーすることを意図する。
本発明の1以上の実施形態を以下に説明する。以下に説明するこれら及び任意の他の実施形態は例示であり、本発明の技術的範囲を限定するものではなく本発明の説明を意図するものであることに注意すべきである。
ここに記載されるように、本発明の様々な実施形態は、マルチメディアプロセッサシステムの性能を向上させるシステム及び方法を具備し、これらは、システムの現在の性能を動的に評価すると共に、もし必要であれば、システムの性能を向上させるように個々のプロセッサの構成を更新する。従って、様々な異なるデータタイプの処理においてシステムが最適ではなく程々に機能するように各プロセッサの単一構成を選択しなければならないのではなく、各プロセッサの構成は、全体的なシステム性能がより最適になるように更新されることができる。これにより、システムは、より優れた処理速度、処理品質、パワー効率、熱効率などを達成することが可能となる。
1実施形態は、マルチプロセッサシステムの処理効率及びパワー効率を向上させるための方法を具備し、これは、評価プロセス、選択プロセス、及び更新プロセスを含む。換言すると、プロセッサにインストールされた組み合わせの構成オブジェクトの夫々の性能が評価され、望ましい組み合わせの構成オブジェクトが特定され、更に、もし必要であれば、現在インストールされた構成オブジェクトの1つ以上が望ましい組み合わせの構成オブジェクトで置換される。この方法は、ユーザの優先傾向に従った構成オブジェクトの性能の評価と、例えば、望ましい構成オブジェクトのタイプにおける統一性または多様性を助ける選択可能な戦略に従った望ましい構成オブジェクトの選択と、を含むことができる。
1代替実施形態において、この方法は、現在インストールされた組み合わせ内の第2の構成オブジェクトよりも高いデータ処理効率を有する、望ましい組み合わせ内の第1の構成オブジェクトを選択する工程と、第2の構成オブジェクトを第1の構成オブジェクトで置換する工程と、システムのパワー消費量を削減するように、対応するプロセッサが動作されるクロックレートを減少させる工程と、を含むことができる。他の代替実施形態において、この方法は、遠隔的に配置される構成オブジェクトを審査してこれらが望ましい組み合わせに含まれるべきか否かを決定する工程を含むことができる。例えば、これらの構成オブジェクトは、システム外部のネットワークを通してアクセス可能なサーバ保存されることができる。遠隔的に配置される構成オブジェクトは、これらの構成オブジェクトと共に保存される性能情報に基づいて評価される。これらの遠隔的に配置される構成オブジェクトの1つが、現在インストールされた構成オブジェクトの1つを置換するために選択されると、遠隔的に配置される構成オブジェクトが検索される(例えば、外部ネットワークを介して)と共に、適当なプロセッサにインストールされる。1実施形態において、新たな未検証の構成オブジェクトを使用するプロセッサの動作は、このプロセッサ及び匹敵する構成オブジェクトを使用するプロセッサを通して同一のデータを処理すると共に、夫々によって生成される出力データを比較することにより検証される。本明細書には、他の代替実施形態も開示され、また、当業者によれば、本明細書の開示を読むことにより、その他の実施形態も明白となるであろう。
本発明の様々な実施形態を述べる前に、従来のマルチプロセッサシステムの構造及び動作の幾つかの視点について述べることが有益であろう。
[典型的なマルチプロセッサ構造]
図1は、典型的なマルチプロセッサコンピュータシステムを示す図である。この図において、システム100は、複数の個々のプロセッサ111−114からなる。この図には4つのプロセッサしか示されていないが、他のシステムは、より多い若しくはより少ないプロセッサを含む可能性がある。プロセッサ112−114の夫々は、対応する構成オブジェクト122−124を有し、これらは、ユーザ用途を実行するためにプロセッサを構成する。典型的なマルチプロセッサコンピュータシステムにおいて、プログラミング130を実行する1つのプロセッサ(例えば、主プロセッサ111)が存在し、これは、コンピュータシステムの多数の管理機能を行い、時には、ここに、システム内の他のプロセッサを設定するまたは制御することが含まれる。プロセッサが構成された後、これらは、コンピュータシステム上で進められるユーザ用途の指令を実行するために使用可能となる。主プロセッサは、これらの指令の幾つかを実行するための構成オブジェクト(プログラミング)121も含むことができる。
典型的な状況において、マルチプロセッサシステムはマルチメディアユーザ用途を実行することができる。例えば、このシステムは、DVDムービプレーヤにおいて実施される可能性がある。この用途において、マルチプロセッサシステムは、保存データを、適当なスピーカ及び表示デバイスを駆動するのに適したオーディオ及びビデオ出力信号に変換する。マルチプロセッサシステムの各プロセッサは、メモリから単位データを検索し、DVD再生用途に従ってデータを処理し、その結果得られる出力データを提供するように構成される。各プロセッサが単位データの処理を終了した後、プロセッサは、新たな単位データを検索し、この新たなデータを同じ態様で処理する。各プロセッサは、全てのデータが処理されるまで、他のプロセッサと並行して処理を継続する。
マルチプロセッサコンピュータシステム内の各プロセッサ(時には、主プロセッサを除く)は、同一に構成される可能性がある。換言すると、各プロセッサは、他のプロセッサと同じソフトウエアで構成されると共に、全く同じ態様でデータを処理する可能性がある。プロセッサの構成は、特定のタイプのデータのために最適化されるように選択可能である。しかし、他のタイプのデータが処理される必要がある場合、マルチプロセッサシステムの性能は未最適状態である可能性があり、何故なら、プロセッサのいずれも、他のタイプのデータを処理するように特に構成されていないからである。この問題は、1つ以上のプロセッサを異なる態様で設定することによりある程度対応可能である。即ち、あるプロセッサは特定のタイプのデータを処理するように構成される一方、他のプロセッサは他のタイプのデータを処理するように構成されることができる。従って、いかなる所与のタイプのデータにおいても、データを最適に処理するプロセッサの部分集合と、データを未最適に処理するプロセッサの部分集合とが存在する可能性がある。
異なるプロセッサの構成がどのようであっても、従来は、この構成は静的なままである。換言すると、システム内の各プロセッサの構成は変化しない。従って、異なる構成と期待されるデータタイプを処理するそれらの機能との間のトレードオフに関する最初の考慮と、それに続く各プロセッサの望ましい構成に関する決定とが行われる。選ばれた構成が期せずして理想に及ばないものである場合、コンピュータシステムの性能は最適未満となる。このようなシステムは、プロセッサの構成の動的最適化(即ち、現在の構成オブジェクトをより最適化された構成オブジェクトで置換する)や、ユーザの優先傾向に従ってシステムをカスタマイズすることを見越していない。
[システム構造]
個々のプロセッサの静的な構成から生じる、未最適或いはカスタマイズ不能な性能の問題は、本実施形態において、個々のプロセッサの構成の動的更新を可能とする機構を提供することによって軽減される。図2は、本発明の代表的な実施形態を示す図である。この図において、マルチプロセッサシステム200は、他のマルチプロセッサシステムと同様に、複数の個々のプロセッサ211−214を含む。各プロセッサ212−214は、構成オブジェクト222−224の対応する1つを使用するように構成される。プロセッサ211も、対応する構成オブジェクト221を使用することが可能であるが、これは必ずしもその通りではない。
留意すべき点として、本明細書で使用される「構成オブジェクト」とは、プロセッサがユーザ用途の実行を補助することができるようにプロセッサにインストールされたプログラミングに言及している。例えば、構成オブジェクトは、データの処理において使用される特定のアルゴリズムまたは他の構成情報に従ってデータを処理するソフトウエアを含むことができる。
この実施形態において、プロセッサ211は、システム200内の管理機能を行うために使用される主プロセッサである。例えば、この実施形態において、主プロセッサ211は、オブジェクトマネージャ230を駆動するように構成される。オブジェクトマネージャ230は、構成オブジェクト222−224を動的に評価し、もし必要であれば、システム200の性能を向上させるためにこれらを置換することが可能な機構を提供する。図2に示すように、オブジェクトマネージャ230は、評価コンポーネント231、選択コンポーネント232、及び置換コンポーネント233を含む。
評価コンポーネント231は、構成オブジェクト222−224を使用するプロセッサ212−214の性能に関する情報を受信し、これらのプロセッサの夫々の性能を決定するためにこの情報を評価する。選択コンポーネント232は、プロセッサ212−214に「望ましい」組み合わせの構成オブジェクトをインストールすることにより達成可能な潜在的な性能を決定する。置換コンポーネント233は、次に、評価及び選択コンポーネント231及び232によって提供される情報を、現在インストールされた構成オブジェクト222−224の1つ以上を、望ましい組み合わせからの構成オブジェクトで置換するための基準として使用する。
図3は、図2の代表的なマルチプロセッサコンピュータシステムにインストールされた構成オブジェクトに対するオブジェクトマネージャの相互作用を示す図である。図3は、オブジェクトマネージャ230のコンポーネント231−233間の相互作用と、プロセッサ222−224及びデータソース340に対するオブジェクトマネージャ230の相互作用とを示す。
システム200が初期化される時、プロセッサ212−214に最初にインストールされた組み合わせの構成オブジェクト222−224は、「デフォルト」の組み合わせの構成オブジェクトからなる可能性がある。このデフォルトの組み合わせの構成オブジェクトは、従来技術における構成オブジェクトと同じ態様で選択される可能性がある。即ち、この組み合わせは、異なるタイプのデータを処理するように夫々が最適化される様々な異なるタイプのオブジェクトを含む可能性がある。他の実施形態において、デフォルトの組み合わせの構成オブジェクトは、必要な時に他のオブジェクトで置換できるため、いかなる任意の選択されたオブジェクトからなることもできる。
[構成オブジェクト評価コンポーネント]
プロセッサ212−214によってどのようなオブジェクトの組み合わせが使用されていても、これらのオブジェクトの性能は、オブジェクト評価コンポーネント231の性能測定コンポーネント331及び評価関数生成コンポーネント332を使用して決定される。性能測定コンポーネント331は、個々のプロセッサ212−214にインストールされた異なるオブジェクト222−224の性能に関連するあるメトリックを測定する。使用される特定のメトリックは、実施形態によって異なることができる。例えば、1実施形態において、メトリックは、所与の時間内に各プロセッサによって処理されるデータ量からなることができる。他の実施形態において、メトリックは、同様な期間に亘って各プロセッサによって使用されるパワー量からなることができる。更に他の実施形態では、熱情報(即ち、プロセッサで生成される熱量)を性能メトリックとして使用することができる。更に他の実施形態では、他のメトリックまたはメトリックの組み合わせを使用することができる。
性能測定コンポーネント331によって得られる測定データは、次に、オブジェクト評価コンポーネント231によって評価される。この評価は、評価関数生成コンポーネント332によって提供される評価関数を使用して行われる。この評価関数は、異なる測定されたメトリックの夫々を評価するため、様々なユーザの優先傾向に従って加重された1つ以上の関数に基づく(例えば、パワー効率用、処理能力用など)。評価関数が基づくところの1つ以上の関数は、評価関数モデル記憶部342からオブジェクト評価コンポーネント231によって検索される。ユーザの優先傾向は、ユーザプロファイルモデル記憶部341から検索される。オブジェクト評価コンポーネント231による性能メトリックの評価は、この実施形態において、プロセッサ212−214にインストールされた現在の構成オブジェクト222−224の夫々の性能を代表する効率値の生成をもたらす。これらの構成オブジェクトの性能の測定及び評価の詳細は、図4に示される。
図4は、1実施形態に従って、個々のプロセッサにインストールされた様々な構成オブジェクトの性能の評価を示すフロー図である。留意すべき点として、1実施形態において、この方法は、性能評価情報が常に更新されるように、連続的に繰り返される。他の実施形態において、この方法は、例えば、構成オブジェクトの性能の連続的な評価間の間隔を規定するタイマの期間満了のような、特定の出来事によって起動可能となる。
この図に示すように、評価プロセスは、ユーザプロファイルモデル(ブロック405)及び評価関数モデル(ブロック410)の取得で開始される。ユーザプロファイルモデルは、構成オブジェクトの性能の評価に対するユーザの優先傾向に関する情報を含む。例えば、マルチプロセッサシステムによって実行されるユーザ用途が静止画像のための画像処理用途である場合、ユーザにとって画像品質が非常に重要である一方、処理速度及び安定性はそれほど重要でない可能性がある。これに対して、システムで実行される用途がビデオ再生用途である場合、ユーザにとってビデオ品質は幾分重要でない一方、処理速度及び安定性がより重要である可能性がある。ユーザプロファイルモデルのような評価関数モデルは変更可能である。ある評価関数モデルは、他のタイプよりもあるタイプのユーザ用途に適している可能性があり、従って、ブロック410において、現在の用途によく適した評価関数モデルが選ばれる。
適当なユーザプロファイル及び評価関数モデルが取得された後、評価関数が生成される(ブロック415)。評価関数は、選択されるユーザプロファイルモデル及び評価関数モデルに基づく。1実施形態において、評価関数モデルは、特定の測定された性能メトリックが評価される(測定された値から評価値に変換される)特定の態様を規定する。評価関数モデルは、パワー消費量、処理速度、出力データ品質などに基づく評価関数コンポーネント(サブ関数)を含むことができる。この実施形態において、ユーザプロファイルモデルは、異なる評価サブ関数のための加重を提供するために使用される。例えば、ユーザにとって画像品質が非常に重要である一方、処理速度が重要でないと(ユーザプロファイルモデルで指摘されるように)、画像品質に基づく評価サブ関数は大きく加重される一方、処理速度に基づく評価サブ関数は小さく加重される可能性がある。
評価関数が生成された後、プロセッサに現在インストールされた構成オブジェクトのための性能メトリックが測定される(ブロック420)。留意すべき点として、性能メトリックのための値が得られる前に評価関数が生成される必要はない。これらの機能は、並行してまたは逆の順番で行われることが可能である。評価関数及び性能測定の両者が入手可能である時、評価関数は性能測定を効率値に効果的に転換するように実行可能となり(ブロック425)、この効率値は現在インストールされた構成オブジェクトの性能に対応する。
図4の実施形態において、構成オブジェクトの夫々の評価情報は、等間隔でオブジェクト選択コンポーネントに提供される。決定ブロック430において、この情報を提供する時か否かが決定される。この情報をオブジェクト選択コンポーネントに提供する時でない場合、評価情報が保存される(ブロック435)。この情報をオブジェクト選択コンポーネントに提供する時である場合、この方法はブロック440に移行する。
決定ブロック440は、性能閾値が実施されるか否かに基づいてこのプロセスのフローを制御する。性能閾値は、現在インストールされた構成オブジェクトの容認可能な性能の指標として使用される。これらの構成オブジェクトの性能が閾値レベルよりも上である場合、構成オブジェクトを置換する必要はない。構成オブジェクトの性能が閾値レベルよりも下である場合、構成オブジェクトの1つ以上の置換が指摘される。この図に示すように、閾値性能値が使用される場合、閾値値が得られる(ブロック445)と共に、ブロック425で得られた評価された性能メトリックが閾値値と比較される(ブロック455)。閾値性能値が使用されない場合、評価情報はオブジェクト選択コンポーネントに単に提供される。
[構成オブジェクト選択コンポーネント]
再び図3を参照すると、現在インストールされた組み合わせの構成オブジェクト222−224の効率値が、オブジェクト評価コンポーネント231によってオブジェクト選択コンポーネント232に提供される。オブジェクト選択コンポーネント232は、ユーザプロファイルモデル及び評価関数モデルによって規定されるように、望ましい性能を達成するためにどの構成オブジェクトが最も適するかを決定するための基準として、この情報を使用する。望ましい組み合わせの構成オブジェクトの選択は、ユーザプロファイルモデル及び評価関数モデルによって影響されるだけでなく、配置方法モデル(これは配置方法モデル記憶部344から検索される)によっても影響される。配置方法モデルは、例えば、望ましい組み合わせ内の構成オブジェクトの多様性(或いは均一性)を維持することにより、全体として、望ましい組み合わせに影響するように意図される。従って、単一構成オブジェクトを置換することが全体的なシステムの性能を向上させるとしても、この置換は、それが全体のオブジェクトの組み合わせの望ましい特性に反するようであれば望ましくない可能性がある。例えば、均一な組み合わせの構成オブジェクトが要望される場合、均一な組み合わせの構成オブジェクトの1つを異なるタイプの構成オブジェクトで置換することは、仮にこれが全体的なシステムの性能を幾分向上させるとしても、望ましくない可能性がある。
図5は、1実施形態に従って、望ましい組み合わせのオブジェクトの選択を示すフロー図である。この実施形態において、この方法は、異なるタイプの構成オブジェクトが互いにどの程度類似するかを決定する手続きで開始される(ブロック505、510、515参照)。オブジェクト選択方法のこの部分は、均一性または多様性のいずれかを呈する望ましい構成オブジェクトのグループの特定ができるように、異なる構成オブジェクト間の類似性または非類似性の測定単位を提供するように意図される。これは、以下に詳述されるように、対応する構成オブジェクト置換戦略を実施するために望ましい可能性がある。様々な構成オブジェクト間の類似性が決定された後、対応する記憶部344(ブロック520参照)から配置方法モデルが得られる。この配置方法モデルは、おそらく類似性の決定に従って、置換戦略を実施するように意図される。オブジェクト評価コンポーネント231から受信される配置方法モデル、類似性の決定、及び評価の結果に基づいて、オブジェクト選択コンポーネント232は、望ましい組み合わせの構成オブジェクトを特定する。
上述のように、様々な構成オブジェクトの類似性を決定することが必要となる可能性がある。従って、手続きのこの部分は必要か否かが先ず決定される(ブロック505)。類似性の決定をする必要がないと、この方法は配置方法モデルの取得(ブロック520)及び望ましい組み合わせの構成オブジェクトの特定(ブロック525)に直接進む。類似性の決定をする必要があると、比較のための根拠を提供するように各構成オブジェクトが評価される(ブロック510)。1実施形態において、オブジェクト評価コンポーネント231によって生成される性能評価が比較のために使用される。構成オブジェクトの夫々の評価情報は、他の構成オブジェクトのそれと比較されており、構成オブジェクトの各対間の類似性に対応するメトリックが決定される(ブロック515)。この類似性メトリックは、次に、望ましい組み合わせの構成オブジェクトを特定するために、配置方法モデルの用途において使用される(ブロック525)。
[構成オブジェクト置換コンポーネント]
再び図3を参照すると、オブジェクト選択コンポーネント232は配置指令情報を生成し(即ち、望ましい組み合わせの構成オブジェクトの特定)、これはオブジェクト置換コンポーネント233に提供される。1実施形態において、この配置指令情報は、個々のプロセッサにインストールされるために入手可能な構成オブジェクトのリストからなり、ここに各タイプの構成オブジェクトの望ましい数を指示する対応値が伴う。この情報は構成オブジェクトの比率の形態をとることができる。
例えば、4つのタイプの構成オブジェクト(以下、オブジェクトA、オブジェクトB、オブジェクトC、及びオブジェクトDとして言及される)が存在すると、配置指令情報は、夫々オブジェクトA−Dに対応する値1、0.5、0、及び0からなることができる。従って、構成オブジェクトAと構成オブジェクトBとの数の比率は2:1(1:0.5)となるはずである。同様に、構成オブジェクトAと構成オブジェクトC(或いはD)との数の比率は1:0となるはずである。このシナリオにおいて、用途に対して入手可能な3つのプロセッサが存在する場合、構成オブジェクトAをプロセッサの2つにインストールすると共に、構成オブジェクトBをプロセッサの1つインストールすることが望ましいであろう。
望ましい組み合わせの構成オブジェクトは、比率に代えてパーセンテージでも特定可能である。上記の例(1、0.5、0、及び0)における正規化された比率は、パーセンテージ67%、33%、0%、及び0%と等価である。換言すると、望ましい組み合わせに合致させるため、プロセッサの67%は構成オブジェクトAを実行し、33%は構成オブジェクトBを実行する一方、いずれのプロセッサも構成オブジェクトCまたはDを実行しないようにする。
図6は、1実施形態に従って、現在の組み合わせの構成オブジェクトを望ましい組み合わせに合致させるための、現在インストールされた構成オブジェクトの置換を示すフロー図である。本明細書で使用される、現在の組み合わせの構成オブジェクトを望ましい組み合わせの比率に「合致させる(conforming)」は、望ましい組み合わせの構成オブジェクトの比率に最も近似させるのに必要とされるように構成オブジェクトを置換することを意味する。留意すべき点として、入手可能なプロセッサの数では、望ましい組み合わせの構成オブジェクトの正確な比率が実施できない可能性がある。例えば、上記の例において、構成オブジェクトAは構成オブジェクトBの2倍の数であるべきである。用途に対して入手可能な4つのプロセッサが存在する場合、正確な2:1の比率(即ち、67%がオブジェクトA及び33%がオブジェクトB)が達成できないことは明白である。従って、オブジェクト置換コンポーネント233は、構成オブジェクトのいずれを選択するにしても、望ましい組み合わせの比率に最も近似させるようにする可能性がある(例えば、3:1比率をもたらす構成オブジェクトA)。
現在インストールされた構成オブジェクトの置換は、オブジェクト選択コンポーネント232によって生成される望ましい構成オブジェクトの選択に基づいており、従って、この情報はオブジェクト置換コンポーネント233によって得られる(ブロック605)。この実施形態において、次に、用途に対して入手可能なプロセッサの数が減少したか否かが決定される(ブロック610)。入手可能なプロセッサの数が減少した場合、オブジェクト置換コンポーネント233は、削減された組み合わせのプロセッサの幾つが各構成オブジェクトを使用しているはずであるかを決定すると共に、現在インストールされた構成オブジェクトを置換し、もし必要であれば、望ましい構成を達成するようにする(ブロック615)。
用途に対して入手可能なプロセッサの数が減少しなかった場合、この数が増加したか否かが決定される(ブロック620)。入手可能なプロセッサの数が増加した場合、オブジェクト置換コンポーネント233は、増加された組み合わせのプロセッサの幾つが各構成オブジェクトを使用しているはずであるかを決定する(ブロック625)。オブジェクト置換コンポーネント233は、次に、ほぼ入手可能なプロセッサ(単数または複数)に構成オブジェクトの適当なものをインストールすると共に、もし必要であれば、望ましい構成を達成するように、現在インストールされた構成オブジェクトの1つ以上を置換する(ブロック625)。用途に対して入手可能なプロセッサの数が増加も減少もされていなかった場合、オブジェクト置換コンポーネント233は、構成オブジェクトの定期的な更新の時であるか否かを決定する(ブロック630)。定期的な更新の時である場合、オブジェクト置換コンポーネント233は、オブジェクト選択コンポーネント232によって指摘される構成オブジェクトの望ましい比率を達成するため、現在インストールされた構成オブジェクトの1つ以上が置換されるべきであるか否かを決定し、もし置換が必要であれば、置換を行う(ブロック635)。
1実施形態において、オブジェクト評価コンポーネント231及びオブジェクト選択コンポーネント232は連続的に動作する一方、オブジェクト置換コンポーネント233は連続的には動作しない。換言すると、オブジェクト評価コンポーネント231は、現在の組み合わせの構成オブジェクトの性能を反復的に測定し、この情報をオブジェクト選択コンポーネント232に提供する。オブジェクト選択コンポーネント232は、この情報に基づいて望ましい構成オブジェクトのリストを連続的に維持し、この望ましい構成オブジェクトのリストをオブジェクト置換コンポーネント233に提供する。しかし、オブジェクト置換コンポーネント233は、現在の構成オブジェクトを望ましい構成オブジェクトで連続的に更新(置換)することはしない。この連続的な更新は多くの諸経費を伴うため、システムの全体的な効率を低減する可能性がある。従って、オブジェクト置換コンポーネント233は、構成オブジェクトの置換をあまり頻繁に行わない。
再び図6を参照すると、このフロー図は、連続的に繰り返されるプロセスを示す。しかし、このプロセスは、それが実施される各時に構成オブジェクトの置換で終局するということにならない。代わりに、置換が行われる可能性があるのは、入手可能なプロセッサの数が減少したことを指示する割り込みがある時(ブロック610に対応)、入手可能なプロセッサの数が増加したことを指示する割り込みがある時(ブロック620に対応)、及び構成オブジェクトの定期的な更新が行われるべきことをタイマが指示する時(ブロック630参照)である。留意すべき点として、本明細書で使用される「置換」は、新たに入手可能なプロセッサに適当な構成オブジェクトをインストールすることを含む。他の留意すべき点として、割り込みが発生する各時またはタイマが期間満了する各時に置換を行う必要はない。これらは、単に置換を行う機会であり、現在の組み合わせの構成オブジェクトを望ましい組み合わせに合致させるために置換が必要でない場合は、置換を行う必要はない。
図11−図13は、1実施形態に従って、入手可能なプロセッサの組み合わせにおいて実行される、構成オブジェクトの変更例を示す図である。図11は、ユーザ用途の実行用で、現在使用されるプロセッサの1つが割り当て解除される状況に対応する。図12は、ユーザ用途の実行用で、2つの追加のプロセッサが割り当てられる状況に対応する。図13は、プロセッサが割り当てられる或いは割り当て解除されるのではなく、タイマの期間満了により構成オブジェクトの変更が行われる状況に対応する。これらの図の夫々において、多様性モデルが使用されると共に、望ましい組み合わせの構成オブジェクトが、比率A:1.0、B:0.25、C:0.5、D:0.1で特定される。
図11において、8つの入手可能なプロセッサにおいて実行される、構成オブジェクトAの5つの実例、構成オブジェクトBの1つの実例、及び構成オブジェクトCの2つの実例が、最初に存在する。1つのプロセッサが割り当て解除される(ブロック610参照)場合、構成オブジェクトの変更が起動され、プロセッサの1つから構成オブジェクトAが削除される。残りの構成オブジェクトは、望ましい組み合わせの比率に合致する。図12において、6つの入手可能なプロセッサにおいて実行される、構成オブジェクトAの2つの実例、構成オブジェクトBの2つの実例、構成オブジェクトCの1つの実例、及び構成オブジェクトDの1つの実例が、最初に存在する。2つの追加のプロセッサが割り当てられる場合(ブロック620参照)、構成オブジェクトの変更が起動される。2つの構成オブジェクト(B及びD)が置換され(Aの2つの実例)、2つの構成オブジェクト(A及びC)が新たなプロセッサに追加される。その結果得られる組み合わせの構成オブジェクトは、望ましい組み合わせの比率に合致する。図13において、構成オブジェクトA、B、C及びDの夫々について2つの実例が最初に存在する。プロセッサが割り当てられるまたは割り当て解除されることはないが、タイマが期間満了する場合(ブロック630参照)、3つの構成オブジェクト(B、D、D)が新たな構成オブジェクト(Aの3つの実例)で置換されることにより、構成オブジェクトが更新される。その結果得られる組み合わせの構成オブジェクトは、望ましい組み合わせの比率に合致する。
[構成オブジェクト間の差]
1実施形態に従うマルチプロセッサシステムの動作は、下記の代表的なシナリオで示される。これらのシナリオに関して、様々な構成オブジェクト間の潜在的な差の幾つかを先ず示すことが有益であろう。
図7は、画像データ処理(YUVデータのRGBデータへの変換)を示す図である。YUVデータは、アナログ及びデジタルコンポーネントビデオをエンコードするために使用される。ここで、Yは黒及び白信号の明度、U及びVは色差信号である。RGBデータは、異なる強度で赤、緑、及び青色のドットを表示することにより、表示スクリーン上にビデオを生成するために使用される。
このシナリオにおいて、YUVデータ700は、RGBデータ710を生成するプロセッサ720によって処理される。図7に示されるように、YUVデータブロック701は、RGBデータブロック711を生成するように、プロセッサ721によって処理される。同様に、データブロック702は、RGBデータブロック712を生成するように、プロセッサ722によって処理される。データブロック703は、RGBデータブロック713を生成するように、プロセッサ723によって処理される。プロセッサ721−723の夫々は、データブロックの1つの処理を終了すると、YUVデータの他のブロックを検索すると共に、新たなデータの処理を開始する。これは、全てのデータがRGBデータに変換されるまで、各プロセッサによって繰り返される。
プロセッサ721−723は、夫々異なる構成オブジェクトを使用してYUVデータを処理する。プロセッサ721は構成オブジェクトAを使用し、プロセッサ722及び723は構成オブジェクトB及びCを夫々使用する。構成オブジェクトA、B、及びCは全てYUVからRGBへのデータ変換を行うが、この変換を幾分異なる方式で行う。例えば、構成オブジェクトAは、第1のデータ処理アルゴリズム及び第1の内部データ構造を使用して変換を行うことができる。他方、構成オブジェクトBは、第2のアルゴリズム及び第1の内部データ構造を使用することができる。構成オブジェクトCは、第1のアルゴリズム及び第2の内部データ構造を使用することができる。これらの差の結果、構成オブジェクトは、異なるデータ処理効率を有することができる。この例において、目的上、構成オブジェクトAは、構成オブジェクトB及びCよりも速くデータを処理するものとする。従って、構成オブジェクトAは、構成オブジェクトB及びCよりも多量のYUVデータを処理すると共に、多量のRGBデータを生成する。この点は、図において、RGBデータブロックの影線によって示され、これは、プロセッサ内に示された構成オブジェクトの影線に対応する。
この例は、様々な構成オブジェクト間の潜在的な性能差(データ処理速度)の1つのみを示す。上で指摘されるように、構成オブジェクトは、他の点に関しても、異なるように機能する可能性がある。例えば、上記構成オブジェクトAを使用するプロセッサが、構成オブジェクトB及びCを使用するプロセッサのクロック速度の半分で動作される場合、これらの3つのプロセッサの全ては同じ量のデータを処理するが、構成オブジェクトAを使用するプロセッサは他のプロセッサで使用されるパワーの半分だけを消費するようになる可能性がある。他の例において、2つの異なる構成オブジェクトで使用されるアルゴリズムは、同じ速度及びパワー消費量で画像処理を行うが、アルゴリズムの1つは他のアルゴリズムよりも高品質出力画像を生成する可能性がある。更に、構成オブジェクト間には、様々な他の性能差が存在する可能性がある。
上で指摘されるように、各構成オブジェクトの性能は、性能測定コンポーネント331を使用するオブジェクト評価コンポーネント231によって測定される。性能測定コンポーネント331は、各構成オブジェクトの性能に関連する1つまたは幾つかのメトリックを測定することができる。例えば、これらのメトリックは、所与の時間内に処理されるデータ量、使用されるパワー量、データ処理の品質などを含む可能性がある。これらのメトリックは、評価関数生成コンポーネント332によって記憶部から得られるユーザプロファイルモデル及び評価関数モデルに従って評価される。このプロセスは図8に示される。
[ユーザプロファイルモデル、評価関数モデル]
図8は、性能メトリックの評価におけるユーザプロファイルモデル及び評価関数モデルの実施を示す図である。1つ以上のユーザプロファイルモデルが、ユーザプロファイルモデル記憶部341内に保存される。この記憶部は、プロファイルモデルデータを記憶するのに適した、ディスクドライブまたは如何なる他のタイプの記憶デバイスからもなることができる。同様に、1つ以上の評価関数モデルが、評価関数モデル記憶部342内に保存され、これは、このデータを記憶するのに適した如何なるタイプの記憶デバイスからもなることができる。
各ユーザプロファイルモデルは、マルチプロセッサシステムにインストールされた構成オブジェクトの性能に関連するユーザの優先傾向を指示するデータを含む。これらの優先傾向は、これらを広範な構成オブジェクトに適用するように、より一般化することが可能である。また、これらの優先傾向は、特定の優先傾向を特定のタイプの構成オブジェクトに適用するように、より特定化することが可能である。1実施形態において、ユーザプロファイルモデルは、異なるタイプのユーザ用途または構成オブジェクト、例えば、画像処理用途、文字認識用途、音声認識用途などのために、別々の優先傾向データを含む。
各評価関数モデルは、マルチプロセッサシステムにインストールされた様々なタイプの構成オブジェクトの性能を評価するための根拠を提供する関数を含む。ユーザプロファイルモデルデータと同様、これらの関数も、異なるタイプの構成オブジェクトに一般的に適用可能とする、或いは特定のタイプの構成オブジェクトに対して特定化することができる。1実施形態において、評価関数モデルは、異なるタイプの構成オブジェクト(例えば、画像処理オブジェクト、文字認識オブジェクト、音声認識オブジェクト、等々)のために別々の評価関数を含む。この実施形態において、特定のタイプの構成オブジェクトに対する評価関数の一般性または特定性のレベルは、対応するユーザの優先傾向の一般性または特定性のレベルと同じである。しかし、代替実施形態においては、必ずしもこのようになっていない。
図8の実施形態において、評価関数モデルの評価関数とユーザプロファイルモデルのユーザの優先傾向との間に対応関係が存在する。換言すると、評価関数モデルの各評価関数に対して、ユーザプロファイルモデルの対応するユーザの優先傾向が存在する。従って、画像処理評価関数の組み合わせと、画像処理優先傾向の対応する組み合わせとが存在する。他のタイプのユーザ用途及び構成オブジェクトにおいても同様なことがいえる。上述のように、ユーザの優先傾向は、評価関数を加重する機構を提供する。図示のように、画像処理タイプの用途に対して、3つのユーザの優先傾向(810参照)及び3つの対応する評価関数(820参照)が存在する。これらのユーザの優先傾向の夫々は値βnであり、これは典型的にはある最小及び最大値間にあり、対応する評価関数Fn()の重要性に対応する。例えば、βnは、この範囲内の離散的な閾値値を具備することができる。この値は、加重された評価関数を生成するように対応する評価関数によって乗算される(830参照)。1実施形態において、異なる関数の評価値(Yn)は、総計評価結果を生成するように加算される。この評価結果は、次に、オブジェクト選択コンポーネント232に提供することができる。
1実施形態において、ユーザプロファイルモデルは、評価関数と共に使用される加重だけでなく、容認可能な性能の閾値レベルを特定する。この実施形態において、構成オブジェクト評価コンポーネント231は、加重された評価関数の夫々を評価すると共に、関数の評価値をユーザが特定された閾値値と比較する。この比較は、個々の関数のレベルまたは総計レベルのいずれかで行うことができる。オブジェクト評価コンポーネント231は、次に、オブジェクト選択コンポーネント232に、各構成オブジェクトが容認可能なレベルで行われているか否か(個々の関数に関してまたは総計において)の指示と、評価値とを提供することができる。望ましい組み合わせの構成オブジェクト内にどの構成オブジェクトが選択されるかを決定するため、容認可能な性能の指示は、総計評価値を伴ってまたは伴わないで使用可能となる。
留意すべき点として、様々な実施形態において、構成オブジェクトの評価は異なる方式で進行する可能性がある。例えば、1実施形態において、各構成オブジェクトの性能を決定するために単一性能メトリック(例えば、パワー効率)に基づく単一評価関数が使用される可能がある一方、他の実施形態において、複数の性能メトリック(例えば、パワー効率、データ処理効率、出力データ品質、等々)に基づく複数の評価関数が使用される可能がある。複数の評価関数が使用される場合、これらの関数の結果は別々に考慮される、またはこれらは組み合わされる可能性がある(例えば、単一評価値を生成するように結果を合計する)。構成オブジェクトの評価はまた、構成オブジェクトの性能履歴を考慮に入れることができる。換言すると、特定の時間隔に基づく評価値を使用する代わりに、この値を以前の間隔からの性能評価値と組み合わせることができる(例えば、直前の幾つかの間隔に亘る評価値を合計するまたは平均する)。その他の変更例もまた可能である。
[選択スキーム]
評価スキームにおける変更例に加えて、望ましい組み合わせの構成オブジェクトを選択するためのスキームにおける変更例が存在する可能性がある。例えば、望ましい組み合わせの構成オブジェクトを選択するための1つのスキームは、最良の性能を提供するオブジェクトを選択することに単純に指向される。本明細書において、このスキームは「統一性」スキームとして言及される。統一性スキームにおいて、望ましい組み合わせの構成オブジェクトは、最良の性能の構成オブジェクトのみからなる。従って、4つの構成オブジェクトA−Dが存在し、構成オブジェクトAが最良の性能を有する場合は、構成オブジェクトA−Dの比率は、夫々1、0、0、0となるであろう。構成オブジェクトCが最良の性能を有する場合は、望ましい組み合わせの比率は、構成オブジェクトA−Dに対して、夫々0、0、1、0となるであろう。
他のオブジェクト選択スキームは、望ましい組み合わせの構成オブジェクトにおける多様性を取得することに指向される(従って、本明細書において、このスキームは「多様性」スキームとして言及される。)このスキームによれば、望ましい組み合わせの構成オブジェクトは、入手可能な構成オブジェクトの唯1つのみを含むべきでない。代わりに、2つ以上のタイプの構成オブジェクトを含むことが望ましい(即ち、オブジェクトの多様性)。これはある例において望ましい可能性があり、何故なら、処理中のデータのタイプは変化することができるが、構成オブジェクトの多様性が、全体的なシステムの性能に対するこの変化の影響を軽減する可能性があるからである。例えば、用途がDVDプレーヤで、処理中のデータがアクションムービである場合、場面が最初は非常に遅く変化すると(例えば、1つのキャラクタが他のキャラクタと話している)、データを遅く変化させるのに最適化された第1の構成オブジェクトが最良の性能を有する可能性がある。場面が次に急速に変化し始めると(例えば、銃撃戦が始まると)、データを速く変化させるのに最適化された第2の構成オブジェクトが最良の性能を有する可能性がある。従って、多様な組み合わせの構成オブジェクトを有すると共に、現在のデータタイプに対して少量の性能を犠牲にすることが望ましい可能性があり、これにより、データタイプが変化する時に全体的なシステムの性能の低下が少なくなるようにする。
これらのオブジェクト選択スキームは、異なる構成オブジェクトの個々の評価に基づく。他のオブジェクトの組み合わせ選択スキームは、構成オブジェクトの比較評価に基づくことができる。換言すると、選択スキームは、最良に(及び多分悪く)機能する構成オブジェクトはどれかだけでなく、構成オブジェクトの性能レベルを互いにどのように比較するかについても考慮に入れる可能性がある。このようなオブジェクトの組み合わせ選択スキームの1つにおいて、類似性の決定は、構成オブジェクトの各対に対して行われ、この情報は、望ましい組み合わせの選択において使用される。この類似性の決定は、図5に関連して先に言及される。
「類似性」戦略は、上述の単純な戦略(例えば、統一性スキームが望ましい組み合わせ内に単一構成オブジェクトのみを含む場合)よりも「黒対白」が不明確なオブジェクト選択スキームを提供するように実施される可能がある。類似性戦略を使用する場合、各構成オブジェクトの性能が評価されると共に、対の類似性を決定するために各構成オブジェクトの性能が他の構成オブジェクトの夫々と比較される。この類似性メトリックは、次に、望ましい組み合わせ内にどの構成オブジェクトを入れるかを選択する時に考慮される。例えば、多様性タイプのスキームが、変化するデータタイプのシステムの性能に対する影響を最小化するのに望ましい場合、類似性メトリックは、望ましい組み合わせの構成オブジェクト内に幾つの多様性が存在するかの指示を提供する。従って、構成オブジェクト選択スキームは、最良の性能を有する第1の構成オブジェクトを特定し、次に、第1の構成オブジェクトに殆ど類似しない第2の構成オブジェクトを選択することを含むことができる。また、第1のオブジェクトに対してより類似する他の構成オブジェクトを含むことが望ましい可能性もあり、これにより、構成オブジェクトのより広い分布範囲を提供する(最良及び最悪性能の構成オブジェクトのみを含めるのとは逆である)。
[置換スキーム/戦略]
異なる実施形態において、構成オブジェクトが置換される態様における変更例も存在する。上述のように、1実施形態は、定期的にまたは受信する特定の割り込みに応答して、現在の組み合わせ内の構成オブジェクトを置換するか否かを決定するように構成される。現在の組み合わせ内の特定の構成オブジェクトを置換するか否かの決定は、望ましい組み合わせを規定する比率の審査と、現在の組み合わせを望ましい組み合わせにより緊密に合致させるようにどの構成オブジェクトが置換可能であるかの決定とに基づく。明らかに、どれがより緊密に合致する組み合わせの構成オブジェクトであるかを決定するため、異なる実施形態において異なるアルゴリズムが使用される可能性がある。他の実施形態は、例えば、割り込みが受信される時にのみまたは定期的にのみ構成オブジェクトの置換を行うという変更例を含むことができる。他の実施形態において、置換が行われる周期は、既に行われた置換の履歴に基づいて調整されることができる。例えば、特定の周期において特定の数の構成オブジェクトが常に置換される場合、置換を行う機会がより頻繁に生じるように、この周期を小さくするように調整することができる。一方、特定の周期において置換が殆ど行われない場合、プロセスによって消費される処理パワーを削減するように、この周期を大きくするように調整することができる。
システムのオブジェクト置換コンポーネントに関係する他の変更例は、ビデオデコーダのようなソフトウエアの単純な置換ではなく、追加の構成パラメータの調整に関する。1実施形態において、特定の構成オブジェクトの性能が、最小性能閾値に適合するのに必要なものより遥かに高いと評価される場合、システムの置換コンポーネントは、この構成オブジェクトが、より低いクロックレートで、1つ以上のプロセッサによって使用可能であることを決定することができる。クロックレートを低下させることにより、プロセッサのパワー消費量もまた削減可能となる。従って、置換コンポーネントは、この構成オブジェクトを既に使用するプロセッサのクロックレートを低下させるか、或いは、他の構成オブジェクトをこの構成オブジェクトで置換し、対応するプロセッサのクロックレートを低下させることができる。
[ネットワークに基づく新たな構成オブジェクトの検索]
上述の実施形態において、システム(特に、オブジェクト評価及びオブジェクト選択コンポーネント)は、局所的に入手可能な組み合わせの構成オブジェクトに基づいて動作する。換言すると、これらの構成オブジェクトは、システムに保存されてプロセッサにインストールされる準備がなされている。1代替実施形態において、システムは、外部ネットワーク、例えば、インターネットに結合され、遠隔的に保存される構成オブジェクトにアクセスすることができる。従って、システムの動作は、システムに局所的に保存される限られた数の構成オブジェクトの評価及び選択に限定されない。この代替実施形態において、システムは、ネットワークを通して入手可能な構成オブジェクトを定期的に調査し、これらの構成オブジェクトを、望ましい組み合わせの選択及び現在の構成オブジェクトの置換を行う際に考慮することができる。
図9は、1実施形態に従って、遠隔的に保存され且つネットワークでアクセス可能な構成オブジェクトを使用可能なシステムの構造を示す図である。この実施形態において、システム910は、殆どの点において上述のシステムと同じ態様で動作する。しかし、システム910は、外部ネットワーク920を介して遠隔サーバ930に結合される。従って、システム910は、サーバ930にアクセスし、サーバに保存される構成オブジェクト940を検索することができる。構成オブジェクト940は、構成オブジェクトの1つ以上の性能特性を特定する情報と共に保存される。この実施形態において、これらの性能特性は、システム200のオブジェクト評価コンポーネント231によって提供される性能評価メトリックと基本的に等価であるが、性能情報は測定される代わりに保存される。システム910のオブジェクト選択コンポーネントは、構成オブジェクト940及び対応する性能特性を審査すると共に、これらの性能特性に基づいて、オブジェクト選択プロセス内に遠隔構成オブジェクト940を含めることが有用であるか否かを決定するように構成される。この決定が肯定的である場合、遠隔構成オブジェクトが検索され、局所的な構成オブジェクトと同じ態様で考慮される。
[新たな構成オブジェクトのテスト]
例えば、図9に示すような実施形態において、構成オブジェクトのソース(例えば、サーバ930)は、システムにとって既知でない可能性がある。従って、新たな構成オブジェクトの性能は、確実性をもって知ることができない可能性がある。従って、新たな構成オブジェクトの性能を検証するための機構を提供することが望ましい。これらの構成オブジェクトの性能を検証するための機構の可能な1例が図10に示される。
図10は、1実施形態に従って、未知のまたは未信頼の構成オブジェクトの性能を検証するための機構を示す図である。この実施形態において、マルチプロセッサシステムの個々のプロセッサ1010は、上述の実施形態に関して述べたように、一般的に、入力データを検索し、入力データを処理し、そして、出力データを提供する。1つのプロセッサ1019を除いて全てのプロセッサ1010は、信頼を受けた構成オブジェクトを使用する。最後のプロセッサ1019は、新しい未知の/未信頼の構成オブジェクトを使用する。プロセッサ1019は、他のプロセッサの1つ(この場合、1013)によって受信されるデータと同一のデータのブロックを受信する。プロセッサ1013及びプロセッサ1019の両者は、このデータを処理して対応する出力データを生成する。プロセッサ1019の出力データは、他のプロセッサによって出力されたデータと共に保存されるのではなく、比較の目的で単に使用される。プロセッサ1019(これは未知の/未信頼の構成オブジェクトを使用する)によって生成されたデータは、プロセッサ1013(これは既知の/信頼を受けた構成オブジェクトを使用する)によって生成されたデータと比較される。プロセッサ1019の出力データがプロセッサ1013によって生成されたデータと同じ場合、新たな構成オブジェクトは信頼される。このデータが同じでない場合、新たな構成オブジェクトは信頼されない。留意すべき点として、2つの異なる信頼を受けた構成オブジェクトが同一でない出力データを生成する可能性がある(例えば、これらが異なる品質の出力画像を生成する可能性がある)ように、新たな構成オブジェクトの出力は、信頼を受けた構成オブジェクトの出力と同一でない可能性がある。新たな構成オブジェクトの期待される出力が既知でない場合、このような差のための許容量をもうけることが必要となるであろう。
当業者は、ここで開示した実施形態に関して説明した種々の例示的な論理ブロック、モジュール、アルゴリズムステップが、電子ハードウエア、コンピュータソフトウエア、またはその両者の組合せとして実施されてもよいことを認識するであろう。このハードウエアとソフトウエアとの交換能力を明白に示すため、種々の例示的な構成部品、ブロック、モジュール、回路、ステップをそれらの機能に関して一般的に前述した。このような機能がハードウエアまたはソフトウエアのいずれとして構成されるかは特定の応用と、システム全体に課された設計制約に従う。当業者は、各特定の応用に対して、説明した機能を種々の方法で実行できるが、このような実行の決定は本発明の技術的範囲からの逸脱として解釈されるべきではない。
ここで開示した実施形態に関して説明した種々の例示的な論理ブロック、モジュール、回路は、特定用途用集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、汎用目的のプロセッサ、デジタル信号プロセッサ(DSP)または他のロジック、ディスクリートなゲートまたはトランジスタロジック、ディスクリートなハードウエア構成部品、或いはここで説明した機能を実行するように設計された任意のその組合せによって構成または実行されることができる。汎用目的のプロセッサは任意の通常のプロセッサ、コントローラ、マイクロコントローラ、状態マシン等であってもよい。プロセッサはまたコンピュータデバイスの組合せ、例えばDSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと連結した1以上のマイクロプロセッサ、或いは任意の他のこのような構造として構成されることもできる。
ここで開示した実施形態に関連して説明した方法のステップは、直接的にハードウエア、プロセッサにより実行されるソフトウエア(プログラム命令)、またはその2つの組み合わせで実施されてもよい。ソフトウエアはRAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取出し可能なディスク、CD−ROM、または技術的に知られるその他の形態の記憶媒体中に存在してもよい。例示的な記憶媒体はプロセッサに結合され、このようなプロセッサは情報を記憶媒体から読み出し、そこに情報を書込むことができる。その代りとして、記憶装置はプロセッサに一体化されることもできる。プロセッサ及び記憶媒体は例えばASIC中に存在してもよい。ASICはユーザ端末に存在してもよい。プロセッサ及び記憶媒体は代わりにユーザ端末またはその他のデバイスでディスクリートな構成部品として存在することもできる。
以上、本発明により与えられる効果及び利点が、特定の実施形態に関して説明された。これらの効果及び利点、ならびにこれらを生じさせる或いはより明白にさせるいかなる要件または限定も、特許請求の範囲に記載された任意または全ての特徴の、決定的、必須、或いは本質的な特徴として解釈されるべきではない。ここで使用されるように、用語「具備する」、「具備している」または任意の他のその変更例は排他的ではなく、これらの用語に付随する要件または限定を含むとして解釈されることを意図する。従って、1組の要件を含むシステム、方法、またはその他の実施形態は、これらの要件だけに限定されることを意図するものではなく、記載されていない或いは請求された実施形態に固有ではないその他の要件を含むことができる。
開示される実施形態の以上の説明は、当業者が本発明を実行または使用可能にするために提供される。これらの実施形態に対する種々の変形は当業者にとって容易に明白であり、ここで規定される一般原理は本発明の技術的範囲を逸脱せずに他の実施形態に適用されることができる。従って、本発明はここで示された実施形態に限定されず、ここで説明され且つ特許請求の範囲で列挙される原理及び新規な特徴と一貫して最も広い範囲に従うことを意図する。
例えば、本発明によれば、下記のような方法及びシステムを提供することができる。
(1)複数のプロセッサを有するシステムにおいて実施される方法であって、
(a)前記複数のプロセッサにインストールされた現在の組み合わせの構成オブジェクトの夫々の性能を評価する工程と、
(b)望ましい組み合わせの構成オブジェクトを選択する工程と、
(c)前記現在の組み合わせを前記望ましい組み合わせに合致させるように、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換する工程と、
を具備する。
(2)前記(1)の方法において、前記望ましい組み合わせの構成オブジェクトを選択する工程は、前記現在の組み合わせの構成オブジェクトの前記性能と少なくとも同等に良好な性能を有する組み合わせの構成オブジェクトを選択する工程を具備する。
(3)前記(2)の方法において、前記構成オブジェクトの前記性能は、少なくとも部分的にパワー効率に基づいて決定される。
(4)前記(2)の方法において、前記構成オブジェクトの前記性能は、少なくとも部分的にデータ処理効率に基づいて決定される。
(5)前記(1)の方法において、前記現在の組み合わせの構成オブジェクトの夫々の性能を評価する工程は、変更可能な基準を使用して行われる。
(6)前記(5)の方法において、前記変更可能な基準は、対応する性能メトリックを加重するユーザの優先傾向を具備する。
(7)前記(6)の方法において、前記ユーザの優先傾向は、1つ以上の関連する評価関数に対応する1つ以上の離散的な値を具備する。
(8)前記(5)の方法において、前記変更可能な基準は、少なくとも1つの評価関数を具備する。
(9)前記(8)の方法において、前記変更可能な基準は、複数の評価関数を具備する。
(10)前記(1)の方法において、前記現在の組み合わせの構成オブジェクトの夫々の性能を評価する工程は、少なくとも1つの性能メトリックを測定する工程を具備する。
(11)前記(10)の方法において、前記少なくとも1つの性能メトリックは、パワー消費量を具備する。
(12)前記(1)の方法において、前記望ましい組み合わせの構成オブジェクトを選択する工程は、オブジェクト選択戦略を選択する工程と、前記オブジェクト選択戦略に従って前記望ましい組み合わせの構成オブジェクトを選択する工程と、を具備する。
(13)前記(12)の方法において、前記オブジェクト選択戦略は、多様性戦略を具備する。
(14)前記(12)の方法において、前記オブジェクト選択戦略は、統一性戦略を具備する。
(15)前記(1)の方法において、前記工程(a)−(c)は、ユーザ用途に従って前記複数のプロセッサがデータを処理している間に行われる。
(16)前記(1)の方法において、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換する工程は、より低いデータ処理効率を有する第1の構成オブジェクトをより高いデータ処理効率を有する第2の構成オブジェクトで置換する工程を具備し、前記方法は、前記第2の構成オブジェクトがインストールされる前記プロセッサのクロックレートを低下させる工程を更に具備する。
(17)前記(1)の方法において、1つ以上の遠隔的に保存される構成オブジェクトに関連する性能メトリックを審査する工程と、前記望ましい組み合わせ内に前記遠隔的に保存される構成オブジェクトの1つ以上を含める工程と、を更に具備する。
(18)前記(17)の方法において、前記遠隔的に保存される構成オブジェクト及び関連する性能メトリックは、前記システムの外部のネットワークを介してアクセス可能な遠隔サーバに保存され、前記方法は、前記遠隔的に保存される構成オブジェクト及び関連する性能メトリックに前記ネットワークを介してアクセスする工程を更に具備する。
(19)前記(18)の方法において、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を、前記遠隔的に保存される構成オブジェクトの1つ以上で置換する工程を更に具備する。
(20)前記(18)の方法において、前記遠隔的に保存される構成オブジェクトの少なくとも1つをテストする工程を更に具備し、前記テストする工程は、前記遠隔的に保存される構成オブジェクトを使用してデータブロックを処理する工程と、信頼を受けた構成オブジェクトを使用して前記データブロックを処理する工程と、前記遠隔的に保存される構成オブジェクトを使用して生成される出力データを、前記信頼を受けた構成オブジェクトを使用して生成される出力データと比較し、前記遠隔的に保存される構成オブジェクトが前記信頼を受けた構成オブジェクトに匹敵する出力データを生成するか否かを決定する工程と、を具備する。
(21)前記(1)の方法において、前記望ましい組み合わせ内の各構成オブジェクトと、前記望ましい組み合わせ内で前記構成オブジェクトが夫々実行される対応する比率とを特定する工程を更に具備する。
(22)前記(1)の方法において、前記望ましい組み合わせ内の各構成オブジェクトと、前記望ましい組み合わせ内で前記構成オブジェクトが夫々実行される対応するパーセンテージとを特定する工程を更に具備する。
(23)前記(1)の方法において、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換する工程は、少なくとも1つの追加のプロセッサの割り当てに応答して行われる。
(24)前記(1)の方法において、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換する工程は、前記複数のプロセッサの少なくとも1つの割り当て解除に応答して行われる。
(25)前記(1)の方法において、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換する工程は、タイマの期間満了に応答して行われる。
(26)システムであって、
複数のプロセッサとオブジェクトマネージャとを具備し、
前記オブジェクトマネージャは、
前記複数のプロセッサにインストールされた現在の組み合わせの構成オブジェクトの夫々の性能を評価し、望ましい組み合わせの構成オブジェクトを選択し、前記現在の組み合わせを前記望ましい組み合わせに合致させるように、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換するように構成される。
(27)前記(26)のシステムにおいて、前記オブジェクトマネージャは、前記現在の組み合わせの構成オブジェクトの前記性能と少なくとも同等に良好な性能を有する組み合わせの構成オブジェクトを選択するように構成される。
(28)前記(27)のシステムにおいて、前記オブジェクトマネージャは、前記構成オブジェクトの前記性能を、少なくとも部分的にパワー効率に基づいて決定するように構成される。
(29)前記(27)のシステムにおいて、前記オブジェクトマネージャは、前記構成オブジェクトの前記性能を、少なくとも部分的にデータ効率に基づいて決定するように構成される。
(30)前記(26)のシステムにおいて、前記オブジェクトマネージャは、前記現在の組み合わせの構成オブジェクトの夫々の性能を評価するため、変更可能な基準を使用するように構成される。
(31)前記(30)のシステムにおいて、前記変更可能な基準は、対応する性能メトリックを加重するユーザの優先傾向を具備する。
(32)前記(31)のシステムにおいて、前記ユーザの優先傾向は、1つ以上の関連する評価関数に対応する1つ以上の離散的な値を具備する。
(33)前記(30)のシステムにおいて、前記変更可能な基準は、少なくとも1つの評価関数を具備する。
(34)前記(33)のシステムにおいて、前記変更可能な基準は、複数の評価関数を具備する。
(35)前記(26)のシステムにおいて、前記オブジェクトマネージャは、前記現在の組み合わせの構成オブジェクトの夫々の性能を評価するため、少なくとも1つの性能メトリックを測定するように構成される。
(36)前記(35)のシステムにおいて、前記少なくとも1つの性能メトリックは、パワー消費量を具備する。
(37)前記(26)のシステムにおいて、前記オブジェクトマネージャは、オブジェクト選択戦略を選択し、前記オブジェクト選択戦略に従って前記望ましい組み合わせの構成オブジェクトを選択するように構成される。
(38)前記(37)のシステムにおいて、前記オブジェクト選択戦略は、多様性戦略を具備する。
(39)前記(37)のシステムにおいて、前記オブジェクト選択戦略は、統一性戦略を具備する。
(40)前記(26)のシステムにおいて、前記オブジェクトマネージャは、ユーザ用途に従って前記複数のプロセッサがデータを処理している間に前記評価、選択、及び置換を行うように構成される。
(41)前記(26)のシステムにおいて、前記オブジェクトマネージャは、より低いデータ処理効率を有する第1の構成オブジェクトをより高いデータ処理効率を有する第2の構成オブジェクトで置換し、前記第2の構成オブジェクトがインストールされる前記プロセッサのクロックレートを低下させるように構成される。
(42)前記(26)のシステムにおいて、前記オブジェクトマネージャは、1つ以上の遠隔的に保存される構成オブジェクトに関連する性能メトリックを審査し、前記望ましい組み合わせ内に前記遠隔的に保存される構成オブジェクトの1つ以上を含めるように構成される。
(43)前記(42)のシステムにおいて、前記オブジェクトマネージャは、前記遠隔的に保存される構成オブジェクト及び関連する性能メトリックに、前記システムの外部のネットワークを介してアクセスするように構成される。
(44)前記(43)のシステムにおいて、前記オブジェクトマネージャは、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を、前記遠隔的に保存される構成オブジェクトの1つ以上で置換するように構成される。
(45)前記(43)のシステムにおいて、前記オブジェクトマネージャは、前記遠隔的に保存される構成オブジェクトの少なくとも1つをテストするように構成され、前記テストは、前記遠隔的に保存される構成オブジェクトを使用してデータブロックを処理し、信頼を受けた構成オブジェクトを使用して前記データブロックを処理し、前記遠隔的に保存される構成オブジェクトを使用して生成される出力データを、前記信頼を受けた構成オブジェクトを使用して生成される出力データと比較し、前記遠隔的に保存される構成オブジェクトが前記信頼を受けた構成オブジェクトに匹敵する出力データを生成するか否かを決定することにより行う。
(46)前記(26)のシステムにおいて、前記オブジェクトマネージャは、前記望ましい組み合わせ内の各構成オブジェクトと、前記望ましい組み合わせ内で前記構成オブジェクトが夫々実行される対応する比率とを特定するように更に構成される。
(47)前記(26)のシステムにおいて、前記オブジェクトマネージャは、前記望ましい組み合わせ内の各構成オブジェクトと、前記望ましい組み合わせ内で前記構成オブジェクトが夫々実行される対応するパーセンテージとを特定するように更に構成される。
(48)前記(26)のシステムにおいて、前記オブジェクトマネージャは、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換することを、少なくとも1つの追加のプロセッサの割り当てに応答して行うように更に構成される。
(49)前記(26)のシステムにおいて、前記オブジェクトマネージャは、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換することを、前記複数のプロセッサの少なくとも1つの割り当て解除に応答して行うように更に構成される。
(50)前記(26)のシステムにおいて、前記オブジェクトマネージャは、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換することを、タイマの期間満了に応答して行うように更に構成される。
従来技術に係る典型的なマルチプロセッサコンピュータシステムを示す図である。 本発明の1実施形態に係るマルチプロセッサコンピュータシステムを示す図である。 1実施形態に従って、マルチプロセッサコンピュータシステムにおいて実行される、構成オブジェクトに対するオブジェクトマネージャの相互作用を示す図である。 1実施形態に従って、個々のプロセッサにおいて実行される、様々な構成オブジェクトの性能の評価を示すフロー図である。 1実施形態に従って、望ましい組み合わせのオブジェクトの選択を示すフロー図である。 1実施形態に従って、現在の組み合わせの構成オブジェクトを望ましい組み合わせに合致させるための、現在実行している構成オブジェクトの置換を示すフロー図である。 RGBデータを生成するための、YUVデータの処理の代表的なシナリオを示す図である。 1実施形態に従って、性能メトリックの評価におけるユーザプロファイルモデル及び評価関数モデルの実施を示す図である。 1実施形態に従って、遠隔的に保存され且つネットワークでアクセス可能な構成オブジェクトを使用可能なシステムの構造を示す図である。 1実施形態に従って、未知のまたは未信頼の構成オブジェクトの性能を検証するための機構を示す図である。 1実施形態に従って、入手可能なプロセッサの組み合わせにおいて実行される、構成オブジェクトの変更例を示す図である。 1実施形態に従って、入手可能なプロセッサの組み合わせにおいて実行される、構成オブジェクトの他の変更例を示す図である。 1実施形態に従って、入手可能なプロセッサの組み合わせにおいて実行される、構成オブジェクトの更に他の変更例を示す図である。

Claims (5)

  1. 複数のプロセッサとオブジェクトマネージャとを具備し、
    前記オブジェクトマネージャは、
    前記複数のプロセッサにインストールされた現在の組み合わせの構成オブジェクトの夫々の性能を評価し、望ましい組み合わせの構成オブジェクトを選択し、前記現在の組み合わせを前記望ましい組み合わせに合致させるように、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換することと、
    前記現在の組み合わせの構成オブジェクトの前記性能と少なくとも同等に良好な性能を有する組み合わせの構成オブジェクトを選択することと、
    前記構成オブジェクトの前記性能を、少なくとも部分的にパワー効率に基づいて決定することと、
    を行うように構成されるシステム。
  2. 複数のプロセッサとオブジェクトマネージャとを具備し、
    前記オブジェクトマネージャは、
    前記複数のプロセッサにインストールされた現在の組み合わせの構成オブジェクトの夫々の性能を評価し、望ましい組み合わせの構成オブジェクトを選択し、前記現在の組み合わせを前記望ましい組み合わせに合致させるように、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換することと、
    前記現在の組み合わせの構成オブジェクトの前記性能と少なくとも同等に良好な性能を有する組み合わせの構成オブジェクトを選択することと、
    前記構成オブジェクトの前記性能を、少なくとも部分的にデータ効率に基づいて決定することと、
    を行うように構成されるシステム。
  3. 複数のプロセッサとオブジェクトマネージャとを具備し、
    前記オブジェクトマネージャは、
    前記複数のプロセッサにインストールされた現在の組み合わせの構成オブジェクトの夫々の性能を評価し、望ましい組み合わせの構成オブジェクトを選択し、前記現在の組み合わせを前記望ましい組み合わせに合致させるように、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換することと、
    前記現在の組み合わせの構成オブジェクトの夫々の性能を評価するため、変更可能な基準を使用することと、
    を行うように構成され、
    前記変更可能な基準は、対応する性能メトリックを加重するユーザの優先傾向を具備し、前記ユーザの優先傾向は、1つ以上の関連する評価関数に対応する1つ以上の離散的な値を具備する。
  4. 複数のプロセッサとオブジェクトマネージャとを具備し、
    前記オブジェクトマネージャは、
    前記複数のプロセッサにインストールされた現在の組み合わせの構成オブジェクトの夫々の性能を評価し、望ましい組み合わせの構成オブジェクトを選択し、前記現在の組み合わせを前記望ましい組み合わせに合致させるように、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換することと、
    ユーザ用途に従って前記複数のプロセッサがデータを処理している間に前記評価、選択、及び置換をすることと、
    を行うように構成される。
  5. 複数のプロセッサとオブジェクトマネージャとを具備し、
    前記オブジェクトマネージャは、
    前記複数のプロセッサにインストールされた現在の組み合わせの構成オブジェクトの夫々の性能を評価し、望ましい組み合わせの構成オブジェクトを選択し、前記現在の組み合わせを前記望ましい組み合わせに合致させるように、前記現在の組み合わせ内の前記構成オブジェクトの1つ以上を置換することと、
    より低いデータ処理効率を有する第1の構成オブジェクトをより高いデータ処理効率を有する第2の構成オブジェクトで置換し、前記第2の構成オブジェクトがインストールされる前記プロセッサのクロックレートを低下させることと、
    を行うように構成される。
JP2005276099A 2004-09-22 2005-09-22 マルチプロセッサシステム Pending JP2006092554A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/946,790 US7543091B2 (en) 2004-09-22 2004-09-22 Self-organized parallel processing system

Publications (1)

Publication Number Publication Date
JP2006092554A true JP2006092554A (ja) 2006-04-06

Family

ID=36127063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005276099A Pending JP2006092554A (ja) 2004-09-22 2005-09-22 マルチプロセッサシステム

Country Status (2)

Country Link
US (2) US7543091B2 (ja)
JP (1) JP2006092554A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224754A (ja) * 2009-03-23 2010-10-07 Nec Corp リソース割当装置、リソース割当方法、及びプログラム
US8914808B2 (en) 2010-12-14 2014-12-16 Samsung Electronics Co., Ltd. Apparatus and method for dynamically reconfiguring state of application program in a many-core system

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7543091B2 (en) * 2004-09-22 2009-06-02 Kabushiki Kaisha Toshiba Self-organized parallel processing system
US20060294334A1 (en) * 2005-06-23 2006-12-28 International Business Machines Corporation Statement regarding federally sponsored-research or development
US8775453B2 (en) * 2007-03-27 2014-07-08 Ca, Inc. System and method for reducing memory usage of tree-based data structures
US8504817B2 (en) * 2010-09-02 2013-08-06 Red Hat, Inc. Mechanism for adjusting system settings based on dynamic discovery of power usage
US20130117168A1 (en) 2011-11-04 2013-05-09 Mark Henrik Sandstrom Maximizing Throughput of Multi-user Parallel Data Processing Systems
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
US8745626B1 (en) 2012-12-17 2014-06-03 Throughputer, Inc. Scheduling application instances to configurable processing cores based on application requirements and resource specification
GB2499885B (en) * 2012-01-17 2014-03-05 Mark Henrik Sandstrom Application load and type adaptive manycore processor architecture
RU2542925C1 (ru) * 2013-12-03 2015-02-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)" Способ самоорганизации распределенной многопроцессорной системы
US10649670B2 (en) * 2016-09-16 2020-05-12 International Business Machines Corporation Data block processing
US10678740B1 (en) 2018-11-21 2020-06-09 Zoox, Inc. Coordinated component interface control framework
JP2022507939A (ja) * 2018-11-21 2022-01-18 ズークス インコーポレイテッド 調整されたコンポーネントインターフェース制御フレームワーク

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04153764A (ja) 1990-10-18 1992-05-27 Nec Corp 分散cpuの処理高速化方式
WO1995031782A1 (en) * 1994-05-12 1995-11-23 Ast Research, Inc. Cpu activity monitoring through cache watching
JP3331769B2 (ja) 1994-09-22 2002-10-07 松下電器産業株式会社 教育装置
US5838603A (en) * 1994-10-11 1998-11-17 Matsushita Electric Industrial Co., Ltd. Semiconductor device and method for fabricating the same, memory core chip and memory peripheral circuit chip
US5727208A (en) * 1995-07-03 1998-03-10 Dell U.S.A. L.P. Method and apparatus for configuration of processor operating parameters
JPH0981022A (ja) 1995-09-12 1997-03-28 Matsushita Electric Ind Co Ltd 計算問題生成方法
US5822531A (en) * 1996-07-22 1998-10-13 International Business Machines Corporation Method and system for dynamically reconfiguring a cluster of computer systems
JPH11202988A (ja) 1998-01-13 1999-07-30 Hitachi Ltd システム消費電力制御方法
US6427163B1 (en) * 1998-07-10 2002-07-30 International Business Machines Corporation Highly scalable and highly available cluster system management scheme
US6470464B2 (en) * 1999-02-23 2002-10-22 International Business Machines Corporation System and method for predicting computer system performance and for making recommendations for improving its performance
US6967999B2 (en) * 1999-12-30 2005-11-22 Infineon Technologies Ag Method and apparatus to support multi standard, multi service base-stations for wireless voice and data networks
US6748429B1 (en) * 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method to dynamically change cluster or distributed system configuration
US6988211B2 (en) * 2000-12-29 2006-01-17 Intel Corporation System and method for selecting a frequency and voltage combination from a table using a selection field and a read-only limit field
US7039692B2 (en) * 2001-03-01 2006-05-02 International Business Machines Corporation Method and apparatus for maintaining profiles for terminals in a configurable data processing system
US7194616B2 (en) * 2001-10-27 2007-03-20 International Business Machines Corporation Flexible temporary capacity upgrade/downgrade in a computer system without involvement of the operating system
US6889332B2 (en) * 2001-12-11 2005-05-03 Advanced Micro Devices, Inc. Variable maximum die temperature based on performance state
GB2387456B (en) * 2002-04-12 2005-12-21 Sun Microsystems Inc Configuring computer systems
JP4499343B2 (ja) 2002-05-21 2010-07-07 ソニー株式会社 データ処理装置
GB0304628D0 (en) * 2003-02-28 2003-04-02 Imec Inter Uni Micro Electr Method for hardware-software multitasking on a reconfigurable computing platform
US7191329B2 (en) * 2003-03-05 2007-03-13 Sun Microsystems, Inc. Automated resource management using perceptron prediction
US7152157B2 (en) * 2003-03-05 2006-12-19 Sun Microsystems, Inc. System and method for dynamic resource configuration using a dependency graph
US20050005261A1 (en) * 2003-07-02 2005-01-06 Severin William B. Component integration engine
US7383271B2 (en) * 2004-04-06 2008-06-03 Microsoft Corporation Centralized configuration data management for distributed clients
US7421575B2 (en) * 2004-07-16 2008-09-02 Hewlett-Packard Development Company, L.P. Configuring a physical platform in a reconfigurable data center
US7543091B2 (en) * 2004-09-22 2009-06-02 Kabushiki Kaisha Toshiba Self-organized parallel processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224754A (ja) * 2009-03-23 2010-10-07 Nec Corp リソース割当装置、リソース割当方法、及びプログラム
US8914808B2 (en) 2010-12-14 2014-12-16 Samsung Electronics Co., Ltd. Apparatus and method for dynamically reconfiguring state of application program in a many-core system

Also Published As

Publication number Publication date
US7543091B2 (en) 2009-06-02
US7913006B2 (en) 2011-03-22
US20090172016A1 (en) 2009-07-02
US20060075265A1 (en) 2006-04-06

Similar Documents

Publication Publication Date Title
JP2006092554A (ja) マルチプロセッサシステム
US10983576B2 (en) Method and apparatus for managing global chip power on a multicore system on chip
KR100487543B1 (ko) 시피유 스케쥴링 방법
US8060762B2 (en) Processor power management associated with workloads
US8069355B2 (en) Data path controller with integrated power management to manage power consumption of a computing device and its components
US7596705B2 (en) Automatically controlling processor mode of multi-core processor
US7131016B2 (en) Method and apparatus for adjusting clock throttle rate based on usage of CPU
TWI260543B (en) Performance scheduling method and system, and computer readable medium
CN110637271B (zh) 用于对便携式计算设备中的沉浸式多媒体工作负载的智能调整的系统和方法
US7519839B2 (en) Method for optimizing platform power delivery
KR20060008983A (ko) 주파수 제어 장치, 정보 처리 장치 및 프로그램
JP2009520298A (ja) スケジュールに基づくキャッシュ/メモリの電力最小化技術
US20130080809A1 (en) Server system and power managing method thereof
US9652027B2 (en) Thread scheduling based on performance state and idle state of processing units
US20030177163A1 (en) Microprocessor comprising load monitoring function
TWI432955B (zh) 具備可調效能之系統、以及用來調整系統的效能之方法
US20140089694A1 (en) Dynamically controlling power based on work-loop performance
JP2008158687A (ja) 帯域制御プログラム及びマルチプロセッサシステム
US11663470B2 (en) Method and system for accelerating boot time
CN112799848A (zh) 一种控制方法及装置
US9329876B2 (en) Resource aware programming
US11157329B2 (en) Technology for managing per-core performance states
US20240004444A1 (en) Rest-of-chip power optimization through data fabric performance state management
US8495599B2 (en) Apparatus and method for power saving
CN113849283A (zh) 用于优化混合式处理器利用的技术

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071217

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080715