JP2011065645A - マルチコアプロセッサシステム - Google Patents

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

Info

Publication number
JP2011065645A
JP2011065645A JP2010201194A JP2010201194A JP2011065645A JP 2011065645 A JP2011065645 A JP 2011065645A JP 2010201194 A JP2010201194 A JP 2010201194A JP 2010201194 A JP2010201194 A JP 2010201194A JP 2011065645 A JP2011065645 A JP 2011065645A
Authority
JP
Japan
Prior art keywords
task
core
information
cores
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.)
Pending
Application number
JP2010201194A
Other languages
English (en)
Inventor
Jeraashi James
ジェラーシ ジェームス
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.)
Square Enix Co Ltd
Original Assignee
Square Enix 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 Square Enix Co Ltd filed Critical Square Enix Co Ltd
Publication of JP2011065645A publication Critical patent/JP2011065645A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】マルチコアプロセッサによるタスクの処理効率を向上させる。
【解決手段】複数のプロセッサコアによるタスクの並列処理を実行する1つ以上のクライアント21〜2Nと、クライアント21〜2Nにて実行される並列処理を補助するサーバ10とを備えたマルチコアプロセッサシステム100において、サーバ10が、タスクを処理するために最低限必要なプロセッサコアの数を示す必要最低コア数を含むタスク情報を記憶するタスク情報管理テーブル11aと、プロセッサコアの動作設定内容を示す動作設定情報を含むコア情報を記憶するコア情報管理テーブル11bとを備え、タスク情報とコア情報とに応じて、複数のプロセッサコアにタスクを割り当てるか否かを判定し、判定結果に応じてコア情報管理テーブル11bを更新し、クライアント21〜2Nが、コア情報に応じて、複数のプロセッサコアによるタスクの並列処理を実行する。
【選択図】図1

Description

本発明は、複数のプロセッサコアによるタスクの並列処理を実行するクライアントと、このクライアントにて実行される並列処理を通信ネットワークを介して補助するサーバとを備えたマルチコアプロセッサシステムに関する。
従来から、2つ以上のプロセッサコアで構成されるマルチコアプロセッサシステムが知られている。マルチコアプロセッサシステムは、各プロセッサコア(以下、適宜「コア」という。)間で処理を分担することにより処理性能を向上させることができる。
このようなマルチコアプロセッサシステムにおいては、例えば、優先度の高いタスクの処理を実行中のコアに異常が検出された場合に、マルチコアプロセッサシステムを構成する他のコアのいずれかに、異常が検出されたプロセッサコアに割り当てられていたタスクの処理を代替させるものがある(例えば、特許文献1参照)。
特開2008−305317号公報
こうした従来のマルチコアプロセッサシステムでは、優先度の高いタスクが割り当てられることにより、それまで処理対象とされていたタスクの処理を中断することとなる。また、タスクの構成(すなわちプログラムの並列度)に応じて、並列処理に用いることができるコア数に上限が設けられる場合がある。
このような場合に、優先度の高いタスクの処理が終了するまでいくつかのコアが待機状態(すなわち、タスクの処理を行わない状態)となってしまい、全体的な処理効率が落ちてしまうという問題があった。すなわち、優先度の高いタスクを先に処理することにより、最終的に全てのタスクの処理を終えるのに要する時間が増大するという問題があった。
本発明は、上記の問題を解決すべく、マルチコアプロセッサによるタスクの処理効率を向上させることができるようにすることを目的とする。
本発明のマルチコアプロセッサシステムは、複数のプロセッサコアによるタスクの並列処理を実行する1つ以上のクライアントと、該クライアントにて実行される並列処理を通信ネットワークを介して補助するサーバとを備えたマルチコアプロセッサシステムであって、前記サーバは、前記タスクを処理するために最低限必要な前記プロセッサコアの数を示す必要最低コア数を含むタスク情報を記憶するタスク情報記憶手段と、前記プロセッサコアの動作設定内容を示す動作設定情報を含むコア情報を記憶するコア情報記憶手段と、前記タスク情報と前記コア情報とに応じて、前記複数のプロセッサコアに前記タスクを割り当てるか否かを判定するタスク割当判定手段と、該タスク割当判定手段による判定結果に応じて前記コア情報を更新するコア情報更新手段と、前記コア情報更新手段によって更新されたコア情報を前記クライアントに送信するコア情報送信手段とを含み、前記クライアントは、前記サーバの前記コア情報送信手段によって送信されたコア情報を受信するコア情報受信手段と、該コア情報受信手段によって受信したコア情報に応じて、前記複数のプロセッサコアによるタスクの並列処理を実行する並列処理実行手段とを含むことを特徴とする。
上記の構成としたことで、マルチコアプロセッサによるタスクの処理効率を向上させることができるようになる。
前記クライアントは、前記タスクの処理要求を受け付ける処理要求受付手段と、該処理要求受付手段により受け付けた要求タスクに関する情報を含む処理情報を、前記サーバに送信する処理情報送信手段とを含み、前記サーバは、前記クライアントの前記処理情報送信手段によって送信された処理情報を受信する処理情報受信手段と、該処理情報受信手段によって受信した処理情報に応じて前記タスク情報を更新するタスク情報更新手段とを含み、前記タスク割当判定手段は、前記タスク情報更新手段によって更新されたタスク情報に応じて、前記要求タスクを1つ以上のプロセッサコアに割り当てるか否かを判定する構成とされていてもよい。
前記タスク情報は、タスク毎の処理優先度を示す優先度を含み、前記タスク割当判定手段は、前記コア情報を参照して前記複数のプロセッサコアのそれぞれに割り当てられているタスクである処理中タスクを特定する処理中タスク特定手段を有し、該処理中タスク特定手段により特定された当該処理中タスクの優先度と前記要求タスクの優先度とを比較して優先度の高いタスクをプロセッサコアに割り当てるものと判定する構成とされていてもよい。
前記タスク割当判定手段は、前記処理中タスクの必要最低コア数と前記要求タスクの必要最低コア数とを加算することにより、必要コア数を算出する必要コア数算出手段と、該必要コア数算出手段により算出された必要コア数が、前記クライアントが備えるプロセッサコアの総数以下であるか判定する必要コア数判定手段とを有し、該必要コア数判定手段が、前記必要コア数が前記クライアントが備えるプロセッサコアの総数以下であると判定した場合に、改めて前記処理中タスクと前記要求タスクとをプロセッサコアに割り当てるものと判定する構成とされていてもよい。
前記処理中タスク特定手段は、前記必要コア数判定手段が、前記必要コア数が前記クライアントが備えるプロセッサコアの総数以下であると判定した場合に、前記処理中タスクのうち、対応する前記必要最低コア数よりも多い数のプロセッサコアに割り当てられている処理中タスクを特定し、前記タスク割当判定手段は、前記処理中タスク特定手段により特定された処理中タスクを割り当てるコア数を前記必要最低コア数の範囲内で減らすべき、または減らせるものと判定する構成とされていてもよい。
本発明によれば、マルチコアプロセッサによるタスクの処理効率を向上させることができるようになる。
本発明の一実施の形態におけるマルチコアプロセッサシステムの構成例を示すブロック図である。 タスク情報の格納状態の例を示す説明図である。 コア情報の格納状態の例を示す説明図である。 クライアントとコア情報との関係を説明するための説明図である。 コア情報利用処理の例を示すフローチャートである。 タスク割当処理の例を示すフローチャートである。
以下、本発明の一実施の形態の例について図面を参照して説明する。
図1は、本発明の一実施の形態を示すマルチコアプロセッサシステム100の構成例を示すブロック図である。図1に示すように、マルチコアプロセッサシステム100は、サーバ10と、マルチコアプロセッサとして機能するクライアント21〜2N(Nは任意の正の整数)とを含む。
本例においては、サーバ10とクライアント21〜2Nとは、インターネットなどの通信ネットワーク50により接続されているものとする。
サーバ10は、本システムのシステム管理者によって管理され、WWWサーバなどの情報処理装置によって構成される。このサーバ10は、クライアント21〜2Nそれぞれにおける各種情報処理を補助するための各種機能を有する。
本例において、サーバ10は、記憶部11と、制御部12と、タスク割当判定部13と、タスク情報更新部14と、コア情報更新部15と、必要コア数算出部16と、通信処理部17とを含む。
記憶部11は、各種の情報を記憶する記憶媒体である。記憶部11には、タスク情報管理テーブル11aと、コア情報管理テーブル11bとが設けられている。
タスク情報管理テーブル11aは、クライアント21〜2Nにて処理される各種タスクに関する情報であるタスク情報を記憶するテーブルである。ここで、タスクとは、OS(Operating System)から見た処理の実行単位を意味する。また、本例において「タスクを複数のコアに割り当てる」とは、タスクを構成する処理単位であるプロセスやスレッドを各コアに割り当てることを意味する。
図2は、タスク情報管理テーブル11aにおけるタスク情報の格納状態の例を示す説明図である。図2に示すように、タスク情報は、タスクを一意に特定するためのタスクIDと、優先度と、必要最低コア数とを含む。
ここで、「優先度」とは、各タスクの処理優先度を意味し、優先度が高い(本例においては、優先度を示す数値が低い)タスクほど、他のタスクよりも先に処理されることが要求されるタスクであることを意味する。また、「必要最低コア数」とは、各タスクを適切に処理するために必要な最低限のコアの数を意味する。本例においては、必要最低コア数はタスク毎に予め設定されているものとする。なお、タスク情報として、タスクを処理するのに使用できるコア数の上限(最大コア数)や、予め定められたコア数でのみ処理可能なタスクであることを示すもの(例えば、2つまたは4つのコアの組み合わせでのみ処理可能なタスクであることを示す情報)を含む構成としてもよい。
コア情報管理テーブル11bは、クライアント21〜2Nが有するコアに関する情報であるコア情報を記憶するテーブルである。本例においては、コア情報は、各クライアントが有するコアの動作設定内容(例えば、コアが処理しているタスクを特定するためのタスクIDや、コアが待機状態であることを示す情報など)を示す動作設定情報であるものとする。
図3は、コア情報管理テーブル11bにおけるコア情報の格納状態の例を示す説明図である。図3に示すように、コア情報は、クライアントを一意に特定するためのクライアントIDと、中断タスクと、待機タスクと、各クライアントが備えるコアを特定するためのコアIDと、各コアの動作設定内容とを含む。なお、中断タスクおよび待機タスクは、コアに割り当てられていないタスクである。
ここで、「中断タスク」とは、クライアント21〜2Nの有する各コアにて処理が実行されているときに、処理中のタスクよりも優先度の高いタスクの実行要求が受け付けられたことにより、処理が中断されたタスクである。また、「待機タスク」とは、クライアント21〜2Nがタスクの実行要求を受け付けたときに割当可能なコアが無かったため、処理が開始されず待機状態となっているタスクである。なお、コアに割り当てられていないタスクは、各タスクの優先度に応じてコアに割り当てられるべき順番が対応付けされて管理される。なお、この場合、例えば中断タスクとして管理されるタスクに対しては所定の規則により優先度を高める構成としてもよい。中断タスクの処理が待機タスクよりも優先して実行されやすい構成とすることより、キャッシュに格納される情報が過大になることを防止することができる。
制御部12は、中央処理装置や一時記憶装置によって構成される。制御部12は、記憶部11に格納された各種プログラムに従い、サーバ10を構成する各部を統制制御し、コア情報利用処理やタスク割当処理を含む各種の処理を実行する機能を有する。
タスク割当判定部13は、各クライアント21〜2Nに対するコア情報を作成・更新するときに、処理中タスクや要求タスクを含む各種タスクを、コアに対してどのように割り当てるかを判定する機能を有する。タスクの割当法方法については、後述するタスク割当処理で詳しく説明する(図6参照)。ここで、「処理中タスク」とは、コア情報において既にコアに割り当てられているタスクを意味する。また、「要求タスク」とは、クライアント21〜2Nにて実行要求を受け付けたタスクを意味する。
タスク情報更新部14とコア情報更新部15は、クライアント21〜2Nから受信した情報などに応じてタスク情報管理テーブル11aとコア情報管理テーブル11bとにそれぞれ格納されるタスク情報とコア情報とを更新するための機能を有する。
必要コア数算出部16は、後述するタスク割当処理にて必要コア数を算出する機能を有する。ここで、「必要コア数」とは、処理中タスクの必要最低コア数と要求タスクの必要最低コア数との和を示す数値である。
通信処理部17は、通信ネットワーク50を介してクライアント21〜2Nと通信を行うための機能を有する。
クライアント21〜2Nは、それぞれユーザによって管理される情報処理装置であり、複数のプロセッサコア(コア)を有するマルチコアプロセッサを意味する。クライアント21〜2Nは、各コアが情報を共有する機能(共有メモリ機能)など、複数のコアによる情報処理(並列処理)を実現するための各種機能を有する。
図4(A)〜図4(C)は、クライアント21〜2Nと、サーバ10が備える記憶部11に記憶されているコア情報管理テーブル11bにて管理されるコア情報との関係を説明するための説明図である。ここでは、1つのクライアント21に対するコア情報が変化していく様子について説明する。
管理対象となるクライアント21がコアを4つ(コア0,1,2,3)備えている場合には、コア情報管理テーブル11bでは、各コア毎にそれぞれ割り当てられるタスクを示すコア情報が設定される。ここでは、クライアントが有する4つのコア0,1,2,3の全てにタスクBが割り当てられているとき(図4(A)参照)からの時間経過によるコア情報の変化について説明する。
クライアント21がタスクBの処理中に他のタスクの実行要求を受け付けた場合、サーバ10は、後述するタスク割当処理(図6参照)の結果に応じて、コア情報管理テーブル11bに設定されているクライアント21についてのコア情報を更新する。
すなわち、例えばクライアント21が備える全てのコアにてタスクBの処理が実行されている場合に、クライアント21が、タスクBよりも優先度が低く必要最低コア数が「1」であるタスクCの処理要求を受け付けたとする。この場合、サーバ10によるタスク割当処理により、図4(B)に示すように、両方のタスク(すなわち、タスクBとタスクC)が、それぞれの必要最低コア数以上のコア数で処理されるようにコアに割り当てられる。本例においては、コア0,1,2がタスクBを処理し、コア3がタスクCを処理することとなる。
次いで、クライアント21が、タスクBとタスクCの処理を継続しているときにタスクBとタスクCよりも優先度が高く必要最低コア数が「2」のタスクAを受け付けた場合、サーバ10によるタスク割当処理により、図4(C)に示すように、優先度が最も低いタスクCが中断タスクとなり、タスクAとタスクBがそれぞれ必要最低コア数を満足する2つのコアに割り当てられる。本例においては、コア0,1がタスクBを処理し、コア2,3がタスクAを処理することとなる。
なお、図示しないが、以下の場合も想定される。すなわち、クライアント21が備えるコア0,1,2,3にタスクAとタスクBとが割り当てられているときに、クライアント21が、例えばタスクAとタスクBより優先度が低いタスクDの処理要求を受け付けると、サーバ10によるタスク割当処理により、タスクDは待機タスクとして記憶されることとなる。
次に、本例のマルチコアプロセッサシステム100の動作について図5および図6のフローチャートを参照して説明する。なお、本発明に特に関係しない動作や処理については、その内容を省略している場合がある。
図5は、マルチコアプロセッサシステム100が実行するコア情報利用処理の例を示すフローチャートである。コア情報利用処理では、クライアント21〜2Nとサーバ10とが連携してタスクの並列処理を実現するための処理が実行される。本例においては、クライアント21とサーバ10の動作について説明する。
コア情報利用処理において、先ず、クライアント21は、クライアント21が有する記憶部に記憶されたコア情報(クライアントコア情報)に応じたタスクの処理を行う(ステップS101)。なお、クライアント21が、サーバ10から受信するコア情報を所定の規則に応じて変換することにより(例えば、データ形式の変換など。)クライアントコア情報を作成する構成としてもよいし、サーバ10から受信したコア情報をそのままクライアントコア情報とする構成としてもよい。
次いで、クライアント21は、タスクの実行要求を受け付けたか否か判定する(ステップS102)。ここで、タスクの実行要求を受け付けていないと判定した場合(ステップS102のN)、クライアント21用の処理フローは、後述するステップS105に移行する。
一方、例えばユーザからの操作入力を受け付けたことにより、タスクの実行要求を受け付けたと判定すると(ステップS102のY)、クライアント21は、受け付けた実行要求が示すタスク(要求タスク)を特定し、特定したタスクに応じたタスクIDと、タスクの優先度と、タスクの必要最低コア数とを含むタスク受付情報をサーバ10に送信する(ステップS103)。なお、このときクライアント21は、サーバ10にて情報の送信元が特定できるように、例えば自己のクライアントIDを提示して、タスク受付情報をサーバ10に送信する。
また、本例においては、クライアント21は、クライアント21にて処理可能なタスクを一意に特定するためのタスクIDと、各タスクIDに応じた優先度および必要最低コア数とを含むタスク管理情報を記憶する記憶部を有しているものとする。なお、クライアント21は、ユーザからの操作入力に応じてタスクの優先度を変更可能な構成とされていてもよい。
なお、タスク優先度や必要最低コア数を示すタスク管理情報は、全てサーバ10が有している構成としてもよい。この場合、クライアント21〜2Nは、実行要求を受け付けたタスクを示すタスクIDだけをタスク受付情報としてサーバ10に送信する構成とすればよい。
一方、コア情報利用処理において、サーバ10は、タスク受付情報を受信したか否かを判定する(ステップS201)。タスク受付情報を受信していないと判定すると(ステップS201のN)、クライアント21用の処理フローは後述するステップS205に移行する。そして、クライアント21からのタスク受付情報を受信したと判定すると(ステップS201のY)、サーバ10は、提示されたクライアントIDからクライアント21を特定し、クライアント21についてのコア情報を参照する(ステップS202)。
コア情報を参照すると、サーバ10は、要求タスクをクライアント21が備えるコアに割り当てるためのタスク割当処理を実行する(ステップS203)。
タスク割当処理を実行すると、サーバ10は、タスク割当処理にて更新したコア情報をクライアント21に送信する(ステップS204)。
コア情報を受信してクライアントコア情報を更新すると(ステップS104)、クライアント21は、更新したクライアントコア情報に応じてタスクをコアに割り当てて、各コアによるタスクの処理を実行する。
クライアント21のコア0,1,2,3に割り当てられたタスクの処理が終了すると、各コアは、新たにタスクの割当が可能な状態(フリーコア)となる。本例においては、クライアント21が、タスクが終了したことに応じてクライアントコア情報を参照し、終了したタスクが割り当てられていたコアをフリーコアとする。
次に、クライアント21は、コア0,1,2,3のうち、フリーコアがあるか否かを判定する(ステップS105)。ここで、フリーコアが無いと判定すると(ステップS105のN)、クライアント21用の処理フローは、ステップS101に移行する。
一方、フリーコアが有ると判定すると(ステップS105のY)、クライアント21は、処理が終了したタスクとフリーコアとを示す情報(終了コード)をサーバ10に送信して(ステップS106)、実行要求を受け付けた全てのタスクが終了したか否かを判定する(ステップS107)。
ここで、全てのタスクが終了したと判定すると(ステップS107のY)、クライアント21は、クライアントコア情報を初期化して(ステップS108)、ここでの処理を終了する。
一方、全てのタスクが終了していないと判定すると(ステップS107のN)、クライアント21は、サーバ10からコア情報が送信されるのを待ち、コア情報を受信してクライアントコア情報を更新する(ステップS109)。サーバ10用の処理フローはステップS101に移行する。
一方、ステップS204の処理にて更新したコア情報を送信すると(または、ステップS201にてタスク受付情報を受信していないと判定すると)、サーバ10は、終了コードを受信したか否かを判定する(ステップS205)。ここで、終了コードを受信していないと判定すると(ステップS205のN)、サーバ10は、ステップS201の処理に移行する。
一方、クライアント21により送信された終了コードを受信したと判定すると(ステップS205のY)、サーバ10は、受信した終了コードからフリーコアを特定する(ステップS206)。
フリーコアを特定すると、サーバ10は、コア情報を参照し、中断タスクまたは待機タスクが有るか判定する(ステップS207)。ここで、中断タスクまたは待機タスクが有ると判定すると(ステップS207のY)、サーバ10は、各タスクの優先度に応じてタスクをコアに割り当てることによりコア情報を更新する(ステップS208)。コア情報を更新すると、サーバ10は、更新したコア情報をクライアント21に送信し(ステップS209)、サーバ10用の処理フローはステップS201に移行する。
一方、中断タスクも待機タスクも無いと判定すると(ステップS207のN)、サーバ10は、既にコアに割り当てられているタスク(処理中タスク)が有るか判定する(ステップS210)。ここで、処理中タスクが有ると判定すると(ステップS210のY)、サーバ10用の処理フローはステップS208に移行して、サーバ10は、処理中タスクを処理するコア数が増加するようにコア情報を更新する。
一方、処理中タスクが無いと判定すると(ステップS210のN)、サーバ10は、ステップS201の処理に移行する。なお、サーバ10は、例えばクライアント21との通信が終了することによりコア情報利用処理を終了する。
次いで、サーバ10が実行するタスク割当処理について説明する。
図6は、サーバ10が実行するタスク割当処理の例を示すフローチャートである。タスク割当処理では、クライアント21〜2Nが実際にタスクをコアに割り当てるために用いるコア情報を作成(または更新)するための処理が実行される。ここでは、クライアント21に対するサーバ10の動作について説明する。
タスク割当処理において、先ず、サーバ10は、タスク情報とコア情報とを参照して、要求タスクの必要最低コア数がクライアント21のフリーコア数よりも多いか否か判定する(ステップS301)。ここで、要求タスクの必要最低コア数がフリーコア数よりも多くないと判定すると(ステップS301のN)、サーバ10用の処理フローは、後述するステップS306に移行する。
一方、要求タスクの必要最低コア数がフリーコア数よりも多いと判定すると(ステップS301のY)、サーバ10は、コア情報を参照して、待機タスクや中断タスクとして記憶されたタスクの中に、要求タスクよりも優先度の高いタスクが有るか判定する(ステップS302)。ここで、待機タスクや中断タスクとして記憶されたタスクの中に要求タスクよりも優先度の高いタスクが有ると判定すると(ステップS302のY)、サーバ10は、要求タスクを待機タスクとみなしてコア情報を更新して(ステップS307)、処理フローはコア情報利用処理におけるステップS204に移行する(図5参照)。
一方、待機タスクや中断タスクとして記憶されたタスクの中に要求タスクよりも優先度の高いタスクが無いと判定すると(ステップS302のN)、サーバ10は、処理中タスクの必要最低コア数と要求タスクの必要最低コア数との和(必要コア数)を算出し、算出した必要コア数が、クライアント21が備えるプロセッサコアの総数(全コア数)以下であるか否か判定する(ステップS303)。
算出した必要コア数がクライアント21の全コア数以下であると判定すると(ステップS303のY)、サーバ10は、処理中タスクと要求タスクとをプロセッサコアに割り当てるものと判定して、処理フローは後述するステップS306に移行する。
一方、算出した必要コア数がクライアント21の全コア数以下でないと判定すると(ステップS303のN)、サーバ10は、タスク情報を参照して、処理中タスクの優先度が要求タスクの優先度よりも低いか否か判定する(ステップS304)。
ここで、処理中タスクの優先度が要求タスクの優先度よりも低くないと判定すると(ステップS304のN)、サーバ10は、要求タスクを待機タスクとみなしてコア情報を更新し(ステップS307)、処理フローはコア情報利用処理におけるステップS204に移行する。
一方、処理中タスクの優先度が要求タスクの優先度よりも低いと判定すると(ステップS304のY)、サーバ10は、処理中タスクを中断タスクに変更する(ステップS305)。これにより、フリーコアが設けられる。
処理中タスクを中断タスクに変更すると、サーバ10は、要求タスクをフリーコアに割り当てるものと判定し、コア情報を更新して(ステップS306)、処理フローはコア情報利用処理におけるステップS204に移行する。
なお、サーバ10は、更新対象とするコア情報における動作設定内容を変更することによりコア情報を更新する。すなわち、サーバ10は、先ず、フリーコア(すなわち、動作設定内容が空データであるコア)に要求タスクを割り当てる。そして、フリーコアだけでは要求タスクの必要最低コア数を満たさない場合に、処理中タスクが割り当てられているコアをフリーコアにして、要求タスクを割り当てる。なお、この場合、サーバ10はステップS303にて全コア数が必要コア数以上であることを確認しているので、処理中タスクを割り当てるコアが処理中タスクの必要最低コア数を下回るようにしてしまうことを回避できる。
また、サーバ10は、処理中タスクと要求タスクとを記憶し、一度全てのコアをフリーコアにしてから改めて処理中タスクと要求タスクとをフリーコアに割り当てる処理を実行する構成とされていてもよい。実際にタスクの処理を実行しているのはクライアント21になるので、サーバ10におけるクライアント21のコア情報において全てのコアを一時的にフリーコアにしても、タスクの処理に大きな影響を与えてしまうことはない。
なお、処理中タスクと要求タスクとを割り当てるコア数の割合は、各必要最低コア数を満たす範囲であればどのように決めてもよく、例えば各タスクの優先度に応じてサーバ10が決める構成とされていてもよいし、処理中タスクの処理を優先する構成とされていてもよい。
また、サーバ10が、先ずフリーコアに要求タスクを割り当ててから必要に応じて処理中タスクが割り当てられているコアに改めて要求タスクを割り当てる構成とされていてもよい。このような構成とすることにより、クライアント21にて処理中タスクの処理を実行するプロセッサコアが処理を停止して、新たに別のタスク(すなわち、要求タスク)の処理を開始することに要する処理の回数を抑えることができるようになり、その結果タスクの処理効率を向上させることができる。
また、サーバ10は、基本的には所定数だけフリーコアを確保するように処理中タスクと要求タスクとをフリーコアに割り当てる構成とされていてもよい。すなわち、例えば処理中タスクと要求タスクとの各必要最低コア数の合計である必要コア数がクライアント21の全コア数よりも1だけ小さく、かつ処理中タスクが必要最低コア数よりも1つ多くのコアを用いて処理可能なタスクである場合に、クライアント21がフリーコアを1つ残しておくことを優先する構成とされていてもよい。このような構成とすることにより、例えばクライアント21においてプロセッサコアが故障などして、タスクを他のプロセッサコアに割り当てる必要が生じた場合などに、サーバ10にて改めてフリーコアを設ける必要がないため早急に対応することができるようになる。
以上に説明したように、上述した実施の形態では、複数のプロセッサコアによるタスクの並列処理を実行する1つ以上のクライアント21〜2Nと、クライアント21〜2Nにて実行される並列処理を通信ネットワーク50を介して補助するサーバ10とを備えたマルチコアプロセッサシステム100において、サーバ10が、タスク(例えば、タスクA〜E)を処理するために最低限必要なプロセッサコアの数を示す必要最低コア数を含むタスク情報を記憶するタスク情報管理テーブル11aと、プロセッサコアの動作設定内容を示す動作設定情報(例えば、コアが処理しているタスクを特定するためのタスクIDや、コアが待機状態であることを示す情報など)を含むコア情報を記憶するコア情報管理テーブル11bとを備え、タスク情報とコア情報とに応じて、複数のプロセッサコア(例えば、コア0,1,2,3)にタスクを割り当てるか否かを判定し、判定結果に応じてコア情報を更新し、更新したコア情報をクライアント21〜2Nに送信し、クライアント21〜2Nが、サーバ10によって送信されたコア情報を受信し、受信したコア情報に応じて、複数のプロセッサコア(例えば、コア0,1,2,3)によるタスクの並列処理を実行する構成としているので、マルチコアプロセッサによるタスクの処理効率を向上させることができるようになる。
すなわち、タスクに必要最低コア数を設けて、これに応じてコアを割り当てる構成とすることにより、優先度の高いタスクを単純に割り込ませるようなものと比べて、全体的な処理効率を向上させることができるようになる。
また、上述した実施の形態では、マルチコアプロセッサシステム100において、クライアント21〜2Nが、タスクの処理要求を受け付け、受け付けた要求タスクに関する情報を含む処理情報(例えば、タスク受付情報)を、サーバ10に送信し、サーバ10が、クライアント21〜2Nによって送信された処理情報を受信し、受信した処理情報に応じてタスク情報を更新し、更新したタスク情報に応じて、要求タスクを1つ以上のプロセッサコア(例えば、コア0,1,2,3)に割り当てるか否かを判定する構成としているので、プロセッサコアの動作状況に応じてタスクを割り当てることができるようになるので、クライアントからの要求に応じて効率的にタスクをコアに割り当てることができるようになる。
また、上述した実施の形態では、マルチコアプロセッサシステム100において、タスク情報は、タスク毎の処理優先度を示す優先度を含み、サーバ10が、コア情報を参照して複数のプロセッサコア(例えば、コア0,1,2,3)のそれぞれに割り当てられているタスクである処理中タスクを特定し、特定した処理中タスクの優先度と要求タスクの優先度とを比較して優先度の高いタスクをプロセッサコアに割り当てるものと判定する構成としているので、処理優先度の高いタスクの処理を優先して行うことができるようになる。
また、上述した実施の形態では、マルチコアプロセッサシステム100において、サーバ10が、処理中タスクの必要最低コア数と要求タスクの必要最低コア数とを加算することにより、必要コア数を算出し、算出した必要コア数が、クライアント21〜2Nが備えるプロセッサコア(例えば、クライアント21が備えるコア0,1,2,3)の総数以下であるか否かを判定し、必要コア数がクライアント21〜2Nが備えるプロセッサコアの総数以下であると判定した場合に、処理中タスクと要求タスクとをプロセッサコアに割り当てるものと判定する構成としているので、複数のタスクを並列処理にて処理する場合に、いくつかのプロセッサコアが他のプロセッサコアにおける処理の終了を待つ状態になる可能性を減少させることができるようになる。
すなわち、例えば4つのコアがタスクBを分担して実行している状況において、クライアント21がタスクBよりも優先度の高いタスクAの処理要求を受け付けたとする。このとき、従来のマルチコアプロセッサでは、先ず、4つ全てのコアがタスクBの処理を中断し、処理要求を受け付けたタスクAについてのタスク情報を参照する。そして、例えばタスクAの処理が最大2つのコアで分担して実行可能なものであると判断した場合、2つのコアによりタスクAの処理を開始し、残りのコアにおいてはタスクBの処理を中断していた。そのため、優先度の高いタスクを先に処理しようとする場合、全体的な処理効率が低下してしまう場合があった。
一方で、上述した実施形態においては、タスクを処理するために必要な最低限度のコア数である必要最低コア数を考慮してコアにタスクを割り当てることができるので、あるタスクの処理中に優先度が高いタスクの処理が割り込んできた場合に、2つのタスクの必要最低コア数の和が、マルチコアプロセッサが含むコア数以下である場合には、2つのタスクを同時に処理することができるようになる。よって、タスクの処理優先度を考慮することにより全体的な処理効率を低下させてしまうような事態が生じるケースを減少させることができるようになる。
なお、上述した実施の形態では、複数のプロセッサコアによるタスクの並列処理を実行するクライアント21〜2Nと、クライアント21〜2Nにて実行される並列処理を通信ネットワーク50を介して補助するサーバ10とを備えたマルチコアプロセッサシステム100を例にして説明を行なったが、本発明の適用対象はサーバ/クライアント形式のシステムに限らず、例えばサーバ10の機能とクライアント21の機能とを有するシステムであってもよい。すなわち、クライアント21〜2Nの何れかにサーバ10の複数のプロセッサコア管理に関する機能を備える構成としたようなものであってもよい。
なお、上述した実施の形態では特に言及していないが、サーバ10が、必要コア数がクライアント21が備えるプロセッサコアの総数以下であると判定した場合に、処理中タスクのうち、対応する必要最低コア数よりも多い数のプロセッサコアに割り当てられている処理中タスクを特定し、特定した処理中タスクを割り当てるコア数を必要最低コア数の範囲内で減らすべき、または減らせるものと判定する構成としてもよい。このような構成とすることにより、コア数を減らすべきでない処理中タスクのコア数を減らしてしまうことを防止できるようになる。
すなわち、例えば、サーバ10が、タスク割当処理において全コア数が必要コア数以上であると判定した場合に(図6、ステップS303参照)、処理中タスクが割り当てられたコア数と要求タスクの必要最低コア数との和(合計コア数)を算出し、算出した合計コア数が、クライアント21の全コア数を超えているか否かを判定する。合計コア数がクライアント21の全コア数を超えていると判定した場合に、サーバ10は、処理中タスクを割り当てるコア数を、処理中タスクの必要最低コア数よりも少なくならない範囲で減少させる必要があると判定し、処理中タスクと要求タスクとを改めてクライアント21のプロセッサコアに割り当てる前にその旨をクライアント21に報知して、クライアント21からの割当指示を受け付けることによりコア情報を更新する構成としてもよい。
このような構成とすることにより、サーバ10は要求タスクを実行することにより処理中タスクの処理が遅くなることをクライアント21に報知することができるようになり、クライアント側で処理中タスクの処理を優先するか否かを判断できるようにすることができるようになる。
本発明によれば、マルチコアプロセッサシステムによる処理効率を向上させることができるので、産業上有用である。
10 サーバ
11a タスク管理テーブル
11b コア情報管理テーブル
21〜2N クライアント
50 通信ネットワーク
100 マルチコアプロセッサシステム

Claims (5)

  1. 複数のプロセッサコアによるタスクの並列処理を実行する1つ以上のクライアントと、該クライアントにて実行される並列処理を通信ネットワークを介して補助するサーバとを備えたマルチコアプロセッサシステムであって、
    前記サーバは、
    前記タスクを処理するために最低限必要な前記プロセッサコアの数を示す必要最低コア数を含むタスク情報を記憶するタスク情報記憶手段と、
    前記プロセッサコアの動作設定内容を示す動作設定情報を含むコア情報を記憶するコア情報記憶手段と、
    前記タスク情報と前記コア情報とに応じて、前記複数のプロセッサコアに前記タスクを割り当てるか否かを判定するタスク割当判定手段と、
    該タスク割当判定手段による判定結果に応じて前記コア情報を更新するコア情報更新手段と、
    前記コア情報更新手段によって更新されたコア情報を前記クライアントに送信するコア情報送信手段とを含み、
    前記クライアントは、
    前記サーバの前記コア情報送信手段によって送信されたコア情報を受信するコア情報受信手段と、
    該コア情報受信手段によって受信したコア情報に応じて、前記複数のプロセッサコアによるタスクの並列処理を実行する並列処理実行手段とを含む
    ことを特徴とするマルチコアプロセッサシステム。
  2. 前記クライアントは、
    前記タスクの処理要求を受け付ける処理要求受付手段と、
    該処理要求受付手段により受け付けた要求タスクに関する情報を含む処理情報を、前記サーバに送信する処理情報送信手段とを含み、
    前記サーバは、
    前記クライアントの前記処理情報送信手段によって送信された処理情報を受信する処理情報受信手段と、
    該処理情報受信手段によって受信した処理情報に応じて前記タスク情報を更新するタスク情報更新手段とを含み、
    前記タスク割当判定手段は、前記タスク情報更新手段によって更新されたタスク情報に応じて、前記要求タスクを1つ以上のプロセッサコアに割り当てるか否かを判定する
    請求項1記載のマルチコアプロセッサシステム。
  3. 前記タスク情報は、タスク毎の処理優先度を示す優先度を含み、
    前記タスク割当判定手段は、前記コア情報を参照して前記複数のプロセッサコアのそれぞれに割り当てられているタスクである処理中タスクを特定する処理中タスク特定手段を有し、該処理中タスク特定手段により特定された当該処理中タスクの優先度と前記要求タスクの優先度とを比較して優先度の高いタスクをプロセッサコアに割り当てるものと判定する
    請求項2記載のマルチコアプロセッサシステム。
  4. 前記タスク割当判定手段は、
    前記処理中タスクの必要最低コア数と前記要求タスクの必要最低コア数とを加算することにより、必要コア数を算出する必要コア数算出手段と、
    該必要コア数算出手段により算出された必要コア数が、前記クライアントが備えるプロセッサコアの総数以下であるか否かを判定する必要コア数判定手段とを有し、
    該必要コア数判定手段が、前記必要コア数が前記クライアントが備えるプロセッサコアの総数以下であると判定した場合に、改めて前記処理中タスクと前記要求タスクとをプロセッサコアに割り当てるものと判定する
    請求項3記載のマルチコアプロセッサシステム。
  5. 前記処理中タスク特定手段は、前記必要コア数判定手段が、前記必要コア数が前記クライアントが備えるプロセッサコアの総数以下であると判定した場合に、前記処理中タスクのうち、対応する前記必要最低コア数よりも多い数のプロセッサコアに割り当てられている処理中タスクを特定し、
    前記タスク割当判定手段は、前記処理中タスク特定手段により特定された処理中タスクを割り当てるコア数を前記特定された処理中タスクの前記必要最低コア数までの範囲内で減らすべき、または減らせるものと判定する
    請求項4記載のマルチコアプロセッサシステム。
JP2010201194A 2009-09-18 2010-09-08 マルチコアプロセッサシステム Pending JP2011065645A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27238609P 2009-09-18 2009-09-18
US28250410P 2010-02-22 2010-02-22

Publications (1)

Publication Number Publication Date
JP2011065645A true JP2011065645A (ja) 2011-03-31

Family

ID=43302553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010201194A Pending JP2011065645A (ja) 2009-09-18 2010-09-08 マルチコアプロセッサシステム

Country Status (3)

Country Link
US (1) US8949843B2 (ja)
EP (1) EP2309388B1 (ja)
JP (1) JP2011065645A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097548A (ja) * 2011-10-31 2013-05-20 Pfu Ltd 情報処理システム、情報処理装置、クライアント端末、情報処理方法、及びプログラム
JP2014070956A (ja) * 2012-09-28 2014-04-21 Dainippon Screen Mfg Co Ltd 画像処理装置、外観検査装置、画像処理方法および外観検査方法
WO2015015656A1 (ja) 2013-07-31 2015-02-05 株式会社 東芝 社会情報提供システムと社会情報配信装置及びユーザ端末装置
JP2016035649A (ja) * 2014-08-01 2016-03-17 京セラドキュメントソリューションズ株式会社 情報処理システム及び情報処理プログラム
JP2019102064A (ja) * 2017-11-30 2019-06-24 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド スマート装置のタスク処理方法および装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2485019B (en) * 2010-08-27 2013-08-14 Mark Henrik Sandstrom Application load adaptive processing resource allocation
GB2498132B (en) * 2010-08-27 2013-08-28 Mark Henrik Sandstrom Application load adaptive processing resource allocation
WO2012049794A1 (ja) * 2010-10-14 2012-04-19 日本電気株式会社 分散処理装置及び分散処理システム
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
US20130117168A1 (en) 2011-11-04 2013-05-09 Mark Henrik Sandstrom Maximizing Throughput of Multi-user Parallel Data Processing Systems
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
US9715413B2 (en) * 2012-01-18 2017-07-25 Nvidia Corporation Execution state analysis for assigning tasks to streaming multiprocessors
US9027029B2 (en) * 2013-03-28 2015-05-05 International Business Machines Corporation Method for activating processor cores within a computer system
US9311146B2 (en) * 2013-05-24 2016-04-12 International Business Machines Corporation Strategic placement of jobs for spatial elasticity in a high-performance computing environment
CN104298556B (zh) * 2013-07-17 2018-01-09 华为技术有限公司 流处理单元的分配方法及装置
US10055259B2 (en) * 2015-05-26 2018-08-21 Mediatek Inc. Method for performing processor resource allocation in an electronic device, and associated apparatus
US11023277B2 (en) * 2016-09-20 2021-06-01 Ramon Chips Ltd. Scheduling of tasks in a multiprocessor device
US11282160B2 (en) * 2020-03-12 2022-03-22 Cisco Technology, Inc. Function-as-a-service (FaaS) model for specialized processing units

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63314352A (ja) * 1987-12-25 1988-12-22 Hitachi Ltd エンジン制御装置
WO1995009501A1 (fr) * 1993-09-29 1995-04-06 Fujitsu Limited Systeme de gestion d'element de reseau
JPH11205493A (ja) * 1998-01-09 1999-07-30 Fuji Xerox Co Ltd 画像形成装置およびその制御方法
JP2008011568A (ja) * 2007-09-10 2008-01-17 Konica Minolta Business Technologies Inc 画像処理装置、画像処理システム、および、画像処理方法
JP2009075956A (ja) * 2007-09-21 2009-04-09 Fujitsu Ltd ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002323986A (ja) * 2001-04-25 2002-11-08 Hitachi Ltd コンピュータリソース流通システム及び方法
US7441241B2 (en) * 2004-05-20 2008-10-21 International Business Machines Corporation Grid non-deterministic job scheduling
US8230426B2 (en) 2004-10-06 2012-07-24 Digipede Technologies, Llc Multicore distributed processing system using selection of available workunits based on the comparison of concurrency attributes with the parallel processing characteristics
US7788670B2 (en) * 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
US8060610B1 (en) * 2005-10-28 2011-11-15 Hewlett-Packard Development Company, L.P. Multiple server workload management using instant capacity processors
JP4458119B2 (ja) 2007-06-11 2010-04-28 トヨタ自動車株式会社 マルチプロセッサシステム及びその制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63314352A (ja) * 1987-12-25 1988-12-22 Hitachi Ltd エンジン制御装置
WO1995009501A1 (fr) * 1993-09-29 1995-04-06 Fujitsu Limited Systeme de gestion d'element de reseau
JPH11205493A (ja) * 1998-01-09 1999-07-30 Fuji Xerox Co Ltd 画像形成装置およびその制御方法
JP2008011568A (ja) * 2007-09-10 2008-01-17 Konica Minolta Business Technologies Inc 画像処理装置、画像処理システム、および、画像処理方法
JP2009075956A (ja) * 2007-09-21 2009-04-09 Fujitsu Ltd ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097548A (ja) * 2011-10-31 2013-05-20 Pfu Ltd 情報処理システム、情報処理装置、クライアント端末、情報処理方法、及びプログラム
US9413851B2 (en) 2011-10-31 2016-08-09 Pfu Limited Information processing system, information processing device, client terminal, and computer readable medium
JP2014070956A (ja) * 2012-09-28 2014-04-21 Dainippon Screen Mfg Co Ltd 画像処理装置、外観検査装置、画像処理方法および外観検査方法
WO2015015656A1 (ja) 2013-07-31 2015-02-05 株式会社 東芝 社会情報提供システムと社会情報配信装置及びユーザ端末装置
US9935725B2 (en) 2013-07-31 2018-04-03 Kabushiki Kaisha Toshiba Social information providing system, social information distribution apparatus, and user terminal apparatus
US10601531B2 (en) 2013-07-31 2020-03-24 Kabushiki Kaisha Toshiba Social information providing system, social information distribution apparatus, and user terminal apparatus
US11165524B2 (en) 2013-07-31 2021-11-02 Kabushiki Kaisha Toshiba Social information providing system, social information distribution apparatus, and user terminal apparatus
JP2016035649A (ja) * 2014-08-01 2016-03-17 京セラドキュメントソリューションズ株式会社 情報処理システム及び情報処理プログラム
JP2019102064A (ja) * 2017-11-30 2019-06-24 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド スマート装置のタスク処理方法および装置
US11188380B2 (en) 2017-11-30 2021-11-30 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for processing task in smart device
JP7112919B2 (ja) 2017-11-30 2022-08-04 バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド スマート装置のタスク処理方法および装置

Also Published As

Publication number Publication date
EP2309388A1 (en) 2011-04-13
EP2309388B1 (en) 2017-10-25
US20110131583A1 (en) 2011-06-02
US8949843B2 (en) 2015-02-03

Similar Documents

Publication Publication Date Title
JP2011065645A (ja) マルチコアプロセッサシステム
KR101781063B1 (ko) 동적 자원 관리를 위한 2단계 자원 관리 방법 및 장치
CN109729106B (zh) 处理计算任务的方法、***和计算机程序产品
JP2007041720A (ja) ジョブステップ実行プログラムおよびジョブステップ実行方法
JP4992408B2 (ja) ジョブ割当プログラム、方法及び装置
JP7003874B2 (ja) リソース予約管理装置、リソース予約管理方法およびリソース予約管理プログラム
EP3114589B1 (en) System and method for massively parallel processing database
WO2012105056A1 (ja) 並列分散処理システムのデータ転送制御方法、並列分散処理システム及び記憶媒体
CN112783659B (zh) 一种资源分配方法、装置、计算机设备及存储介质
JP5790758B2 (ja) スケジューリング方法およびスケジューリングシステム
JP6007516B2 (ja) リソース配分システム、リソース配分方法、及びリソース配分プログラム
JP4862056B2 (ja) 仮想計算機管理機構及び仮想計算機システムにおけるcpu時間割り当て制御方法
WO2011096249A1 (ja) 負荷制御装置
JP6700552B2 (ja) 処理制御プログラム、処理制御装置及び処理制御方法
JP2009237858A (ja) サーバタスク管理プログラム及びサーバタスク管理方法
JP5447666B2 (ja) マルチプロセッサシステムおよびスケジューリング方法
KR20160061726A (ko) 인터럽트 핸들링 방법
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
JP6191361B2 (ja) 情報処理システム、情報処理システムの制御方法及び制御プログラム
JP2011215812A (ja) 仮想計算機管理方法、計算機システム及びリソース管理プログラム
JP2012203911A (ja) 非同期のデバイスによって実行されるタスクのスケジューリングの向上
WO2016017161A1 (ja) 仮想計算機システム、スケジューリング方法、および、プログラム記憶媒体
JP2017010473A (ja) ジョブ実行制御システム及び方法
JP5003673B2 (ja) マルチプロセッシング方法及びマルチプロセッサシステム
JP5488029B2 (ja) 分散処理システム、分散処理方法、及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120618

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121002