JP5888629B2 - マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法、装置、およびシステム - Google Patents

マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法、装置、およびシステム Download PDF

Info

Publication number
JP5888629B2
JP5888629B2 JP2014536110A JP2014536110A JP5888629B2 JP 5888629 B2 JP5888629 B2 JP 5888629B2 JP 2014536110 A JP2014536110 A JP 2014536110A JP 2014536110 A JP2014536110 A JP 2014536110A JP 5888629 B2 JP5888629 B2 JP 5888629B2
Authority
JP
Japan
Prior art keywords
data flow
control parameter
packet
core
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014536110A
Other languages
English (en)
Other versions
JP2014531081A (ja
Inventor
加▲強▼ 余
加▲強▼ 余
▲佛▼ ▲鄭▼
▲佛▼ ▲鄭▼
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2014531081A publication Critical patent/JP2014531081A/ja
Application granted granted Critical
Publication of JP5888629B2 publication Critical patent/JP5888629B2/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、マルチプロセッサコアシステムの分野に関し、より詳細には、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法、装置、およびシステムに関する。
現在、マルチプロセッサコアシステム内に統合されているサービスは、徐々に増えており、ネットワークI/O(input/output、入出力)要求も増えている。ネットワークI/O要求に対するマルチプロセッサコアシステムのデータ処理機能は、システムがその完全な機能性を発揮するために重要な役割を果たす。先行技術では、ネットワークI/O要求を処理するための1つの方法は、静的構成処理モード(static-configuration processing mode)に基づいて、指定されたプロセッサコア上で実行されるタスクを指定されたプロセッサコアに結合すること、またはアイドルプロセッサコア(idle processor core)上で実行されるタスクを、バランスがとれた形でアイドルプロセッサコア上に割り当てることであり、ネットワークI/O要求を処理するための別の方法は、静的構成切替え規則(static-configuration switchover rule)に基づいて、割込みモードとポーリングモードとの間でプロセッサコアを切り替えて、ネットワークI/O要求に対するシステムの処理効率を改善することである。
前述の技術的解決策を実行する間に、本発明者は、先行技術は少なくとも以下の課題に直面することを見出した。すなわち、静的構成はシステムの実行プロセスに先立つ、システムの実際の実行プロセスの間の手動構成を指し、プロセッサコアは静的構成解決策に基づいてスケジュールされるため、リアルタイムネットワークI/O処理に対する要求を満たすことができず、プロセッサコアをスケジューリングする合理的な解決策を提供することができず、それによって、マルチプロセッサコアシステム全体の効率を改善することができないことである。
本発明の実施形態は、リアルタイムネットワークI/O処理に対する要求を満たし、それによって、マルチプロセッサコアシステム全体の効率を改善することができる、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法、装置、およびシステムを提供する。
本発明の実施形態は、以下の技術的解決策を採用する。
マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法は、
マルチプロセッサコアシステムの実行プロセスにおいて、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得するステップを含み、第1の制御パラメータがN個のデータフローの表示情報を指し、N個のデータフローが、マルチプロセッサコアシステムによって処理されたパケットを含むデータフローを各々のデータフロー内に含まれた処理されたパケットの数に従って降順にソートすることによって第1のサンプリング周期内で取得された第1のN個のデータフローを指し、Nが正の整数であり、第2の制御パラメータが、マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間(internal transmission duration)と、マルチプロセッサコアシステム内のプロセッサコアによって各々のデータフローを処理するための期間とを指し、第3の制御パラメータが、最低使用量を有するプロセッサコアのプロセッサコア情報を指し、第4の制御パラメータが、各々のデータフローのアプリケーション(APP: Application)クリティカルパス記述情報を指し、
第1の制御パラメータに基づいて、現在のパケットが属するデータフローがN個のデータフローのうちの1つであるかどうかを検出するステップを含み、
現在のパケットが属するデータフローがN個のデータフローのうちの1つでないとき、第2の制御パラメータと第3の制御パラメータとに基づいて、かつコア間切替えポリシーに従って、マルチプロセッサコアシステムに入るデータフローのパケットを処理のためにアイドルプロセッサコアに転送するステップを含み、コア間切替えポリシーが、内部伝送期間がプロセッサコアによってパケットを処理するための期間を超える場合、パケットが最低使用量を有するプロセッサコアによって処理され、プロセッサコアによってパケットを処理するための期間が内部伝送期間を超える場合、パケットが処理のために指定されたプロセッサコアに結合され、
第4の制御パラメータに基づいて、かつコア内切替えポリシーに従って、マルチプロセッサコアシステム内でパケットを処理するプロセッサコアを割込みモードとポーリングモードとの間で切り替えるステップを含み、コア内切替えポリシーが、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも大きい場合、プロセッサコアが割込みモードに入ってパケットを処理し、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも小さい場合、プロセッサコアがポーリングモードに入ってパケットを処理する。
マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための装置は、
マルチプロセッサコアシステムの実行プロセスにおいて、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4制御パラメータを取得するように構成された制御パラメータ取得ユニットを含み、第1の制御パラメータがN個のデータフローの表示情報を指し、N個のデータフローが、マルチプロセッサコアシステムによって処理されたパケットを含むデータフローを各々のデータフロー内に含まれた処理されたパケットの数に従って降順にソートすることによって第1のサンプリング周期内で取得された第1のN個のデータフローを指し、Nが正の整数であり、第2の制御パラメータが、マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間と、マルチプロセッサコアシステム内のプロセッサコアによって各々のデータフローを処理する期間とを指し、第3の制御パラメータが、最低の使用量を有するプロセッサコアのプロセッサコア情報を指し、第4の制御パラメータが、各々のデータフローのアプリケーション(APP)クリティカルパス記述情報を指し、
第1の制御パラメータに基づいて、現在のパケットが属するデータフローがN個のデータフローのうちの1つであるかどうかを検出することを行うように構成された第1の検出ユニットを含み、
第1の検出ユニットが現在のパケットが属するデータフローがN個のデータフローのうちの1つではないことを検出したとき、第2の制御パラメータと第3の制御パラメータとに基づいて、かつコア間切替えポリシーに従って、マルチプロセッサコアシステムに入るデータフローのパケットを処理のためにアイドルプロセッサコアに転送するように構成されたコア間切替えスケジューリングユニットを含み、コア間切替えポリシーが、内部伝送期間がプロセッサコアによってパケットを処理するための期間を超える場合、パケットが最低使用量を有するプロセッサコアによって処理され、プロセッサコアによってパケットを処理するための期間が内部伝送期間を超える場合、パケットが処理のために指定されたプロセッサコアに結合され、第4の制御パラメータに基づいて、かつコア内切替えポリシーに従って、マルチプロセッサコアシステム内のパケットを処理するプロセッサコアを割込みモードとポーリングモードとの間で切り替えるように構成されたコア内切替えスケジューリングユニットを含み、コア内切替えポリシーが、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも大きい場合、プロセッサコアが割込みモードに入ってパケットを処理し、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも小さい場合、プロセッサコアがポーリングモードに入ってパケットを処理する。
コンピュータシステムは、
バスと、
バスに接続されたマルチプロセッサコアと、
バスに接続されたメモリと
を含み、
マルチプロセッサコアは前述の装置を含む。
コンピュータシステムは、
バスと、
バスに接続されたマルチプロセッサコアと、
バスに接続されたメモリと
を含み、
バスを介してメモリ内の実行命令を呼び出すことによって、マルチプロセッサコアが、メモリから呼び出されたデータに基づいて、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得するように構成され、第1の制御パラメータがN個のデータフローの表示情報を指し、N個のデータフローが、マルチプロセッサコアシステムによって処理されたパケットを含むデータフローを各々のデータフロー内に含まれた処理されたパケットの数に従って降順にソートすることによって第1のサンプリング周期内で取得された第1のN個のデータフローを指し、Nが正の整数であり、第2の制御パラメータが、マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間と、マルチプロセッサコアシステム内のプロセッサコアによって各々のデータフローを処理するための期間とを指し、第3の制御パラメータが、最低使用量を有するプロセッサコアのプロセッサコア情報を指し、第4の制御パラメータが、各々のデータフローのアプリケーション(APP)クリティカルパス記述情報を指し、
マルチプロセッサコアが、第1の制御パラメータに基づいて、現在のパケットが属するデータフローがN個のデータフローのうちの1つであるかどうかを検出することを行うようにさらに構成され、
マルチプロセッサコアが、現在のパケットが属するデータフローがN個のデータフローのうちの1つでないとき、第2の制御パラメータと第3の制御パラメータとに基づいて、かつコア間切替えポリシーに従って、マルチプロセッサコアシステムに入るデータフローのパケットを処理のためにアイドルプロセッサコアに転送するようにさらに構成され、コア間切替えポリシーが、内部伝送期間がプロセッサコアによってパケットを処理するための期間を超える場合、パケットが最低使用量を有するプロセッサコアによって処理され、プロセッサコアによってパケットを処理するための期間が内部伝送期間を超える場合、パケットが処理のために指定されたプロセッサコアに結合され、
マルチプロセッサコアが、第4の制御パラメータに基づいて、かつコア内切替えポリシーに従って、マルチプロセッサコアシステム内でパケットを処理するプロセッサコアを割込みモードとポーリングモードとの間で切り替えるようにさらに構成され、コア内切替えポリシーが、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも大きい場合、プロセッサコアが割込みモードに入ってパケットを処理し、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも小さい場合、プロセッサコアがポーリングモードに入ってパケットを処理する。
本発明の実施形態によって提供される、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法、装置、およびシステムでは、マルチプロセッサコアシステムの実行プロセスの間に第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得することによって、かつ制御パラメータに基づいてプロセッサコアをスケジューリングすることによって、マルチプロセッサコアシステム内のリアルタイムネットワークI/O処理に対する要求を満たすことができ、それによって、マルチプロセッサコアシステム全体の効率を改善することができる。
本発明の実施形態または先行技術の技術的解決策をより明瞭に例示するために、以下の説明は、本実施形態または先行技術を説明するために必要とされる添付の図面を手短に紹介する。明らかに、以下の説明において添付の図面は、本発明のいくつかの実施形態を示すにすぎず、当業者は、創造的な取組みなしに、これらの添付の図面から他の図面をさらに導き出すことが可能である。
本発明の実施形態1による、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法の流れ図である。 本発明の実施形態2による、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法の流れ図である。 本発明の実施形態2による、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための別の方法の流れ図である。 本発明の実施形態2による、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための別の方法の流れ図である。 本発明の実施形態2による、APPクリティカルパス記述情報を取得する流れ図である。 本発明の実施形態3による、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための装置のブロック図である。 本発明の実施形態3による、コア間切替えスケジューリングユニットのブロック図である。 本発明の実施形態3による、別のコア間切替えスケジューリングユニットのブロック図である。 本発明の実施形態3による、コア内切替えスケジューリングユニットのブロック図である。 本発明の実施形態3による、別のコア内切替えスケジューリングユニットのブロック図である。 本発明の実施形態3による、制御パラメータ取得ユニットのブロック図である。 本発明の実施形態3による第1の制御パラメータ取得ユニットのブロック図である。 本発明の実施形態3による第4の制御パラメータ取得ユニットのブロック図である。 本発明の実施形態4による、コンピュータシステムの概略図である。 本発明の実施形態5による、コンピュータシステムの概略図である。
以下の記述は、本発明の実施形態で添付の図面を参照して本発明の実施形態の技術的解決策を明瞭かつ完全に説明する。明らかに、説明される実施形態は、本発明の実施形態のすべてではなく、それらの一部にすぎない。創造的な取組みなしに、本発明の実施形態に基づいて当業者によって取得されるすべてのその他の実施形態は、本発明の保護範囲に該当すべきである。
実施形態1
本発明の実施形態は、以下のステップを含む、図1に示されるようなマルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法を提供する。
101.マルチプロセッサコアシステムの実行プロセスの間に、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得するステップ。
第1の制御パラメータは、N個のデータフローの表示情報を指し、N個のデータフローは、マルチプロセッサコアシステムによって処理されたパケットを含むデータフローを各々のデータフロー内に含まれる処理されたパケットの数に従って降順にソートすることによって第1のサンプリング周期内で取得された第1のN個のデータフローを指し、Nは正の整数である。N個のデータフローの表示情報は、どのN個のデータフローが表示情報によって示されるかを示すことが可能である。
第2の制御パラメータは、マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間と、マルチプロセッサコアシステム内のプロセッサコアによって各々のデータフローを処理するための期間とを指す。第3の制御パラメータは、最低使用量を有するプロセッサコアのプロセッサコア情報を指す。第4の制御パラメータは、各々のデータフローのAPP (Application、アプリケーション)クリティカルパス記述情報を指す。
第1のサンプリング周期は、プリセットされた(preset)サンプリング周期または動的に取得されたサンプリング周期であってよい。例えば、第1のサンプリング周期は、ヒューマン−コンピュータ・インタラクションインターフェースを介して取得される、加入者によって動的に構成されたサンプリング周期であってよく、または第1のサンプリング周期は、通信インターフェースを介してアクセスされるデータベース内に記憶された、対応するサンプリング周期であってもよい。
102.第1の制御パラメータに基づいて、現在のパケットが属するデータフローがN個のデータフローのうちの1つであるかどうかを検出するステップ。
103.現在のパケットが属するデータフローがN個のデータフローのうちの1つでないとき、第2の制御パラメータと第3の制御パラメータとに基づいて、かつコア間切替えポリシーに従って、マルチプロセッサコアシステムに入るデータフローのパケットを処理のためにアイドルプロセッサコアに転送するステップ。
アイドルプロセッサコアは、最低使用量を有するプロセッサコアと、そのリソース使用量が一定のしきい値未満であるプロセッサコアとを含み、一定のしきい値は、システム内でプリセットされたしきい値、または人間とコンピュータのインタラクションインターフェースを介して、必要に応じて、加入者によって入力される、動的に構成されたしきい値であってよい。
具体的には、まず、第1の制御パラメータに基づいて、現在のパケットが属するデータフローがN個のデータフローのうちの1つであるかどうかが検出され、第2の制御パラメータと第3の制御パラメータとに基づいて、かつコア間切替えポリシーに従って、現在のパケットが属するデータフローがN個のデータフローのうちの1つでないとき、マルチプロセッサコアシステムに入るデータフローのパケットは処理のためにアイドルプロセッサコアに転送される。
104.第4の制御パラメータに基づいて、かつコア内切替えポリシーに従って、マルチプロセッサコアシステム内のプロセッサコアを割込みモードとポーリングモードとの間で切り替えるステップ。
マルチプロセッサコアシステムに入る各々のデータフローのパケットに関して、ステップ102および103を実行して、プロセッサコアを各々のパケットに割り当て、ステップ104は、単一のプロセッサコアに関するコア内処理モードの切り替えである。実際の応用では、前述のステップ102および103は、同時にまたは別個で実行可能な、ステップ104の独立した動作である。
本発明の実施形態では、第2の制御パラメータと第3の制御パラメータとに基づいて、マルチプロセッサコアシステムに入るデータフローのパケットを処理のためにアイドルプロセッサコアに転送するステップは、具体的には、コア間切替えポリシーに従って、マルチプロセッサコアシステムに入るデータフローのパケットを処理のためにアイドルプロセッサコアに転送するステップである。コア間切替えポリシーは、パケットの内部伝送期間がプロセッサコアによってパケットを処理するための期間を超える場合、パケットが最低の使用量を有するプロセッサコアによって処理され、プロセッサコアによってパケットを処理するための期間がパケットの内部伝送期間を超える場合、パケットが処理のために指定されたプロセッサコアに結合される。
加えて、本明細書の実施形態による、第4の制御パラメータに基づいてマルチプロセッサコアシステム内のプロセッサコアの割込みモードとポーリングモードとの間で切り替えるステップは、具体的には、コア内切替えポリシーに従って、マルチプロセッサコアシステム内のプロセッサコアの割込みモードとポーリングモードとの間で切り替えるステップを指す。コア内切替えポリシーは、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドを超える場合、プロセッサコアが割込みモードに入ってパケットを処理し、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッド未満である場合、プロセッサコアがポーリングモードに入ってパケットを処理するということである。
本発明の実施形態では、異なるネットワークI/Oデータフローは、5つの条件(quintuple)(データフローのソースアドレス、ターゲットアドレス、ソースポート、ターゲットポート、および伝送プロトコル)によって区別される。
本発明の実施形態は、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするためのある方法を提供し、この場合、マルチプロセッサコアシステムの実行プロセスの間に、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得することによって、かつ制御パラメータに基づいて、プロセッサコアをスケジューリングすることによって、マルチプロセッサコアシステム内のリアルタイムネットワークI/O処理に対する要求を満たすことができ、それによって、マルチプロセッサコアシステム全体の効率を改善することができる。
実施形態2
本発明の実施形態は、図2に示されるような、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするためのある方法を提供し、この方法は以下を含む。
201.マルチプロセッサコアシステムの実行プロセスの間に、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得するステップ。
第1の制御パラメータは、N個のデータフローの表示情報を指し、N個のデータフローは、マルチプロセッサコアシステムによって処理されたパケットを含むデータフローを各々のデータフロー内に含まれた処理されたパケットの数に従って降順にソートすることによって第1のサンプリング周期内で取得された第1のN個のデータフローを指し、Nは正の整数である。N個のデータフローの表示情報は、どのN個のデータフローが表示情報によって示されるかを示すことが可能である。例えば、Nの値が3であるとき、N個のデータフローの表示情報は、表示情報が3個のデータフローを示す(flow1、flow5、flow6)であり、これらの3個のデータフローはflow1、flow5、およびflow6である。
第2の制御パラメータは、マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間と、マルチプロセッサコアシステム内のプロセッサコアによって各々のデータフローを処理するための期間とを指す。第3の制御パラメータは、最低使用量を有するプロセッサコアのプロセッサコア情報を指す。第4の制御パラメータは、各々のデータフローのAPPクリティカルパス記述情報を指す。
202.データフローの現在のパケットがマルチプロセッサコアシステムに入った後で、第1の制御パラメータに基づいて、現在のパケットが属するデータフローがN個のデータフローのうちの1つであるかどうかを検出するステップ。
データフローの現在のパケットがマルチプロセッサコアシステムに入った後で、第1の制御パラメータに基づいて、現在のパケットが属するデータフローがN個のデータフローの表示情報によって示されたN個のデータフローのうちの1つであるかどうかが検出される。現在のパケットが属するデータフローがN個のデータフローのうちの1つである場合、ステップ205が実行される。そうでない場合、ステップ203が実行される。
第1のサンプリング周期は、プリセットされたサンプリング周期または動的に取得されたサンプリング周期であってよい。例えば、第1のサンプリング周期は、ヒューマン−コンピュータ・インタラクションインターフェースを介して取得される、加入者によって動的に構成されたサンプリング周期であってよく、または第1のサンプリング周期は、通信インターフェースを介してアクセスされるデータベース内に記憶された、対応するサンプリング周期であってもよい。
第1の制御パラメータを取得する動作は、まず、第1のサンプリング周期内でマルチプロセッサコアシステムによって処理されたパケットを取得すること、次いで、マルチプロセッサコアシステムによって処理されたパケットとそのパケットが属するデータフローとの間の関係を判断すること、マルチプロセッサコアシステムによって処理されたパケットの数を降順にソートして、マルチプロセッサコアシステムによって処理されたパケットとそのパケットが属するデータフローとの間の関係に基づいて、前述の順序に従って、第1のN個のパケットを含むデータフローを判断することである。
以下の例は、第1の制御パラメータをどのように取得するかを説明する。flow1と、flow2と、flow3と、flow4と、flow5とを含むデータフローが存在すると仮定する。N=3である。各々のデータフローのパケットがマルチプロセッサコアシステムに入るとき、処理されたパケットは第1のサンプリング周期内で記録される。次いで、マルチプロセッサコアシステムによって処理されたパケットとそのパケットが属するデータフローとの間の関係が判断されて、マルチプロセッサコアシステムによって処理されたパケットの数が降順にソートされる。記録されたソート結果が、システムに入るflow1のパケットが最も多く処理され、flow2のパケットが次に最も多く処理され、flow3のパケットが最も少なく処理されるということである場合、これに応じて、第1の制御パラメータは、flow1、flow2、およびflow3を記録する。
203.第2の制御パラメータに基づいて、マルチプロセッサコアシステム内の現在のパケットが属するデータフローの内部伝送期間が現在のパケットが属するデータフローをマルチプロセッサコアシステム内のプロセッサコアによって処理するための期間を超えるかどうかを判断するステップ。
マルチプロセッサコアシステムの現在のパケットが属するデータフローの内部伝送期間がマルチプロセッサコアシステム内のプロセッサコアによって現在のパケットが属するデータフローを処理するための期間を超える場合、ステップ204が実行される。そうでない場合、ステップ205が実行される。
204.第3の制御パラメータに基づいて、最低使用量を有するプロセッサコアに現在のパケットを分配するステップ。
205.そのリソース使用量が第1のしきい値未満であるプロセッサコアに現在のパケットを送信して、現在のパケットが属するデータフローをそのリソース使用量が第1のしきい値未満であるプロセッサコアに結合するステップ。
現在のパケットが属するデータフローのパケットがマルチプロセッサコアシステムに入るときに、そのパケットが、そのリソース使用量が第1のしきい値未満であるプロセッサコアによって処理されるように、現在のパケットが属するデータフローはそのリソース使用量が第1のしきい値未満であるプロセッサコアに結合される。
実際の応用シナリオに基づいて、本発明の実施形態の第1のしきい値を設定することが可能である。
前述のステップ201からステップ205は、複数のプロセッサコアの間で負荷スケジューリングを実現し、それによって、プロセッサコアリソースの浪費を削減して、マルチプロセッサコアの効率および機能を改善するコア間切替えポリシーの実施形態である。
第2の制御パラメータを取得するステップは、異なるデータフローのパケットに関して、マルチプロセッサコアシステム内のパケットの内部伝送期間を取得するために、パケットがマルチプロセッサコアシステムに入るとき、およびそのパケットがマルチプロセッサコアシステムを退去するときに時間タグを設定するステップであってよく、他方で、プロセッサコアによってパケットの処理に関する期間を取得するために、プロセッサコアがパケットの処理を開始して、その処理を完了する時間を記録するステップであってよい。実際の応用では、データフローの複数のパケットの内部伝送期間と、プロセッサコアによってそれらの複数のパケットをそれぞれ処理するための期間とがそれぞれ取得される。マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間およびプロセッサコアによって各々のデータフローを処理するための期間として、内部伝送期間ならびにプロセッサコアによって複数のパケットを処理するための期間の算術平均がそれぞれ計算される。プロセッサコアによって処理されるのにより長くかかるデータフローがそのプロセッサコアに結合される。これは、過剰なコア間切替えを回避することができ、処理効率を改善するためのプロセッサコアの計算機能を十分に利用することができる。ネットワーク処理圧力を軽減するために、その内部伝送期間がより長いデータフローは低い使用量を有するプロセッサコアに分配される。
第3の制御パラメータを取得するステップは、その優先順位レベルがマルチプロセッサコアシステム内のアイドル状態の優先順位レベルを単に超えるタスクを設定するステップ、およびどのプロセッサコア内にこのタスクが存在するかを定期的に検査するステップであってよく、このプロセッサコアは、最低使用量を有するプロセッサコアと見なされる。
本発明の実施形態の前述の様式とは別に、当技術分野で知られているその他の様式を使用して、マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間と、プロセッサコアによって各々のデータフローを処理するための期間とを取得して、最低使用量を有するプロセッサコアのプロセッサコア情報を取得することも可能であり、これは、本明細書で再度説明されないことに留意されたい。
他方で、取得された第4の制御パラメータに基づいて、本発明の実施形態は、図3aに示されるように以下のステップを含んだ、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法をさらに提供する。
301.各々のデータフローを割込みモードで処理するための単一の割込みオーバーヘッドを検出し、各々のデータフローをポーリングモードで処理するための単一のポーリングオーバーヘッドを検出するステップ。
マルチプロセッサコアシステムの初期化の間に、各々のデータフローを割込みモードで処理するための単一の割込みオーバーヘッドと、各々のデータフローをポーリングモードで処理するための単一のポーリングオーバーヘッドとがそれぞれ検出される。具体的には、割込みオーバーヘッドの場合、カウンタは、プロセッサコア上で割込み動作が発生するときはいつでも、割込みのための期間を検出することを行うように構成され、ポーリングオーバーヘッドの場合、カウンタは、無効なポーリング動作のための期間を検出することを行うように構成される。次いで、検出された1秒当たりの割込み回数と、1秒当たりの無効なポーリング回数とに基づいて、1秒間の割込みオーバーヘッドおよびポーリングオーバーヘッドの期間がそれぞれ計算される。
302.各々のデータフローのAPPクリティカルパス記述情報に基づいて、現在のパケットが属するデータフローが対応するAPPクリティカルパスを有するかどうかを検出するステップ。
第4の制御パラメータは、各々のデータフローのAPPクリティカルパス記述情報である。各々のAPPクリティカルパス記述情報は、その対応するデータフローがAPPクリティカルパスを有することを示す。例えば、可変APP_flagによってAPPクリティカルパス記述情報を表すことができる。データフローflow1の対応するAPP_flag値がゼロでない場合、それは、データフローflow1がAPPクリティカルパスを有することを示す。
現在のパケットが属するデータフローがAPPクリティカルパスを有さない場合、現在のパケットを処理するプロセッサコアの処理状態が維持される。
現在のパケットのデータフローが対応するAPPクリティカルパスを有する場合、本発明の実施形態は、現在のパケットを処理するプロセッサコアがポーリングモードであるか、または割込みモードであるかに応じて、異なる実行手順を有する。以下のステップ303からステップ308は、例として、ポーリングモードのプロセッサコアを使用する。
303.第1の測定周期内のポーリング回数を検出するステップ。
第1の測定周期は、必要に応じて、プリセットされる。プロセッサコアによるパケット処理頻度が第1の測定周期内で比較的安定状態にあることを確保すべきである。
304.ポーリング回数と単一のポーリングオーバーヘッドとに基づいて、全体的なポーリングオーバーヘッドを取得するステップ。
全体的なポーリングオーバーヘッドを取得するために、ポーリング回数と単一のポーリングオーバーヘッドを乗算する。
305.割込み回数の予測しきい値と単一の割込みオーバーヘッドとに基づいて、全体的な割込みオーバーヘッドを取得するステップ。
割込み回数の予測しきい値はプリセット値であり、割込み回数の予測しきい値は、第1の測定周期内の割込み回数を予測して、全体的な割込みオーバーヘッドを取得するために、単一の割込みオーバーヘッドで乗算される。
ステップ304およびステップ305の実行順序は交換可能であることに留意されたい。
306.全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも大きいかどうかを判断するステップ。
全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも大きい場合、ステップ307が実行される。そうでない場合、ステップ308が実行される。
307.現在のパケットを処理するプロセッサコアをポーリングモードから割込みモードに切り替えるステップ。
308.現在のパケットを処理するプロセッサコアのポーリングモードを維持するステップ。
前述のステップ303からステップ308は、例として、ポーリングモードのプロセッサコアを使用する。割込みモードのプロセッサコアの場合、これらの動作はステップ303からステップ308に類似する。具体的には、現在のパケットを処理するプロセッサコアが、図3bに示されるように、割込みモードである場合、プロセスは以下の通りである。
303b.第2の測定周期内の割込み回数を検出するステップ。
第2の測定周期は、必要に応じて、プリセットされる。プロセッサコアによるパケット処理頻度が第2の測定周期内で比較的安定状態であることを確実にすべきである。第2の測定周期の期間は、第1の測定周期の期間と同一であってよい。
304b.割込み回数と単一の割込みオーバーヘッドとに基づいて、全体的な割込みオーバーヘッドを取得するステップ。
305b.ポーリング回数の予測しきい値と単一のポーリングオーバーヘッドとに基づいて、全体的なポーリングオーバーヘッドを取得する。
ポーリング回数の予測しきい値はプリセット値であり、ポーリング回数の予測しきい値は、第2の測定周期内のポーリング回数を予測して、全体的なポーリングオーバーヘッドを取得するために、単一のポーリングオーバーヘッドで乗算される。
ステップ304bおよびステップ305bの実行順序は交換可能であることに留意されたい。
306b.全体的な割込みオーバーヘッドが全体的なポーリングオーバーヘッドよりも大きいかどうかを判断するステップ。
全体的な割込みオーバーヘッドが全体的なポーリングオーバーヘッドよりも大きい場合、ステップ307bが実行される。そうでない場合、ステップ308bが実行される。
307b.現在のパケットを処理するプロセッサコアをポーリングモードに切り替えるステップ。
308b.現在のパケットを処理するプロセッサコアの割込みモードを維持するステップ。
前述のステップ301からステップ308、およびステップ303bからステップ308bは、コア内切替えポリシーの特定の実装であり、割込みモードとポーリングモードとの間でプロセッサコアを切り替えることは、プロセッサコアリソースの浪費を削減して、マルチプロセッサコアの効率性および機能を改善する。
以下の図4は、以下のステップを含めて、データフローがAPPクリティカルパスを有するかどうかをどのように判断するか、およびAPPクリティカルパス記述情報をどのように取得するかを例示する。
401.機能処理カウンタと頻度カウンタとを動作可能にするステップ。
マルチプロセッサコアシステムを動作可能にする前に、機能処理カウンタおよび頻度カウンタに関するしきい値、すなわち、処理期間しきい値と処理頻度しきい値とが手動で設定される。処理期間しきい値および処理頻度しきい値は、APPクリティカルパスを設定するための規則を設定する。
402.検出されることになるデータフローのパケットが現在の機能モジュールによって処理されるときはいつでも、機能処理カウンタの値に1を加算するステップ。
403.機能処理カウンタの値が処理期間しきい値よりも大きいかどうかを検出するステップ。
機能処理カウンタの値が処理期間しきい値よりも大きいとき、ステップ404が実行される。機能処理カウンタの値が処理期間しきい値ほど大きくないとき、検出されることになるデータフローの処理が完了していないかどうかを検出することに進み、機能処理カウンタの値が蓄積される。
404.頻度カウンタの値に1を加算して、機能処理カウンタをリセットするステップ。
405.頻度カウンタの値が処理頻度しきい値よりも大きいかどうかを検出するステップ。
頻度カウンタの値が処理頻度しきい値よりも大きいとき、ステップ406が実行される。頻度カウンタの値が処理頻度しきい値ほど大きくないとき、検出されることになるデータフローの処理が完了していないかどうかを検出することに進む。
406。頻度カウンタの値に対応するパケットが属するデータフローに関するAPPクリティカルパス記述情報を取得するステップ。頻度カウンタの値が処理頻度しきい値よりも大きい。
検出されることになるデータフローの処理が完了したとき、機能処理カウンタの値が処理期間しきい値ほど大きくないか、もしくは頻度カウンタの値が処理頻度しきい値ほど大きくない場合、または、第1検出周期が終了したとき、機能処理カウンタの値が処理期間しきい値ほど大きくないか、もしくは頻度カウンタの値が処理頻度しきい値ほど大きくない場合、APPクリティカルパスは存在しないと見なすことができ、APPクリティカルパス記述情報を取得するための動作は省略される。
ステップ401からステップ406を説明するために、以下の例が使用される。パケットがマルチプロセッサコアシステムに入った後で、そのパケットをプロセッサコア内の複数の機能モジュールによって処理することができる。例えば、データフローflow1のパケットがマルチプロセッサコアシステムに入った後で、そのパケットは、機能モジュール、すなわち、function1、function2、およびfunction3によって1つずつ処理される。したがって、flow1の対応する処理経路は、function1-function2-function3である。同時に、flow2の対応する処理経路は、function1-function3であり、flow3の対応する処理経路は、function1-function2-function3-function4であると仮定する。プリセット処理期間しきい値が3であり、プリセット処理頻度しきい値が1である場合、機能モジュールがflow1の処理を完了したとき、対応する機能処理カウンタの値は3であると判断することができる。この値は処理期間しきい値を超えない。したがって、APPクリティカルパスは存在しない。同様に、flow2もAPPクリティカルパスを有さない。flow3がその対応する処理経路の機能モジュールによって処理された後で、対応する機能処理カウンタの値は4である。この時点で、頻度カウンタは、1を加算する演算(plus-one operation)を実行し、値は1であり、その値が4である機能処理カウンタはリセットされる。次いで、flow3のパケットがシステムに再度入り、そのパケットが機能モジュールによって処理された後で、頻度カウンタの値は2になる。この時点で、flow3の場合、頻度カウンタの値(値は2である)は処理頻度しきい値を超える。flow3に関して、APPクリティカルパスが存在する。したがって、マルチプロセッサコアシステム内で、flow3に関して、対応するAPPクリティカルパス情報が取得される。flow3のパケットがシステムに再度入らず、機能モジュールによって処理されず、その頻度カウンタの値が処理頻度しきい値を超えない場合、flow3に関するAPPクリティカルパスは存在せず、flow3に関して、対応するAPPクリティカルパス記述情報を取得するための動作は省略される。
本発明の実施形態では、データフローは、5つの条件(データフローのソースアドレス、ターゲットアドレス、ソースポート、ターゲットポート、および伝送プロトコル)によって区別される。
本発明の実施形態によるマルチプロセッサコアシステム内のプロセッサコアは、CPU、MCU、またはDSPなどであってよい。マルチプロセッサコアシステム内で、多数のプロセッサコアが同時に切り替わり、その独自のコア内タスクおよびコア間タスクをスケジューリングする。
本発明の実施形態は、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするためのある方法を提供し、この場合、マルチプロセッサコアシステムの実行プロセスの間に、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得することによって、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータとに基づいて、複数のプロセッサコアの間の負荷スケジューリングを実現することによって、かつ第4の制御パラメータに基づいて、単一のプロセッサコアの割込みモードとポーリングモードとの間の切替えを実現することによって、マルチプロセッサコアシステム内のリアルタイムネットワークI/O処理に対する要求を満たすことができ、それによって、マルチプロセッサコアシステム全体の効率を改善することができる。マルチプロセッサコア環境に関して特別に考案された負荷スケジューリングは、合理的なスケジューリング選択を行うことが困難であり、その結果、マルチプロセッサコアの効果および機能を十分に利用することができないという、旧来の構成スケジューリングモードにおける問題を回避する。加えて、この方法は、エンジニアまたは加入者によるマルチプロセッサコアのネットワークI/Oの手動設定を簡素化し、これは、マルチコアプラットフォーム上のソフトウェア展開効率を改善する。
実施形態3
本発明の実施形態は、図5に示されるように、制御パラメータ取得ユニット51と、第1の検出ユニット52と、コア間切替えスケジューリングユニット53と、コア内切替えスケジューリングユニット54とを含む、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための装置を提供する。
制御パラメータ取得ユニット51は、マルチプロセッサコアシステムの実行プロセスの間に、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得することを行うように構成される。
第1の制御パラメータはN個のデータフローの表示情報を指し、N個のデータフローは、マルチプロセッサコアシステムによって処理されたパケットを含むデータフローを各々のデータフロー内に含まれた処理されたパケットの数に従って降順にソートすることによって第1のサンプリング周期内で取得された第1のN個のデータフローを指し、Nは正の整数である。N個のデータフローの表示情報は、表示情報によって示されたN個のデータフローを示すことが可能である。
第2の制御パラメータは、マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間と、マルチプロセッサコアシステム内のプロセッサコアによって各々のデータフローを処理するための期間とを指す。第3の制御パラメータは、最低使用量を有するプロセッサコアのプロセッサコア情報を指す。第4の制御パラメータは、各々のデータフローのAPPクリティカルパス記述情報を指す。
第1の検出ユニット52は、第1の制御パラメータに基づいて、現在のパケットが属するデータフローがN個のデータフローのうちの1つであるかどうかを検出するように構成される。
コア間切替えスケジューリングユニット53は、現在のパケットが属するデータフローがN個のデータフローのうちの1つでないとき、第2の制御パラメータと第3の制御パラメータとに基づいて、かつコア間切替えポリシーに従って、マルチプロセッサコアシステムに入るデータフローのパケットを処理のためにアイドルプロセッサコアに転送するように構成される。
コア間切替えポリシーは、パケットの内部伝送期間がプロセッサコアによってパケットを処理するための期間を超える場合、そのパケットが最低使用量を有するプロセッサコアによって処理され、プロセッサコアによってパケットを処理するための期間がパケットの内部伝送期間を超える場合、そのパケットが処理のために指定されたプロセッサコアに結合される。
コア内切替えスケジューリングユニット54は、第4の制御パラメータに基づいて、かつコア内切替えポリシーに従って、マルチプロセッサコアシステム内でパケットを処理するプロセッサコアを割込みモードとポーリングモードとの間で切り替えるように構成される。
コア内切替えポリシーは、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも大きい場合、プロセッサコアが割込みモードに入ってパケットを処理し、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドほど大きくない場合、プロセッサコアがポーリングモードに入ってパケットを処理するということである。
アイドルプロセッサコアは、最低使用量を有するプロセッサコアと、そのリソース使用量が一定のしきい値よりも低いプロセッサコアとを含み、一定のしきい値は、システム内でプリセットされたしきい値、またはヒューマン−コンピュータ・インタラクションインターフェースを介して、必要に応じて、加入者によって入力された動的に構成されたしきい値であってよい。
さらに、図6に示されるように、コア間切替えスケジューリングユニット53は、具体的には、第1の判断サブユニット531と第1のスケジューリングサブユニット532とをさらに含む。
第1の判断サブユニット531は、第2の制御パラメータに基づいて、マルチプロセッサコアシステム内に現在のパケットが属するデータフローの内部伝送期間がマルチプロセッサコアシステム内のプロセッサコアによって現在のパケットが属するデータフローを処理するための期間を超えるかどうかを判断するように構成される。
第1のスケジューリングサブユニット532は、第1の検出ユニット52が現在のパケットが属するデータフローがN個のデータフローのうちの1つではないことを検出し、かつマルチプロセッサコアシステム内の現在のパケットが属するデータフローの内部伝送期間がマルチプロセッサコアシステム内のプロセッサコアによって現在のパケットが属するデータフローを処理するための期間を超えるとき、第3の制御パラメータに基づいて、マルチプロセッサコアシステム内の最低使用量を有するプロセッサコアに現在のパケットを分配するように構成される。
さらに、図7に示されるように、コア間切替えスケジューリングユニット53は、第1の検出ユニット52が、現在のパケットが属するデータフローがN個のデータフローのうちの1つであることを検出したとき、または第1の判断サブユニット531が、マルチプロセッサコアシステム内に現在のパケットが属するデータフローの内部伝送期間がマルチプロセッサコアシステム内のプロセッサコアによって現在のパケットが属するデータフローを処理するための期間を超えないことが判断されたとき、現在のパケットが属するデータフローのパケットがマルチプロセッサコアシステムに入るときに、そのパケットが、そのリソース使用量が第1のしきい値よりも低いプロセッサコアによって処理されるように、そのリソース使用量が第1のしきい値よりも低いプロセッサコアに現在のパケットを送信することと、現在のパケットが属するデータフローをそのリソース使用量が第1のしきい値よりも低いプロセッサコアに結合するように構成された第2のスケジューリングサブユニット533をさらに含む。
実際の応用シナリオに基づいて、本発明の実施形態の第1のしきい値を設定することが可能である。
加えて、図8に示されるように、コア内切替えスケジューリングユニット54は、第2の検出サブユニット545と、第3の検出サブユニット546と、ポーリング検出サブユニット547と、ポーリングオーバーヘッド取得サブユニット548と、割込みオーバーヘッド取得サブユニット549と、第3のスケジューリングサブユニット5410と、第4のスケジューリングサブユニット5411とをさらに含む。
第2の検出サブユニット545は、マルチプロセッサコアシステムの初期化の間に、各々のデータフローを割込みモードで処理するための単一の割込みオーバーヘッドを検出することと、各々のデータフローをポーリングモードで処理するための単一のポーリングオーバーヘッドを検出するように構成される。
第3の検出サブユニット546は、各々のデータフローのAPPクリティカルパス記述情報に基づいて、現在のパケットが属するデータフローが対応するAPPクリティカルパスを有するかどうかを判断するように構成される。
ポーリング検出サブユニット547は、現在のパケットが属するデータフローが対応するAPPクリティカルパスを有し、現在のパケットを処理するプロセッサコアがポーリングモードであるとき、第1の測定周期内のポーリング回数を検出するように構成される。
第1の測定周期は、必要に応じて、プリセットされる。プロセッサコアによるパケット処理頻度が第1の測定周期内で比較的安定状態にあることを確保すべきである。
ポーリングオーバーヘッド取得サブユニット548は、ポーリング回数と単一のポーリングオーバーヘッドとに基づいて、全体的なポーリングオーバーヘッドを取得するように構成される。
割込みオーバーヘッド取得サブユニット549は、割込み回数の予測しきい値と単一の割込みオーバーヘッドとに基づいて、全体的な割込みオーバーヘッドを取得するように構成される。
第3のスケジューリングサブユニット5410は、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも大きいとき、現在のパケットを処理するプロセッサコアをポーリングモードから割込みモードに切り替えるように構成される。
第4のスケジューリングサブユニット5411は、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドほど大きくないとき、現在のパケットを処理するプロセッサコアのポーリングモードを維持するように構成される。
さらに、図9に示されるように、コア内切替えスケジューリングユニット54は、現在のパケットが属するデータフローが対応するAPPクリティカルパスを有し、現在のパケットを処理するプロセッサコアが割込みモードであるとき、第2の測定周期内の割込み回数を検出するように構成された割込み検出サブユニット5412をさらに含む。
第2の測定周期は、必要に応じて、プリセットされる。プロセッサコアによるパケット処理頻度が第2の測定周期内で比較的安定状態にあることを確保すべきである。第2の測定周期の期間は、第1の測定周期の期間と同一であってよい。
割込みオーバーヘッド取得サブユニット549は、割込み回数と単一の割込みオーバーヘッドとに基づいて、全体的な割込みオーバーヘッドを取得するようにさらに構成される。
ポーリングオーバーヘッド取得サブユニット548は、ポーリング回数の予測しきい値と単一のポーリングオーバーヘッドとに基づいて、全体的なポーリングオーバーヘッドを取得するようにさらに構成される。
第4のスケジューリングサブユニット5411は、全体的な割込みオーバーヘッドが全体的なポーリングオーバーヘッドよりも大きいとき、現在のパケットを処理するプロセッサコアを割込みモードからポーリングモードに切り替えるようにさらに構成される。
第3のスケジューリングサブユニット5410は、全体的な割込みオーバーヘッドが全体的なポーリングオーバーヘッドほど大きくないとき、現在のパケットを処理するプロセッサコアの割込みモードを維持するようにさらに構成される。
APPクリティカルパスをどのように設定するかに関しては、本明細書で再度説明されない、本発明の実施形態2を参照されたい。
加えて、図10に示されるように、制御パラメータ取得ユニット51は、第1の制御パラメータ取得ユニット55と、第2の制御パラメータ取得ユニット56と、第3の制御パラメータ取得ユニット57と、第4の制御パラメータ取得ユニット58とを含む。
第1の制御パラメータ取得ユニット55は、第1のサンプリング周期内でマルチプロセッサコアシステムによって処理されたパケットを取得することと、マルチプロセッサコアシステムによって処理されたパケットの数を降順にソートして、マルチプロセッサコアシステムによって処理されたパケットとそのパケットが属するデータフローとの間の関係に基づいて、前述の順序に従って、第1のN個のパケットを含むデータフローを判断するように構成される。
第2の制御パラメータ取得ユニット56は、マルチプロセッサコアシステムの実行プロセスの間に、第2の制御パラメータを取得するように構成され、第2の制御パラメータは、マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間と、マルチプロセッサコアシステム内のプロセッサコアによって各々のデータフローを処理するための期間とを指す。
第2の制御パラメータを取得するステップは、異なるデータフローのパケットに関して、マルチプロセッサコアシステム内のパケットの内部伝送期間を取得するために、パケットがマルチプロセッサコアシステムに入るとき、およびパケットがマルチプロセッサコアシステムを退去するときの時間タグを設定することであってよく、他方で、プロセッサコアによってパケットを処理するための期間を取得するために、プロセッサコアがプロセスを開始して、その処理を完了するときを記録することであってよい。実際の応用では、データフローの複数のパケットの内部伝送期間と、プロセッサコアによって複数のパケットをそれぞれ処理するための期間とがそれぞれ取得される。マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間およびプロセッサコアによって各々のデータフローを処理するための期間として、内部伝送期間ならびにプロセッサコアによって複数のパケットを処理するための期間の算術平均がそれぞれ計算される。プロセッサコアによって処理されるのにより長い時間がかかるデータフローがそのプロセッサコアに結合される。これは、過剰なコア間切替えを回避することができ、処理効率を改善するためのプロセッサコアの計算能力を十分利用することができる。ネットワーク処理負荷を軽減するために、その内部伝送期間がより長いデータフローは低い使用量を有するプロセッサコアに分配される。
第3の制御パラメータ取得ユニット57は、マルチプロセッサコアシステムの実行プロセスの間に、第3の制御パラメータを取得するように構成される。第3の制御パラメータが、最低使用量を有するプロセッサコアのプロセッサコア情報を指す。
第3の制御パラメータを取得することは、その優先レベルがマルチプロセッサコアシステム内のアイドル状態の優先レベルを単に超えるタスクを設定すること、およびどのプロセッサコア内にこのタスクが存在するかを定期的に検査することであってよく、このプロセッサコアは、最低使用量を有するプロセッサコアと見なされる。
第4の制御パラメータ取得ユニット58は、マルチプロセッサコアシステム内で検出されることになるデータフローのパケットの処理期間および処理頻度が処理期間しきい値ならびに処理頻度しきい値を超えるとき、検出されることになるデータフローのAPPクリティカルパス記述情報を取得することを行うように構成される。
さらに、図11aに示されるように、第1の制御パラメータ取得ユニット55は、パケット情報取得サブユニット551と、データフロー判断サブユニット552と、第1の制御パラメータ取得サブユニット553とを含む。
パケット情報取得サブユニット551は、第1のサンプリング周期内で、マルチプロセッサコアシステム内で処理されたパケットに関する情報を取得するように構成される。
データフロー判断サブユニット552は、マルチプロセッサコアシステムによって処理されたパケットとそのパケットが属するデータフローとの間の関係を判断するように構成される。
第1の制御パラメータ取得サブユニット553は、マルチプロセッサコアシステムによって処理されたパケットの数を降順にソートして、マルチプロセッサコアシステムによって処理されたパケットとそのパケットが属するデータフローとの間の関係に基づいて、前述の順序に従って、第1のN個のパケットを含むデータフローを判断するように構成される。
加えて、図11bに示されるように、第4の制御パラメータ取得ユニット58は、しきい値検出サブユニット584と第4の制御パラメータ取得サブユニット585とを含む。
しきい値検出サブユニット584は、第1の検出周期内で、検出されることになるデータフローのパケットの処理期間および処理頻度が処理期間しきい値ならびに処理頻度しきい値を超えるかどうかを判断するように構成される。
第4の制御パラメータ取得サブユニット585は、マルチプロセッサコアシステム内で検出されることになるデータフローのパケットの処理期間および処理頻度が処理期間しきい値ならびに処理頻度しきい値を超えるとき、検出されることになるデータフローのAPPクリティカルパス記述情報を取得することであって、APPクリティカルパス記述情報が、検出されることになるデータフローがAPPクリティカルパスを有することを示す、取得するように構成される。
本発明の実施形態では、データフローは、5つの条件(データフローのソースアドレス、ターゲットアドレス、ソースポート、ターゲットポート、および伝送プロトコル)によって区別される。
本発明の実施形態によるマルチプロセッサコアシステム内のプロセッサコアは、CPU、MCU、またはDSPなどであってよい。マルチプロセッサコアシステム内で、多数のプロセッサコアが同時に切り替わり、それらの独自のコア内タスクおよびコア間タスクをスケジュールする。
本発明の実施形態による、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための装置の実装詳細は、本明細書で再度説明されない、前述の実施形態の説明に見出すことができることに留意されたい。
本発明の実施形態は、マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするためのある装置を提供し、この場合、マルチプロセッサコアシステムの実行プロセスの間に、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得することによって、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータとに基づいて、複数のプロセッサコアの間で負荷スケジューリングを実現することによって、かつ第4の制御パラメータに基づいて、単一のプロセッサコアの割込みモードとポーリングモードとの間の切替えを実現することによって、マルチプロセッサコアシステム内のリアルタイムネットワークI/O処理に関する要求を満たすことができ、それによって、マルチプロセッサコアシステム全体の効率を改善することができる。マルチプロセッサコア環境に関して特別に考案された負荷スケジューリングは、合理的なスケジューリング選択を行うことは困難があり、その結果、マルチプロセッサコアの効果および機能を十分に利用することができないという、旧来の構成スケジューリングモードにおける問題を回避する。加えて、この方法は、エンジニアまたは加入者によるマルチプロセッサコアのネットワークI/Oの手動設定を簡素化し、これは、マルチコアプラットフォーム上のソフトウェア展開効率を改善する。
実施形態4
本発明の実施形態はまた、図12に示されるような、
バス1201と、
バス1201に接続されたマルチプロセッサコア1202と、
バス1201に接続されたメモリ1203と
を含むコンピュータシステムであって、
マルチプロセッサコア1202が、実施形態3の装置のうちのいずれか1つを含むコンピュータシステムを提供する。
図12では、マルチプロセッサコア1202は、制御パラメータ取得ユニット1204と、第1の検出ユニット1205と、コア間切替えスケジューリングユニット1206と、コア内切替えスケジューリングユニット1207とを含む。
本発明の実施形態は、コンピュータシステムを提供し、この場合、マルチプロセッサコアによって形成されたコンピュータシステムの実行プロセスにおいて、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得することによって、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータとに基づいて、複数のプロセッサコアの間の負荷スケジューリングを実現することによって、かつ第4の制御パラメータに基づいて、単一のプロセッサコアの割込みモードとポーリングモードとの間の切替えを実現することによって、マルチプロセッサコアシステム内のリアルタイムネットワークI/O処理に対する要求を満たすことができ、それによって、コンピュータシステム全体の効率を改善することができる。マルチプロセッサコア環境に関して特別に考案された負荷スケジューリングは、合理的なスケジューリング選択を行うことが困難であり、その結果、マルチプロセッサコアの効果および機能を十分に利用することができないという、旧来の構成スケジューリングモードにおける問題を回避する。加えて、この方法は、エンジニアまたは加入者によるマルチプロセッサコアのネットワークI/Oの手動設定を簡素化し、これは、マルチコアプラットフォーム上のソフトウェア展開効率を改善する。
実施形態5
本発明の実施形態は、図13に示されるような、
バスと、
バスに接続されたマルチプロセッサコアと、
バスに接続されたメモリと
を含むコンピュータシステムであって
バス1301を介してメモリ1303内の実行命令を呼び出すことによって、マルチプロセッサコア1302は、メモリ1303から呼び出されたデータに基づいて、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得するように構成され、メモリ1303はメモリ、ハードディスクドライブ、またはフラッシュメモリ(flash memory)であってよく、第1の制御パラメータがN個のデータフローの表示情報を指し、N個のデータフローが、マルチプロセッサコアシステムによって処理されたパケットを含むデータフローを各々のデータフロー内に含まれた処理されたパケットの数に従って降順にソートすることによって第1のサンプリング周期内で取得された第1のN個のデータフローを指し、Nが正の整数であり、第2の制御パラメータが、マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間と、マルチプロセッサコアシステム内のプロセッサコアによって各々のデータフローを処理するための期間とを指し、第3の制御パラメータが、最低使用量を有するプロセッサコアのプロセッサコア情報を指し、第4の制御パラメータが、各々のデータフローのAPPクリティカルパス記述情報を指す。
マルチプロセッサコア1302は、第1の制御パラメータに基づいて、現在のパケットが属するデータフローがN個のデータフローのうちの1つであるかどうかを検出するようにさらに構成される。
マルチプロセッサコア1302は、現在のパケットが属するデータフローがN個のデータフローのうちの1つでないとき、第2の制御パラメータと第3の制御パラメータとに基づいて、かつコア間切替えポリシーに従って、マルチプロセッサコアシステムに入るデータフローのパケットを、処理のためにアイドルプロセッサコアに転送するようにさらに構成され、コア間切替えポリシーが、パケットの内部伝送期間がプロセッサコアによってパケットを処理する期間を超える場合、そのパケットが最低使用量を有するプロセッサコアによって処理され、プロセッサコアによってパケットを処理するための期間がパケットの内部伝送期間を超える場合、そのパケットが処理のために指定されたプロセッサコアに結合される。
マルチプロセッサコア1302は、第4の制御パラメータに基づいて、かつコア内切替えポリシーに従って、マルチプロセッサコア1302によって形成されたコンピュータシステム内でパケットを処理するプロセッサコアを割込みモードとポーリングモードとの間で切り替えるようにさらに構成され、コア内切替えポリシーが、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも大きい場合、プロセッサコアが割込みモードに入ってパケットを処理し、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも小さい場合、プロセッサコアがポーリングモードに入ってパケットを処理する。
本発明の実施形態によるマルチプロセッサコアは、シングルコアプロセッサ内のプロセッサコアまたはマルチコアプロセッサ内のプロセッサコアであってよい。例えば、図13に示されるように、複数のプロセッサのカーネルをカプセル化構造でカプセル化することが実現可能である。前述のコンピュータシステムでは、複数のカプセル化構造が存在する可能性があり、各々のカプセル化構造は複数のプロセッサカーネルでカプセル化される。
本発明の実施形態は、コンピュータシステムを提供し、この場合、マルチプロセッサコアによって形成されたコンピュータシステムの実行プロセスにおいて、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得することによって、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータとに基づいて、複数のプロセッサコアの間で負荷スケジューリングを実現することによって、かつ第4の制御パラメータに基づいて、単一のプロセッサコアの割込みモードとポーリングモードとの間の切替えを実現することによって、マルチプロセッサコアによって形成されたコンピュータシステム内のリアルタイムネットワークI/O処理に対する要求を満たすことができ、それによって、コンピュータシステム全体の効率を改善することができる。マルチプロセッサコア環境に関して特に考案された負荷スケジューリングは、合理的なスケジューリング選択を行うことが困難であり、その結果、マルチプロセッサコアの効率および機能を十分に利用することができないという、旧来の構成スケジューリングモードにおける問題を回避する。加えて、この方法は、エンジニアまたは加入者によるマルチプロセッサコアのネットワークI/Oの手動設定を簡素化し、これは、マルチコアプラットフォーム上のソフトウェア展開効率を改善する。
これらの実施形態の方法のステップのすべてまたは一部は、関連するハードウェアに命令するプログラムによって実行可能であることを当業者は理解されよう。前述のプログラムは、コンピュータ可読記憶媒体内に記憶可能である。プログラムが実行するとき、これらの方法の実施形態内に含まれた前述のステップが実行され、前述の記憶媒体は、ROM、RAM、磁気ディスク、または光ディスクなど、プログラムコードを記憶することができる任意の媒体であってよい。
これらの実施形態の説明で使用された、第1の、第2の、第3の、および第4のという表現は、順序を限定することが意図されないことに留意されたい。代わりに、これらの表現は、区別するためだけに使用される。
前述の説明は、本発明の特定の実施形態にすぎず、本発明の保護範囲を限定することが意図されない。本発明で開示された技術範囲内で当業者によって容易に理解されるいずれの改変または置換も、本発明の保護範囲に包含されるべきである。したがって、本発明の保護範囲は、請求項の保護範囲による。
51 制御パラメータ取得ユニット
52 第1の検出ユニット
53 コア間切替えスケジューリングユニット
54 コア内切替えスケジューリングユニット
55 第1の制御パラメータ取得ユニット
56 第2の制御パラメータ取得ユニット
57 第3の制御パラメータ取得ユニット
58 第4の制御パラメータ取得ユニット
531 第1の判断サブユニット
532 第1のスケジューリングサブユニット
533 第2のスケジューリングサブユニット
545 第2の検出サブユニット
546 第3の検出サブユニット
547 ポーリング検出サブユニット
548 ポーリングオーバーヘッド取得サブユニット
549 割込みオーバーヘッド取得サブユニット
551 パケット情報取得サブユニット
552 データフロー判断サブユニット
553 第1の制御パラメータ取得サブユニット
584 しきい値検出サブユニット
585 第4の制御パラメータ取得サブユニット
1201 バス
1202 マルチプロセッサコア
1203 メモリ
1204 制御パラメータ取得ユニット
1205 第1の検出ユニット
1206 コア間切替えスケジューリングユニット
1207 コア内切替えスケジューリングユニット
1301 バス
1302 マルチプロセッサコア
1303 メモリ
5410 第3のスケジューリングサブユニット
5411 第4のスケジューリングサブユニット
5412 割込み検出サブユニット

Claims (18)

  1. マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法であって、
    前記マルチプロセッサコアシステムの実行プロセスにおいて、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得するステップを含み、前記第1の制御パラメータがN個のデータフローの表示情報を指し、前記N個のデータフローが、前記マルチプロセッサコアシステムによって処理されたパケットを含むデータフローを各々のデータフロー内に含まれた前記処理されたパケットの数に従って降順にソートすることによって第1のサンプリング周期内で取得された第1のN個のデータフローを指し、Nが正の整数であり、前記第2の制御パラメータが、前記マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間と、前記マルチプロセッサコアシステム内のプロセッサコアによって各々のデータフローを処理するための期間とを指し、前記第3の制御パラメータが、最低使用量を有する前記プロセッサコアのプロセッサコア情報を指し、前記第4の制御パラメータが、各々のデータフローのアプリケーションクリティカルパス記述情報を指し、
    前記第1の制御パラメータに基づいて、現在のパケットが属するデータフローが前記N個のデータフローのうちの1つであるかどうかを検出するステップを含み、
    前記現在のパケットが属する前記データフローが前記N個のデータフローのうちの1つでないとき、前記第2の制御パラメータと前記第3の制御パラメータとに基づいて、かつコア間切替えポリシーに従って、前記マルチプロセッサコアシステムに入る前記データフローの前記パケットを処理のためにアイドルプロセッサコアに転送するステップを含み、前記コア間切替えポリシーが、パケットの前記内部伝送期間が前記プロセッサコアによって前記パケットを処理するための期間を超える場合、前記パケットが前記最低使用量を有する前記プロセッサコアによって処理され、前記プロセッサコアによって前記パケットを処理するための期間が前記パケットの前記内部伝送期間を超える場合、前記パケットが処理のために指定されたプロセッサコアに結合され、
    前記第4の制御パラメータに基づいて、かつコア内切替えポリシーに従って、前記マルチプロセッサコアシステム内で前記パケットを処理する前記プロセッサコアを割込みモードとポーリングモードとの間で切り替えるステップを含み、前記コア内切替えポリシーが、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも大きい場合、前記プロセッサコアが前記割込みモードに入って前記パケットを処理し、前記全体的なポーリングオーバーヘッドが前記全体的な割込みオーバーヘッドよりも小さい場合、前記プロセッサコアが前記ポーリングモードに入って前記パケットを処理する方法。
  2. 前記第2の制御パラメータと前記第3の制御パラメータとに基づいて、かつコア間切替えポリシーに従って、前記マルチプロセッサコアシステムに入る前記データフローの前記パケットを処理のためにアイドルプロセッサコアに転送するステップが、
    前記第2の制御パラメータに基づいて、前記マルチプロセッサコアシステム内の前記現在のパケットが属する前記データフローの前記内部伝送期間が前記マルチプロセッサコアシステム内の前記プロセッサコアによって前記現在のパケットが属する前記データフローを処理するための前記期間を超えるかどうかを判断するステップと、
    前記マルチプロセッサコアシステム内の前記現在のパケットが属する前記データフローの前記内部伝送期間が前記マルチプロセッサコアシステム内の前記プロセッサコアによって前記現在のパケットが属する前記データフローを処理するための前記期間を超える場合、前記第3の制御パラメータに基づいて、前記マルチプロセッサコアシステム内の前記最低使用量を有する前記プロセッサコアに前記現在のパケットを分配するステップとを含む、請求項1に記載の方法。
  3. 前記現在のパケットが属する前記データフローが前記N個のデータフローのうちの1つであるとき、または前記マルチプロセッサコアシステム内の前記現在のパケットが属する前記データフローの前記内部伝送期間が前記マルチプロセッサコアシステム内の前記プロセッサコアによって前記現在のパケットが属する前記データフローを処理するための前記期間を超えないとき、前記現在のパケットが属する前記データフローの前記パケットが前記マルチプロセッサコアシステムに入るときに、前記パケットが、そのリソース使用量が第1のしきい値よりも低い前記プロセッサコアによって処理されるように、前記現在のパケットをそのリソース使用量が前記第1のしきい値よりも低い前記プロセッサコアに送信するステップと、前記現在のパケットが属する前記データフローをそのリソース使用量が前記第1のしきい値よりも低い前記プロセッサコアに結合するステップと
    をさらに含む、請求項2に記載の方法。
  4. 前記第4の制御パラメータに基づいて、かつコア内切替えポリシーに従って、前記マルチプロセッサコアシステム内で前記パケットを処理する前記プロセッサコアを割込みモードとポーリングモードとの間で切り替えるステップが、
    前記マルチプロセッサコアシステムの初期化の間に、各々のデータフローを前記割込みモードで処理するための単一の割込みオーバーヘッドを検出し、各々のデータフローを前記ポーリングモードで処理するための単一のポーリングオーバーヘッドを検出するステップと、
    各々のデータフローの前記アプリケーションクリティカルパス記述情報に基づいて、前記現在のパケットが属する前記データフローが対応するアプリケーションクリティカルパスを有するかどうかを検出するステップと、
    前記現在のパケットが属する前記データフローが前記対応するアプリケーションクリティカルパスを有し、かつ前記現在のパケットを処理する前記プロセッサコアが前記ポーリングモードである場合、第1の測定周期内のポーリング回数を検出するステップと、
    前記ポーリング回数と前記単一のポーリングオーバーヘッドとに基づいて、全体的なポーリングオーバーヘッドを取得するステップと、
    込み回数の予測しきい値と前記単一の割込みオーバーヘッドとに基づいて、前記全体的な割込みオーバーヘッドを取得するステップと、
    前記全体的なポーリングオーバーヘッドが前記全体的な割込みオーバーヘッドよりも大きいとき、前記現在のパケットを処理する前記プロセッサコアを前記ポーリングモードから前記割込みモードに切り替えるステップと
    前記全体的なポーリングオーバーヘッドが前記全体的な割込みオーバーヘッドよりも大きくないとき、前記現在のパケットを処理する前記プロセッサコアの前記ポーリングモードを維持するステップとを含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記現在のパケットが属する前記データフローが対応する前記アプリケーションクリティカルパスを有し、かつ前記現在のパケットを処理する前記プロセッサコアが前記割込みモードである場合、第2の測定周期内の前記割込み回数を検出するステップと、
    前記割込み回数と前記単一の割込みオーバーヘッドとに基づいて、前記全体的な割込みオーバーヘッドを取得するステップと、
    前記ポーリング回数の予測しきい値と前記単一のポーリングオーバーヘッドとに基づいて、前記全体的なポーリングオーバーヘッドを取得するステップと、
    前記全体的な割込みオーバーヘッドが前記全体的なポーリングオーバーヘッドよりも大きいとき、前記現在のパケットを処理する前記プロセッサコアを前記割込みモードから前記ポーリングモードに切り替えるステップと、
    前記全体的な割込みオーバーヘッドが前記全体的なポーリングオーバーヘッドほど大きくないとき、前記現在のパケットを処理する前記プロセッサコアの前記割込みモードを維持するステップと
    をさらに含む、請求項4に記載の方法。
  6. 第1の制御パラメータを取得する前記ステップが、
    前記第1のサンプリング周期内で前記マルチプロセッサコアシステムによって処理された前記パケットを取得するステップと、
    前記マルチプロセッサコアシステムによって処理された前記パケットと前記パケットが属する前記データフローとの間の関係を判断するステップと、
    前記マルチプロセッサコアシステムによって処理されたパケットの数を降順にソートして、前記マルチプロセッサコアシステムによって処理された前記パケットと前記パケットが属する前記データフローとの間の関係に基づいて、前記順序に従って、前記第1のN個のパケットを含む前記データフローを判断するステップとを含む、請求項1から5のいずれか一項に記載の方法。
  7. 第4の制御パラメータを取得するステップが、
    第1の検出周期内で、検出されることになる前記データフローのパケットの処理期間および処理頻度が処理期間しきい値および処理頻度しきい値を超えるかどうかを判断するステップと、
    前記マルチプロセッサコアシステム内で検出されることになる前記データフローの前記パケットの前記処理期間および前記処理頻度が前記処理期間しきい値ならびに前記処理頻度しきい値を超えるとき、検出されることになる前記データフローの前記アプリケーションクリティカルパス記述情報を取得するステップと、を含み、前記アプリケーションクリティカルパス記述情報が、検出されることになる前記データフローがアプリケーションクリティカルパスを有することを示す、請求項1から6のいずれか一項に記載の方法。
  8. 検出されることになる前記データフローのパケットの処理期間および処理頻度が処理期間しきい値および処理頻度しきい値を超えるかどうか検出するステップが、
    機能処理カウンタと頻度カウンタとを動作可能にするステップと、
    検出されることになる前記データフローの前記パケットが前記現在の機能モジュールによって処理されるとき、前記機能処理カウンタの値に1を加算するステップと、
    前記機能処理カウンタの値が前記処理期間しきい値よりも大きいかどうかを検出するステップと、
    前記機能処理カウンタの値が前記処理期間しきい値よりも大きいとき、前記頻度カウンタの値に1を加算して、前記機能処理カウンタをリセットするステップと、
    前記頻度カウンタの値が前記処理頻度しきい値よりも大きいかどうかを検出するステップとを含み、
    検出されることになる前記データフローの前記アプリケーションクリティカルパス記述情報を取得するステップが、
    前記頻度カウンタの前記値が前記処理頻度しきい値よりも大きいとき、前記頻度カウンタの値が前記処理頻度しきい値よりも大きい、対応するパケットを含む前記データフローに関する前記アプリケーションクリティカルパス記述情報を取得するステップを含む、請求項7に記載の方法。
  9. マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための装置であって、
    前記マルチプロセッサコアシステムの実行プロセスにおいて、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得するように構成された制御パラメータ取得ユニットを含み、前記第1の制御パラメータがN個のデータフローの表示情報を指し、前記N個のデータフローが、前記マルチプロセッサコアシステムによって処理されたパケットを含むデータフローを各々のデータフロー内に含まれた前記処理されたパケットの数に従って降順にソートすることによって第1のサンプリング周期内で取得された第1のN個のデータフローを指し、Nが正の整数であり、前記第2の制御パラメータが、前記マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間と、前記マルチプロセッサコアシステム内のプロセッサコアによって各々のデータフローを処理するための期間とを指し、前記第3の制御パラメータが、最低使用量を有する前記プロセッサコアのプロセッサコア情報を指し、前記第4の制御パラメータが、各々のデータフローのアプリケーションクリティカルパス記述情報を指し、
    前記第1の制御パラメータに基づいて、現在のパケットが属するデータフローが前記N個のデータフローのうちの1つであるかどうかを検出するように構成された第1の検出ユニットを含み、
    前記第1の検出ユニットが、前記現在のパケットが属する前記データフローが前記N個のデータフローのうちの1つでないことを検出したとき、前記第2の制御パラメータと前記第3の制御パラメータとに基づいて、かつコア間切替えポリシーに従って、前記マルチプロセッサコアシステムに入る前記データフローの前記パケットを処理のためにアイドルプロセッサコアに転送するように構成されたコア間切替えスケジューリングユニットを含み、前記コア間切替えポリシーが、パケットの前記内部伝送期間が前記プロセッサコアによって前記パケットを処理するための期間を超える場合、前記パケットが前記最低使用量を有する前記プロセッサコアによって処理され、前記プロセッサコアによって前記パケットを処理するための期間が前記パケットの前記内部伝送期間を超える場合、前記パケットが処理のために指定されたプロセッサコアに結合され、
    前記第4の制御パラメータに基づいて、かつコア内切替えポリシーに従って、前記マルチプロセッサコアシステム内で前記パケットを処理する前記プロセッサコアを割込みモードとポーリングモードとの間で切り替えるように構成されたコア内切替えスケジューリングユニットを含み、前記コア内切替えポリシーが、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも大きい場合、前記プロセッサコアが前記割込みモードに入って前記パケットを処理し、前記全体的なポーリングオーバーヘッドが前記全体的な割込みオーバーヘッドよりも小さい場合、前記プロセッサコアが前記ポーリングモードに入って前記パケットを処理する装置。
  10. 前記コア間切替えスケジューリングユニットが、
    前記第2の制御パラメータに基づいて、前記マルチプロセッサコアシステム内の前記現在のパケットが属する前記データフローの前記内部伝送期間が前記マルチプロセッサコアシステム内の前記プロセッサコアによって前記現在のパケットが属する前記データフローを処理するための期間を超えるかどうかを判断するように構成された第1の判断サブユニットと、
    前記第1の検出ユニットが、前記現在のパケットが属する前記データフローが前記N個のデータフローのうちの1つではなく、かつ前記マルチプロセッサコアシステム内の前記現在のパケットが属する前記データフローの前記内部伝送期間が前記マルチプロセッサコアシステム内の前記プロセッサコアによって前記現在のパケットが属する前記データフローを処理するための前記期間を超えることを検出したとき、前記第3の制御パラメータに基づいて、前記マルチプロセッサコアシステム内の前記最低使用量を有する前記プロセッサコアに前記現在のパケットを分配するように構成された第1のスケジューリングサブユニットとを含む、請求項9に記載の装置。
  11. 前記コア間切替えスケジューリングユニットが、
    前記第1の検出ユニットが、前記現在のパケットが属する前記データフローが前記N個のデータフローのうちの1つであることを検出したとき、または前記第1の判断サブユニットが、前記マルチプロセッサコアシステム内の前記現在のパケットが属する前記データフローの前記内部伝送期間が前記マルチプロセッサコアシステム内の前記プロセッサコアによって前記現在のパケットが属する前記データフローを処理するための期間を超えないと判断したとき、前記現在のパケットが属する前記データフローの前記パケットが前記マルチプロセッサコアシステムに入るときに、前記パケットがそのリソース使用量が第1のしきい値よりも低い前記プロセッサコアによって処理されるように、前記現在のパケットをそのリソース使用量が前記第1のしきい値よりも低い前記プロセッサコアに送信することと、前記現在のパケットが属する前記データフローをそのリソース使用量が前記第1のしきい値よりも低い前記プロセッサコアに結合することとを行うように構成された第2のスケジューリングサブユニットをさらに含む、請求項10に記載の装置。
  12. 前記コア内切替えスケジューリングユニットが、
    前記マルチプロセッサコアシステムの初期化の間に、各々のデータフローを前記割込みモードで処理するための単一の割込みオーバーヘッドを検出し、各々のデータフローを前記ポーリングモードで処理するための単一のポーリングオーバーヘッドを検出するように構成された第2の検出サブユニットと、
    各々のデータフローのアプリケーションクリティカルパス記述情報に基づいて、前記現在のパケットが属する前記データフローが対応するアプリケーションクリティカルパスを有するかどうかを検出するように構成された第3の検出サブユニットと、
    前記現在のパケットが属する前記データフローが前記対応するアプリケーションクリティカルパスを有し、かつ前記現在のパケットを処理する前記プロセッサコアが前記ポーリングモードであるとき、第1の測定周期内のポーリング回数を検出するように構成されたポーリング検出サブユニットと、
    前記ポーリング回数と前記単一のポーリングオーバーヘッドとに基づいて、全体的なポーリングオーバーヘッドを取得するように構成されたポーリングオーバーヘッド取得サブユニットと、
    割込み回数の予測しきい値と前記単一の割込みオーバーヘッドとに基づいて、全体的な割込みオーバーヘッドを取得するように構成された割込みオーバーヘッド取得サブユニットと、
    前記全体的なポーリングオーバーヘッドが前記全体的な割込みオーバーヘッドよりも大きいとき、前記現在のパケットを処理する前記プロセッサコアを前記ポーリングモードから前記割込みモードに切り替えるように構成された第3のスケジューリングサブユニットと、
    前記全体的なポーリングオーバーヘッドが前記全体的な割込みオーバーヘッドほど大きくないとき、前記現在のパケットを処理する前記プロセッサコアの前記ポーリングモードを維持するように構成された第4のスケジューリングサブユニットとを含む、請求項9から11のいずれか一項に記載の装置。
  13. 前記コア内切替えスケジューリングユニットが、
    前記現在のパケットが属する前記データフローが前記対応するアプリケーションクリティカルパスを有し、かつ前記現在のパケットを処理する前記プロセッサコアが前記割込みモードであるとき、第2の測定周期内の前記割込み回数を検出するように構成された割込み検出サブユニットをさらに含み、
    前記割込みオーバーヘッド取得サブユニットが、前記割込み回数と前記単一の割込みオーバーヘッドとに基づいて、前記全体的な割込みオーバーヘッドを取得するように構成され、
    前記ポーリングオーバーヘッド取得サブユニットが、前記ポーリング回数の予測しきい値と前記単一のポーリングオーバーヘッドとに基づいて、前記全体的なポーリングオーバーヘッドを取得するように構成され、
    前記第4のスケジューリングサブユニットが、前記全体的な割込みオーバーヘッドが前記全体的なポーリングオーバーヘッドよりも大きいとき、前記現在のパケットを処理する前記プロセッサコアを前記割込みモードから前記ポーリングモードに切り替えるように構成され、
    前記第3のスケジューリングサブユニットが、前記全体的な割込みオーバーヘッドが前記全体的なポーリングオーバーヘッドほど大きくないとき、前記現在のパケットを処理する前記プロセッサコアの前記割込みモードを維持するように構成された、請求項12に記載の装置。
  14. 前記制御パラメータ取得ユニットが、
    前記第1のサンプリング周期内で前記マルチプロセッサコアシステムによって処理された前記パケットを取得することと、前記マルチプロセッサコアシステムによって処理されたパケットの数を降順にソートすることと、前記マルチプロセッサコアシステムによって処理された前記パケットと前記パケットが属する前記データフローとの間の関係に基づいて、前記順序に従って、前記第1のN個のパケットを含む前記データフローを判断するように構成された第1の制御パラメータ取得ユニットを含み、
    前記マルチプロセッサコアシステムの前記実行プロセスにおいて、前記第2の制御パラメータを取得するように構成された第2の制御パラメータ取得ユニットを含み、前記第2の制御パラメータが、前記マルチプロセッサコアシステム内の各々のデータフローの前記内部伝送期間と、前記マルチプロセッサコアシステム内の前記プロセッサコアによって各々のデータフローを処理するための前記期間とを指し、
    前記マルチプロセッサコアシステムの前記実行プロセスにおいて、前記第3の制御パラメータを取得するように構成された第3の制御パラメータ取得ユニットを含み、前記第3の制御パラメータが、前記最低使用量を有する前記プロセッサコアのプロセッサコア情報を指し、
    前記マルチプロセッサコアシステム内で検出されることになる前記データフローのパケットの処理期間および処理頻度が処理期間しきい値および処理頻度しきい値を超えるとき、検出されることになる前記データフローの前記アプリケーションクリティカルパス記述情報を取得するように構成された第4の制御パラメータ取得ユニットを含む、請求項9から13のいずれか一項に記載の装置。
  15. 前記第1の制御パラメータ取得ユニットが、
    前記第1のサンプリング周期内で前記マルチプロセッサコアシステムによって処理された前記パケットを取得するように構成されたパケット情報取得サブユニットと、
    前記マルチプロセッサコアシステムによって処理された前記パケットと前記パケットが属するパケットフローとの間の関係を判断するように構成されたデータフロー判断サブユニットと、
    前記マルチプロセッサコアシステムによって処理されたパケットの数を降順にソートして、前記マルチプロセッサコアシステムによって処理された前記パケットと前記パケットが属する前記データフローとの間の関係に基づいて、前記順序に従って、前記第1のN個のパケットを含む前記データフローを判断するように構成された第1の制御パラメータ取得サブユニットとを含む、請求項14に記載の装置。
  16. 前記第4の制御パラメータ取得ユニットが、
    第1の検出周期内で、検出されることになる前記データフローの前記パケットの前記処理期間および前記処理頻度が前記処理期間しきい値および前記処理頻度しきい値を超えるかどうかを検出することを行うように構成されたしきい値検出サブユニットと、
    前記しきい値検出サブユニットが、前記マルチプロセッサコアシステム内で検出されることになる前記データフローの前記パケットの前記処理期間および前記処理頻度が前記処理期間しきい値および前記処理頻度しきい値を超えることを検出したとき、検出されることになる前記データフローの前記アプリケーションクリティカルパス記述情報を取得するように構成された第4の制御パラメータ取得サブユニットを含み、前記アプリケーションクリティカルパス記述情報が、検出されることになる前記データフローがアプリケーションクリティカルパスを有する請求項14に記載の装置。
  17. バスと、
    前記バスに結合したマルチプロセッサコアと、
    前記バスに結合したメモリと
    を含むコンピュータシステムであって、
    前記マルチプロセッサコアが請求項9から16のいずれか一項に記載の装置を含むコンピュータシステム。
  18. バスと、
    前記バスに接続されたマルチプロセッサコアと、
    前記バスに接続されたメモリと
    を含むコンピュータシステムであって、
    前記バスを介して前記メモリ内の実行命令を呼び出すことによって、前記マルチプロセッサコアが、前記メモリから呼び出されたデータに基づいて、第1の制御パラメータと、第2の制御パラメータと、第3の制御パラメータと、第4の制御パラメータとを取得するように構成され、前記第1の制御パラメータがN個のデータフローの表示情報を指し、前記N個のデータフローが、マルチプロセッサコアシステムによって処理されたパケットを含むデータフローを各々のデータフロー内に含まれた前記処理されたパケットの数に従って降順にソートすることによって第1のサンプリング周期内で取得された第1のN個のデータフローを指し、Nが正の整数であり、前記第2の制御パラメータが、前記マルチプロセッサコアシステム内の各々のデータフローの内部伝送期間と、前記マルチプロセッサコアシステム内のプロセッサコアによって各々のデータフローを処理するための期間とを指し、前記第3の制御パラメータが、最低使用量を有する前記プロセッサコアのプロセッサコア情報を指し、前記第4の制御パラメータが、各々のデータフローのアプリケーションクリティカルパス記述情報を指し、
    前記マルチプロセッサコアが、前記第1の制御パラメータに基づいて、現在のパケットが属するデータフローが前記N個のデータフローのうちの1つであるかどうかを検出することを行うようにさらに構成され、
    前記マルチプロセッサコアが、前記現在のパケットが属する前記データフローが前記N個のデータフローのうちの1つでないとき、前記第2の制御パラメータと前記第3の制御パラメータとに基づいて、かつコア間切替えポリシーに従って、前記マルチプロセッサコアシステムに入る前記データフローの前記パケットを処理のためにアイドルプロセッサコアに転送するようにさらに構成され、前記コア間切替えポリシーが、パケットの前記内部伝送期間が前記プロセッサコアによって前記パケットを処理するための期間を超える場合、前記パケットが前記最低使用量を有する前記プロセッサコアによって処理され、前記プロセッサコアによって前記パケットを処理するための期間が前記パケットの前記内部伝送期間を超える場合、前記パケットが処理のために指定されたプロセッサコアに結合され、
    前記マルチプロセッサコアが、前記第4の制御パラメータに基づいて、かつコア内切替えポリシーに従って、前記マルチプロセッサコアシステム内で前記パケットを処理する前記プロセッサコアを割込みモードとポーリングモードとの間で切り替えるようにさらに構成され、前記コア内切替えポリシーが、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも大きい場合、前記プロセッサコアが前記割込みモードに入って前記パケットを処理し、全体的なポーリングオーバーヘッドが全体的な割込みオーバーヘッドよりも小さい場合、前記プロセッサコアが前記ポーリングモードに入って前記パケットを処理するコンピュータシステム。
JP2014536110A 2012-06-28 2013-02-01 マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法、装置、およびシステム Active JP5888629B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210217579.8 2012-06-28
CN201210217579.8A CN102779075B (zh) 2012-06-28 2012-06-28 一种在多处理器核系统中进行调度的方法、装置及系统
PCT/CN2013/071272 WO2014000450A1 (zh) 2012-06-28 2013-02-01 一种在多处理器核系统中进行调度的方法、装置及系统

Publications (2)

Publication Number Publication Date
JP2014531081A JP2014531081A (ja) 2014-11-20
JP5888629B2 true JP5888629B2 (ja) 2016-03-22

Family

ID=47123994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014536110A Active JP5888629B2 (ja) 2012-06-28 2013-02-01 マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法、装置、およびシステム

Country Status (8)

Country Link
US (1) US9218203B2 (ja)
EP (1) EP2701074B1 (ja)
JP (1) JP5888629B2 (ja)
KR (1) KR101565865B1 (ja)
CN (1) CN102779075B (ja)
CA (1) CA2849565C (ja)
RU (1) RU2577476C2 (ja)
WO (1) WO2014000450A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681794B2 (en) * 2011-11-30 2014-03-25 Broadcom Corporation System and method for efficient matching of regular expression patterns across multiple packets
CN102779075B (zh) 2012-06-28 2014-12-24 华为技术有限公司 一种在多处理器核系统中进行调度的方法、装置及系统
CN103034614B (zh) * 2012-12-19 2016-12-28 哈尔滨理工大学 基于关键路径和任务复制的单任务多核调度方法
CN103246562B (zh) * 2013-04-23 2016-12-28 上海交通大学 一种基于众核阵列架构的故障主动预防策略及装置
WO2015081490A1 (zh) * 2013-12-03 2015-06-11 华为技术有限公司 一种核间进程通信的方法、装置及系统
WO2015089824A1 (zh) * 2013-12-20 2015-06-25 华为技术有限公司 一种轮询和中断的切换方法及装置
EP3076619A1 (en) * 2015-04-02 2016-10-05 Alcatel Lucent Method, system and computer-readable medium to schedule the processing of a plurality of data packets
JP6468066B2 (ja) 2015-05-13 2019-02-13 富士通株式会社 並列演算装置、並列演算システム、集合通信方法及び集合通信プログラム
CN106610915B (zh) * 2015-10-22 2020-05-01 深圳市博巨兴微电子科技有限公司 一种多处理器系统的ip核优化方法及装置
CN105677551B (zh) * 2015-12-31 2019-05-31 联想(北京)有限公司 一种确定负载信息的方法及电子设备
CN107315700B (zh) * 2016-04-27 2020-12-08 华为技术有限公司 一种中断处理方法以及相关装置
CN106527653A (zh) * 2016-10-12 2017-03-22 东软集团股份有限公司 调整cpu频率的方法及装置
CN106791152B (zh) * 2016-12-30 2019-08-27 Oppo广东移动通信有限公司 一种通信方法及移动终端
CN107861897A (zh) * 2017-11-06 2018-03-30 郑州云海信息技术有限公司 一种中断和轮询触发方法、系统、设备及计算机存储介质
JP6955163B2 (ja) 2017-12-26 2021-10-27 富士通株式会社 情報処理装置、情報処理方法及びプログラム
CN108415044B (zh) * 2018-02-09 2020-09-15 广州吉欧电子科技有限公司 一种处理系统、处理方法和gnss接收设备
CN108874548B (zh) * 2018-07-11 2021-04-02 深圳市东微智能科技股份有限公司 数据处理调度方法、装置、计算机设备和数据处理系统
CN109144691B (zh) * 2018-07-13 2021-08-20 哈尔滨工程大学 一种面向多核处理器的任务调度分配方法
CN110941205A (zh) * 2018-09-21 2020-03-31 欧姆龙(上海)有限公司 采样控制装置、采样控制方法和电子设备
CN109714269B (zh) * 2018-12-19 2022-05-17 迈普通信技术股份有限公司 一种数据处理方法及网络设备
CN112114940B (zh) * 2019-06-19 2022-09-06 中建材信息技术股份有限公司 Docker环境下多容器多任务处理器调度方法
CN112783626B (zh) * 2021-01-21 2023-12-01 珠海亿智电子科技有限公司 中断处理方法、装置、电子设备及存储介质
CN113055292B (zh) * 2021-03-11 2022-11-04 青岛矽昌通信技术有限公司 一种提升多核路由器转发性能的方法及一种多核路由器
CN114006873B (zh) * 2021-10-29 2023-12-15 深圳市风云实业有限公司 一种基于多核处理器的流量调度方法
CN114257549B (zh) * 2021-12-21 2023-01-10 北京锐安科技有限公司 一种流量的转发方法、装置、设备及存储介质
CN115185176B (zh) * 2022-09-08 2022-12-02 深圳市恒运昌真空技术有限公司 一种双处理模块设备及其控制方法
CN117857560A (zh) * 2022-09-30 2024-04-09 达发科技(苏州)有限公司 网络处理器的负载平衡方法及装置和存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414858A (en) * 1992-12-11 1995-05-09 International Business Machines Corporation System and method for dynamically varying between interrupt and polling to service requests of computer peripherals
JPH08110804A (ja) * 1994-10-11 1996-04-30 Omron Corp データ処理装置
US6098105A (en) * 1997-04-08 2000-08-01 International Business Machines Corporation Source and destination initiated interrupt method for message arrival notification
NL1015579C1 (nl) * 2000-06-30 2002-01-02 Thales Nederland Bv Werkwijze voor het automatisch verdelen van programmataken over een verzameling processors.
US8032658B2 (en) * 2004-07-06 2011-10-04 Oracle America, Inc. Computer architecture and process for implementing a virtual vertical perimeter framework for an overloaded CPU having multiple network interfaces
US7564847B2 (en) * 2004-12-13 2009-07-21 Intel Corporation Flow assignment
US7761619B2 (en) * 2005-05-13 2010-07-20 Microsoft Corporation Method and system for parallelizing completion event processing
US20070153796A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Packet processing utilizing cached metadata to support forwarding and non-forwarding operations on parallel paths
KR101286700B1 (ko) * 2006-11-06 2013-07-16 삼성전자주식회사 멀티 코어 프로세서 시스템에서 로드 밸런싱을 위한 장치및 방법
CN100489830C (zh) * 2007-03-19 2009-05-20 中国人民解放军国防科学技术大学 面向科学计算的64位流处理器芯片
CN100481060C (zh) * 2007-03-29 2009-04-22 中国人民解放军国防科学技术大学 一种流处理器中多核扩展的方法
KR100958303B1 (ko) 2007-12-12 2010-05-19 한국전자통신연구원 멀티코어 시스템 환경에서 내부 코어 간 통신채널을 이용한 모듈 디바이스의 동적 적재 및 실행을 통한 부하 균등화 시스템 및 방법
CN101546276B (zh) * 2008-03-26 2012-12-19 国际商业机器公司 多核环境下实现中断调度的方法及多核处理器
US8010822B2 (en) * 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
JP5245722B2 (ja) * 2008-10-29 2013-07-24 富士通株式会社 スケジューラ、プロセッサシステム、プログラム生成装置およびプログラム生成用プログラム
CN101394362B (zh) * 2008-11-12 2010-12-22 清华大学 基于流分片的对多核网络处理器进行负载均衡的方法
CN101770401B (zh) * 2008-12-30 2013-09-18 北京天融信网络安全技术有限公司 一种建立多核运行环境的方法
US8635387B2 (en) 2009-10-09 2014-01-21 Emulex Design & Manufacturing Corporation Enhanced I/O performance in a multi-processor system via interrupt affinity schemes
US8307198B2 (en) * 2009-11-24 2012-11-06 Advanced Micro Devices, Inc. Distributed multi-core memory initialization
CN101706743B (zh) * 2009-12-07 2012-09-05 北京航空航天大学 一种多核环境下的虚拟机调度方法
CN101968748B (zh) * 2010-09-17 2014-04-02 北京星网锐捷网络技术有限公司 多线程数据调度方法、装置及网络设备
CN102411510A (zh) * 2011-09-16 2012-04-11 华为技术有限公司 在多核处理器的虚拟机上映射业务数据流的方法和装置
CN102779075B (zh) * 2012-06-28 2014-12-24 华为技术有限公司 一种在多处理器核系统中进行调度的方法、装置及系统

Also Published As

Publication number Publication date
EP2701074A4 (en) 2014-07-02
CA2849565A1 (en) 2014-01-03
RU2014118463A (ru) 2015-11-20
US9218203B2 (en) 2015-12-22
RU2577476C2 (ru) 2016-03-20
EP2701074A1 (en) 2014-02-26
KR101565865B1 (ko) 2015-11-04
CA2849565C (en) 2016-11-08
WO2014000450A1 (zh) 2014-01-03
CN102779075A (zh) 2012-11-14
US20140115603A1 (en) 2014-04-24
JP2014531081A (ja) 2014-11-20
CN102779075B (zh) 2014-12-24
EP2701074B1 (en) 2016-10-26
KR20140057371A (ko) 2014-05-12

Similar Documents

Publication Publication Date Title
JP5888629B2 (ja) マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法、装置、およびシステム
Javadi et al. Scavenger: A black-box batch workload resource manager for improving utilization in cloud environments
US9037717B2 (en) Virtual machine demand estimation
US9772879B2 (en) System and method for isolating I/O execution via compiler and OS support
US9459917B2 (en) Thread selection according to power characteristics during context switching on compute nodes
US9632836B2 (en) Scheduling applications in a clustered computer system
WO2011128369A1 (en) Querying performance data on a parallel computer system having compute nodes
US20130167152A1 (en) Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method
Phull et al. Interference-driven resource management for GPU-based heterogeneous clusters
CN105022668B (zh) 一种作业调度方法及系统
US20240160474A1 (en) Multi-core processor task scheduling method, and device and storage medium
CN104331331A (zh) 任务数目和性能感知的可重构多核处理器的资源分配方法
CN103116517A (zh) 虚拟化平台下i/o通道的调整方法和调整装置
US11663107B2 (en) Data processing system performance monitoring
EP3516515B1 (en) Scheduling of tasks in a multiprocessor device
Yazdanov et al. EHadoop: Network I/O aware scheduler for elastic MapReduce cluster
CN111209112A (zh) 一种异常处理方法及装置
CN110716805A (zh) 图形处理器的任务分配方法、装置、电子设备及存储介质
CN105957131A (zh) 图形处理系统及其方法
Zabolotnyi et al. Profiling-based task scheduling for factory-worker applications in infrastructure-as-a-service clouds
CN112579257B (zh) 一种虚拟中央处理器核心的调度方法、装置及相关设备
CN114661415A (zh) 调度方法及计算机系统
CN111427673A (zh) 一种负载均衡方法、装置及设备
JP2016099972A (ja) プロセスマイグレーション方法及びクラスタシステム
TWI842325B (zh) 雲端智能工作站

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150930

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160204

R150 Certificate of patent or registration of utility model

Ref document number: 5888629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250