JP2016126426A - マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム - Google Patents

マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム Download PDF

Info

Publication number
JP2016126426A
JP2016126426A JP2014265134A JP2014265134A JP2016126426A JP 2016126426 A JP2016126426 A JP 2016126426A JP 2014265134 A JP2014265134 A JP 2014265134A JP 2014265134 A JP2014265134 A JP 2014265134A JP 2016126426 A JP2016126426 A JP 2016126426A
Authority
JP
Japan
Prior art keywords
task
memory
thread
threads
designation information
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
JP2014265134A
Other languages
English (en)
Inventor
基 金子
Motoi Kaneko
基 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to JP2014265134A priority Critical patent/JP2016126426A/ja
Publication of JP2016126426A publication Critical patent/JP2016126426A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】特定用途に用いられる並列処理の効率性を向上すること。【解決手段】本発明にかかるマルチコアシステムは、メインプロセッサコアと、複数のプロセッサコアと、メモリと、を備える。メインプロセッサコアは、複数のスレッドを、複数のプロセッサコアのそれぞれに割り当てて生成する管理部と、タスクを処理させるスレッドを指定した指定情報をそれぞれに付加した複数のタスクを生成し、メモリへ格納させるタスク生成部と、を備える。複数のプロセッサコアのそれぞれは、自己が割り当てられたスレッドを実行する。実行されたスレッドのそれぞれは、メモリに格納された各タスクに付加された指定情報を参照し、自己が指定されたタスクをメモリから読み出し、当該タスクを処理する。【選択図】図1

Description

本発明は、マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラムに関する。
スマートフォン等の携帯端末機に搭載されているSoC(System on a Chip)は、近年、複数のCPU(Central Processing Unit)コアを持つMulti−Core構成が主流となっている。このMulti−Core構成を有効に活用するためには、並列処理が可能な様々なプログラム(タスク)を各コアにおいて並列に動作させることが必要である。ここで、複数のタスクを複数のコアのいずれへ割り当てるかは、通常、Android(登録商標)やLinux(登録商標)などのOS(Operating System)がスケジューリングして決定する。
特許文献1には、並列プロセッサのためのタスクマネージャに関する技術が開示されている。特許文献1では、複数のSPU(Synergistic Processing Units)のそれぞれが、一つのタスクキューに格納された複数のタスクの中から優先度の高いタスクを選択して実行するものである。
特許文献2には、マルチコアプロセッサシステムに関する技術が開示されている。特許文献2では、複数のクライアントのそれぞれが複数のコアを有しており、各クライアントはネットワークを介してサーバと接続されている。サーバは、複数のタスクのそれぞれに、処理の優先度を示す情報を設定する。各クライアントは、サーバから受信したタスクに設定された優先度に応じてタスクを処理する。
特許4712877号 特開2011−065645号公報
しかしながら、上述したようなOSのスケジューリングでは、組み込みシステムのような特定用途に用いられる並列処理の効率性の向上に限界があるという問題点がある。例えば、OSによるスケジューリングでは、通常、ユーザプログラムから自身の開発した並列処理可能なプログラムを各論理コアに割り当てることができない。そのため、一つのコアに複数のタスクやスレッドが割り当てられてしまう場合、結果的にマルチコアの処理性能を享受できない。または、待機モードなどの消費電力を抑えたい場合には、敢えて並列処理を抑制することが有効な場合もある。
尚、一部のOSのシステムコールには論理コアを明示的に割り当てるため命令が存在している。しかし、そのシステムコールは非常に重い処理であるため性能面で不利になる。そのためプログラム全体として見ると性能が落ちていることになる。
さらに、上述した特許文献1又は2のようにタスクへの優先度指定だけでは、どのコアで実行するかの指定まではできない。
本発明は、このような問題を解決するためになされたものであり、特定用途に用いられる並列処理の効率性を向上するためのマルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラムを提供することを目的とする。
本発明の第1の態様にかかるマルチコアシステムは、
メインプロセッサコアと、
複数のプロセッサコアと、
メモリと、
を備え、
前記メインプロセッサコアは、
複数のスレッドを、前記複数のプロセッサコアのそれぞれに割り当てて生成する管理部と、
タスクを処理させるスレッドを指定した指定情報をそれぞれに付加した複数のタスクを生成し、前記メモリへ格納させるタスク生成部と、を備え、
前記複数のプロセッサコアのそれぞれは、自己が割り当てられたスレッドを実行し、
前記実行されたスレッドのそれぞれは、前記メモリに格納された各タスクに付加された指定情報を参照し、自己が指定されたタスクを前記メモリから読み出し、当該タスクを処理する。
本発明の第2の態様にかかるマルチコアプロセッサは、
メインプロセッサコアと、
複数のプロセッサコアと、を備え、
前記メインプロセッサコアは、
複数のスレッドを、前記複数のプロセッサコアのそれぞれに割り当てて生成する管理部と、
タスクを処理させるスレッドを指定した指定情報をそれぞれに付加した複数のタスクを生成し、各タスクを前記管理部へ通知するタスク生成部と、を備え、
前記管理部は、前記通知されたタスクを、外部のメモリに格納し、
前記複数のプロセッサコアのそれぞれは、自己が割り当てられたスレッドを実行し、
前記実行されたスレッドのそれぞれは、前記メモリに格納された各タスクに付加された指定情報を参照し、自己が指定されたタスクを前記メモリから読み出し、当該タスクを処理する。
本発明の第3の態様にかかる並列処理方法は、
メインプロセッサコアにおいて、
複数のスレッドを、前記複数のプロセッサコアのそれぞれに割り当てて生成し、
タスクを処理させるスレッドを指定した指定情報をそれぞれに付加した複数のタスクを生成し、
前記生成した複数のタスクをメモリに格納し、
前記複数のプロセッサコアのそれぞれにおいて、自己が割り当てられたスレッドを実行し、
前記実行されたスレッドのそれぞれにおいて、前記メモリに格納された各タスクに付加された指定情報を参照し、自己が指定されたタスクを前記メモリから読み出し、当該タスクを処理する。
本発明の第4の態様にかかる並列処理制御プログラムは、
複数のスレッドを、前記複数のプロセッサコアのそれぞれに割り当てて生成する処理と、
タスクを処理させるスレッドを指定した指定情報をそれぞれに付加した複数のタスクを生成する処理と、
前記生成した複数のタスクをメモリに格納する処理と、
をコンピュータに実行させる。
本発明により、特定用途に用いられる並列処理の効率性を向上するためのマルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラムを提供することができる。
本発明の実施の形態1にかかるマルチコアシステムの全体構成を示すブロック図である。 本発明の実施の形態1にかかるワーカスレッド生成処理の流れを示すフローチャートである。 本発明の実施の形態1にかかるタスク並列実行処理の流れを説明するためのシーケンス図である。 本発明の実施の形態1にかかるタスク生成処理の流れを示すフローチャートである。 本発明の実施の形態1にかかるマルチコアシステムのハードウェア構成の例を示すブロック図である。 本発明の実施の形態2にかかるタスクスケジューリング処理の流れを示すフローチャートである。
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
<発明の実施の形態1>
図1は、本発明の実施の形態1にかかるマルチコアシステム100の全体構成を示すブロック図である。マルチコアシステム100は、メインプロセッサコア110と、プロセッサコア111、112、・・・11nと、メモリ140とを備える。メインプロセッサコア110並びにプロセッサコア111〜11nのそれぞれは、CPU等のプロセッサ回路の中核部分であり、キャッシュメモリを除く回路部分である。そのため、メインプロセッサコア110並びにプロセッサコア111〜11nは、並列動作が可能である。尚、プロセッサコアの数は、少なくとも2以上であればよい。また、メインプロセッサコア110とプロセッサコア111等とは、同等の性能であるか否かは問わない。
メモリ140は、主記憶装置である。メモリ140は、タスクキュー141と、定義情報150とを記憶する。タスクキュー141は、後述するメインスレッド120により生成された複数のタスク161〜164及び各タスクに付加された指定情報171〜174をFIFO(First In First Out)で格納及び出力する記憶領域である。尚、タスクキュー141は、FIFOの制御を行う処理を含むものである。但し、タスクキュー141は、格納順によらず、後述するワーカスレッド121〜12nにより、指定情報171〜174に基づいて適宜、読み出され得る。定義情報150は、複数のタスク161〜164と、後述する複数のスレッドとの対応関係を定義した情報である。
メインプロセッサコア110は、メインスレッド120と、タスクマネージャ130とを実行する。
タスクマネージャ130は、管理部の一例であり、初期化時に、ワーカスレッド121、122、・・・12nを、プロセッサコア111、112、・・・11nのそれぞれに割り当てて生成する。特に、タスクマネージャ130は、プロセッサコア111〜11nのコア数を取得し、取得したコア数に対応する数のワーカスレッドを生成し、かつ、ワーカスレッドごとに、各ワーカスレッドを実行させるプロセッサコアを割り当てる。尚、タスクマネージャ130は、メインスレッド120を生成してもよい。または、タスクマネージャ130は、ワーカスレッド121〜12nを生成し、ワーカスレッド数と一致するように、ワーカスレッドにプロセッサコアを割り当ててもよい。
メインスレッド120は、タスク生成部の一例であり、指定情報171〜174をそれぞれに付加した複数のタスク161〜164を生成し、メモリ140へ格納させる。ここで、指定情報とは、タスクを処理させるワーカスレッドを指定した情報である。尚、メインスレッド120は、複数のタスクの並列処理を行うワーカスレッド121〜12n以外のスレッドといえる。そして、メインスレッド120は、各タスクの生成時に、定義情報150に基づいて各タスクに指定情報を付加する。
複数のプロセッサコア111〜11nのそれぞれは、自己が割り当てられたワーカスレッドを実行する。ここでは、プロセッサコア111はワーカスレッド121、プロセッサコア112はワーカスレッド122、・・・プロセッサコア11nはワーカスレッド12nをそれぞれ実行する。
各プロセッサコア111〜11nにより実行されたワーカスレッド121〜12nのそれぞれは、タスクキュー141に格納された各タスク161〜164に付加された指定情報171〜174を参照し、自己が指定されたタスクをタスクキュー141から読み出し、当該タスクを処理する(実行を開始する)。尚、タスクキュー141にタスクが格納されていない場合、ワーカスレッドは、スリープ状態となる。
図2は、本発明の実施の形態1にかかるワーカスレッド生成処理の流れを示すフローチャートである。まず、タスクマネージャ130は、プロセッサコア111〜11nのコア数を取得する(S11)。例えば、タスクマネージャ130は、デバイス情報等から、マルチコアシステム100が搭載する全コア数のうちメインプロセッサコア110の数を除いた分をコア数として取得してもよい。
次に、タスクマネージャ130は、コア数に対応する数のワーカスレッドを生成する(S12)。例えば、コア数がnの場合、タスクマネージャ130はワーカスレッドをn個生成する。または、タスクマネージャ130は、コア数nの整数倍のワーカスレッドを生成してもよい。
そして、タスクマネージャ130は、ワーカスレッドを、プロセッサコアに割り当てる(S13)。例えば、タスクマネージャ130は、図1に示すように各ワーカスレッドを各プロセッサコアに一対一に割り当てる。尚、生成するスレッド数に応じて、適宜、一対他で割り当てても良い。
ワーカスレッド生成処理の後、プロセッサコア111〜11nのそれぞれは、自己に割り当てられたワーカスレッド121〜12nを実行する。
図3は、本発明の実施の形態1にかかるタスク並列実行処理の流れを説明するためのシーケンス図である。前提として、図2のワーカスレッド生成処理の終了後であるものとする。尚、図3では、ワーカスレッド12nは省略している。
まず、メインスレッド120は、タスク生成処理を実行する(S21)。ここで、図4は、本発明の実施の形態1にかかるタスク生成処理の流れを示すフローチャートである。尚、メインスレッド120は、マルチコアシステム100における全体の処理状況に応じて適宜、タスクを生成する。つまり、メインスレッド120は複数のタスクを生成する際には、当該タスク生成処理を繰り返し実行する。
まず、メインスレッド120は、タスクを生成する(S31)。次に、メインスレッド120は、定義情報150に基づき、生成したタスクにワーカスレッドを指定する(S32)。すなわち、メインスレッド120は、定義情報150に基づき、生成したタスクに指定情報を付加する。例えば、定義情報150にタスク161とワーカスレッド121との対応付けが定義されていた場合には、メインスレッド120は、タスク161に、ワーカスレッド121を指定した指定情報171を付加する。そして、メインスレッド120は、生成したタスクをタスクマネージャ130に通知する(S33、図3のS22)。すなわち、メインスレッド120は、生成したタスクをメモリ140へ格納させるためにタスクマネージャ130へ通知する。
図3に戻り説明を続ける。タスクマネージャ130は、通知されたタスクを、メモリ140のタスクキュー141に格納する(S23)。このとき、タスクマネージャ130は、通知される度に、通知されたタスクをタスクキュー141へ格納する。つまり、タスクマネージャ130は、受け付けたタスクを受け付けた順にタスクキュー141へ格納する。尚、通知されたタスクには指定情報が付加されているため、タスクと共に指定情報も併せてタスクキュー141へ格納される。
その後、ワーカスレッド121は、タスクキュー141へアクセスし、各タスクに付加された指定情報を参照し、自己が指定されたタスクをタスクキュー141から読み出す(S24)。そして、ワーカスレッド121は、読み出したタスクを処理する(S25)。また、ワーカスレッド122も同様に、ステップS26及びS27を実行する。さらに、ワーカスレッド12n等も同様である。尚、ワーカスレッド121〜12nの処理順序は、厳密に同時である必要はなく、各スレッドにおけるタスク処理がいずれかのタイミングで並列となっていればよい。
図5は、本発明の実施の形態1にかかるマルチコアシステム100のハードウェア構成の例を示すブロック図である。マルチコアシステム100は、マルチコアプロセッサ1100と、記憶装置180と、メインメモリ190とを備える。マルチコアプロセッサ1100は、メインプロセッサコア110と、プロセッサコア111〜11nとを含む。記憶装置180は、例えば、不揮発性記憶装置であるが、これに限定されない。記憶装置180は、OS181と、並列処理制御プログラム182と、タスク183と、定義情報184とを記憶する。OS181は、マルチコアシステム100における処理全体を制御するオペレーティングシステムである。尚、OS181は公知のものを用いることができるため、詳細な説明を省略する。
並列処理制御プログラム182は、タスクマネージャモジュール1821と、メインスレッドモジュール1822と、ワーカスレッドモジュール1823とを含むコンピュータプログラムである。タスクマネージャモジュール1821は、上述したタスクマネージャ130の処理が実装されたコンピュータプログラムの一モジュールである。尚、タスクマネージャモジュール1821には、例えば、並列処理プログラムで使用されるBoss-Worker Multi-Threading Program等を用いても良い。メインスレッドモジュール1822は、上述したメインスレッド120の処理が実装されたコンピュータプログラムの一モジュールである。ワーカスレッドモジュール1823は、上述したワーカスレッド121等の処理が実装されたコンピュータプログラムの一モジュールである。尚、タスクマネージャモジュール1821、メインスレッドモジュール1822及びワーカスレッドモジュール1823のそれぞれは、例えば、クラスファイル等であってもよい。
タスク183は、上述したタスク161〜164のそれぞれの処理が実装されたコンピュータプログラムである。尚、タスク183は処理に応じて複数存在するものとする。定義情報184は、上述した定義情報150に対応する情報である。
メインメモリ190は、上述したメモリ140に対応する主記憶装置である。
マルチコアプロセッサ1100は、記憶装置180からメインメモリ190へOS181、タスクマネージャモジュール1821、メインスレッドモジュール1822及びワーカスレッドモジュール1823を読み込み、実行することで、本発明の実施の形態にかかる並列処理を行うマルチコアシステム100として動作する。
このように、本発明の実施の形態により、OSによらず、タスクマネージャ130により各プロセッサコアにワーカスレッドを予め割り当てることができる。そして、メインスレッド120が各タスクに対して実行させるワーカスレッドを指定する。これにより、例えば、ユーザプログラムからタスクマネージャ130における割り当ての指示及び定義情報150の事前の設定を行うことで、結果的に、各タスクを実行させるプロセッサコアを自由に指定することができる。そのため、柔軟な割り当てが可能となり、特定用途に用いられる並列処理の効率性を向上することができる。
本発明の実施の形態は、例えば、物理エンジンなどの計算量が非常に多い重い処理を実行する場合、並列処理及び分散処理を使用して、マルチコアに静的に割り当てることで、処理時間短縮を実現したい場合に有効である。
ここで、従来における並列処理動作のスレッドやプロセスは、OSが優先度から起動や終了をスケジューリングする。そのため、非常に長い時間動作するようなスレッドやプロセスがその時間帯に存在している場合、OSによるスケジューリングのため同時に並列動作させたい複数の論理コアの割り当てることができないことがある。そのため、結果として期待している時間帯内に並列動作するスレッド群やプロセス群を終了させることができない場合がある。
これに対して本発明の実施の形態では、タスクマネージャによるワーカスレッドとプロセッサコアの割り当て及びメインスレッドによるタスクへのワーカスレッドの指定を行うことにより、期待している時間帯に全ての並列動作を完了させることができる。そのため、全ての並列動作のスケジューリングをOSの介在なしにアプリケーションが動作させる前に予測することができる。よって、事前に全ての動作時間を予め計算して効率よく動作させることができる。
<発明の実施の形態2>
本発明の実施の形態2は、上述した実施の形態1を改良したものである。具体的には、本発明の実施の形態2における指定情報は、当該指定情報が付加されるタスクの処理に要する見込時間、当該タスクの処理の開始時間、又は、当該タスクと他のタスクとの依存関係を示す情報の少なくもいずれかを含むものである。
ここで、見込時間とは、タスク処理のロード時間(処理時間)の情報であり、例えば、当該タスクの過去の処理時間の平均値等の統計情報を用いても良い。また、開始時間は、タスク処理がいつ実行するべきかの時間情報である。また、依存関係とは、対象のタスク処理の前に実行が完了すべきタスク処理や、後に実行すべきタスク処理等を示す情報である。
そして、複数のワーカスレッドのそれぞれは、タスクキューに格納された各タスクに付加された指定情報を参照し、自己が指定された複数のタスクの実行順序を決定するとよい。これに代えて、又は、これに加えて、複数のスレッドのそれぞれは、タスクキューに格納された各タスクに付加された指定情報を参照し、自己が指定されたタスクの実行タイミングを決定するようにしてもよい。
図6は、本発明の実施の形態2にかかるタスクスケジューリング処理の流れを示すフローチャートである。前提として、指定情報には、上述した見込時間、開始時間、又は、依存関係等の少なくともいずれかを含むものとする。
まず、各ワーカスレッドは、タスクキュー141へアクセスし、各タスクに付加された指定情報を参照する(S41)。次に、各ワーカスレッドは、指定情報に含まれる見込時間、開始時間、又は、依存関係等に基づいて、自己が指定されたタスクの実行スケジュールを決定する(S42)。このとき、自己が指定されたタスクが複数存在する場合には、それらのタスク間の実行順序を決定する。また、指定情報に開始時間が含まれる場合には、当該タスクの実行タイミングを決定する。
その後、各ワーカスレッドは、決定したスケジュールに従ってタスクを実行する(S43)。
このように本実施の形態では、各ワーカスレッドが指定情報を用いて、実行可能な時間帯や順序でタスクを処理することで並列処理の効率化を図ることができる。
例えば、従来よりも短い時間帯で動作させることが可能となるため、従来動作していた時間帯の余った時間をアイドリングや休止の時間に取ることができるため、温度上昇を抑え、バッテリ駆動時間を延命する効果がある。
<その他の実施の形態>
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更及び組み合わせすることが可能である。
100 マルチコアシステム
110 メインプロセッサコア
111 プロセッサコア
112 プロセッサコア
11n プロセッサコア
120 メインスレッド
121 ワーカスレッド
122 ワーカスレッド
12n ワーカスレッド
130 タスクマネージャ
140 メモリ
141 タスクキュー
150 定義情報
161 タスク
162 タスク
163 タスク
164 タスク
171 指定情報
172 指定情報
173 指定情報
174 指定情報
1100 マルチコアプロセッサ
180 記憶装置
181 OS
182 並列処理制御プログラム
1821 タスクマネージャモジュール
1822 メインスレッドモジュール
1823 ワーカスレッドモジュール
183 タスク
184 定義情報
190 メインメモリ

Claims (10)

  1. メインプロセッサコアと、
    複数のプロセッサコアと、
    メモリと、
    を備え、
    前記メインプロセッサコアは、
    複数のスレッドを、前記複数のプロセッサコアのそれぞれに割り当てて生成する管理部と、
    タスクを処理させるスレッドを指定した指定情報をそれぞれに付加した複数のタスクを生成し、前記メモリへ格納させるタスク生成部と、を備え、
    前記複数のプロセッサコアのそれぞれは、自己が割り当てられたスレッドを実行し、
    前記実行されたスレッドのそれぞれは、前記メモリに格納された各タスクに付加された指定情報を参照し、自己が指定されたタスクを前記メモリから読み出し、当該タスクを処理する
    マルチコアシステム。
  2. 前記管理部は、
    前記複数のプロセッサコアのコア数を取得し、
    前記取得したコア数に対応する数のスレッドを生成し、かつ、当該スレッドごとに、当該スレッドを実行させるプロセッサコアを割り当てる
    請求項1に記載のマルチコアシステム。
  3. 前記メインプロセッサコアは、
    前記複数のスレッド以外のスレッドを前記タスク生成部として実行する
    請求項1又は2に記載のマルチコアシステム。
  4. 前記メモリは、前記複数のタスクと、前記複数のスレッドとの対応関係を定義した定義情報を予め記憶し、
    前記タスク生成部は、各タスクの生成時に、前記定義情報に基づいて各タスクに前記指定情報を付加する
    請求項1乃至3のいずれか1項に記載のマルチコアシステム。
  5. 前記指定情報は、当該指定情報が付加されるタスクの処理に要する見込時間、当該タスクの処理の開始時間、又は、当該タスクと他のタスクとの依存関係を示す情報の少なくもいずれかを含む、
    請求項1乃至4のいずれか1項に記載のマルチコアシステム。
  6. 前記複数のスレッドのそれぞれは、
    前記メモリに格納された各タスクに付加された指定情報を参照し、自己が指定された複数のタスクの実行順序を決定する
    請求項5に記載のマルチコアシステム。
  7. 前記複数のスレッドのそれぞれは、
    前記メモリに格納された各タスクに付加された指定情報を参照し、自己が指定されたタスクの実行タイミングを決定する
    請求項5又は6に記載のマルチコアシステム。
  8. メインプロセッサコアと、
    複数のプロセッサコアと、を備え、
    前記メインプロセッサコアは、
    複数のスレッドを、前記複数のプロセッサコアのそれぞれに割り当てて生成する管理部と、
    タスクを処理させるスレッドを指定した指定情報をそれぞれに付加した複数のタスクを生成し、各タスクを前記管理部へ通知するタスク生成部と、を備え、
    前記管理部は、前記通知されたタスクを、外部のメモリに格納し、
    前記複数のプロセッサコアのそれぞれは、自己が割り当てられたスレッドを実行し、
    前記実行されたスレッドのそれぞれは、前記メモリに格納された各タスクに付加された指定情報を参照し、自己が指定されたタスクを前記メモリから読み出し、当該タスクを処理する
    マルチコアプロセッサ。
  9. メインプロセッサコアにおいて、
    複数のスレッドを、前記複数のプロセッサコアのそれぞれに割り当てて生成し、
    タスクを処理させるスレッドを指定した指定情報をそれぞれに付加した複数のタスクを生成し、
    前記生成した複数のタスクをメモリに格納し、
    前記複数のプロセッサコアのそれぞれにおいて、自己が割り当てられたスレッドを実行し、
    前記実行されたスレッドのそれぞれにおいて、前記メモリに格納された各タスクに付加された指定情報を参照し、自己が指定されたタスクを前記メモリから読み出し、当該タスクを処理する
    並列処理方法。
  10. 複数のスレッドを、前記複数のプロセッサコアのそれぞれに割り当てて生成する処理と、
    タスクを処理させるスレッドを指定した指定情報をそれぞれに付加した複数のタスクを生成する処理と、
    前記生成した複数のタスクをメモリに格納する処理と、
    をコンピュータに実行させる並列処理制御プログラム。
JP2014265134A 2014-12-26 2014-12-26 マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム Pending JP2016126426A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014265134A JP2016126426A (ja) 2014-12-26 2014-12-26 マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014265134A JP2016126426A (ja) 2014-12-26 2014-12-26 マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム

Publications (1)

Publication Number Publication Date
JP2016126426A true JP2016126426A (ja) 2016-07-11

Family

ID=56359263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014265134A Pending JP2016126426A (ja) 2014-12-26 2014-12-26 マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム

Country Status (1)

Country Link
JP (1) JP2016126426A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020510908A (ja) * 2017-02-16 2020-04-09 ナスダック テクノロジー エービー 分散システムにおいてコンピュータプロセスまたはタスクをスケジューリングする方法およびシステム
CN113010286A (zh) * 2021-03-12 2021-06-22 京东数字科技控股股份有限公司 并行任务调度方法、装置、计算机设备和存储介质
CN113568844A (zh) * 2020-04-28 2021-10-29 爱思开海力士有限公司 存储器系统、存储器控制器及操作存储器系统的方法
DE102022116017A1 (de) 2021-07-06 2023-01-12 Denso Corporation Elektronische steuerungsvorrichtung
DE102022116016A1 (de) 2021-07-06 2023-01-12 Denso Corporation Elektronische steuerungsvorrichtung

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020510908A (ja) * 2017-02-16 2020-04-09 ナスダック テクノロジー エービー 分散システムにおいてコンピュータプロセスまたはタスクをスケジューリングする方法およびシステム
JP7057903B2 (ja) 2017-02-16 2022-04-21 ナスダック テクノロジー エービー 分散システムにおいてコンピュータプロセスまたはタスクをスケジューリングする方法およびシステム
CN113568844A (zh) * 2020-04-28 2021-10-29 爱思开海力士有限公司 存储器系统、存储器控制器及操作存储器系统的方法
CN113010286A (zh) * 2021-03-12 2021-06-22 京东数字科技控股股份有限公司 并行任务调度方法、装置、计算机设备和存储介质
DE102022116017A1 (de) 2021-07-06 2023-01-12 Denso Corporation Elektronische steuerungsvorrichtung
DE102022116016A1 (de) 2021-07-06 2023-01-12 Denso Corporation Elektronische steuerungsvorrichtung

Similar Documents

Publication Publication Date Title
JP4370336B2 (ja) 低消費電力ジョブ管理方法及び計算機システム
JP6386165B2 (ja) 分散コンピュータシステムへの電力割り振りに変更がある場合に中断され得るジョブ及び中断され得ないジョブを管理するための方法並びに装置
US10101910B1 (en) Adaptive maximum limit for out-of-memory-protected web browser processes on systems using a low memory manager
JP2016126426A (ja) マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム
KR101332840B1 (ko) 병렬 컴퓨팅 프레임워크 기반의 클러스터 시스템, 호스트 노드, 계산 노드 및 어플리케이션 실행 방법
Kim et al. Utilization-aware load balancing for the energy efficient operation of the big. LITTLE processor
US10031574B2 (en) Apparatus and method for controlling multi-core processor of computing system
KR20170062493A (ko) 이종 스레드 스케줄링
KR20130127445A (ko) 어플리케이션 수명 관리
US20110161637A1 (en) Apparatus and method for parallel processing
JP2009140157A (ja) 仮想計算機システム、仮想計算機の制御方法及びプログラム
US20110161965A1 (en) Job allocation method and apparatus for a multi-core processor
US20170097854A1 (en) Task placement for related tasks in a cluster based multi-core system
KR102052964B1 (ko) 컴퓨팅 스케줄링 방법 및 시스템
US9740530B2 (en) Decreasing the priority of a user based on an allocation ratio
US10248321B1 (en) Simulating multiple lower importance levels by actively feeding processes to a low-memory manager
CN111930516B (zh) 一种负载均衡方法及相关装置
US9170839B2 (en) Method for job scheduling with prediction of upcoming job combinations
KR20140006351A (ko) 예상 실행 시간 정보를 이용하여 작업을 분배하는 이종 멀티코어 프로세서 시스템의 작업 분배 방법 및 그 방법을 이용하는 이종 멀티코어 프로세서 시스템
Ghouma et al. Context aware resource allocation and scheduling for mobile cloud
Sung et al. Virtual machine pre-provisioning for computation offloading service in edge cloud
JP2015141584A (ja) 情報処理装置、情報処理方法およびプログラム
JP6158751B2 (ja) 計算機資源割当装置及び計算機資源割当プログラム
Zakarya et al. Energy efficient workload balancing algorithm for real-time tasks over multi-core
JP2008158687A (ja) 帯域制御プログラム及びマルチプロセッサシステム